From 86b2b339a867681cf5b13826850aae43c701b2da Mon Sep 17 00:00:00 2001 From: Jack Jackson Date: Tue, 11 Jul 2023 19:45:42 -0700 Subject: [PATCH] Add Drone --- app-of-apps/templates/apps.yaml | 54 +++++++++++---- charts/drone/Chart.yaml | 17 +++++ charts/drone/README.md | 13 ++++ charts/drone/charts/drone-0.6.4.tgz | Bin 0 -> 8131 bytes .../charts/drone-runner-docker-0.6.1.tgz | Bin 0 -> 9317 bytes charts/drone/templates/_helpers.tpl | 62 ++++++++++++++++++ charts/drone/templates/rpc_secret.yaml | 20 ++++++ charts/drone/values.yaml | 44 +++++++++++++ 8 files changed, 197 insertions(+), 13 deletions(-) create mode 100644 charts/drone/Chart.yaml create mode 100644 charts/drone/README.md create mode 100644 charts/drone/charts/drone-0.6.4.tgz create mode 100644 charts/drone/charts/drone-runner-docker-0.6.1.tgz create mode 100644 charts/drone/templates/_helpers.tpl create mode 100644 charts/drone/templates/rpc_secret.yaml create mode 100644 charts/drone/values.yaml diff --git a/app-of-apps/templates/apps.yaml b/app-of-apps/templates/apps.yaml index 2c5848b..402cfe5 100644 --- a/app-of-apps/templates/apps.yaml +++ b/app-of-apps/templates/apps.yaml @@ -222,14 +222,14 @@ spec: externalGrafana: url: http://grafana.avril fullnameOverride: "oncall-ovrd" # Without this, there are clashes between resources (ServiceAccounts, Secrets) that are similarly named between Oncall itself and the underlying Grafana templates. Also this needs to b e short otherwise the batch jobs created have names that are too long - env: - - name: FEATURE_TELEGRAM_INTEGRATION_ENABLED - value: "true" - - name: TELEGRAM_WEBHOOK_HOST - valueFrom: - secretKeyRef: - name: telegram-webhook-host-secret - key: url + # env: + # - name: FEATURE_TELEGRAM_INTEGRATION_ENABLED + # value: "true" + # - name: TELEGRAM_WEBHOOK_HOST + # valueFrom: + # secretKeyRef: + # name: telegram-webhook-host-secret + # key: url image: tag: "v1.3.1-arm64-linux" @@ -278,11 +278,11 @@ spec: repository: arm64v8/postgres tag: 15.1 - telegram: - enabled: true - existingSecret: telegram-auth-secret - tokenKey: token - webhookUrl: https://oncall-grafana.scubbo.org + # telegram: + # enabled: true + # existingSecret: telegram-auth-secret + # tokenKey: token + # webhookUrl: https://oncall-grafana.scubbo.org destination: server: https://kubernetes.default.svc @@ -384,4 +384,32 @@ spec: prune: true syncOptions: - CreateNamespace=true +--- +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 diff --git a/charts/drone/Chart.yaml b/charts/drone/Chart.yaml new file mode 100644 index 0000000..7557939 --- /dev/null +++ b/charts/drone/Chart.yaml @@ -0,0 +1,17 @@ +apiVersion: v2 +name: drone-scubbo +description: A personalized Helm chart to deploy Gitea to Kubernetes + +type: application +version: 0.1.0 +appVersion: "1.16.0" + +dependencies: + - name: drone + repository: https://charts.drone.io + version: "0.6.4" + alias: drone-server + - name: drone-runner-docker + repository: https://charts.drone.io + version: "0.6.1" + alias: drone-runner \ No newline at end of file diff --git a/charts/drone/README.md b/charts/drone/README.md new file mode 100644 index 0000000..57c3ba0 --- /dev/null +++ b/charts/drone/README.md @@ -0,0 +1,13 @@ +TODO: +* Create the following in an initContainer if they don't exist: + * The Gitea OAuth application at startup + * The Prometheus user (https://cogarius.medium.com/3-3-complete-guide-to-ci-cd-pipelines-with-drone-io-on-kubernetes-drone-metrics-with-prometheus-c2668e42b03f) - probably by mounting the volume, using sqlite3 to parse out admin password, then using that to make API call +* Create `gitea_password` Organization Secret at init. + +Create secret named `gitea-oauth-creds`, with keys `DRONE_GITEA_CLIENT_ID` and `DRONE_GITEA_CLIENT_SECRET`. Remember also to create an Organization Secret named `gitea_password` for pulling. + +For MTU problem diagnosis: + +https://github.com/gliderlabs/docker-alpine/issues/307#issuecomment-634852419 + +https://liejuntao001.medium.com/fix-docker-in-docker-network-issue-in-kubernetes-cc18c229d9e5 \ No newline at end of file diff --git a/charts/drone/charts/drone-0.6.4.tgz b/charts/drone/charts/drone-0.6.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..55e13d439c2e618471952c489a28b640c0604ae5 GIT binary patch literal 8131 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 TH+%jo00960O6hVs0JZ=Ct<;^w literal 0 HcmV?d00001 diff --git a/charts/drone/templates/_helpers.tpl b/charts/drone/templates/_helpers.tpl new file mode 100644 index 0000000..c809be4 --- /dev/null +++ b/charts/drone/templates/_helpers.tpl @@ -0,0 +1,62 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "drone-scubbo.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 "drone-scubbo.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 "drone-scubbo.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "drone-scubbo.labels" -}} +helm.sh/chart: {{ include "drone-scubbo.chart" . }} +{{ include "drone-scubbo.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "drone-scubbo.selectorLabels" -}} +app.kubernetes.io/name: {{ include "drone-scubbo.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Create the name of the service account to use +*/}} +{{- define "drone-scubbo.serviceAccountName" -}} +{{- if .Values.serviceAccount.create }} +{{- default (include "drone-scubbo.fullname" .) .Values.serviceAccount.name }} +{{- else }} +{{- default "default" .Values.serviceAccount.name }} +{{- end }} +{{- end }} diff --git a/charts/drone/templates/rpc_secret.yaml b/charts/drone/templates/rpc_secret.yaml new file mode 100644 index 0000000..8d31895 --- /dev/null +++ b/charts/drone/templates/rpc_secret.yaml @@ -0,0 +1,20 @@ +{{- /* + https://itnext.io/manage-auto-generated-secrets-in-your-helm-charts-5aee48ba6918 + */}} +{{- if empty .Values.manualRPCSecretName }} +apiVersion: v1 +kind: Secret +metadata: + name: "rpc-secret" + annotations: + "helm.sh/resource-policy": "keep" +type: Opaque +data: + # retrieve the secret data using lookup function and when not exists, return an empty dictionary / map as result + {{- $existing_secret := (lookup "v1" "Secret" .Release.Namespace "rpc-secret") | default dict }} + {{- $secretData := (get $existing_secret "data") | default dict }} + # set $secret to existing secret data or generate a random one when not exists + {{- $secret := (get $secretData "secret") | default (randAlphaNum 32 | b64enc) }} + # generate 32 chars long random string, base64 encode it and then double-quote the result string. + secret: {{ $secret | quote }} +{{- end }} \ No newline at end of file diff --git a/charts/drone/values.yaml b/charts/drone/values.yaml new file mode 100644 index 0000000..d8b7572 --- /dev/null +++ b/charts/drone/values.yaml @@ -0,0 +1,44 @@ +drone-server: + env: + DRONE_SERVER_HOST: drone.scubbo.org + DRONE_SERVER_PROTO: https + DRONE_RPC_SECRET: rpc-secret + DRONE_GITEA_SERVER: https://gitea.scubbo.org + extraSecretNamesForEnvFrom: + - gitea-oauth-creds + service: + port: 3500 + persistentVolume: + storageClass: longhorn + +drone-runner: + env: + DRONE_RPC_SECRET: rpc-secret + DRONE_RPC_HOST: drone-drone-server:3500 # This is the name of the service for the runner + DRONE_RUNNER_NETWORK_OPTS: "com.docker.network.driver.mtu:1450" + dind: + commandArgs: + - "--host" + - "tcp://localhost:2375" + - "--mtu=1450" + +drone: + server: "drone.scubbo.org" + userCreateString: "username:scubbo,admin:true" + +volume: + nfsServer: rassigma.avril + nfsPath: /mnt/BERTHA/drone + +service: + type: ClusterIP + port: 3500 + +gitea: + server: https://gitea.scubbo.org + # Secret with keys `clientId` and `clientSecret` + oauthSecretName: gitea-oauth-creds + +# Set this if you want to use an existing secret for the RPC +# secret (otherwise, a fresh one will be created if necessary) +manualRPCSecretName: "" \ No newline at end of file