run.sh 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #!/bin/bash
  2. # Copyright 2019 The Kubernetes Authors.
  3. #
  4. # Licensed under the Apache License, Version 2.0 (the "License");
  5. # you may not use this file except in compliance with the License.
  6. # You may obtain a copy of the License at
  7. #
  8. # http://www.apache.org/licenses/LICENSE-2.0
  9. #
  10. # Unless required by applicable law or agreed to in writing, software
  11. # distributed under the License is distributed on an "AS IS" BASIS,
  12. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. # See the License for the specific language governing permissions and
  14. # limitations under the License.
  15. set -euo pipefail
  16. if ! command -v kind --version &> /dev/null; then
  17. echo "kind is not installed. Use the package manager or visit the official site https://kind.sigs.k8s.io/"
  18. exit 1
  19. fi
  20. DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
  21. cd $DIR
  22. echo "Kubernetes cluster:"
  23. kubectl get nodes -o wide
  24. echo -e "Granting permissions to e2e service account..."
  25. kubectl create serviceaccount external-secrets-e2e || true
  26. kubectl create clusterrolebinding permissive-binding \
  27. --clusterrole=cluster-admin \
  28. --user=admin \
  29. --user=kubelet \
  30. --serviceaccount=default:external-secrets-e2e || true
  31. echo -e "Granting anonymous access to service account issuer discovery"
  32. kubectl create clusterrolebinding service-account-issuer-discovery-binding \
  33. --clusterrole=system:service-account-issuer-discovery \
  34. --group=system:unauthenticated || true
  35. echo -e "Starting the e2e test pod ${E2E_IMAGE_NAME}:${VERSION}"
  36. kubectl run --rm \
  37. --attach \
  38. --restart=Never \
  39. --pod-running-timeout=5m \
  40. --labels="app=eso-e2e" \
  41. --env="ACK_GINKGO_DEPRECATIONS=2.9.5" \
  42. --env="GINKGO_LABELS=${GINKGO_LABELS:-.*}" \
  43. --env="GCP_SM_SA_JSON=${GCP_SM_SA_JSON:-}" \
  44. --env="GCP_PROJECT_ID=${GCP_PROJECT_ID:-}" \
  45. --env="GCP_GSA_NAME=${GCP_GSA_NAME:-}" \
  46. --env="GCP_KSA_NAME=${GCP_KSA_NAME:-}" \
  47. --env="GCP_GKE_ZONE=${GCP_GKE_ZONE:-}" \
  48. --env="GCP_GKE_CLUSTER=${GCP_GKE_CLUSTER:-}" \
  49. --env="AWS_REGION=${AWS_REGION:-}" \
  50. --env="AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-}" \
  51. --env="AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-}" \
  52. --env="AWS_SESSION_TOKEN=${AWS_SESSION_TOKEN:-}" \
  53. --env="AWS_SA_NAME=${AWS_SA_NAME:-}" \
  54. --env="AWS_SA_NAMESPACE=${AWS_SA_NAMESPACE:-}" \
  55. --env="AZURE_CLIENT_ID=${AZURE_CLIENT_ID:-}" \
  56. --env="AZURE_CLIENT_SECRET=${AZURE_CLIENT_SECRET:-}" \
  57. --env="AKEYLESS_ACCESS_ID=${AKEYLESS_ACCESS_ID:-}" \
  58. --env="AKEYLESS_ACCESS_TYPE=${AKEYLESS_ACCESS_TYPE:-}" \
  59. --env="AKEYLESS_ACCESS_TYPE_PARAM=${AKEYLESS_ACCESS_TYPE_PARAM:-}" \
  60. --env="TENANT_ID=${TENANT_ID:-}" \
  61. --env="VAULT_URL=${VAULT_URL:-}" \
  62. --env="GITLAB_TOKEN=${GITLAB_TOKEN:-}" \
  63. --env="GITLAB_PROJECT_ID=${GITLAB_PROJECT_ID:-}" \
  64. --env="GITLAB_ENVIRONMENT=${GITLAB_ENVIRONMENT:-}" \
  65. --env="ORACLE_USER_OCID=${ORACLE_USER_OCID:-}" \
  66. --env="ORACLE_TENANCY_OCID=${ORACLE_TENANCY_OCID:-}" \
  67. --env="ORACLE_REGION=${ORACLE_REGION:-}" \
  68. --env="ORACLE_FINGERPRINT=${ORACLE_FINGERPRINT:-}" \
  69. --env="ORACLE_KEY=${ORACLE_KEY:-}" \
  70. --env="SCALEWAY_API_URL=${SCALEWAY_API_URL:-}" \
  71. --env="SCALEWAY_REGION=${SCALEWAY_REGION:-}" \
  72. --env="SCALEWAY_PROJECT_ID=${SCALEWAY_PROJECT_ID:-}" \
  73. --env="SCALEWAY_ACCESS_KEY=${SCALEWAY_ACCESS_KEY:-}" \
  74. --env="SCALEWAY_SECRET_KEY=${SCALEWAY_SECRET_KEY:-}" \
  75. --env="VERSION=${VERSION}" \
  76. --env="TEST_SUITES=${TEST_SUITES}" \
  77. --overrides='{ "apiVersion": "v1", "spec":{"serviceAccountName": "external-secrets-e2e"}}' \
  78. e2e --image=${E2E_IMAGE_NAME}:${VERSION}