diff --git a/bin/helmify b/bin/helmify index fadc45f0..2206531d 100755 --- a/bin/helmify +++ b/bin/helmify @@ -7,7 +7,7 @@ manifests=${4:-manifests} outdir=${5:-_manifests} build() { - if [ ! -d "$manifests" ]; then + if [ ! -e "$manifests" ]; then echo "nothing to do here..." 1>&2 exit 0 fi @@ -24,7 +24,11 @@ name: $chart version: 0.1.0 EOF -cp -r $manifests/* $outdir/templates +if [ -d $manifests ]; then + cp -r $manifests/* $outdir/templates +else + cp $manifests $outdir/templates +fi } clean() { diff --git a/helmfile.d/atlantis.yaml.gotmpl b/helmfile.d/atlantis.yaml.gotmpl new file mode 100644 index 00000000..e0b91216 --- /dev/null +++ b/helmfile.d/atlantis.yaml.gotmpl @@ -0,0 +1,59 @@ +bases: + - ../envs/environments.yaml.gotmpl + +repositories: +- name: atlantis + url: ../charts/atlantis + +commonLabels: + tier: atlantis + +releases: +- name: atlantis + namespace: {{ .Environment.Name }}-atlantis + chart: atlantis/atlantis + condition: atlantis.enabled + values: + - ../values/atlantis/values/atlantis.yaml.gotmpl + - ../values/atlantis/values/atlantis-{{ .Environment.Name }}.yaml.gotmpl + postRenderer: ../bin/kustomizer + postRendererArgs: + - ../values/atlantis/kustomize/{{ .Environment.Name }} + missingFileHandler: Info +- name: atlantis-manifests + namespace: {{ .Environment.Name }}-atlantis + chart: _atlantis-manifests + condition: atlantis.enabled + values: + - ../values/values-{{ requiredEnv "CLUSTER_NAME" }}.yaml + - ../values/atlantis/values.yaml.gotmpl + - ../values/atlantis/values-{{ requiredEnv "CLUSTER_NAME" }}.yaml.gotmpl + hooks: + - events: [ prepare, cleanup ] + showlogs: true + command: ../bin/helmify + args: + - '{{`{{ if eq .Event.Name "prepare" }}build{{ else }}clean{{ end }}`}}' + - '{{`{{ .Release.Chart }}`}}' + - '{{`{{ .Environment.Name }}`}}' + - ../values/atlantis/atlantis-manifests + - _atlantis-manifests +- name: atlantis-app + namespace: argocd + chart: _atlantis-app + condition: atlantis.enabled + values: + - ../values/values-{{ requiredEnv "CLUSTER_NAME" }}.yaml + - ../values/atlantis/values.yaml.gotmpl + - ../values/atlantis/values-{{ requiredEnv "CLUSTER_NAME" }}.yaml.gotmpl + hooks: + - events: [ prepare, cleanup ] + showlogs: true + command: ../bin/helmify + args: + - '{{`{{ if eq .Event.Name "prepare" }}build{{ else }}clean{{ end }}`}}' + - '{{`{{ .Release.Chart }}`}}' + - '{{`{{ .Environment.Name }}`}}' + - ../values/atlantis/app.yaml + - _atlantis-app + diff --git a/apps/templates/atlantis.yaml b/values/atlantis/app.yaml similarity index 97% rename from apps/templates/atlantis.yaml rename to values/atlantis/app.yaml index 9f09c373..4bf9bd8b 100644 --- a/apps/templates/atlantis.yaml +++ b/values/atlantis/app.yaml @@ -1,4 +1,4 @@ -{{ if .Values.atlantis.enabled }} +{{ if .Values.clusterConfig.argo.enabled }} {{- range .Values.atlantis.envs }} apiVersion: argoproj.io/v1alpha1 kind: Application diff --git a/values/atlantis/chart b/values/atlantis/chart deleted file mode 120000 index f0d03fc1..00000000 --- a/values/atlantis/chart +++ /dev/null @@ -1 +0,0 @@ -../../charts/atlantis \ No newline at end of file diff --git a/values/atlantis/base/acl.json b/values/atlantis/kustomize/base/acl.json similarity index 100% rename from values/atlantis/base/acl.json rename to values/atlantis/kustomize/base/acl.json diff --git a/values/atlantis/base/defaultbackend.yaml b/values/atlantis/kustomize/base/defaultbackend.yaml similarity index 100% rename from values/atlantis/base/defaultbackend.yaml rename to values/atlantis/kustomize/base/defaultbackend.yaml diff --git a/values/atlantis/base/deployment_patch.yaml b/values/atlantis/kustomize/base/deployment_patch.yaml similarity index 100% rename from values/atlantis/base/deployment_patch.yaml rename to values/atlantis/kustomize/base/deployment_patch.yaml diff --git a/values/atlantis/base/ingress_patch.yaml b/values/atlantis/kustomize/base/ingress_patch.yaml similarity index 100% rename from values/atlantis/base/ingress_patch.yaml rename to values/atlantis/kustomize/base/ingress_patch.yaml diff --git a/values/atlantis/base/kustomization.yaml b/values/atlantis/kustomize/base/kustomization.yaml similarity index 100% rename from values/atlantis/base/kustomization.yaml rename to values/atlantis/kustomize/base/kustomization.yaml diff --git a/values/atlantis/base/service_patch.yaml b/values/atlantis/kustomize/base/service_patch.yaml similarity index 100% rename from values/atlantis/base/service_patch.yaml rename to values/atlantis/kustomize/base/service_patch.yaml diff --git a/values/atlantis/prod/appsettings.json b/values/atlantis/kustomize/prod/appsettings.json similarity index 100% rename from values/atlantis/prod/appsettings.json rename to values/atlantis/kustomize/prod/appsettings.json diff --git a/values/atlantis/prod/barentswatch-api.env b/values/atlantis/kustomize/prod/barentswatch-api.env similarity index 100% rename from values/atlantis/prod/barentswatch-api.env rename to values/atlantis/kustomize/prod/barentswatch-api.env diff --git a/values/atlantis/prod/bindings.yaml b/values/atlantis/kustomize/prod/bindings.yaml similarity index 100% rename from values/atlantis/prod/bindings.yaml rename to values/atlantis/kustomize/prod/bindings.yaml diff --git a/values/atlantis/prod/configurations.yaml b/values/atlantis/kustomize/prod/configurations.yaml similarity index 100% rename from values/atlantis/prod/configurations.yaml rename to values/atlantis/kustomize/prod/configurations.yaml diff --git a/values/atlantis/prod/default.env b/values/atlantis/kustomize/prod/default.env similarity index 100% rename from values/atlantis/prod/default.env rename to values/atlantis/kustomize/prod/default.env diff --git a/values/atlantis/prod/deployment_patch.yaml b/values/atlantis/kustomize/prod/deployment_patch.yaml similarity index 100% rename from values/atlantis/prod/deployment_patch.yaml rename to values/atlantis/kustomize/prod/deployment_patch.yaml diff --git a/values/atlantis/prod/keyvault.yaml b/values/atlantis/kustomize/prod/keyvault.yaml similarity index 100% rename from values/atlantis/prod/keyvault.yaml rename to values/atlantis/kustomize/prod/keyvault.yaml diff --git a/values/atlantis/prod/kustomization.yaml b/values/atlantis/kustomize/prod/kustomization.yaml similarity index 100% rename from values/atlantis/prod/kustomization.yaml rename to values/atlantis/kustomize/prod/kustomization.yaml diff --git a/values/atlantis/prod/pubsub.yaml b/values/atlantis/kustomize/prod/pubsub.yaml similarity index 100% rename from values/atlantis/prod/pubsub.yaml rename to values/atlantis/kustomize/prod/pubsub.yaml diff --git a/values/atlantis/prod/rbac.yaml b/values/atlantis/kustomize/prod/rbac.yaml similarity index 100% rename from values/atlantis/prod/rbac.yaml rename to values/atlantis/kustomize/prod/rbac.yaml diff --git a/values/atlantis/prod/redis.yaml b/values/atlantis/kustomize/prod/redis.yaml similarity index 100% rename from values/atlantis/prod/redis.yaml rename to values/atlantis/kustomize/prod/redis.yaml diff --git a/values/atlantis/prod/secrets.yaml b/values/atlantis/kustomize/prod/secrets.yaml similarity index 100% rename from values/atlantis/prod/secrets.yaml rename to values/atlantis/kustomize/prod/secrets.yaml diff --git a/values/atlantis/prod/secretstore.yaml b/values/atlantis/kustomize/prod/secretstore.yaml similarity index 100% rename from values/atlantis/prod/secretstore.yaml rename to values/atlantis/kustomize/prod/secretstore.yaml diff --git a/values/atlantis/prod/statestore.yaml b/values/atlantis/kustomize/prod/statestore.yaml similarity index 100% rename from values/atlantis/prod/statestore.yaml rename to values/atlantis/kustomize/prod/statestore.yaml diff --git a/values/atlantis/prod/subscriptions.yaml b/values/atlantis/kustomize/prod/subscriptions.yaml similarity index 100% rename from values/atlantis/prod/subscriptions.yaml rename to values/atlantis/kustomize/prod/subscriptions.yaml diff --git a/values/atlantis/prod/tracing.yaml b/values/atlantis/kustomize/prod/tracing.yaml similarity index 100% rename from values/atlantis/prod/tracing.yaml rename to values/atlantis/kustomize/prod/tracing.yaml diff --git a/values/atlantis/staging/appsettings.json b/values/atlantis/kustomize/staging/appsettings.json similarity index 100% rename from values/atlantis/staging/appsettings.json rename to values/atlantis/kustomize/staging/appsettings.json diff --git a/values/atlantis/staging/auth b/values/atlantis/kustomize/staging/auth similarity index 100% rename from values/atlantis/staging/auth rename to values/atlantis/kustomize/staging/auth diff --git a/values/atlantis/staging/barentswatch-api.env b/values/atlantis/kustomize/staging/barentswatch-api.env similarity index 100% rename from values/atlantis/staging/barentswatch-api.env rename to values/atlantis/kustomize/staging/barentswatch-api.env diff --git a/values/atlantis/staging/bindings.yaml b/values/atlantis/kustomize/staging/bindings.yaml similarity index 100% rename from values/atlantis/staging/bindings.yaml rename to values/atlantis/kustomize/staging/bindings.yaml diff --git a/values/atlantis/staging/configuration.yaml b/values/atlantis/kustomize/staging/configuration.yaml similarity index 100% rename from values/atlantis/staging/configuration.yaml rename to values/atlantis/kustomize/staging/configuration.yaml diff --git a/values/atlantis/staging/configurations.yaml b/values/atlantis/kustomize/staging/configurations.yaml similarity index 100% rename from values/atlantis/staging/configurations.yaml rename to values/atlantis/kustomize/staging/configurations.yaml diff --git a/values/atlantis/staging/default.env b/values/atlantis/kustomize/staging/default.env similarity index 100% rename from values/atlantis/staging/default.env rename to values/atlantis/kustomize/staging/default.env diff --git a/values/atlantis/staging/deployment_patch.yaml b/values/atlantis/kustomize/staging/deployment_patch.yaml similarity index 100% rename from values/atlantis/staging/deployment_patch.yaml rename to values/atlantis/kustomize/staging/deployment_patch.yaml diff --git a/values/atlantis/staging/keyvault.yaml b/values/atlantis/kustomize/staging/keyvault.yaml similarity index 100% rename from values/atlantis/staging/keyvault.yaml rename to values/atlantis/kustomize/staging/keyvault.yaml diff --git a/values/atlantis/staging/kustomization.yaml b/values/atlantis/kustomize/staging/kustomization.yaml similarity index 100% rename from values/atlantis/staging/kustomization.yaml rename to values/atlantis/kustomize/staging/kustomization.yaml diff --git a/values/atlantis/staging/pubsub.yaml b/values/atlantis/kustomize/staging/pubsub.yaml similarity index 100% rename from values/atlantis/staging/pubsub.yaml rename to values/atlantis/kustomize/staging/pubsub.yaml diff --git a/values/atlantis/staging/rbac.yaml b/values/atlantis/kustomize/staging/rbac.yaml similarity index 100% rename from values/atlantis/staging/rbac.yaml rename to values/atlantis/kustomize/staging/rbac.yaml diff --git a/values/atlantis/staging/redis.yaml b/values/atlantis/kustomize/staging/redis.yaml similarity index 100% rename from values/atlantis/staging/redis.yaml rename to values/atlantis/kustomize/staging/redis.yaml diff --git a/values/atlantis/staging/secrets.yaml b/values/atlantis/kustomize/staging/secrets.yaml similarity index 100% rename from values/atlantis/staging/secrets.yaml rename to values/atlantis/kustomize/staging/secrets.yaml diff --git a/values/atlantis/staging/secretstore.yaml b/values/atlantis/kustomize/staging/secretstore.yaml similarity index 100% rename from values/atlantis/staging/secretstore.yaml rename to values/atlantis/kustomize/staging/secretstore.yaml diff --git a/values/atlantis/staging/statestore.yaml b/values/atlantis/kustomize/staging/statestore.yaml similarity index 100% rename from values/atlantis/staging/statestore.yaml rename to values/atlantis/kustomize/staging/statestore.yaml diff --git a/values/atlantis/staging/subscriptions.yaml b/values/atlantis/kustomize/staging/subscriptions.yaml similarity index 100% rename from values/atlantis/staging/subscriptions.yaml rename to values/atlantis/kustomize/staging/subscriptions.yaml diff --git a/values/atlantis/staging/tracing.yaml b/values/atlantis/kustomize/staging/tracing.yaml similarity index 100% rename from values/atlantis/staging/tracing.yaml rename to values/atlantis/kustomize/staging/tracing.yaml diff --git a/values/atlantis/values.yaml.gotmpl b/values/atlantis/values.yaml.gotmpl new file mode 100644 index 00000000..a44c2a6a --- /dev/null +++ b/values/atlantis/values.yaml.gotmpl @@ -0,0 +1,4 @@ +atlantis: + enabled: true + autosync: false + diff --git a/values/atlantis/values-prod.yaml b/values/atlantis/values/values-prod.yaml.gotmpl similarity index 100% rename from values/atlantis/values-prod.yaml rename to values/atlantis/values/values-prod.yaml.gotmpl diff --git a/values/atlantis/values-staging.yaml b/values/atlantis/values/values-staging.yaml.gotmpl similarity index 100% rename from values/atlantis/values-staging.yaml rename to values/atlantis/values/values-staging.yaml.gotmpl diff --git a/values/atlantis/values.yaml b/values/atlantis/values/values.yaml.gotmpl similarity index 100% rename from values/atlantis/values.yaml rename to values/atlantis/values/values.yaml.gotmpl