REFACTOR: merge templates into one
This commit is contained in:
parent
1953320691
commit
80e517c656
10 changed files with 99 additions and 105 deletions
|
@ -1,17 +0,0 @@
|
||||||
local base = import "argo_base.libsonnet";
|
|
||||||
|
|
||||||
base + {
|
|
||||||
repo:: error "repo must be defined",
|
|
||||||
version:: error "version must be defined",
|
|
||||||
path:: error "path must be defined",
|
|
||||||
recursive:: true,
|
|
||||||
|
|
||||||
spec+: {
|
|
||||||
source: {
|
|
||||||
repoURL: $.repo,
|
|
||||||
path: $.path,
|
|
||||||
targetRevision: $.version,
|
|
||||||
directory: { recurse: $.recursive },
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,38 +0,0 @@
|
||||||
{
|
|
||||||
name:: error "name must be defined",
|
|
||||||
namespace:: $.name,
|
|
||||||
syncOptions:: ["CreateNamespace=true"],
|
|
||||||
retryLimit:: 5,
|
|
||||||
sync_wave:: 0,
|
|
||||||
|
|
||||||
apiVersion: "argoproj.io/v1alpha1",
|
|
||||||
kind: "Application",
|
|
||||||
metadata: {
|
|
||||||
name: $.name,
|
|
||||||
namespace: "argocd",
|
|
||||||
annotations: { "argocd.argoproj.io/sync-wave": std.toString($.sync_wave) },
|
|
||||||
finalizers: ["resources-finalizer.argocd.argoproj.io"],
|
|
||||||
},
|
|
||||||
spec: {
|
|
||||||
project: "baseline",
|
|
||||||
destination: {
|
|
||||||
server: "https://kubernetes.default.svc",
|
|
||||||
namespace: $.namespace,
|
|
||||||
},
|
|
||||||
syncPolicy: {
|
|
||||||
automated: {
|
|
||||||
selfHeal: true,
|
|
||||||
prune: true,
|
|
||||||
},
|
|
||||||
retry: {
|
|
||||||
limit: $.retryLimit,
|
|
||||||
backoff: {
|
|
||||||
duration: "5s",
|
|
||||||
factor: 2,
|
|
||||||
maxDuration: "5m",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
syncOptions: $.syncOptions,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,29 +0,0 @@
|
||||||
local base = import "argo_base.libsonnet";
|
|
||||||
|
|
||||||
base + {
|
|
||||||
repo:: error "repo must be defined",
|
|
||||||
chart:: $.name,
|
|
||||||
version:: error "version must be defined",
|
|
||||||
skipCrds:: false,
|
|
||||||
values:: "",
|
|
||||||
|
|
||||||
spec+: {
|
|
||||||
source+: {
|
|
||||||
repoURL: $.repo,
|
|
||||||
chart: $.chart,
|
|
||||||
targetRevision: $.version,
|
|
||||||
}
|
|
||||||
|
|
||||||
+ (
|
|
||||||
if std.length($.values) > 0 then
|
|
||||||
{ helm+: { values: $.values } } else {}
|
|
||||||
)
|
|
||||||
|
|
||||||
+ (
|
|
||||||
if $.skipCrds then
|
|
||||||
{ helm+: { skipCrds: true } } else {}
|
|
||||||
)
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
79
_templates/argocd_app.libsonnet
Normal file
79
_templates/argocd_app.libsonnet
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
{
|
||||||
|
# generic parameters
|
||||||
|
name:: $.chart,
|
||||||
|
namespace:: $.name,
|
||||||
|
|
||||||
|
syncOptions:: ["CreateNamespace=true"],
|
||||||
|
retryLimit:: 5,
|
||||||
|
sync_wave:: 0,
|
||||||
|
|
||||||
|
# source parameters
|
||||||
|
repo:: error "repository must be defined",
|
||||||
|
version:: error "version must be defined",
|
||||||
|
|
||||||
|
# helm chart parameters
|
||||||
|
chart:: "",
|
||||||
|
skipCrds:: false,
|
||||||
|
values:: "",
|
||||||
|
|
||||||
|
# directory parameters
|
||||||
|
path:: "",
|
||||||
|
recursive:: true,
|
||||||
|
|
||||||
|
|
||||||
|
apiVersion: "argoproj.io/v1alpha1",
|
||||||
|
kind: "Application",
|
||||||
|
metadata: {
|
||||||
|
name: $.name,
|
||||||
|
namespace: "argocd",
|
||||||
|
annotations: { "argocd.argoproj.io/sync-wave": std.toString($.sync_wave) },
|
||||||
|
finalizers: ["resources-finalizer.argocd.argoproj.io"],
|
||||||
|
},
|
||||||
|
spec: {
|
||||||
|
project: "baseline",
|
||||||
|
destination: {
|
||||||
|
server: "https://kubernetes.default.svc",
|
||||||
|
namespace: $.namespace,
|
||||||
|
},
|
||||||
|
source: {
|
||||||
|
repoURL: $.repo,
|
||||||
|
targetRevision: $.version,
|
||||||
|
},
|
||||||
|
syncPolicy: {
|
||||||
|
automated: {
|
||||||
|
selfHeal: true,
|
||||||
|
prune: true,
|
||||||
|
},
|
||||||
|
retry: {
|
||||||
|
limit: $.retryLimit,
|
||||||
|
backoff: {
|
||||||
|
duration: "5s",
|
||||||
|
factor: 2,
|
||||||
|
maxDuration: "5m",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
syncOptions: $.syncOptions,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+ ( # append chart name if defined
|
||||||
|
if std.length($.chart) > 0 then
|
||||||
|
{ source+: { chart: $.chart, } } else {}
|
||||||
|
)
|
||||||
|
|
||||||
|
+ ( # set helm values
|
||||||
|
if std.length($.values) > 0 then
|
||||||
|
{ source+: { helm+: { values: $.values } } } else {}
|
||||||
|
)
|
||||||
|
|
||||||
|
+ ( # set skipCRDs if defined
|
||||||
|
if $.skipCrds then
|
||||||
|
{ source+: { helm+: { skipCrds: true } } } else {}
|
||||||
|
)
|
||||||
|
|
||||||
|
+ ( # append generic directory path and recurse option
|
||||||
|
if std.length($.path) > 0 then
|
||||||
|
{ source+: { path: $.path, directory: { recurse: $.recursive } } } else {}
|
||||||
|
)
|
||||||
|
|
||||||
|
}
|
|
@ -1,8 +1,8 @@
|
||||||
local helmapp = import "../_templates/argo_helm_app.libsonnet";
|
local app = import "../_templates/argocd_app.libsonnet";
|
||||||
|
|
||||||
[
|
[
|
||||||
helmapp + {
|
app + {
|
||||||
name:: "cert-manager",
|
chart:: "cert-manager",
|
||||||
repo:: "https://charts.jetstack.io",
|
repo:: "https://charts.jetstack.io",
|
||||||
version:: "v1.8.*",
|
version:: "v1.8.*",
|
||||||
values:: |||
|
values:: |||
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
local helmapp = import "../_templates/argo_helm_app.libsonnet";
|
local app = import "../_templates/argocd_app.libsonnet";
|
||||||
|
|
||||||
[
|
[
|
||||||
helmapp + {
|
app + {
|
||||||
name:: "ingress-nginx",
|
chart:: "ingress-nginx",
|
||||||
repo:: "https://kubernetes.github.io/ingress-nginx",
|
repo:: "https://kubernetes.github.io/ingress-nginx",
|
||||||
version:: "4.0.*",
|
version:: "4.0.*",
|
||||||
values:: |||
|
values:: |||
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
local helmapp = import "../_templates/argo_helm_app.libsonnet";
|
local app = import "../_templates/argocd_app.libsonnet";
|
||||||
|
|
||||||
[
|
[
|
||||||
helmapp + {
|
app + {
|
||||||
name:: "keel",
|
chart:: "keel",
|
||||||
repo:: "https://charts.keel.sh",
|
repo:: "https://charts.keel.sh",
|
||||||
version:: "0.9.*",
|
version:: "0.9.*",
|
||||||
values:: |||
|
values:: |||
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
local helmapp = import "../../_templates/argo_helm_app.libsonnet";
|
local app = import "../../_templates/argocd_app.libsonnet";
|
||||||
|
|
||||||
[
|
[
|
||||||
helmapp + {
|
app + {
|
||||||
name:: "loki",
|
name:: "loki",
|
||||||
namespace:: "metrics",
|
namespace:: "metrics",
|
||||||
repo:: "https://grafana.github.io/helm-charts",
|
|
||||||
chart:: "loki-stack",
|
chart:: "loki-stack",
|
||||||
|
repo:: "https://grafana.github.io/helm-charts",
|
||||||
version:: "2.6.*",
|
version:: "2.6.*",
|
||||||
values:: |||
|
values:: |||
|
||||||
loki:
|
loki:
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
# see https://blog.ediri.io/kube-prometheus-stack-and-argocd-23-how-to-remove-a-workaround
|
# see https://blog.ediri.io/kube-prometheus-stack-and-argocd-23-how-to-remove-a-workaround
|
||||||
local helmapp = import "../../_templates/argo_helm_app.libsonnet";
|
local app = import "../../_templates/argocd_app.libsonnet";
|
||||||
local argoapp = import "../../_templates/argo_app.libsonnet";
|
|
||||||
|
|
||||||
local vars = {
|
local vars = {
|
||||||
"version": "34.10.0",
|
"version": "34.10.0",
|
||||||
|
@ -8,20 +7,20 @@ local vars = {
|
||||||
};
|
};
|
||||||
|
|
||||||
[
|
[
|
||||||
argoapp + {
|
app + {
|
||||||
name:: "prometheus-crds",
|
name:: "prometheus-crds",
|
||||||
namespace:: vars.namespace,
|
namespace:: vars.namespace,
|
||||||
repo:: "https://github.com/prometheus-community/helm-charts.git",
|
|
||||||
path:: "charts/kube-prometheus-stack/crds/",
|
path:: "charts/kube-prometheus-stack/crds/",
|
||||||
|
repo:: "https://github.com/prometheus-community/helm-charts.git",
|
||||||
version:: "kube-prometheus-stack-" + vars.version,
|
version:: "kube-prometheus-stack-" + vars.version,
|
||||||
syncOptions:: ["CreateNamespace=true", "Replace=true"],
|
syncOptions:: ["CreateNamespace=true", "Replace=true"],
|
||||||
sync_wave:: -1,
|
sync_wave:: -1,
|
||||||
},
|
},
|
||||||
helmapp + {
|
app + {
|
||||||
name:: "prometheus-grafana",
|
name:: "prometheus-grafana",
|
||||||
namespace: vars.namespace,
|
namespace: vars.namespace,
|
||||||
repo:: "https://prometheus-community.github.io/helm-charts",
|
|
||||||
chart:: "kube-prometheus-stack",
|
chart:: "kube-prometheus-stack",
|
||||||
|
repo:: "https://prometheus-community.github.io/helm-charts",
|
||||||
version:: vars.version,
|
version:: vars.version,
|
||||||
skipCrds:: true,
|
skipCrds:: true,
|
||||||
values:: |||
|
values:: |||
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
local helmapp = import "../_templates/argo_helm_app.libsonnet";
|
local app = import "../_templates/argocd_app.libsonnet";
|
||||||
|
|
||||||
[
|
[
|
||||||
helmapp + {
|
app + {
|
||||||
name:: "reloader",
|
chart:: "reloader",
|
||||||
repo:: "https://stakater.github.io/stakater-charts",
|
repo:: "https://stakater.github.io/stakater-charts",
|
||||||
version:: "v0.0.*",
|
version:: "v0.0.*",
|
||||||
values:: |||
|
values:: |||
|
||||||
|
|
Loading…
Reference in a new issue