diff options
| author | Aleksandr Nogikh <nogikh@google.com> | 2025-05-19 14:55:17 +0200 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2025-05-21 15:29:32 +0000 |
| commit | 351f479562d9d7868be8bb644f30bf047767c828 (patch) | |
| tree | 8986d2b27c6bebdc9ba58792b1bbf72cffbb78a2 | |
| parent | bdffada7bd18ddfb1864e0467ecc38003eeb214c (diff) | |
syz-cluster: split off argo workflows setup
We cannot at the same time define Argo CRDs and use them because K8S
needs some time to process the CRD creation.
To facilitate the installation without errors, split off the step that
installs Argo and create a step that waits until CRDs are installed.
| -rw-r--r-- | syz-cluster/Makefile | 13 | ||||
| -rw-r--r-- | syz-cluster/README.md | 2 | ||||
| -rw-r--r-- | syz-cluster/overlays/common/argo/kustomization.yaml | 10 | ||||
| -rw-r--r-- | syz-cluster/overlays/common/argo/patch-argo-controller.yaml (renamed from syz-cluster/overlays/common/patch-argo-controller.yaml) | 0 | ||||
| -rw-r--r-- | syz-cluster/overlays/common/argo/patch-workflow-controller-configmap.yaml (renamed from syz-cluster/overlays/common/patch-workflow-controller-configmap.yaml) | 0 | ||||
| -rw-r--r-- | syz-cluster/overlays/common/argo/workflow-roles.yaml (renamed from syz-cluster/overlays/common/workflow-roles.yaml) | 0 | ||||
| -rw-r--r-- | syz-cluster/overlays/common/kustomization.yaml | 6 | ||||
| -rw-r--r-- | syz-cluster/overlays/minikube/kustomization.yaml | 1 |
8 files changed, 25 insertions, 7 deletions
diff --git a/syz-cluster/Makefile b/syz-cluster/Makefile index af203c1bd..9b2807d03 100644 --- a/syz-cluster/Makefile +++ b/syz-cluster/Makefile @@ -64,9 +64,20 @@ restart-spanner: build-db-mgmt minikube addons enable cloud-spanner; ./run-local.sh db-mgmt migrate - SUBSTITUTE_VARS := '$$IMAGE_PREFIX $$IMAGE_TAG $$SPANNER_DATABASE_URI $$BLOB_STORAGE_GCS_BUCKET $$WORKFLOW_ARTIFACTS_BUCKET' +# It takes some time for K8S to set up Argo CRDs, so if we `kubectl apply` everything at once, it will not +# work on the first attempt. +# The following two targets facilitate CI/CD: +# - k8s-config-argo installs Argo workflows. +# - k8s-config-argo-wait awaits untill all CRDs are ready. +k8s-config-argo: + @kubectl kustomize ./overlays/common/argo/ + +k8s-config-argo-wait: + @kubectl wait --for condition=established --timeout=60s crd/cronworkflows.argoproj.io + @kubectl wait --for condition=established --timeout=60s crd/workflows.argoproj.io + k8s-config-dev: @kubectl kustomize ./overlays/minikube/ | IMAGE_PREFIX=${IMAGE_PREFIX} IMAGE_TAG=${IMAGE_TAG} envsubst ${SUBSTITUTE_VARS} diff --git a/syz-cluster/README.md b/syz-cluster/README.md index df108ffd3..95533ef4b 100644 --- a/syz-cluster/README.md +++ b/syz-cluster/README.md @@ -21,6 +21,8 @@ $ make build-all ``` $ make restart-spanner $ kubectl create namespace argo +$ make k8s-config-argo | kubectl apply -f - +$ make k8s-config-argo-wait $ make k8s-config-dev | kubectl apply -f - ``` 5. (Optional) Pre-fetch the kernel git repository: diff --git a/syz-cluster/overlays/common/argo/kustomization.yaml b/syz-cluster/overlays/common/argo/kustomization.yaml new file mode 100644 index 000000000..f864f87e9 --- /dev/null +++ b/syz-cluster/overlays/common/argo/kustomization.yaml @@ -0,0 +1,10 @@ +# Copyright 2025 syzkaller project authors. All rights reserved. +# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. + +resources: + - https://github.com/argoproj/argo-workflows/releases/download/v3.6.2/install.yaml + - workflow-roles.yaml + +patchesStrategicMerge: + - patch-argo-controller.yaml + - patch-workflow-controller-configmap.yaml diff --git a/syz-cluster/overlays/common/patch-argo-controller.yaml b/syz-cluster/overlays/common/argo/patch-argo-controller.yaml index d79585dc1..d79585dc1 100644 --- a/syz-cluster/overlays/common/patch-argo-controller.yaml +++ b/syz-cluster/overlays/common/argo/patch-argo-controller.yaml diff --git a/syz-cluster/overlays/common/patch-workflow-controller-configmap.yaml b/syz-cluster/overlays/common/argo/patch-workflow-controller-configmap.yaml index 0ff55f9bb..0ff55f9bb 100644 --- a/syz-cluster/overlays/common/patch-workflow-controller-configmap.yaml +++ b/syz-cluster/overlays/common/argo/patch-workflow-controller-configmap.yaml diff --git a/syz-cluster/overlays/common/workflow-roles.yaml b/syz-cluster/overlays/common/argo/workflow-roles.yaml index d1f1274db..d1f1274db 100644 --- a/syz-cluster/overlays/common/workflow-roles.yaml +++ b/syz-cluster/overlays/common/argo/workflow-roles.yaml diff --git a/syz-cluster/overlays/common/kustomization.yaml b/syz-cluster/overlays/common/kustomization.yaml index e1b31e091..d35997918 100644 --- a/syz-cluster/overlays/common/kustomization.yaml +++ b/syz-cluster/overlays/common/kustomization.yaml @@ -2,7 +2,6 @@ # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. resources: - - https://github.com/argoproj/argo-workflows/releases/download/v3.6.2/install.yaml - ../../controller - ../../dashboard - ../../series-tracker @@ -13,11 +12,6 @@ resources: - network-policy-controller.yaml - network-policy-git-access.yaml - network-policy-web-dashboard.yaml - - workflow-roles.yaml - -patchesStrategicMerge: - - patch-argo-controller.yaml - - patch-workflow-controller-configmap.yaml patches: - target: diff --git a/syz-cluster/overlays/minikube/kustomization.yaml b/syz-cluster/overlays/minikube/kustomization.yaml index 3e683677d..432a64f83 100644 --- a/syz-cluster/overlays/minikube/kustomization.yaml +++ b/syz-cluster/overlays/minikube/kustomization.yaml @@ -4,6 +4,7 @@ resources: - service-accounts.yaml - kernel-disk-pvc.yaml + - ../common/argo - ../common - global-config.yaml - global-config-env.yaml |
