From e994c3279d6d5065f0072601e0d760afd1982dc6 Mon Sep 17 00:00:00 2001 From: Lukas Holzner Date: Fri, 23 Feb 2024 22:49:14 +0100 Subject: [PATCH] feat(semaphore) add semaphore (#18492) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Description** Semaphore is a modern, open source alternative to Ansible Tower. It is a self-hosted web-based solution that allows you to create and manage Ansible projects, playbooks, and roles, while also providing a web interface for running and monitoring Ansible tasks. home: https://truecharts.org/charts/stable/semaphore ⚒️ Fixes # **⚙️ Type of change** - [ x ] ⚙️ Feature/App addition - [ ] 🪛 Bugfix - [ ] ⚠️ Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] 🔃 Refactor of current code **🧪 How Has This Been Tested?** **📃 Notes:** **✔️ Checklist:** - [x ] ⚖️ My code follows the style guidelines of this project - [ x] 👀 I have performed a self-review of my own code - [ x] #️⃣ I have commented my code, particularly in hard-to-understand areas - [ x ] 📄 I have made corresponding changes to the documentation - [x ] ⚠️ My changes generate no new warnings - [ ] 🧪 I have added tests to this description that prove my fix is effective or that my feature works - [ x ] ⬆️ I increased versions for any altered app according to semantic versioning **➕ App addition** If this PR is an app addition please make sure you have done the following. - [ x ] 🖼️ I have added an icon in the Chart's root directory called `icon.png` --- _Please don't blindly check all the boxes. Read them and only check those that apply. Those checkboxes are there for the reviewer to see what is this all about and the status of this PR with a quick glance._ --------- Signed-off-by: Xstar97TheNoob <9399967+xstar97@users.noreply.github.com> Co-authored-by: Xstar97TheNoob <9399967+xstar97@users.noreply.github.com> --- charts/incubator/semaphore/.helmignore | 30 +++ charts/incubator/semaphore/CHANGELOG.md | 4 + charts/incubator/semaphore/Chart.yaml | 38 ++++ charts/incubator/semaphore/README.md | 4 + charts/incubator/semaphore/logo.png | Bin 0 -> 72302 bytes charts/incubator/semaphore/questions.yaml | 185 ++++++++++++++++++ .../incubator/semaphore/templates/NOTES.txt | 1 + .../semaphore/templates/_secrets.tpl | 13 ++ .../incubator/semaphore/templates/common.yaml | 11 ++ charts/incubator/semaphore/values.yaml | 78 ++++++++ 10 files changed, 364 insertions(+) create mode 100644 charts/incubator/semaphore/.helmignore create mode 100644 charts/incubator/semaphore/CHANGELOG.md create mode 100644 charts/incubator/semaphore/Chart.yaml create mode 100644 charts/incubator/semaphore/README.md create mode 100644 charts/incubator/semaphore/logo.png create mode 100644 charts/incubator/semaphore/questions.yaml create mode 100644 charts/incubator/semaphore/templates/NOTES.txt create mode 100644 charts/incubator/semaphore/templates/_secrets.tpl create mode 100644 charts/incubator/semaphore/templates/common.yaml create mode 100644 charts/incubator/semaphore/values.yaml diff --git a/charts/incubator/semaphore/.helmignore b/charts/incubator/semaphore/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/incubator/semaphore/.helmignore @@ -0,0 +1,30 @@ +# 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 +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl +# docs folder +/docs +# icon +icon.png diff --git a/charts/incubator/semaphore/CHANGELOG.md b/charts/incubator/semaphore/CHANGELOG.md new file mode 100644 index 00000000000..1e346331dea --- /dev/null +++ b/charts/incubator/semaphore/CHANGELOG.md @@ -0,0 +1,4 @@ +--- +title: Changelog +--- + diff --git a/charts/incubator/semaphore/Chart.yaml b/charts/incubator/semaphore/Chart.yaml new file mode 100644 index 00000000000..730cbec0c56 --- /dev/null +++ b/charts/incubator/semaphore/Chart.yaml @@ -0,0 +1,38 @@ +annotations: + max_scale_version: 23.10.2 + min_scale_version: 23.10.0 + truecharts.org/SCALE-support: "true" + truecharts.org/category: productivity + truecharts.org/max_helm_version: "3.14" + truecharts.org/min_helm_version: "3.12" + truecharts.org/train: incubator +apiVersion: v2 +appVersion: 2.9.45 +dependencies: + - name: common + version: 17.2.30 + repository: oci://tccr.io/truecharts + condition: "" + alias: "" + tags: [] + import-values: [] +deprecated: false +description: Semaphore is a modern, open source alternative to Ansible Tower. It is a self-hosted web-based solution that allows you to create and manage Ansible projects, playbooks, and roles, while also providing a web interface for running and monitoring Ansible tasks. +home: https://truecharts.org/charts/incubator/semaphore +icon: https://truecharts.org/img/hotlink-ok/chart-icons/semaphore.png +keywords: + - ansible + - semaphore + - cicd +kubeVersion: ">=1.24.0-0" +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +name: semaphore +sources: + - https://github.com/ansible-semaphore/semaphore + - https://github.com/truecharts/charts/tree/master/charts/incubator/semaphore + - https://hub.docker.com/r/semaphoreui/semaphore/ +type: application +version: 0.0.1 diff --git a/charts/incubator/semaphore/README.md b/charts/incubator/semaphore/README.md new file mode 100644 index 00000000000..2def1ee9402 --- /dev/null +++ b/charts/incubator/semaphore/README.md @@ -0,0 +1,4 @@ +--- +title: README +--- + diff --git a/charts/incubator/semaphore/logo.png b/charts/incubator/semaphore/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a359aa0a2083a56d5eb7ea98a8dba4a659279569 GIT binary patch literal 72302 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

G5jm%Z2RuO%^F4SHdu@ozD!mskegdAgMC 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 Q1^itxFuz>-oAdAg2U-fhMF0Q* literal 0 HcmV?d00001 diff --git a/charts/incubator/semaphore/questions.yaml b/charts/incubator/semaphore/questions.yaml new file mode 100644 index 00000000000..4fe8cd5cd62 --- /dev/null +++ b/charts/incubator/semaphore/questions.yaml @@ -0,0 +1,185 @@ +# Include{groups} +portals: + open: +# Include{portalLink} +questions: +# Include{global} +# Include{workload} +# Include{workloadDeployment} +# Include{replicas1} +# Include{podSpec} +# Include{containerMain} + - variable: env + group: "App Configuration" + label: "Image Environment" + schema: + additional_attrs: true + type: dict + attrs: + - variable: SEMAPHORE_ADMIN + label: "Admin Name" + schema: + type: string + required: true + default: "admin" + - variable: SEMAPHORE_ADMIN_NAME + label: "Admin Displayname" + schema: + type: string + required: true + default: "admin" + - variable: SEMAPHORE_ADMIN_PASSWORD + label: "Admin Password" + schema: + type: string + private: true + required: true + default: "" + - variable: SEMAPHORE_ADMIN_EMAIL + label: "Admin E-Mail" + schema: + type: string + required: true + default: "admin@localhost" + - variable: ldap_settings + label: Show LDAP Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: SEMAPHORE_LDAP_ACTIVATED + label: Enable LDAP Service + schema: + type: string + required: true + default: "no" + enum: + - value: "no" + description: "No" + - value: "yes" + description: "Yes" + - variable: SEMAPHORE_LDAP_HOST + label: LDAP Host + schema: + type: string + default: "" + - variable: SEMAPHORE_LDAP_PORT + label: LDAP Port + schema: + type: int + default: 636 + - variable: SEMAPHORE_LDAP_NEEDTLS + label: LDAP Need TLS + schema: + type: string + default: "no" + enum: + - value: "no" + description: "No" + - value: "yes" + description: "Yes" + - variable: SEMAPHORE_LDAP_DN_BIND + label: LDAP DN Bind + schema: + type: string + default: "uid=bind_user,cn=users,cn=accounts,dc=local,dc=shiftsystems,dc=net" + - variable: SEMAPHORE_LDAP_PASSWORD + label: LDAP Password + schema: + type: string + private: true + default: "" + - variable: SEMAPHORE_LDAP_DN_SEARCH + label: LDAP DN Search + schema: + type: string + default: "" + - variable: SEMAPHORE_LDAP_SEARCH_FILTER + label: LDAP Search Filter + schema: + type: string + default: "" + +# Include{containerBasic} +# Include{containerAdvanced} +# Include{containerConfig} +# Include{podOptions} +# Include{serviceRoot} +# Include{serviceMain} +# Include{serviceSelectorLoadBalancer} +# Include{serviceSelectorExtras} + - variable: main + label: "Main Service Port Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 3000 + required: true +# Include{serviceExpertRoot} +# Include{serviceExpert} +# Include{serviceList} +# Include{persistenceRoot} + - variable: config + label: "App Config Storage" + description: "Stores the Application Configuration." + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} + - variable: data + label: "App Data Storage" + description: "Stores the Application Data." + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceList} +# Include{ingressRoot} + - variable: main + label: "Main Ingress" + schema: + additional_attrs: true + type: dict + attrs: +# Include{ingressDefault} +# Include{ingressAdvanced} +# Include{ingressList} +# Include{securityContextRoot} + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: "The groupID of the user running the application" + schema: + type: int + default: 0 +# Include{securityContextContainer} +# Include{securityContextAdvanced} +# Include{securityContextPod} + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 +# Include{resources} +# Include{postgresql} +# Include{advanced} +# Include{addons} +# Include{codeserver} +# Include{netshoot} +# Include{vpn} +# Include{documentation} diff --git a/charts/incubator/semaphore/templates/NOTES.txt b/charts/incubator/semaphore/templates/NOTES.txt new file mode 100644 index 00000000000..efcb74cb772 --- /dev/null +++ b/charts/incubator/semaphore/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/charts/incubator/semaphore/templates/_secrets.tpl b/charts/incubator/semaphore/templates/_secrets.tpl new file mode 100644 index 00000000000..27203f328be --- /dev/null +++ b/charts/incubator/semaphore/templates/_secrets.tpl @@ -0,0 +1,13 @@ +{{/* Define the secrets */}} +{{- define "semaphore.secrets" -}} +{{- $secretName := (printf "%s-semaphore-secrets" (include "tc.v1.common.lib.chart.names.fullname" $)) }} + +{{- $accessKey := randAlphaNum 32 -}} + + {{- with lookup "v1" "Secret" .Release.Namespace $secretName -}} + {{- $accessKey = index .data "SEMAPHORE_ACCESS_KEY_ENCRYPTION" | b64dec -}} + {{- end }} +enabled: true +data: + SEMAPHORE_ACCESS_KEY_ENCRYPTION: {{ $accessKey }} +{{- end -}} \ No newline at end of file diff --git a/charts/incubator/semaphore/templates/common.yaml b/charts/incubator/semaphore/templates/common.yaml new file mode 100644 index 00000000000..7c8dca8f6f1 --- /dev/null +++ b/charts/incubator/semaphore/templates/common.yaml @@ -0,0 +1,11 @@ +{{/* Make sure all variables are set properly */}} +{{- include "tc.v1.common.loader.init" . -}} + +{{/* Render secrets for semaphore */}} +{{- $secrets := include "semaphore.secrets" . | fromYaml -}} +{{- if $secrets -}} + {{- $_ := set .Values.secret "semaphore-secrets" $secrets -}} +{{- end -}} + +{{/* Render the templates */}} +{{- include "tc.v1.common.loader.apply" . -}} \ No newline at end of file diff --git a/charts/incubator/semaphore/values.yaml b/charts/incubator/semaphore/values.yaml new file mode 100644 index 00000000000..26d8f6eaf0d --- /dev/null +++ b/charts/incubator/semaphore/values.yaml @@ -0,0 +1,78 @@ +image: + repository: semaphoreui/semaphore + tag: v2.9.45@sha256:6a7dbb3e39ab8d1f6331006c2f251ac277360d30b281ab96f5ada81ccc269997 + pullPolicy: IfNotPresent + +securityContext: + container: + readOnlyRootFilesystem: false + runAsNonRoot: false + runAsUser: 0 + runAsGroup: 0 + +service: + main: + ports: + main: + port: 3000 + protocol: http + targetPort: 3000 + +workload: + main: + podSpec: + containers: + main: + env: + # DB + SEMAPHORE_DB_DIALECT: postgres + SEMAPHORE_DB_USER: "{{ .Values.cnpg.main.user }}" + SEMAPHORE_DB: "{{ .Values.cnpg.main.database }}" + SEMAPHORE_DB_PORT: 5432 + SEMAPHORE_DB_HOST: + secretKeyRef: + name: cnpg-main-urls + key: host + SEMAPHORE_DB_PASS: + secretKeyRef: + name: cnpg-main-user + key: password + SEMAPHORE_ACCESS_KEY_ENCRYPTION: + secretKeyRef: + name: semaphore-secrets + key: SEMAPHORE_ACCESS_KEY_ENCRYPTION + # set paths to /data + SEMAPHORE_PLAYBOOK_PATH: "{{.Values.persistence.data.mountPath }}" + SEMAPHORE_ADMIN: admin + SEMAPHORE_ADMIN_NAME: admin + SEMAPHORE_ADMIN_PASSWORD: changeme + SEMAPHORE_ADMIN_EMAIL: admin@localhost + # LDAP + # no | yes + SEMAPHORE_LDAP_ACTIVATED: 'no' + # SEMAPHORE_LDAP_HOST: dc01.local.example.com + # SEMAPHORE_LDAP_PORT: '636' + # no | yes + SEMAPHORE_LDAP_NEEDTLS: 'no' + # SEMAPHORE_LDAP_DN_BIND: 'uid=bind_user,cn=users,cn=accounts,dc=local,dc=shiftsystems,dc=net' + # SEMAPHORE_LDAP_PASSWORD: 'ldap_bind_account_password' + # SEMAPHORE_LDAP_DN_SEARCH: 'dc=local,dc=example,dc=com' + # SEMAPHORE_LDAP_SEARCH_FILTER: "(\u0026(uid=%s)(memberOf=cn=ipausers,cn=groups,cn=accounts,dc=local,dc=example,dc=com))" + +persistence: + config: + enabled: true + mountPath: /etc/semaphore + data: + enabled: true + mountPath: /data + +cnpg: + main: + enabled: true + user: semaphore + database: semaphore + +portal: + open: + enabled: true