aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2025-05-19 14:55:17 +0200
committerAleksandr Nogikh <nogikh@google.com>2025-05-21 15:29:32 +0000
commit351f479562d9d7868be8bb644f30bf047767c828 (patch)
tree8986d2b27c6bebdc9ba58792b1bbf72cffbb78a2
parentbdffada7bd18ddfb1864e0467ecc38003eeb214c (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/Makefile13
-rw-r--r--syz-cluster/README.md2
-rw-r--r--syz-cluster/overlays/common/argo/kustomization.yaml10
-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.yaml6
-rw-r--r--syz-cluster/overlays/minikube/kustomization.yaml1
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