prow/prowjobs/GoogleContainerTools/kpt-config-sync/kpt-config-sync-periodics.yaml (411 lines of code) (raw):

# YAML anchors for reference elsewhere. # to view expanded yaml, run: `yq eval 'explode(.)' [file]` prow_ignored: - &config-sync-base-job cluster: build-kpt-config-sync decorate: true decoration_config: timeout: 4h extra_refs: - org: GoogleContainerTools repo: kpt-config-sync base_ref: main spec: &config-sync-base-job-spec serviceAccountName: e2e-test-runner containers: - &config-sync-base-job-container image: us-docker.pkg.dev/kpt-config-sync-ci-artifacts/test-infra/gke-e2e:v2.0.0-go1.23.4-gcloud449.0.0-docker20.10.14 command: - make - test-e2e-gke-ci resources: requests: memory: "8Gi" cpu: "4000m" nodeSelector: # This job requires 8vCPUs or less, so it is "small". kpt-config-sync/type: periodic kpt-config-sync/size: small # Base job definition for standard jobs - &config-sync-standard-job <<: *config-sync-base-job # Run on even hours to stagger cron: 0 */2 * * * spec: &config-sync-standard-job-spec <<: *config-sync-base-job-spec containers: - &config-sync-standard-job-container <<: *config-sync-base-job-container env: - name: GKE_E2E_TIMEOUT value: 4h - name: GCP_PROJECT value: kpt-config-sync-ci-main - name: GCP_NETWORK value: prow-e2e-network-1 # Use regional clusters to avoid capacity issues in a single zone - name: GCP_ZONE value: "" - name: GCP_REGION value: "us-west1" - name: E2E_CREATE_CLUSTERS value: "lazy" # This can be set to true to destroy clusters after test execution - name: E2E_DESTROY_CLUSTERS value: "false" - name: GKE_NUM_NODES value: "1" - name: GKE_MACHINE_TYPE value: "n2-standard-4" - name: GKE_DISK_TYPE value: "pd-ssd" - name: GKE_DISK_SIZE value: "25Gb" - name: E2E_GIT_PROVIDER value: "local" - name: E2E_OCI_PROVIDER value: "gar" - name: E2E_HELM_PROVIDER value: "gar" - name: E2E_NUM_CLUSTERS value: "8" # Base job definition for autopilot jobs - &config-sync-autopilot-job <<: *config-sync-base-job # Run on odd hours to stagger cron: 0 1-23/2 * * * spec: &config-sync-autopilot-job-spec <<: *config-sync-base-job-spec containers: - &config-sync-autopilot-job-container <<: *config-sync-base-job-container env: - name: GKE_E2E_TIMEOUT value: 4h - name: GCP_PROJECT value: kpt-config-sync-ci-main - name: GCP_NETWORK value: prow-e2e-network-1 # Autopilot clusters must be regional - name: GCP_ZONE value: "" - name: GCP_REGION value: "us-central1" - name: E2E_CREATE_CLUSTERS value: "lazy" # This can be set to true to destroy clusters after test execution - name: E2E_DESTROY_CLUSTERS value: "false" - name: E2E_GIT_PROVIDER value: "local" - name: E2E_OCI_PROVIDER value: "gar" - name: E2E_HELM_PROVIDER value: "gar" - name: E2E_NUM_CLUSTERS value: "12" - name: GKE_AUTOPILOT value: "true" periodics: # One-off KinD periodic job. # TODO: do we need this, given KinD is tested with presubmits? - <<: *config-sync-base-job name: kpt-config-sync-kind interval: 1h annotations: testgrid-dashboards: googleoss-kpt-config-sync-main testgrid-tab-name: kind labels: preset-kind-volume-mounts: "true" preset-service-account: "true" preset-dind-enabled-memory: "true" spec: containers: # https://github.com/kubernetes/test-infra/blob/master/images/kubekins-e2e/variants.yaml - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20250227-3a13bdd784-1.31 command: - runner.sh args: - make - test-e2e-kind - 'E2E_GIT_PROVIDER=local' - 'E2E_OCI_PROVIDER=local' - 'E2E_HELM_PROVIDER=local' securityContext: privileged: true resources: requests: memory: "50Gi" cpu: "26000m" nodeSelector: kpt-config-sync/type: periodic kpt-config-sync/size: large #### Begin GKE standard jobs - <<: *config-sync-standard-job name: kpt-config-sync-standard-regular cron: 0 */2 * * * annotations: testgrid-dashboards: googleoss-kpt-config-sync-main testgrid-tab-name: standard-regular spec: <<: *config-sync-standard-job-spec containers: - <<: *config-sync-standard-job-container args: - 'GCP_SUBNETWORK=prow-e2e-subnetwork-usw1-1' - 'GKE_RELEASE_CHANNEL=regular' - 'E2E_CLUSTER_PREFIX=standard-regular' - <<: *config-sync-standard-job name: kpt-config-sync-standard-rapid cron: 30 */2 * * * annotations: testgrid-dashboards: googleoss-kpt-config-sync-main testgrid-tab-name: standard-rapid spec: <<: *config-sync-standard-job-spec containers: - <<: *config-sync-standard-job-container args: - 'GCP_SUBNETWORK=prow-e2e-subnetwork-usw1-3' - 'GKE_RELEASE_CHANNEL=rapid' - 'E2E_CLUSTER_PREFIX=standard-rapid' - <<: *config-sync-standard-job name: kpt-config-sync-standard-rapid-latest cron: 45 */2 * * * annotations: testgrid-dashboards: googleoss-kpt-config-sync-main testgrid-tab-name: standard-rapid-latest spec: <<: *config-sync-standard-job-spec containers: - <<: *config-sync-standard-job-container args: - 'GCP_SUBNETWORK=prow-e2e-subnetwork-usw1-4' - 'GKE_RELEASE_CHANNEL=rapid' - 'GKE_CLUSTER_VERSION=latest' - 'E2E_CLUSTER_PREFIX=standard-rapid-latest' - <<: *config-sync-standard-job name: kpt-config-sync-standard-stable cron: 15 */2 * * * annotations: testgrid-dashboards: googleoss-kpt-config-sync-main testgrid-tab-name: standard-stable spec: <<: *config-sync-standard-job-spec containers: - <<: *config-sync-standard-job-container args: - 'GCP_SUBNETWORK=prow-e2e-subnetwork-usw1-5' - 'GKE_RELEASE_CHANNEL=stable' - 'E2E_CLUSTER_PREFIX=standard-stable' #### End GKE standard jobs #### Begin git provider specific jobs - <<: *config-sync-standard-job name: kpt-config-sync-standard-regular-bitbucket annotations: testgrid-dashboards: googleoss-kpt-config-sync-main testgrid-tab-name: standard-regular-bitbucket spec: <<: *config-sync-standard-job-spec containers: - <<: *config-sync-standard-job-container args: - 'GCP_SUBNETWORK=prow-e2e-subnetwork-usw1-6' - 'GKE_RELEASE_CHANNEL=regular' - 'E2E_CLUSTER_PREFIX=standard-regular-bitbucket' - 'E2E_GIT_PROVIDER=bitbucket' - 'E2E_OCI_PROVIDER=local' # Use local to minimize AR quota usage - 'E2E_HELM_PROVIDER=local' - <<: *config-sync-standard-job name: kpt-config-sync-standard-regular-gitlab annotations: testgrid-dashboards: googleoss-kpt-config-sync-main testgrid-tab-name: standard-regular-gitlab spec: <<: *config-sync-standard-job-spec containers: - <<: *config-sync-standard-job-container args: - 'GCP_SUBNETWORK=prow-e2e-subnetwork-usw1-7' - 'GKE_RELEASE_CHANNEL=regular' - 'E2E_CLUSTER_PREFIX=standard-regular-gitlab' - 'E2E_GIT_PROVIDER=gitlab' - 'E2E_OCI_PROVIDER=local' # Use local to minimize AR quota usage - 'E2E_HELM_PROVIDER=local' - <<: *config-sync-standard-job name: kpt-config-sync-standard-regular-csr annotations: testgrid-dashboards: googleoss-kpt-config-sync-main testgrid-tab-name: standard-regular-csr spec: <<: *config-sync-standard-job-spec containers: - <<: *config-sync-standard-job-container args: - 'GCP_SUBNETWORK=prow-e2e-subnetwork-usw1-8' - 'GKE_RELEASE_CHANNEL=regular' - 'E2E_CLUSTER_PREFIX=standard-regular-csr' - 'E2E_GIT_PROVIDER=csr' - 'E2E_OCI_PROVIDER=local' # Use local to minimize AR quota usage - 'E2E_HELM_PROVIDER=local' #### End git provider specific jobs #### Begin GKE autopilot jobs - <<: *config-sync-autopilot-job name: kpt-config-sync-autopilot-regular cron: 0 1-23/2 * * * annotations: testgrid-dashboards: googleoss-kpt-config-sync-main testgrid-tab-name: autopilot-regular spec: <<: *config-sync-autopilot-job-spec containers: - <<: *config-sync-autopilot-job-container args: - 'GCP_SUBNETWORK=prow-e2e-subnetwork-2' - 'GKE_RELEASE_CHANNEL=regular' - 'E2E_CLUSTER_PREFIX=autopilot-regular' - <<: *config-sync-autopilot-job name: kpt-config-sync-autopilot-stable cron: 15 1-23/2 * * * annotations: testgrid-dashboards: googleoss-kpt-config-sync-main testgrid-tab-name: autopilot-stable spec: <<: *config-sync-autopilot-job-spec containers: - <<: *config-sync-autopilot-job-container args: - 'GCP_SUBNETWORK=prow-e2e-subnetwork-8' - 'GKE_RELEASE_CHANNEL=stable' - 'E2E_CLUSTER_PREFIX=autopilot-stable' - <<: *config-sync-autopilot-job name: kpt-config-sync-autopilot-rapid cron: 30 1-23/2 * * * annotations: testgrid-dashboards: googleoss-kpt-config-sync-main testgrid-tab-name: autopilot-rapid spec: <<: *config-sync-autopilot-job-spec containers: - <<: *config-sync-autopilot-job-container args: - 'GCP_SUBNETWORK=prow-e2e-subnetwork-9' - 'GKE_RELEASE_CHANNEL=rapid' - 'E2E_CLUSTER_PREFIX=autopilot-rapid' - <<: *config-sync-autopilot-job name: kpt-config-sync-autopilot-rapid-latest cron: 45 1-23/2 * * * annotations: testgrid-dashboards: googleoss-kpt-config-sync-main testgrid-tab-name: autopilot-rapid-latest spec: <<: *config-sync-autopilot-job-spec containers: - <<: *config-sync-autopilot-job-container args: - 'GCP_SUBNETWORK=prow-e2e-subnetwork-10' - 'GKE_RELEASE_CHANNEL=rapid' - 'GKE_CLUSTER_VERSION=latest' - 'E2E_CLUSTER_PREFIX=autopilot-rapid-latest' #### End GKE autopilot jobs #### Begin one-off jobs # The below job definitions each use a small number of clusters (e.g. 1), # so they can share a single subnetwork (max 15 clusters per subnetwork). - <<: *config-sync-standard-job name: kpt-config-sync-standard-regular-kcc annotations: testgrid-dashboards: googleoss-kpt-config-sync-main testgrid-tab-name: standard-regular-kcc spec: <<: *config-sync-standard-job-spec containers: - <<: *config-sync-standard-job-container args: - 'GCP_SUBNETWORK=prow-e2e-subnetwork-usw1-11' - 'GKE_RELEASE_CHANNEL=regular' - 'E2E_CLUSTER_PREFIX=standard-regular-kcc' - 'E2E_NUM_CLUSTERS=1' - 'E2E_ARGS=--kcc' - 'E2E_OCI_PROVIDER=local' # Use local to minimize AR quota usage - 'E2E_HELM_PROVIDER=local' - <<: *config-sync-standard-job name: kpt-config-sync-standard-regular-gcenode annotations: testgrid-dashboards: googleoss-kpt-config-sync-main testgrid-tab-name: standard-regular-gcenode spec: <<: *config-sync-standard-job-spec containers: - <<: *config-sync-standard-job-container args: - 'GCP_SUBNETWORK=prow-e2e-subnetwork-usw1-11' - 'GKE_RELEASE_CHANNEL=regular' - 'E2E_CLUSTER_PREFIX=standard-regular-gcenode' - 'E2E_NUM_CLUSTERS=1' - 'E2E_ARGS=--gcenode' - 'E2E_OCI_PROVIDER=local' # Use local to minimize AR quota usage - 'E2E_HELM_PROVIDER=local' - <<: *config-sync-standard-job name: kpt-config-sync-standard-regular-githubapp annotations: testgrid-dashboards: googleoss-kpt-config-sync-main testgrid-tab-name: standard-regular-githubapp spec: <<: *config-sync-standard-job-spec containers: - <<: *config-sync-standard-job-container args: - 'GCP_SUBNETWORK=prow-e2e-subnetwork-usw1-11' - 'GKE_RELEASE_CHANNEL=regular' - 'E2E_CLUSTER_PREFIX=standard-regular-githubapp' - 'E2E_NUM_CLUSTERS=1' - 'E2E_ARGS=--githubapp' - 'E2E_OCI_PROVIDER=local' # Use local to minimize AR quota usage - 'E2E_HELM_PROVIDER=local' - <<: *config-sync-standard-job name: kpt-config-sync-standard-rapid-latest-stress annotations: testgrid-dashboards: googleoss-kpt-config-sync-main testgrid-tab-name: standard-rapid-latest-stress spec: <<: *config-sync-standard-job-spec containers: - <<: *config-sync-standard-job-container args: - 'GCP_SUBNETWORK=prow-e2e-subnetwork-usw1-11' - 'GKE_RELEASE_CHANNEL=rapid' - 'GKE_CLUSTER_VERSION=latest' - 'E2E_CLUSTER_PREFIX=standard-rapid-latest-stress' - 'E2E_NUM_CLUSTERS=1' - 'GKE_NUM_NODES=5' # TestStressManyDeployments needs 50cpu & 51GiB for pods (13 nodes) - 'GKE_MACHINE_TYPE=n2-standard-4' # 3.9cpu & 13.9GB allocatable - 'GKE_DISK_SIZE=25Gb' - 'E2E_ARGS=--stress' resources: requests: memory: "24Gi" # Stress tests watch many large objects cpu: "6000m" - <<: *config-sync-autopilot-job name: kpt-config-sync-autopilot-rapid-latest-stress annotations: testgrid-dashboards: googleoss-kpt-config-sync-main testgrid-tab-name: autopilot-rapid-latest-stress spec: <<: *config-sync-autopilot-job-spec containers: - <<: *config-sync-autopilot-job-container args: - 'GCP_SUBNETWORK=prow-e2e-subnetwork-11' - 'GKE_RELEASE_CHANNEL=rapid' - 'GKE_CLUSTER_VERSION=latest' - 'E2E_CLUSTER_PREFIX=autopilot-rapid-latest-stress' - 'E2E_NUM_CLUSTERS=2' # autopilot uses more clusters to run more quickly - 'E2E_ARGS=--stress' resources: requests: memory: "24Gi" # Stress tests watch many large objects cpu: "6000m" #### End one-off jobs ### End new prowjob definitions - name: kpt-config-sync-vulnerability-scan interval: 30m annotations: testgrid-dashboards: googleoss-kpt-config-sync-main testgrid-tab-name: vulnerability-scan cluster: build-kpt-config-sync decorate: true decoration_config: timeout: 30m extra_refs: - org: GoogleContainerTools repo: kpt-config-sync base_ref: main spec: serviceAccountName: vulnerability-scanner containers: - image: us-docker.pkg.dev/kpt-config-sync-ci-artifacts/test-infra/vulnerability-scanner:v1.0.0-ff545b40 command: - make - vulnerability-scan-postsubmit resources: requests: memory: "64Mi" cpu: "250m" nodeSelector: # This job requires 8vCPUs or less, so it is "small". kpt-config-sync/type: periodic kpt-config-sync/size: small