diff --git a/app-of-apps/app-definitions.libsonnet b/app-of-apps/app-definitions.libsonnet index 56c265d..9411d05 100644 --- a/app-of-apps/app-definitions.libsonnet +++ b/app-of-apps/app-definitions.libsonnet @@ -35,6 +35,42 @@ syncOptions: ["CreateNamespace=true"] } } + }, + localApplication( + name, + path="", + namespace="") :: + { + apiVersion: "argoproj.io/v1alpha1", + kind: "Application", + metadata: { + name: name, + namespace: "argo", + finalizers: ["resources-finalizer.argocd.argoproj.io"] + }, + spec: { + project: "default", + source: { + repoURL: "https://gitea.scubbo.org/scubbo/helm-charts.git", + targetRevision: "HEAD", + path: if path == "" then std.join('/', ['charts', name]) else path, + // I _think_ every locally-defined chart is going to have a `values.yaml`, but we can make this + // parameterized if desired + helm: { + valueFiles: ['values.yaml'] + } + }, + destination: { + server: 'https://kubernetes.default.svc', + namespace: if namespace == "" then name else namespace + }, + syncPolicy: { + automated: { + prune: true + }, + syncOptions: ["CreateNamespace=true"] + } + } } } diff --git a/app-of-apps/apps.yaml b/app-of-apps/apps.yaml index 8450803..8707bc4 100644 --- a/app-of-apps/apps.yaml +++ b/app-of-apps/apps.yaml @@ -298,35 +298,6 @@ spec: --- apiVersion: argoproj.io/v1alpha1 kind: Application -metadata: - name: drone - namespace: argo - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: default - - source: - repoURL: https://gitea.scubbo.org/scubbo/helm-charts.git - targetRevision: HEAD - path: charts/drone - - helm: - valueFiles: - - values.yaml - - destination: - server: "https://kubernetes.default.svc" - namespace: drone - - syncPolicy: - automated: - prune: true - syncOptions: - - CreateNamespace=true ---- -apiVersion: argoproj.io/v1alpha1 -kind: Application metadata: name: jackjack-app-of-apps-private namespace: argo diff --git a/app-of-apps/drone.jsonnet b/app-of-apps/drone.jsonnet new file mode 100644 index 0000000..8d57434 --- /dev/null +++ b/app-of-apps/drone.jsonnet @@ -0,0 +1,3 @@ +local appDef = import './app-definitions.libsonnet'; + +appDef.localApplication(name="drone") \ No newline at end of file