Sync wave (#28)

This commit is contained in:
Alex Collins 2019-06-05 09:22:02 -07:00 committed by GitHub
parent 35ca7c333d
commit 0ad95c51bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 115 additions and 0 deletions

View File

@ -12,6 +12,7 @@ to explore ArgoCD and GitOps!
| [jsonnet-guestbook](jsonnet-guestbook/) | The guestbook application as a raw jsonnet | | [jsonnet-guestbook](jsonnet-guestbook/) | The guestbook application as a raw jsonnet |
| [kustomize-guestbook](kustomize-guestbook/) | The guestbook application as a Kustomize 2 app | | [kustomize-guestbook](kustomize-guestbook/) | The guestbook application as a Kustomize 2 app |
| [pre-post-sync](pre-post-sync/) | Demonstrates Argo CD PreSync and PostSync hooks | | [pre-post-sync](pre-post-sync/) | Demonstrates Argo CD PreSync and PostSync hooks |
| [sync-waves](sync-waves/) | Demonstrates Argo CD sync waves with hooks |
| [helm-dependency](helm-dependency/) | Demonstrates how to customize an OTS (off-the-shelf) helm chart from an upstream repo | | [helm-dependency](helm-dependency/) | Demonstrates how to customize an OTS (off-the-shelf) helm chart from an upstream repo |
| [sock-shop](sock-shop/) | A microservices demo application (https://microservices-demo.github.io) | | [sock-shop](sock-shop/) | A microservices demo application (https://microservices-demo.github.io) |
| [plugins](plugins/) | Applications which demonstrate config management plugins usage | | [plugins](plugins/) | Applications which demonstrate config management plugins usage |

114
sync-waves/manifests.yaml Normal file
View File

@ -0,0 +1,114 @@
---
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: alpine:latest
command: ["sleep", "5"]
restartPolicy: Never
---
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: backend
spec:
replicas: 1
selector:
matchLabels:
tier: backend
template:
metadata:
labels:
tier: backend
spec:
containers:
- name: main
image: nginx:latest
---
apiVersion: v1
kind: Service
metadata:
name: backend
spec:
selector:
tier: backend
ports:
- protocol: TCP
port: 8080
targetPort: 8080
---
apiVersion: batch/v1
kind: Job
metadata:
generateName: maint-page-up-
annotations:
argocd.argoproj.io/hook: Sync
argocd.argoproj.io/hook-delete-policy: HookSucceeded
argocd.argoproj.io/sync-wave: "1"
spec:
template:
spec:
containers:
- name: page-up
image: alpine:latest
command: ["sleep", "2"]
restartPolicy: Never
backoffLimit: 0
---
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: frontend
annotations:
argocd.argoproj.io/sync-wave: "2"
spec:
replicas: 1
selector:
matchLabels:
tier: frontend
template:
metadata:
labels:
tier: frontend
spec:
containers:
- name: main
image: nginx:latest
---
apiVersion: v1
kind: Service
metadata:
name: frontend
annotations:
argocd.argoproj.io/sync-wave: "2"
spec:
selector:
tier: frontend
ports:
- protocol: TCP
port: 80
targetPort: 80
---
apiVersion: batch/v1
kind: Job
metadata:
generateName: maint-page-down-
annotations:
argocd.argoproj.io/hook: Sync
argocd.argoproj.io/hook-delete-policy: HookSucceeded
argocd.argoproj.io/sync-wave: "3"
spec:
template:
spec:
containers:
- name: page-down
image: alpine:latest
command: ["sleep", "2"]
restartPolicy: Never