From 1e0ad975c1d2ec004baca9792cae01cdb4ccd82b Mon Sep 17 00:00:00 2001 From: Andres De Castro <andresd@stradigi.ai> Date: Fri, 28 Aug 2020 11:35:40 -0400 Subject: [PATCH] added argocd exmaples --- examples/cd/argocd/README.md | 9 +++++++ examples/cd/argocd/application.yaml | 25 +++++++++++++++++++ examples/cd/argocd/appproject.yaml | 22 ++++++++++++++++ .../kube-prometheus/argocd-basic.jsonnet | 13 ++++++++++ 4 files changed, 69 insertions(+) create mode 100644 examples/cd/argocd/README.md create mode 100644 examples/cd/argocd/application.yaml create mode 100644 examples/cd/argocd/appproject.yaml create mode 100644 examples/cd/argocd/kube-prometheus/argocd-basic.jsonnet diff --git a/examples/cd/argocd/README.md b/examples/cd/argocd/README.md new file mode 100644 index 00000000..00fed8bf --- /dev/null +++ b/examples/cd/argocd/README.md @@ -0,0 +1,9 @@ +## ArgoCD Example + +This is the simplest, working example of an argocd app, the JSON object built is now an array of objects as that is the prefered format for ArgoCD. + +Requirements: + +**ArgoCD 1.7+** + +Follow the vendor generation steps at the root of this repository and generate a `vendored` folder (referenced in `application.yaml`). diff --git a/examples/cd/argocd/application.yaml b/examples/cd/argocd/application.yaml new file mode 100644 index 00000000..feaf5cf4 --- /dev/null +++ b/examples/cd/argocd/application.yaml @@ -0,0 +1,25 @@ +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: monitoring + namespace: argocd + annotations: + recipients.argocd-notifications.argoproj.io: "slack:jenkins" +spec: + destination: + namespace: monitoring + server: https://kubernetes.default.svc + project: monitoring + source: + directory: + jsonnet: + libs: + - vendored + recurse: true + path: examples/cd/argocd/kube-prometheus + repoURL: git@github.com:prometheus-operator/kube-prometheus.git + targetRevision: HEAD + syncPolicy: + automated: {} +--- diff --git a/examples/cd/argocd/appproject.yaml b/examples/cd/argocd/appproject.yaml new file mode 100644 index 00000000..a571b782 --- /dev/null +++ b/examples/cd/argocd/appproject.yaml @@ -0,0 +1,22 @@ +apiVersion: argoproj.io/v1alpha1 +kind: AppProject +metadata: + annotations: + recipients.argocd-notifications.argoproj.io: slack:alerts + generation: 1 + name: monitoring + namespace: argocd +spec: + clusterResourceWhitelist: + - group: "*" + kind: "*" + description: "Monitoring Stack deployment" + destinations: + - namespace: kube-system + server: https://kubernetes.default.svc + - namespace: default + server: https://kubernetes.default.svc + - namespace: monitoring + server: https://kubernetes.default.svc + sourceRepos: + - git@github.com:prometheus-operator/kube-prometheus.git diff --git a/examples/cd/argocd/kube-prometheus/argocd-basic.jsonnet b/examples/cd/argocd/kube-prometheus/argocd-basic.jsonnet new file mode 100644 index 00000000..20c8caa3 --- /dev/null +++ b/examples/cd/argocd/kube-prometheus/argocd-basic.jsonnet @@ -0,0 +1,13 @@ +local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') + + (import 'kube-prometheus/kube-prometheus-eks.libsonnet') + { + _config+:: { + namespace: 'monitoring', + }, +}; + +[kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus)] + +[kp.prometheusOperator[name] for name in std.objectFields(kp.prometheusOperator)] + +[kp.nodeExporter[name] for name in std.objectFields(kp.nodeExporter)] + +[kp.kubeStateMetrics[name] for name in std.objectFields(kp.kubeStateMetrics)] + +[kp.prometheus[name] for name in std.objectFields(kp.prometheus)] + +[kp.prometheusAdapter[name] for name in std.objectFields(kp.prometheusAdapter)] -- GitLab