--- apiVersion: batch/v1 kind: Job metadata: generateName: upgrade-sql-schema annotations: argocd.argoproj.io/hook: PreSync spec: template: spec: containers: - name: upgrade-sql-schema image: quay.io/acend/example-web-go command: ["sleep", "5"] restartPolicy: Never --- apiVersion: apps/v1 kind: Deployment metadata: name: backend spec: replicas: 1 revisionHistoryLimit: 3 selector: matchLabels: app: backend template: metadata: labels: app: backend spec: containers: - image: quay.io/acend/example-web-python name: backend ports: - containerPort: 5000 --- apiVersion: v1 kind: Service metadata: name: backend spec: selector: app: backend ports: - protocol: TCP port: 5000 targetPort: 5000 --- apiVersion: batch/v1 kind: Job metadata: name: maintenance-page-up annotations: argocd.argoproj.io/hook: Sync argocd.argoproj.io/hook-delete-policy: BeforeHookCreation argocd.argoproj.io/sync-wave: "1" spec: template: spec: containers: - name: page-up image: quay.io/acend/example-web-go command: ["sleep", "2"] restartPolicy: Never backoffLimit: 0 --- apiVersion: apps/v1 kind: Deployment metadata: name: frontend annotations: argocd.argoproj.io/sync-wave: "2" spec: replicas: 1 revisionHistoryLimit: 3 selector: matchLabels: app: frontend template: metadata: labels: app: frontend spec: containers: - image: quay.io/acend/example-web-python name: frontend ports: - containerPort: 5000 --- apiVersion: v1 kind: Service metadata: name: frontend annotations: argocd.argoproj.io/sync-wave: "2" spec: selector: app: frontend ports: - protocol: TCP port: 5000 targetPort: 5000 --- apiVersion: batch/v1 kind: Job metadata: name: maintenance-page-up annotations: argocd.argoproj.io/hook: Sync argocd.argoproj.io/hook-delete-policy: BeforeHookCreation argocd.argoproj.io/sync-wave: "3" spec: template: spec: containers: - name: page-down image: quay.io/acend/example-web-go command: ["sleep", "2"] restartPolicy: Never