From 046f70cdd57135443d58a5ea0085b9b3f6d167e3 Mon Sep 17 00:00:00 2001 From: kirinnee Date: Wed, 27 Sep 2023 10:06:28 +0800 Subject: [PATCH] feat: initial commit --- .envrc | 2 + .github/dependabot.yml | 6 + .github/workflows/deployment.yaml | 31 + .gitignore | 8 + .gitlint | 6 + README.MD | 13 + Taskfile.yml | 30 + atomi_release.yaml | 141 ++++ chart/.helmignore | 23 + chart/Chart.lock | 6 + chart/Chart.yaml | 14 + chart/README.md | 76 +++ chart/charts/argo-cd-5.42.0.tgz | Bin 0 -> 141836 bytes chart/templates/NOTES.txt | 1 + chart/templates/_helpers.tpl | 75 +++ chart/templates/argocd_cm.yaml | 64 ++ chart/templates/cmd_params_cm.yaml | 37 ++ chart/templates/github_access.yaml | 57 ++ chart/templates/post-install/app_of_apps.yaml | 53 ++ .../post-install/cluster_external_secret.yaml | 38 ++ chart/templates/post-install/projects.yaml | 23 + chart/templates/rbac_config.yaml | 15 + chart/templates/sso_secret.yaml | 38 ++ chart/values.suicune.opal-ruby.yaml | 108 ++++ chart/values.yaml | 111 ++++ config/k3d.yaml | 11 + docs/developer/.gitkeep | 0 flake.lock | 611 ++++++++++++++++++ flake.nix | 70 ++ nix/env.nix | 41 ++ nix/fmt.nix | 24 + nix/packages.nix | 52 ++ nix/pre-commit.nix | 98 +++ nix/shells.nix | 18 + scripts/ci/pre-commit.sh | 5 + scripts/ci/publish.sh | 14 + scripts/ci/release.sh | 6 + scripts/local/create-k3d-cluster.sh | 47 ++ scripts/local/delete-k3d-cluster.sh | 34 + tasks/Taskfile.cluster.yaml | 30 + 40 files changed, 2037 insertions(+) create mode 100644 .envrc create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/deployment.yaml create mode 100644 .gitignore create mode 100644 .gitlint create mode 100644 README.MD create mode 100644 Taskfile.yml create mode 100644 atomi_release.yaml create mode 100644 chart/.helmignore create mode 100644 chart/Chart.lock create mode 100644 chart/Chart.yaml create mode 100644 chart/README.md create mode 100644 chart/charts/argo-cd-5.42.0.tgz create mode 100644 chart/templates/NOTES.txt create mode 100644 chart/templates/_helpers.tpl create mode 100644 chart/templates/argocd_cm.yaml create mode 100644 chart/templates/cmd_params_cm.yaml create mode 100644 chart/templates/github_access.yaml create mode 100644 chart/templates/post-install/app_of_apps.yaml create mode 100644 chart/templates/post-install/cluster_external_secret.yaml create mode 100644 chart/templates/post-install/projects.yaml create mode 100644 chart/templates/rbac_config.yaml create mode 100644 chart/templates/sso_secret.yaml create mode 100644 chart/values.suicune.opal-ruby.yaml create mode 100644 chart/values.yaml create mode 100644 config/k3d.yaml create mode 100644 docs/developer/.gitkeep create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 nix/env.nix create mode 100644 nix/fmt.nix create mode 100644 nix/packages.nix create mode 100644 nix/pre-commit.nix create mode 100644 nix/shells.nix create mode 100755 scripts/ci/pre-commit.sh create mode 100755 scripts/ci/publish.sh create mode 100755 scripts/ci/release.sh create mode 100755 scripts/local/create-k3d-cluster.sh create mode 100755 scripts/local/delete-k3d-cluster.sh create mode 100644 tasks/Taskfile.cluster.yaml diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..4ec4fb2 --- /dev/null +++ b/.envrc @@ -0,0 +1,2 @@ +nix_direnv_watch_file "./nix/env.nix" "./nix/fmt.nix" "./nix/packages.nix" "./nix/shells.nix" "./nix/pre-commit.nix" "./flake.nix" +use flake diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..253bcb7 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: + - package-ecosystem: github-actions + directory: / + schedule: + interval: daily diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml new file mode 100644 index 0000000..9385c25 --- /dev/null +++ b/.github/workflows/deployment.yaml @@ -0,0 +1,31 @@ +name: CI-CD + +on: + push: + +jobs: + precommit: + name: Pre-commit Check + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v3 + - uses: DeterminateSystems/nix-installer-action@main + - uses: DeterminateSystems/magic-nix-cache-action@main + - name: Run pre-commit + run: nix develop .#ci -c ./scripts/ci/pre-commit.sh + + release: + name: Semantic Release + needs: + - precommit + if: github.ref == 'refs/heads/main' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: DeterminateSystems/nix-installer-action@main + - uses: DeterminateSystems/magic-nix-cache-action@main + - uses: rlespinasse/github-slug-action@v3.x + - name: Release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: nix develop .#releaser -c scripts/ci/release.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..00993c7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +.direnv +.task +.pre-commit-config.yaml +.idea +.env +dist +debug.yaml +.DS_Store diff --git a/.gitlint b/.gitlint new file mode 100644 index 0000000..96b180f --- /dev/null +++ b/.gitlint @@ -0,0 +1,6 @@ +[general] +contrib=CT1 +ignore=B6 + +[contrib-title-conventional-commits] +types = action,chore,config,docs,feat,fix,release,upstream diff --git a/README.MD b/README.MD new file mode 100644 index 0000000..80899f0 --- /dev/null +++ b/README.MD @@ -0,0 +1,13 @@ +# Sulfoxide Helium + +Helm chart to deploy ArgoCD to AtomiCloud's Infrastructure as the deployment platform. This is purely client-side deploy +and is not handled by any server-side automation. + +## Prerequisites +- nix +- direnv +- docker + +## Helm Docs + +You can view the helm documentation generated at [helm-docs](./chart/README.md) diff --git a/Taskfile.yml b/Taskfile.yml new file mode 100644 index 0000000..37b5d43 --- /dev/null +++ b/Taskfile.yml @@ -0,0 +1,30 @@ +version: "3" + +env: + RELEASE_NAME: argocd + +includes: + suicune:opal-ruby: + taskfile: tasks/Taskfile.cluster.yaml + vars: + LANDSCAPE: suicune + CLUSTER: opal-ruby + +tasks: + # Utility + start:cluster: + desc: Starts the playground cluster to test helm charts + cmds: + - ./scripts/local/create-k3d-cluster.sh + + stop:cluster: + desc: Destroys the playground cluster to test helm charts + cmds: + - ./scripts/local/delete-k3d-cluster.sh + + # Helm Operations + update: + desc: Update Helm dependencies + dir: chart + cmds: + - helm dependency update diff --git a/atomi_release.yaml b/atomi_release.yaml new file mode 100644 index 0000000..3d3c433 --- /dev/null +++ b/atomi_release.yaml @@ -0,0 +1,141 @@ +gitlint: .gitlint + +conventionMarkdown: + path: docs/developer/CommitConventions.md + template: | + --- + id: commit-conventions + title: Commit Conventions + --- + var___convention_docs___ +keywords: + - BREAKING CHANGE + - BREAKING CHANGES + - BREAKING + +branches: + - main + +specialScopes: + no-release: + desc: Prevent release from happening + release: false + +plugins: + - module: "@semantic-release/changelog" + config: + changelogFile: Changelog.md + - module: "@semantic-release/exec" + config: + prepareCmd: ./scripts/ci/publish.sh ${nextRelease.version} + - module: "@semantic-release/git" + config: + message: "release: ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}" + assets: + - chart/**/*.* + - Changelog.md + - module: "semantic-release-major-tag" + config: + customTags: + - "v${major}" + - "v${major}.${minor}" + - module: "@semantic-release/github" + +# Helm +types: + - type: upstream + desc: "Changes from dependencies upstream" + section: ๐Ÿ“ฆ Upstreams Changes + scopes: + default: + desc: Generic update from upstream dependencies + release: "minor" + vae: + verb: update upstream + application: , + example: "upstream(mysql): from v5.7 to v8.0" + + - type: config + desc: "Changes to configuration files and scripts" + scopes: + default: + desc: Updates the configuration of the repository, not related to the other scopes + release: false + lint: + desc: Add, update or remove linters + release: false + fmt: + desc: Add, updatge or remove formatters + release: false + build: + desc: Add, update or change build pipelines and generators + release: false + nix: + desc: Add, update or change nix shell + release: false + env: + desc: Add, update or change environment + release: false + ignore: + desc: Add, update or change ignore configurations + release: false + ci: + desc: Add, update or change CI configuration files + release: false + vae: + verb: configure + application: <scope> to <title> + example: "config(ci): setup nix before executing" + + - type: release + desc: Initiate a release (machine initiated) + scopes: + default: + desc: Machine initiated release + release: false + + - type: docs + section: ๐Ÿ“ Documentation Updates + desc: Documentation only changes + scopes: + default: + desc: Update generic documentation file + release: false + vae: + verb: add + application: <scope> documention <title> + example: "docs(developer): on how to install dependency packages" + - type: feat + section: ๐Ÿš€ New Features + desc: A new feature + vae: + verb: add + application: <scope> <title> + example: "feat(rapid): new withdraw api" + scopes: + default: + desc: Release a new features + release: minor + - type: action + desc: Imperative action, mainly changing the values files + scopes: + default: + desc: Imperative action, mainly changing the values files + release: false + - type: fix + section: ๐Ÿ› Bug Fixes + desc: A bug fix + vae: + verb: fix + application: <title> + example: "fix(rapid): deposit api for rapid" + scopes: + default: + desc: Generic fixes + release: patch + - type: chore + desc: Menial Tasks + scopes: + default: + desc: Menial Tasks + release: false diff --git a/chart/.helmignore b/chart/.helmignore new file mode 100644 index 0000000..0e8a0eb --- /dev/null +++ b/chart/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/chart/Chart.lock b/chart/Chart.lock new file mode 100644 index 0000000..5b72d76 --- /dev/null +++ b/chart/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: argo-cd + repository: https://argoproj.github.io/argo-helm + version: 5.42.0 +digest: sha256:2b7ee3fa38fe1cd3ca600ad8490d1afca76594777292613b9bc77e1243d251f2 +generated: "2023-07-30T19:44:55.403863+08:00" diff --git a/chart/Chart.yaml b/chart/Chart.yaml new file mode 100644 index 0000000..f27ade3 --- /dev/null +++ b/chart/Chart.yaml @@ -0,0 +1,14 @@ +apiVersion: v2 +name: atomi-deployment-platform +description: AtomiCloud's Deployment Platform via ArgoCD + +type: application + +version: 1.0.0 + +appVersion: "5.42.0" + +dependencies: + - name: argo-cd + version: 5.42.0 + repository: https://argoproj.github.io/argo-helm diff --git a/chart/README.md b/chart/README.md new file mode 100644 index 0000000..281e517 --- /dev/null +++ b/chart/README.md @@ -0,0 +1,76 @@ +# atomi-deployment-platform + +![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 5.42.0](https://img.shields.io/badge/AppVersion-5.42.0-informational?style=flat-square) + +AtomiCloud's Deployment Platform via ArgoCD + +## Requirements + +| Repository | Name | Version | +|------------|------|---------| +| https://argoproj.github.io/argo-helm | argo-cd | 5.42.0 | + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| admin | bool | `true` | | +| applicationWait | bool | `true` | | +| argo-cd.configs.cm.create | bool | `false` | | +| argo-cd.configs.params.create | bool | `false` | | +| argo-cd.dex.enabled | bool | `false` | | +| argo-cd.global.logging.format | string | `"json"` | | +| argo-cd.global.logging.level | string | `"info"` | | +| auth.external.enable | bool | `true` | | +| auth.external.policy.creation | string | `"Owner"` | | +| auth.external.policy.deletion | string | `"Retain"` | | +| auth.external.refreshInterval | string | `"1h"` | | +| auth.external.remoteSecretName | string | `"/suicune/github/credentials"` | | +| auth.external.secretStore.kind | string | `"ClusterSecretStore"` | | +| auth.external.secretStore.name | string | `"aws-ssm-secret-store"` | | +| auth.internal.enable | bool | `false` | | +| auth.internal.password | string | `""` | | +| auth.internal.type | string | `""` | | +| auth.internal.url | string | `""` | | +| auth.internal.username | string | `""` | | +| auth.secretName | string | `"argo-cd-creds"` | | +| connector.clusters | object | `{}` | | +| connector.policy | object | `{"creation":"Owner","deletion":"Retain"}` | Secret policy | +| connector.policy.creation | string | `"Owner"` | Creation policy | +| connector.policy.deletion | string | `"Retain"` | Deletion policy | +| connector.secretStore.kind | string | `"ClusterSecretStore"` | Kind of the Secret Store: ClusterSecretStore or SecretStore | +| connector.secretStore.name | string | `"awsssm-store"` | Name of the Secret Store | +| exec | bool | `true` | | +| helm | bool | `true` | | +| jsonnet | bool | `true` | | +| kustomize | bool | `true` | | +| otelAddress | string | `""` | | +| projects.bootstrap.desc | string | `"Bootstrap Project used to setup the cluster"` | | +| rbac.clientID | string | `""` | | +| rbac.enable | bool | `true` | | +| rbac.group | string | `"https://atomi.cloud/roles"` | | +| rbac.issuer | string | `"https://atomicloud-internal.jp.auth0.com/"` | | +| rbac.name | string | `"Atomi"` | | +| rbac.requestedScopes[0] | string | `"openid"` | | +| rbac.requestedScopes[1] | string | `"profile"` | | +| rbac.requestedScopes[2] | string | `"email"` | | +| rbac.requestedScopes[3] | string | `"https://atomi.cloud/roles"` | | +| serviceTree.cluster | string | `"opal"` | | +| serviceTree.landscape | string | `"suicune"` | | +| serviceTree.module | string | `"argocd"` | | +| serviceTree.platform | string | `"systems"` | | +| serviceTree.service | string | `"deployment-platform"` | | +| sso.external.enable | bool | `true` | | +| sso.external.policy.creation | string | `"Owner"` | | +| sso.external.policy.deletion | string | `"Retain"` | | +| sso.external.refreshInterval | string | `"1h"` | | +| sso.external.remoteSecretName | string | `"/suicune/auth0/client_secret"` | | +| sso.external.secretStore.kind | string | `"ClusterSecretStore"` | | +| sso.external.secretStore.name | string | `"aws-ssm-secret-store"` | | +| sso.internal.enable | bool | `false` | | +| sso.internal.secret | string | `""` | | +| sso.secretName | string | `"argo-cd-sso-secret"` | | +| url | string | `"https://deploy.atomi.cloud"` | | + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.11.1](https://github.com/norwoodj/helm-docs/releases/v1.11.1) \ No newline at end of file diff --git a/chart/charts/argo-cd-5.42.0.tgz b/chart/charts/argo-cd-5.42.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..af9238391d78135690322943ed315f6ac1c40081 GIT binary patch literal 141836 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 literal 0 HcmV?d00001 diff --git a/chart/templates/NOTES.txt b/chart/templates/NOTES.txt new file mode 100644 index 0000000..56c2439 --- /dev/null +++ b/chart/templates/NOTES.txt @@ -0,0 +1 @@ +Installed AtomiCloud's ArgoCD diff --git a/chart/templates/_helpers.tpl b/chart/templates/_helpers.tpl new file mode 100644 index 0000000..bd83d8d --- /dev/null +++ b/chart/templates/_helpers.tpl @@ -0,0 +1,75 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "atomi-deployment-platform.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "atomi-deployment-platform.fullname" -}} +{{- if .Values.fullnameOverride }} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- $name := default .Chart.Name .Values.nameOverride }} +{{- if contains $name .Release.Name }} +{{- .Release.Name | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "atomi-deployment-platform.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "atomi-deployment-platform.labels" -}} +helm.sh/chart: {{ include "atomi-deployment-platform.chart" . }} +{{- range $k, $v := .Values.serviceTree }} +"atomi.cloud/{{ $k }}": "{{ $v }}" +{{- end }} +{{ include "atomi-deployment-platform.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Common annotations +*/}} +{{- define "atomi-deployment-platform.annotations" -}} +helm.sh/chart: {{ include "atomi-deployment-platform.chart" . }} +{{- range $k, $v := .Values.serviceTree }} +"atomi.cloud/{{ $k }}": "{{ $v }}" +{{- end }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "atomi-deployment-platform.selectorLabels" -}} +app.kubernetes.io/name: {{ include "atomi-deployment-platform.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Create the name of the service account to use +*/}} +{{- define "atomi-deployment-platform.serviceAccountName" -}} +{{- if .Values.serviceAccount.create }} +{{- default (include "atomi-deployment-platform.fullname" .) .Values.serviceAccount.name }} +{{- else }} +{{- default "default" .Values.serviceAccount.name }} +{{- end }} +{{- end }} \ No newline at end of file diff --git a/chart/templates/argocd_cm.yaml b/chart/templates/argocd_cm.yaml new file mode 100644 index 0000000..3ad581e --- /dev/null +++ b/chart/templates/argocd_cm.yaml @@ -0,0 +1,64 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: argocd-cm + labels: + app.kubernetes.io/name: argocd-cm + app.kubernetes.io/part-of: argocd +data: + + url: {{ .Values.url }} + kustomize.enabled: "true" + jsonnet.enabled: "true" + helm.enabled: "true" + + application.resourceTrackingMethod: annotation + + oidc.config: | + name: {{ .Values.rbac.name }} + issuer: "{{ .Values.rbac.issuer }}" + clientID: {{ .Values.rbac.clientID }} + clientSecret: ${{ .Values.sso.secretName }}:oidc.auth0.clientSecret + requestedScopes: + {{- toYaml .Values.rbac.requestedScopes | nindent 6}} + + helm.valuesFileSchemes: https + admin.enabled: "{{ .Values.admin }}" + + {{- if .Values.banner }} + ui.bannercontent: {{ .Values.banner }} + {{- end }} + cluster.inClusterEnabled: "true" + + exec.enabled: "{{ .Values.exec }}" + + resource.exclusions: | + - apiGroups: + - kyverno.io + kinds: + - AdmissionReport + - BackgroundScanReport + - ClusterAdmissionReport + - ClusterBackgroundScanReport + clusters: + - '*' + {{- if .Values.applicationWait }} + resource.customizations.health.argoproj.io_Application: | + hs = {} + hs.status = "Progressing" + hs.message = "" + if obj.status ~= nil then + if obj.status.health ~= nil then + hs.status = obj.status.health.status + if obj.status.health.message ~= nil then + hs.message = obj.status.health.message + end + end + end + return hs +{{- end }} + # helm parity + application.instanceLabelKey: argocd.argoproj.io/instance + server.rbac.log.enforce.enable: 'false' + timeout.hard.reconciliation: 0s + timeout.reconciliation: 180s diff --git a/chart/templates/cmd_params_cm.yaml b/chart/templates/cmd_params_cm.yaml new file mode 100644 index 0000000..0a00f17 --- /dev/null +++ b/chart/templates/cmd_params_cm.yaml @@ -0,0 +1,37 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: argocd-cmd-params-cm + labels: + app.kubernetes.io/name: argocd-cmd-params-cm + app.kubernetes.io/part-of: argocd +data: + {{- if .Values.otelAddress }} + otlp.address: {{ .Values.otelAddress }} + {{- end }} + + controller.resource.health.persist: "true" + + server.insecure: "true" + server.dex.server.plaintext: "true" + server.dex.server.strict.tls: "false" + dexserver.disable.tls: "true" + + controller.log.format: json + controller.log.level: debug + controller.operation.processors: '10' + controller.repo.server.timeout.seconds: '60' + controller.self.heal.timeout.seconds: '5' + controller.status.processors: '20' + + server.log.format: json + server.log.level: debug + server.repo.server.strict.tls: 'false' + server.rootpath: '' + server.staticassets: /shared/app + server.x.frame.options: sameorigin + server.disable.auth: 'false' + server.enable.gzip: 'false' + reposerver.log.format: json + reposerver.log.level: debug + reposerver.parallelism.limit: '0' diff --git a/chart/templates/github_access.yaml b/chart/templates/github_access.yaml new file mode 100644 index 0000000..ab6e6b9 --- /dev/null +++ b/chart/templates/github_access.yaml @@ -0,0 +1,57 @@ +{{- if .Values.auth.external.enable }} +apiVersion: external-secrets.io/v1beta1 +kind: ExternalSecret +metadata: + name: {{ .Release.Name -}}-external-secret + annotations: + {{- include "atomi-deployment-platform.annotations" . | nindent 4 }} + "helm.sh/hook": pre-install,pre-upgrade + "helm.sh/hook-weight": "-2" + labels: + {{- include "atomi-deployment-platform.labels" . | nindent 4 }} + argocd.argoproj.io/secret-type: repo-creds +spec: + refreshInterval: {{ .Values.auth.external.refreshInterval }} + secretStoreRef: + name: {{ .Values.auth.external.secretStore.name }} + kind: {{ .Values.auth.external.secretStore.kind }} + target: + name: {{ .Values.auth.secretName }} + creationPolicy: {{ .Values.auth.external.policy.creation }} + deletionPolicy: {{ .Values.auth.external.policy.deletion }} + data: + - secretKey: url + remoteRef: + key: {{ .Values.auth.external.remoteSecretName }} + property: url + - secretKey: type + remoteRef: + key: {{ .Values.auth.external.remoteSecretName }} + property: type + - secretKey: password + remoteRef: + key: {{ .Values.auth.external.remoteSecretName }} + property: password + - secretKey: username + remoteRef: + key: {{ .Values.auth.external.remoteSecretName }} + property: username +{{- end }} +--- +{{- if .Values.auth.internal.enable }} +apiVersion: v1 +kind: Secret +metadata: + name: {{ .Values.auth.secretName }} + annotations: + {{- include "atomi-deployment-platform.annotations" . | nindent 4 }} + "helm.sh/hook": pre-install,pre-upgrade + "helm.sh/hook-weight": "-2" + labels: + {{- include "atomi-deployment-platform.labels" . | nindent 4 }} +data: + username: {{ b64enc .Values.auth.internal.username }} + password: {{ b64enc .Values.auth.internal.password }} + url: {{ b64enc .Values.auth.internal.url }} + type: {{ b64enc .Values.auth.internal.type }} +{{- end }} diff --git a/chart/templates/post-install/app_of_apps.yaml b/chart/templates/post-install/app_of_apps.yaml new file mode 100644 index 0000000..a2da71d --- /dev/null +++ b/chart/templates/post-install/app_of_apps.yaml @@ -0,0 +1,53 @@ +{{- range $lk, $lv := .Values.connector.clusters }} +{{- range $ck, $cv := $lv }} +{{- if $cv.aoa.enable }} +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: {{ $lk }}-{{ $ck }}-bootstap + annotations: + {{- include "atomi-deployment-platform.annotations" $ | nindent 4 }} + "helm.sh/hook": post-install, post-upgrade + "helm.sh/hook-weight": "2" + labels: + {{- include "atomi-deployment-platform.labels" $ | nindent 4 }} +spec: + project: default + source: + repoURL: {{ $cv.aoa.repo }} + targetRevision: {{ $cv.aoa.version }} + path: {{ $cv.aoa.path }} + helm: + ignoreMissingValueFiles: false + parameters: [] + passCredentials: false + releaseName: {{ $cv.aoa.release }} + skipCrds: false + valueFiles: + {{- toYaml $cv.aoa.values | nindent 8 }} + destination: + server: https://kubernetes.default.svc + namespace: {{ $.Release.Namespace }} + # Sync policy + syncPolicy: + automated: # automated sync by default retries failed attempts 5 times with following delays between attempts ( 5s, 10s, 20s, 40s, 80s ); retry controlled using `retry` field. + prune: true # Specifies if resources should be pruned during auto-syncing ( false by default ). + selfHeal: true # Specifies if partial app sync should be executed when resources are changed only in target Kubernetes cluster and no git change detected ( false by default ). + allowEmpty: true # Allows deleting all application resources during automatic syncing ( false by default ). + syncOptions: # Sync options which modifies sync behavior + - CreateNamespace=false # Namespace Auto-Creation ensures that namespace specified as the application destination exists in the destination cluster. + - PrunePropagationPolicy=foreground # Supported policies are background, foreground and orphan. + - PruneLast=true # Allow the ability for resource pruning to happen as a final, implicit wave of a sync operation + - Replace=false # Because kubectl adds metadata that will cross the limit allowed by Kubernetes, Replace overcomes this limitation. + - ServerSideApply=false + retry: + limit: 10 + backoff: + duration: 5s + factor: 2 + maxDuration: 3m + revisionHistoryLimit: {{ $.Values.revisionLimit }} + {{- end }} +--- +{{- end }} +{{- end }} \ No newline at end of file diff --git a/chart/templates/post-install/cluster_external_secret.yaml b/chart/templates/post-install/cluster_external_secret.yaml new file mode 100644 index 0000000..daa9f86 --- /dev/null +++ b/chart/templates/post-install/cluster_external_secret.yaml @@ -0,0 +1,38 @@ +{{ range $lk, $lv := .Values.connector.clusters }} +{{ range $ck, $cv := $lv }} +apiVersion: external-secrets.io/v1beta1 +kind: ExternalSecret +metadata: + name: {{ $lk }}-{{ $ck }}-external-secret + annotations: + {{- include "atomi-deployment-platform.annotations" $ | nindent 4 }} + "helm.sh/hook": post-install, post-upgrade + "helm.sh/hook-weight": "1" + labels: + {{- include "atomi-deployment-platform.labels" $ | nindent 4 }} + argocd.argoproj.io/secret-type: cluster +spec: + refreshInterval: {{ $cv.refreshInterval }} + secretStoreRef: + name: {{ $.Values.connector.secretStore.name }} + kind: {{ $.Values.connector.secretStore.kind }} + target: + name: {{ $lk }}-{{ $ck }}-cluster-secret + creationPolicy: {{ $.Values.connector.policy.creation }} + deletionPolicy: {{ $.Values.connector.policy.deletion }} + data: + - secretKey: name + remoteRef: + key: "{{ $cv.remoteSecretName }}" + property: name + - secretKey: server + remoteRef: + key: "{{ $cv.remoteSecretName }}" + property: server + - secretKey: config + remoteRef: + key: "{{ $cv.remoteSecretName }}" + property: config +--- +{{- end }} +{{- end }} diff --git a/chart/templates/post-install/projects.yaml b/chart/templates/post-install/projects.yaml new file mode 100644 index 0000000..4304197 --- /dev/null +++ b/chart/templates/post-install/projects.yaml @@ -0,0 +1,23 @@ +{{- range $k, $v := .Values.projects }} +apiVersion: argoproj.io/v1alpha1 +kind: AppProject +metadata: + name: {{ $k }} + labels: + {{ include "atomi-deployment-platform.labels" $ | nindent 4 }} + annotations: + {{ include "atomi-deployment-platform.annotations" $ | nindent 4 }} + "helm.sh/hook": post-install, post-upgrade + "helm.sh/hook-weight": "1" +spec: + description: "{{ $v.desc }}" + sourceRepos: + - '*' + destinations: + - namespace: "*" + server: "*" + clusterResourceWhitelist: + - group: '*' + kind: '*' +--- +{{- end -}} \ No newline at end of file diff --git a/chart/templates/rbac_config.yaml b/chart/templates/rbac_config.yaml new file mode 100644 index 0000000..4f0c078 --- /dev/null +++ b/chart/templates/rbac_config.yaml @@ -0,0 +1,15 @@ +{{ if .Values.rbac.enable }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: argocd-rbac-cm + labels: + app.kubernetes.io/name: argocd-rbac-cm + app.kubernetes.io/part-of: argocd +data: + policy.csv: | + g, admins, role:admin + g, readonly, role:readonly + policy.default: "role:readonly" + scopes: "[email,{{.Values.rbac.group}}]" + {{- end }} diff --git a/chart/templates/sso_secret.yaml b/chart/templates/sso_secret.yaml new file mode 100644 index 0000000..8466726 --- /dev/null +++ b/chart/templates/sso_secret.yaml @@ -0,0 +1,38 @@ +{{- if .Values.sso.internal.enable }} +apiVersion: v1 +kind: Secret +metadata: + name: {{ .Values.sso.secretName }} + annotations: + {{- include "atomi-deployment-platform.annotations" . | nindent 4 }} + labels: + app.kubernetes.io/part-of: argocd + {{- include "atomi-deployment-platform.labels" . | nindent 4 }} +data: + oidc.auth0.clientSecret: {{ b64enc .Values.sso.internal.secret }} +{{- end }} +--- +{{- if .Values.sso.external.enable }} +apiVersion: external-secrets.io/v1beta1 +kind: ExternalSecret +metadata: + name: {{ .Values.sso.secretName }} + annotations: + {{- include "atomi-deployment-platform.annotations" . | nindent 4 }} + labels: + app.kubernetes.io/part-of: argocd + {{- include "atomi-deployment-platform.labels" . | nindent 4 }} +spec: + refreshInterval: {{ .Values.sso.external.refreshInterval }} + secretStoreRef: + name: {{ .Values.sso.external.secretStore.name }} + kind: {{ .Values.sso.external.secretStore.kind }} + target: + name: {{ .Values.sso.secretName }} + creationPolicy: {{ .Values.sso.external.policy.creation }} + deletionPolicy: {{ .Values.sso.external.policy.deletion }} + data: + - secretKey: oidc.auth0.clientSecret + remoteRef: + key: {{ .Values.sso.external.remoteSecretName }} +{{- end }} \ No newline at end of file diff --git a/chart/values.suicune.opal-ruby.yaml b/chart/values.suicune.opal-ruby.yaml new file mode 100644 index 0000000..0041a94 --- /dev/null +++ b/chart/values.suicune.opal-ruby.yaml @@ -0,0 +1,108 @@ +serviceTree: + landscape: suicune + cluster: opal-ruby + platform: systems + service: deployment-platform + module: argocd + +argo-cd: + configs: + cm: + create: false + params: + create: false + global: + logging: + format: json + level: info + dex: + enabled: false + +kustomize: true +jsonnet: true +helm: true +admin: true +exec: true +applicationWait: true +#banner: "hello everyone!" + +otelAddress: "" + +projects: + bootstrap: + desc: Bootstrap Project used to setup the cluster + +url: https://deploy.atomi.cloud + +rbac: + enable: true + group: https://atomi.cloud/roles + name: Atomi + issuer: https://atomicloud-internal.jp.auth0.com/ + clientID: F27LbZI3AsD4mQCM3wWTkBquVGlqCRDr # infisical-scan:ignore + requestedScopes: + - openid + - profile + - email + - https://atomi.cloud/roles +auth: + secretName: argo-cd-creds + internal: + enable: false + username: "" + password: "" + url: "" + type: "" + external: + enable: true + refreshInterval: 1h + remoteSecretName: /suicune/manual/argocd/github-credentials + secretStore: + name: aws-ssm-secret-store + kind: ClusterSecretStore + policy: + creation: Owner + deletion: Retain +sso: + secretName: argo-cd-sso-secret + internal: + enable: false + secret: "" + external: + enable: true + refreshInterval: 1h + remoteSecretName: /suicune/manual/argocd/auth0-client-secret + secretStore: + name: aws-ssm-secret-store + kind: ClusterSecretStore + policy: + creation: Owner + deletion: Retain +connector: + secretStore: + # -- Name of the Secret Store + name: aws-ssm-secret-store + # -- Kind of the Secret Store: ClusterSecretStore or SecretStore + kind: ClusterSecretStore + # -- Secret policy + policy: + # -- Creation policy + creation: Owner + # -- Deletion policy + deletion: Retain + + clusters: + pichu: + opal: + # -- refresh interval for fetching the secret from remote + refreshInterval: 24h + # -- secret for the cluster + remoteSecretName: /suicune/auto/argocd/cluster-connector-pichu-opal + # -- enable App of Apps + aoa: + enable: true + repo: https://github.com/AtomiCloud/helm.systems_app-of-apps + version: HEAD + path: chart + release: pichu-opal-bootstrap + values: [ "values.pichu.opal.yaml" ] diff --git a/chart/values.yaml b/chart/values.yaml new file mode 100644 index 0000000..4ac0826 --- /dev/null +++ b/chart/values.yaml @@ -0,0 +1,111 @@ +serviceTree: + landscape: suicune + cluster: opal + platform: systems + service: deployment-platform + module: argocd + +argo-cd: + configs: + cm: + create: false + params: + create: false + global: + logging: + format: json + level: info + dex: + enabled: false + + + +kustomize: true +jsonnet: true +helm: true +admin: true +exec: true +applicationWait: true +#banner: "hello everyone!" + +otelAddress: "" + +projects: + bootstrap: + desc: Bootstrap Project used to setup the cluster + +url: https://deploy.atomi.cloud + +rbac: + enable: true + group: https://atomi.cloud/roles + name: Atomi + issuer: https://atomicloud-internal.jp.auth0.com/ + clientID: "" + requestedScopes: + - openid + - profile + - email + - https://atomi.cloud/roles + +# +auth: + secretName: argo-cd-creds + internal: + enable: false + username: "" + password: "" + url: "" + type: "" + external: + enable: true + refreshInterval: 1h + remoteSecretName: /suicune/github/credentials + secretStore: + name: aws-ssm-secret-store + kind: ClusterSecretStore + policy: + creation: Owner + deletion: Retain +sso: + secretName: argo-cd-sso-secret + internal: + enable: false + secret: "" + external: + enable: true + refreshInterval: 1h + remoteSecretName: /suicune/auth0/client_secret + secretStore: + name: aws-ssm-secret-store + kind: ClusterSecretStore + policy: + creation: Owner + deletion: Retain +connector: + secretStore: + # -- Name of the Secret Store + name: awsssm-store + # -- Kind of the Secret Store: ClusterSecretStore or SecretStore + kind: ClusterSecretStore + # -- Secret policy + policy: + # -- Creation policy + creation: Owner + # -- Deletion policy + deletion: Retain + clusters: {} +# pichu: +# opal: +# # -- refresh interval for fetching the secret from remote +# refreshInterval: 24h +# # -- secret for the cluster +# remoteSecretName: /suicune/clusters/pichu-opal +# # -- enable App of Apps +# aoa: +# enable: true +# repo: https://github.com/AtomiCloud/helm.systems_app-of-apps +# version: HEAD +# path: chart +# release: pichu-opal-bootstrap +# values: [ "values.pichu.opal.yaml" ] diff --git a/config/k3d.yaml b/config/k3d.yaml new file mode 100644 index 0000000..330ce5a --- /dev/null +++ b/config/k3d.yaml @@ -0,0 +1,11 @@ +apiVersion: k3d.io/v1alpha4 +kind: Simple +metadata: + name: playground +servers: 1 +network: playground +image: rancher/k3s:v1.23.16-k3s1 +ports: + - port: 8091:80 + nodeFilters: + - loadbalancer diff --git a/docs/developer/.gitkeep b/docs/developer/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..de34797 --- /dev/null +++ b/flake.lock @@ -0,0 +1,611 @@ +{ + "nodes": { + "atomipkgs": { + "inputs": { + "dev-atomi_classic": "dev-atomi_classic", + "dev-npkgs": "dev-npkgs", + "dev-npkgs-unstable-05-Oct-2022": "dev-npkgs-unstable-05-Oct-2022", + "dev-npkgs-unstable-11-Dec-2022": "dev-npkgs-unstable-11-Dec-2022", + "dev-npkgs-unstable-20-Sep-2023": "dev-npkgs-unstable-20-Sep-2023", + "fenix": "fenix", + "flake-utils": "flake-utils_2", + "npkgs": "npkgs", + "npkgs-unstable": "npkgs-unstable" + }, + "locked": { + "lastModified": 1695526514, + "narHash": "sha256-kDwlfpgEqS/hrktjbZfpKldPFZKS68/d2zxfMPobK6c=", + "owner": "kirinnee", + "repo": "test-nix-repo", + "rev": "82cce29ae2d3c150247d112c513e8be274218b91", + "type": "github" + }, + "original": { + "owner": "kirinnee", + "ref": "v21.0.0", + "repo": "test-nix-repo", + "type": "github" + } + }, + "atomipkgs_classic": { + "inputs": { + "flake-utils": "flake-utils_3", + "pkgs": "pkgs_2", + "pkgs_25_Jul_2021": "pkgs_25_Jul_2021_2" + }, + "locked": { + "lastModified": 1689236000, + "narHash": "sha256-MEqyIPlD4ueJji6FtfDs8qqZifM9hyYH1svBs3oxrrc=", + "owner": "kirinnee", + "repo": "test-nix-repo", + "rev": "2d9d80544d2e81ff736fa23345ad0a9cc5a6c8ab", + "type": "github" + }, + "original": { + "owner": "kirinnee", + "ref": "classic", + "repo": "test-nix-repo", + "type": "github" + } + }, + "dev-atomi_classic": { + "inputs": { + "flake-utils": "flake-utils", + "pkgs": "pkgs", + "pkgs_25_Jul_2021": "pkgs_25_Jul_2021" + }, + "locked": { + "lastModified": 1689236000, + "narHash": "sha256-MEqyIPlD4ueJji6FtfDs8qqZifM9hyYH1svBs3oxrrc=", + "owner": "kirinnee", + "repo": "test-nix-repo", + "rev": "2d9d80544d2e81ff736fa23345ad0a9cc5a6c8ab", + "type": "github" + }, + "original": { + "owner": "kirinnee", + "ref": "classic", + "repo": "test-nix-repo", + "type": "github" + } + }, + "dev-npkgs": { + "locked": { + "lastModified": 1689048911, + "narHash": "sha256-pODI2CkjWbSLo5nPMZoLtkRNJU/Nr3VSITXZqqmNtIk=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "8163a64662b43848802092d52015ef60777d6129", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-23.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "dev-npkgs-unstable-05-Oct-2022": { + "locked": { + "lastModified": 1664847737, + "narHash": "sha256-Wxl0CtRH3Vo8+qEZ/PbCcx+9D8wEEi56tJPmROum2ss=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "de80d1d04ee691279e1302a1128c082bbda3ab01", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "rev": "de80d1d04ee691279e1302a1128c082bbda3ab01", + "type": "indirect" + } + }, + "dev-npkgs-unstable-11-Dec-2022": { + "locked": { + "lastModified": 1670681895, + "narHash": "sha256-kZH9DSU36W4fn1z81a/24JCGkU517TcY50VE0RFJ9k4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "f82f0ec1b70b2879c3f3d9a1015a05c73a90a17c", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "rev": "f82f0ec1b70b2879c3f3d9a1015a05c73a90a17c", + "type": "indirect" + } + }, + "dev-npkgs-unstable-20-Sep-2023": { + "locked": { + "lastModified": 1694959747, + "narHash": "sha256-CXQ2MuledDVlVM5dLC4pB41cFlBWxRw4tCBsFrq3cRk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "970a59bd19eff3752ce552935687100c46e820a5", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "rev": "970a59bd19eff3752ce552935687100c46e820a5", + "type": "indirect" + } + }, + "fenix": { + "inputs": { + "nixpkgs": "nixpkgs", + "rust-analyzer-src": "rust-analyzer-src" + }, + "locked": { + "lastModified": 1695363721, + "narHash": "sha256-+VRVzXpWdSsZPcR2Cg9Q5LKhUQDVvoQFfH4V8iKNAkU=", + "owner": "nix-community", + "repo": "fenix", + "rev": "cb59ad177b991978ff571388bf8df6fed32e6bc2", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "fenix", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1689068808, + "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1689068808, + "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { + "inputs": { + "systems": "systems_3" + }, + "locked": { + "lastModified": 1689068808, + "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_4": { + "inputs": { + "systems": "systems_4" + }, + "locked": { + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_5": { + "inputs": { + "systems": "systems_5" + }, + "locked": { + "lastModified": 1685518550, + "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "pre-commit-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1660459072, + "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1695145219, + "narHash": "sha256-Eoe9IHbvmo5wEDeJXKFOpKUwxYJIOxKUesounVccNYk=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "5ba549eafcf3e33405e5f66decd1a72356632b96", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-sep-24-23": { + "locked": { + "lastModified": 1695360818, + "narHash": "sha256-JlkN3R/SSoMTa+CasbxS1gq+GpGxXQlNZRUh9+LIy/0=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e35dcc04a3853da485a396bdd332217d0ac9054f", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "rev": "e35dcc04a3853da485a396bdd332217d0ac9054f", + "type": "indirect" + } + }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1685801374, + "narHash": "sha256-otaSUoFEMM+LjBI1XL/xGB5ao6IwnZOXc47qhIgJe8U=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "c37ca420157f4abc31e26f436c1145f8951ff373", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-23.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1695360818, + "narHash": "sha256-JlkN3R/SSoMTa+CasbxS1gq+GpGxXQlNZRUh9+LIy/0=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e35dcc04a3853da485a396bdd332217d0ac9054f", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "rev": "e35dcc04a3853da485a396bdd332217d0ac9054f", + "type": "indirect" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1689261696, + "narHash": "sha256-LzfUtFs9MQRvIoQ3MfgSuipBVMXslMPH/vZ+nM40LkA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "df1eee2aa65052a18121ed4971081576b25d6b5c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { + "locked": { + "lastModified": 1691654369, + "narHash": "sha256-gSILTEx1jRaJjwZxRlnu3ZwMn1FVNk80qlwiCX8kmpo=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "ce5e4a6ef2e59d89a971bc434ca8ca222b9c7f5e", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "npkgs": { + "locked": { + "lastModified": 1689048911, + "narHash": "sha256-pODI2CkjWbSLo5nPMZoLtkRNJU/Nr3VSITXZqqmNtIk=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "8163a64662b43848802092d52015ef60777d6129", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-23.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "npkgs-unstable": { + "locked": { + "lastModified": 1689008574, + "narHash": "sha256-VFMgyHDiqsGDkRg73alv6OdHJAqhybryWHv77bSCGIw=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "4a729ce4b1fe5ec4fffc71c67c96aa5184ebb462", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "pkgs": { + "locked": { + "lastModified": 1643805626, + "narHash": "sha256-AXLDVMG+UaAGsGSpOtQHPIKB+IZ0KSd9WS77aanGzgc=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "554d2d8aa25b6e583575459c297ec23750adb6cb", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "rev": "554d2d8aa25b6e583575459c297ec23750adb6cb", + "type": "indirect" + } + }, + "pkgs_2": { + "locked": { + "lastModified": 1643805626, + "narHash": "sha256-AXLDVMG+UaAGsGSpOtQHPIKB+IZ0KSd9WS77aanGzgc=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "554d2d8aa25b6e583575459c297ec23750adb6cb", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "rev": "554d2d8aa25b6e583575459c297ec23750adb6cb", + "type": "indirect" + } + }, + "pkgs_25_Jul_2021": { + "locked": { + "lastModified": 1627107260, + "narHash": "sha256-CwvSwz3kvpp7uEFyOj2Dq6bdtY6P2N0Bzd7ZVgsIICw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "537678cb1ead06fca831077c3b193566cbc3f406", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "rev": "537678cb1ead06fca831077c3b193566cbc3f406", + "type": "indirect" + } + }, + "pkgs_25_Jul_2021_2": { + "locked": { + "lastModified": 1627107260, + "narHash": "sha256-CwvSwz3kvpp7uEFyOj2Dq6bdtY6P2N0Bzd7ZVgsIICw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "537678cb1ead06fca831077c3b193566cbc3f406", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "rev": "537678cb1ead06fca831077c3b193566cbc3f406", + "type": "indirect" + } + }, + "pre-commit-hooks": { + "inputs": { + "flake-compat": "flake-compat", + "flake-utils": "flake-utils_5", + "gitignore": "gitignore", + "nixpkgs": "nixpkgs_3", + "nixpkgs-stable": "nixpkgs-stable" + }, + "locked": { + "lastModified": 1695576016, + "narHash": "sha256-71KxwRhTfVuh7kNrg3/edNjYVg9DCyKZl2QIKbhRggg=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "cb770e93516a1609652fa8e945a0f310e98f10c0", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, + "root": { + "inputs": { + "atomipkgs": "atomipkgs", + "atomipkgs_classic": "atomipkgs_classic", + "flake-utils": "flake-utils_4", + "nixpkgs": "nixpkgs_2", + "nixpkgs-sep-24-23": "nixpkgs-sep-24-23", + "pre-commit-hooks": "pre-commit-hooks", + "treefmt-nix": "treefmt-nix" + } + }, + "rust-analyzer-src": { + "flake": false, + "locked": { + "lastModified": 1695220688, + "narHash": "sha256-T54aKrnKMI7Cg2mid5h46mWAXd0xc0pYn0fju3dwXf0=", + "owner": "rust-lang", + "repo": "rust-analyzer", + "rev": "d6fef2c7e3be2783369b4b84e320b163b8fd291a", + "type": "github" + }, + "original": { + "owner": "rust-lang", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_4": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_5": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": "nixpkgs_4" + }, + "locked": { + "lastModified": 1695290086, + "narHash": "sha256-ol6licpIAzc9oMsEai/9YZhgSMcrnlnD/3ulMLGNKL0=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "e951529be2e7c669487de78f5aef8597bbae5fca", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..5a5f7be --- /dev/null +++ b/flake.nix @@ -0,0 +1,70 @@ +{ + inputs = { + # util + flake-utils.url = "github:numtide/flake-utils"; + treefmt-nix.url = "github:numtide/treefmt-nix"; + pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix"; + + # registry + nixpkgs.url = "nixpkgs/e35dcc04a3853da485a396bdd332217d0ac9054f"; + nixpkgs-sep-24-23.url = "nixpkgs/e35dcc04a3853da485a396bdd332217d0ac9054f"; + atomipkgs.url = "github:kirinnee/test-nix-repo/v21.0.0"; + atomipkgs_classic.url = "github:kirinnee/test-nix-repo/classic"; + + }; + outputs = + { self + + # utils + , flake-utils + , treefmt-nix + , pre-commit-hooks + + # registries + , atomipkgs + , atomipkgs_classic + , nixpkgs + , nixpkgs-sep-24-23 + + } @inputs: + (flake-utils.lib.eachDefaultSystem + ( + system: + let + pkgs = nixpkgs.legacyPackages.${system}; + pkgs-sep-24-23 = nixpkgs-sep-24-23.legacyPackages.${system}; + atomi = atomipkgs.packages.${system}; + atomi_classic = atomipkgs_classic.packages.${system}; + pre-commit-lib = pre-commit-hooks.lib.${system}; + in + with rec { + pre-commit = import ./nix/pre-commit.nix { + inherit packages pre-commit-lib formatter; + }; + formatter = import ./nix/fmt.nix { + inherit treefmt-nix pkgs; + }; + packages = import ./nix/packages.nix + { + inherit pkgs pkgs-sep-24-23 atomi atomi_classic; + }; + env = import ./nix/env.nix { + inherit pkgs packages; + }; + devShells = import ./nix/shells.nix { + inherit pkgs env packages; + shellHook = checks.pre-commit-check.shellHook; + }; + checks = { + pre-commit-check = pre-commit; + format = formatter; + }; + }; + { + inherit checks formatter packages devShells; + } + ) + ) + ; + +} diff --git a/nix/env.nix b/nix/env.nix new file mode 100644 index 0000000..e559dcb --- /dev/null +++ b/nix/env.nix @@ -0,0 +1,41 @@ +{ pkgs, packages }: +with packages; +{ + system = [ + coreutils + sd + bash + jq + yq-go + ]; + + dev = [ + pls + git + ]; + + infra = [ + k3d + helm + kubectl + ]; + + main = [ + infisical + ]; + + lint = [ + # core + treefmt + + helm-docs + + gitlint + shellcheck + ]; + + releaser = [ + nodejs_20 + sg + ]; +} diff --git a/nix/fmt.nix b/nix/fmt.nix new file mode 100644 index 0000000..66809f9 --- /dev/null +++ b/nix/fmt.nix @@ -0,0 +1,24 @@ +{ treefmt-nix, pkgs, ... }: +let + fmt = { + projectRootFile = "flake.nix"; + + # enable or disable formatters, see https://github.com/numtide/treefmt-nix#supported-programs + programs = { + nixpkgs-fmt = { + enable = true; + }; + prettier = { + enable = true; + }; + shfmt = { + enable = true; + }; + }; + + + }; +in +(treefmt-nix.lib.evalModule pkgs fmt).config.build.wrapper + + diff --git a/nix/packages.nix b/nix/packages.nix new file mode 100644 index 0000000..c8543e8 --- /dev/null +++ b/nix/packages.nix @@ -0,0 +1,52 @@ +{ pkgs, atomi, atomi_classic, pkgs-sep-24-23 }: +let + + all = { + atomipkgs = ( + with atomi; + { + inherit + infisical + pls; + } + ); + atomipkgs_classic = ( + with atomi_classic; + { + inherit + sg; + } + ); + sep-24-23 = ( + with pkgs-sep-24-23; + { + inherit + coreutils + sd + bash + git + jq + yq-go + + nodejs_20 + + # lint + treefmt + + # infra + k3d + helm-docs + kubectl + gitlint + shellcheck + ; + helm = kubernetes-helm; + + } + ); + }; +in +with all; +atomipkgs // +atomipkgs_classic // +sep-24-23 diff --git a/nix/pre-commit.nix b/nix/pre-commit.nix new file mode 100644 index 0000000..39b7437 --- /dev/null +++ b/nix/pre-commit.nix @@ -0,0 +1,98 @@ +{ packages, formatter, pre-commit-lib }: +pre-commit-lib.run { + src = ./.; + + # hooks + hooks = { + # formatter + treefmt = { + enable = true; + excludes = [ "chart/.*(yaml|yml)" "chart/README.md" ]; + }; + + # linters From https://github.com/cachix/pre-commit-hooks.nix + shellcheck = { + enable = false; + }; + + a-infisical = { + enable = true; + name = "Secrets Scanning (Past Commits)"; + description = "Scan for possible secrets in past commits"; + entry = "${packages.infisical}/bin/infisical scan -v"; + language = "system"; + pass_filenames = false; + }; + + a-infisical-staged = { + enable = true; + name = "Secrets Scanning (Staged)"; + description = "Scan for possible secrets in staged files"; + entry = "${packages.infisical}/bin/infisical scan git-changes --staged -v"; + language = "system"; + pass_filenames = false; + }; + + a-helm-lint = { + enable = true; + name = "Helm Lint"; + description = "Lints helm"; + entry = "${packages.helm}/bin/helm lint -f chart/values.yaml chart"; + files = "chart/.*"; + language = "system"; + pass_filenames = false; + }; + + a-gitlint = { + enable = true; + name = "Gitlint"; + description = "Lints git commit message"; + entry = "${packages.gitlint}/bin/gitlint --staged --msg-filename .git/COMMIT_EDITMSG"; + language = "system"; + pass_filenames = false; + stages = [ "commit-msg" ]; + }; + + a-enforce-gitlint = { + enable = true; + name = "Enforce gitlint"; + description = "Enforce atomi_releaser conforms to gitlint"; + entry = "${packages.sg}/bin/sg gitlint"; + files = "(atomi_release\\.yaml|\\.gitlint)"; + language = "system"; + pass_filenames = false; + }; + + a-shellcheck = { + enable = true; + name = "Shell Check"; + entry = "${packages.shellcheck}/bin/shellcheck"; + files = ".*sh$"; + language = "system"; + pass_filenames = true; + }; + + a-enforce-exec = { + enable = true; + name = "Enforce Shell Script executable"; + entry = "${packages.coreutils}/bin/chmod +x"; + files = ".*sh$"; + language = "system"; + pass_filenames = true; + }; + a-helm-docs = { + enable = true; + name = "Helm Docs"; + entry = "${packages.helm-docs}/bin/helm-docs"; + files = ".*"; + language = "system"; + pass_filenames = false; + }; + }; + + settings = { + treefmt = { + package = formatter; + }; + }; +} diff --git a/nix/shells.nix b/nix/shells.nix new file mode 100644 index 0000000..ae01149 --- /dev/null +++ b/nix/shells.nix @@ -0,0 +1,18 @@ +{ pkgs, packages, env, shellHook }: +with env; +{ + default = pkgs.mkShell { + buildInputs = system ++ main ++ dev ++ env.lint ++ infra; + inherit shellHook; + }; + + ci = pkgs.mkShell { + buildInputs = system ++ main ++ lint ++ infra; + inherit shellHook; + }; + + releaser = pkgs.mkShell { + buildInputs = system ++ main ++ lint ++ infra ++ releaser; + inherit shellHook; + }; +} diff --git a/scripts/ci/pre-commit.sh b/scripts/ci/pre-commit.sh new file mode 100755 index 0000000..af245ca --- /dev/null +++ b/scripts/ci/pre-commit.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -eou pipefail + +pre-commit run --all-files -v diff --git a/scripts/ci/publish.sh b/scripts/ci/publish.sh new file mode 100755 index 0000000..1516d43 --- /dev/null +++ b/scripts/ci/publish.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +version="$1" + +set -eou pipefail + +echo "๐Ÿš€ Publishing version ${version}" + +yq eval ".version = \"${version}\"" ./chart/Chart.yaml >"Chart.tmp" +mv "Chart.tmp" ./chart/Chart.yaml + +echo "๐Ÿ“ Generating Documentation" +helm-docs +echo "โœ… Documentation Generated" diff --git a/scripts/ci/release.sh b/scripts/ci/release.sh new file mode 100755 index 0000000..a0950a9 --- /dev/null +++ b/scripts/ci/release.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -eou pipefail + +rm .git/hooks/* || true +sg release diff --git a/scripts/local/create-k3d-cluster.sh b/scripts/local/create-k3d-cluster.sh new file mode 100755 index 0000000..2e5601b --- /dev/null +++ b/scripts/local/create-k3d-cluster.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash + +dev_config="$1" + +set -eou pipefail + +[ "$dev_config" = '' ] && dev_config="./config/dev.yaml" + +# check if dev config exists +if [ ! -f "$dev_config" ]; then + echo "โŒ Dev config '$dev_config' does not exist!" + exit 1 +fi + +input="$(yq '.landscape' "$dev_config")" +config="./infra/k3d.$input.yaml" +echo "๐Ÿงฌ Attempting to start cluster '$input' using '$config'..." + +# obtain existing cluster +current="$(k3d cluster ls -o json | jq -r --arg input "${input}" '.[] | select(.name == $input) | .name')" +if [ "$current" = "$input" ]; then + echo "โœ… Cluster already exist!" +else + # ask if to create cluster + echo "๐ŸฅŸ Cluster does not exist, creating..." + k3d cluster create "$input" --config "$config" --wait + echo "๐Ÿš€ Cluster created!" +fi + +echo "๐Ÿ›  Generating kubeconfig" +mkdir -p "$HOME/.kube/configs" +mkdir -p "$HOME/.kube/k3dconfigs" + +echo "๐Ÿ“ Writing to '$HOME/.kube/k3dconfigs/k3d-$input'" +k3d kubeconfig get "$input" >"$HOME/.kube/k3dconfigs/k3d-$input" +KUBECONFIG=$(cd ~/.kube/configs && find "$(pwd)"/* | awk 'ORS=":"')$(cd ~/.kube/k3dconfigs && find "$(pwd)"/* | awk 'ORS=":"') kubectl config view --flatten >~/.kube/config +chmod 600 ~/.kube/config +echo "โœ… Generated kube config file" +# wait for cluster to be ready +echo "๐Ÿ•‘ Waiting for cluster to be ready..." +kubectl --context "k3d-$input" -n kube-system wait --for=jsonpath=.status.readyReplicas=1 --timeout=300s deployment metrics-server +kubectl --context "k3d-$input" -n kube-system wait --for=jsonpath=.status.readyReplicas=1 --timeout=300s deployment coredns +kubectl --context "k3d-$input" -n kube-system wait --for=jsonpath=.status.readyReplicas=1 --timeout=300s deployment local-path-provisioner +kubectl --context "k3d-$input" -n kube-system wait --for=jsonpath=.status.succeeded=1 --timeout=300s job helm-install-traefik-crd +kubectl --context "k3d-$input" -n kube-system wait --for=jsonpath=.status.succeeded=1 --timeout=300s job helm-install-traefik +kubectl --context "k3d-$input" -n kube-system wait --for=jsonpath=.status.readyReplicas=1 --timeout=300s deployment traefik +echo "โœ… Cluster is ready!" diff --git a/scripts/local/delete-k3d-cluster.sh b/scripts/local/delete-k3d-cluster.sh new file mode 100755 index 0000000..0ee6c1c --- /dev/null +++ b/scripts/local/delete-k3d-cluster.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +dev_config="$1" + +set -eou pipefail + +[ "$dev_config" = '' ] && dev_config="./config/dev.yaml" + +# check if dev config exists +if [ ! -f "$dev_config" ]; then + echo "โŒ Dev config '$dev_config' does not exist!" + exit 1 +fi + +input="$(yq '.landscape' "$dev_config")" + +echo "๐Ÿ› ๏ธ Attempting to delete cluster '$input'..." + +# obtain existing cluster +current="$(k3d cluster ls -o json | jq -r --arg input "${input}" '.[] | select(.name == $input) | .name')" +if [ "$current" = "$input" ]; then + echo "๐Ÿ—‘๏ธ Cluster found! Deleting cluster..." + k3d cluster delete "$input" + echo "โœ… Cluster deleted!" +else + echo "โš ๏ธ Cluster does not exist!" +fi +echo "๐Ÿงน Cleaning up kubeconfig files..." +mkdir -p "$HOME/.kube/configs" +mkdir -p "$HOME/.kube/k3dconfigs" +rm "$HOME/.kube/k3dconfigs/k3d-$input" || true +KUBECONFIG=$(cd ~/.kube/configs && find "$(pwd)"/* | awk 'ORS=":"')$(cd ~/.kube/k3dconfigs && find "$(pwd)"/* | awk 'ORS=":"') kubectl config view --flatten >~/.kube/config +chmod 600 ~/.kube/config +echo "โœ… Config is cleared!" diff --git a/tasks/Taskfile.cluster.yaml b/tasks/Taskfile.cluster.yaml new file mode 100644 index 0000000..d9004a5 --- /dev/null +++ b/tasks/Taskfile.cluster.yaml @@ -0,0 +1,30 @@ +version: "3" + +tasks: + debug: + desc: Debug the helm chart + dir: chart + cmds: + - helm dependency update + - helm template $RELEASE_NAME . --debug --values values.yaml --values values.{{.LANDSCAPE}}.{{.CLUSTER}}.yaml {{.CLI_ARGS}} + + render: + desc: Render the helm chart + dir: chart + cmds: + - helm dependency update + - >- + helm template $RELEASE_NAME . --values values.yaml --values values.{{.LANDSCAPE}}.{{.CLUSTER}}.yaml + {{.CLI_ARGS}} > rendered/{{.LANDSCAPE}}/{{.CLUSTER}}/manifest.yaml + + install: + desc: Installs the chart + dir: chart + cmds: + - helm dependency update + - helm upgrade --install $RELEASE_NAME . --values values.yaml --values values.{{.LANDSCAPE}}.{{.CLUSTER}}.yaml {{.CLI_ARGS}} + + remove: + desc: Removes an installed release + cmds: + - helm uninstall $RELEASE_NAME