Pārlūkot izejas kodu

Tidy up the examples repo + add a Helm hooks examples (#40)

Alex Collins 5 gadi atpakaļ
vecāks
revīzija
94ad32f4ea

+ 2 - 2
apps/templates/helm-guestbook.yaml

@@ -7,12 +7,12 @@ metadata:
   - resources-finalizer.argocd.argoproj.io
 spec:
   destination:
-    namespace: argocd
+    namespace: helm-guestbook
     server: {{ .Values.spec.destination.server }}
   project: default
   source:
     path: helm-guestbook
-    repoURL: https://github.com/argoproj/argocd-example-apps
+    repoURL: {{ .Values.spec.source.repoURL }}
     targetRevision: {{ .Values.spec.source.targetRevision }}
   syncPolicy:
     automated:

+ 4 - 4
apps/templates/guestbook.yaml → apps/templates/helm-hooks.yaml

@@ -1,18 +1,18 @@
 apiVersion: argoproj.io/v1alpha1
 kind: Application
 metadata:
-  name: guestbook
+  name: helm-hooks
   namespace: argocd
   finalizers:
   - resources-finalizer.argocd.argoproj.io
 spec:
   destination:
-    namespace: argocd
+    namespace: helm-hooks
     server: {{ .Values.spec.destination.server }}
   project: default
   source:
-    path: guestbook
-    repoURL: https://github.com/argoproj/argocd-example-apps
+    path: helm-hooks
+    repoURL: {{ .Values.spec.source.repoURL }}
     targetRevision: {{ .Values.spec.source.targetRevision }}
   syncPolicy:
     automated:

+ 2 - 2
apps/templates/kustomize-guestbook.yaml

@@ -7,12 +7,12 @@ metadata:
   - resources-finalizer.argocd.argoproj.io
 spec:
   destination:
-    namespace: argocd
+    namespace: kustomize-guestbook
     server: {{ .Values.spec.destination.server }}
   project: default
   source:
     path: kustomize-guestbook
-    repoURL: https://github.com/argoproj/argocd-example-apps
+    repoURL: {{ .Values.spec.source.repoURL }}
     targetRevision: {{ .Values.spec.source.targetRevision }}
   syncPolicy:
     automated:

+ 27 - 0
apps/templates/namespaces.yaml

@@ -0,0 +1,27 @@
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: helm-guestbook
+  annotations:
+    argocd.argoproj.io/sync-wave: "-1"
+---
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: helm-hooks
+  annotations:
+    argocd.argoproj.io/sync-wave: "-1"
+---
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: kustomize-guestbook
+  annotations:
+    argocd.argoproj.io/sync-wave: "-1"
+---
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: sync-waves
+  annotations:
+    argocd.argoproj.io/sync-wave: "-1"

+ 4 - 4
apps/templates/helm-dependency.yaml → apps/templates/sync-waves.yaml

@@ -1,18 +1,18 @@
 apiVersion: argoproj.io/v1alpha1
 kind: Application
 metadata:
-  name: helm-dependency
+  name: sync-waves
   namespace: argocd
   finalizers:
   - resources-finalizer.argocd.argoproj.io
 spec:
   destination:
-    namespace: argocd
+    namespace: sync-waves
     server: {{ .Values.spec.destination.server }}
   project: default
   source:
-    path: helm-dependency
-    repoURL: https://github.com/argoproj/argocd-example-apps
+    path: sync-waves
+    repoURL: {{ .Values.spec.source.repoURL }}
     targetRevision: {{ .Values.spec.source.targetRevision }}
   syncPolicy:
     automated:

+ 1 - 0
apps/values.yaml

@@ -2,4 +2,5 @@ spec:
   destination:
     server: https://kubernetes.default.svc
   source:
+    repoURL: https://github.com/argoproj/argocd-example-apps
     targetRevision: HEAD

+ 82 - 0
helm-hooks/manifests.yaml

@@ -0,0 +1,82 @@
+---
+apiVersion: batch/v1
+kind: Job
+metadata:
+  generateName: upgrade-sql-schema
+  annotations:
+    helm.sh/hook: pre-install
+    helm.sh/hook-weight: "-2"
+spec:
+  template:
+    spec:
+      containers:
+        - name: upgrade-sql-schema
+          image: alpine:latest
+          command: ["sleep", "5"]
+      restartPolicy: Never
+---
+apiVersion: batch/v1
+kind: Job
+metadata:
+  name: maint-page-up
+  annotations:
+    helm.sh/hook: pre-install
+    helm.sh/hook-delete-policy: before-hook-creation
+    helm.sh/hook-weight: "-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
+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:
+    helm.sh/hook-weight: "2"
+spec:
+  selector:
+    tier: frontend
+  ports:
+    - protocol: TCP
+      port: 80
+      targetPort: 80
+---
+apiVersion: batch/v1
+kind: Job
+metadata:
+  name: maint-page-down
+  annotations:
+    helm.sh/hook: post-install
+    helm.sh/hook-delete-policy: before-hook-creation
+spec:
+  template:
+    spec:
+      containers:
+        - name: page-down
+          image: alpine:latest
+          command: ["sleep", "2"]
+      restartPolicy: Never

+ 4 - 4
sync-waves/manifests.yaml

@@ -47,10 +47,10 @@ spec:
 apiVersion: batch/v1
 kind: Job
 metadata:
-  generateName: maint-page-up-
+  name: maint-page-up
   annotations:
     argocd.argoproj.io/hook: Sync
-    argocd.argoproj.io/hook-delete-policy: HookSucceeded
+    argocd.argoproj.io/hook-delete-policy: BeforeHookCreation
     argocd.argoproj.io/sync-wave: "1"
 spec:
   template:
@@ -99,10 +99,10 @@ spec:
 apiVersion: batch/v1
 kind: Job
 metadata:
-  generateName: maint-page-down-
+  name: maint-page-down
   annotations:
     argocd.argoproj.io/hook: Sync
-    argocd.argoproj.io/hook-delete-policy: HookSucceeded
+    argocd.argoproj.io/hook-delete-policy: BeforeHookCreation
     argocd.argoproj.io/sync-wave: "3"
 spec:
   template: