ソースを参照

Moved helm charts to https://github.com/wekan/charts

Thanks to xet7 !
Lauri Ojansivu 2 年 前
コミット
62dc63c033

+ 25 - 0
helm.md

@@ -0,0 +1,25 @@
+# WeKan Helm Charts
+
+## Webpage
+
+https://wekan.github.io/charts/
+
+## ArtifactHub
+
+https://artifacthub.io/packages/helm/wekan/wekan
+
+## Code
+
+https://github.com/wekan/charts/tree/main/wekan
+
+## Issues
+
+https://github.com/wekan/charts/issues
+
+## Pull Requests
+
+https://github.com/wekan/charts/pulls
+
+## Releases
+
+https://github.com/wekan/charts/tree/gh-pages

+ 0 - 22
helm/wekan/.helmignore

@@ -1,22 +0,0 @@
-# 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
-OWNERS

+ 0 - 6
helm/wekan/Chart.lock

@@ -1,6 +0,0 @@
-dependencies:
-- name: mongodb
-  repository: https://charts.bitnami.com/bitnami
-  version: 12.1.31
-digest: sha256:c129cc56fc5dd53a71d3c261420126ae28964cb3e7e65731e96765971950c12d
-generated: "2022-12-23T15:30:00.699936504+01:00"

+ 0 - 26
helm/wekan/Chart.yaml

@@ -1,26 +0,0 @@
-apiVersion: v2
-appVersion: "6.64"
-dependencies:
-  - condition: mongodb.enabled
-    name: mongodb
-    repository: https://charts.bitnami.com/bitnami
-    version: 12.1.x
-description: Open Source kanban
-home: https://wekan.github.io
-icon: https://wekan.github.io/wekan-logo.svg
-keywords:
-  - kanban
-maintainers:
-  - email: x@xet7.org
-    name: xet7
-  - email: github@randall.cc
-    name: technotaff
-  - email: jiangyt.cn@gmail.com
-    name: jiangytcn
-  - email: varac@varac.net
-    name: varac
-name: wekan
-sources:
-  - https://github.com/wekan/wekan
-type: application
-version: 1.1.1

+ 0 - 4
helm/wekan/OWNERS

@@ -1,4 +0,0 @@
-approvers:
-- technotaff
-reviewers:
-- technotaff

+ 0 - 102
helm/wekan/README.md

@@ -1,102 +0,0 @@
-# WeKan ® - Open Source kanban
-
-## Installing the Chart
-
-To install the chart with the release name `my-release`:
-
-```bash
-helm repo add wekan https://wekan.github.io/charts
-helm install my-release wekan/wekan
-```
-
-These commands deploy Wekan on the Kubernetes cluster in the default configuration.
-
-Tip: List all releases using `helm list`
-
-For all available values see `helm show values wekan/wekan`.
-
-## Uninstalling the Chart
-
-To uninstall/delete the my-release deployment:
-
-```bash
-helm delete my-release
-```
-
-The command removes all the Kubernetes components associated with the chart and
-deletes the release.
-
-## Features
-
-* Uses a MongoDB replica set by default - this allows fault-tolerant
-  and scalable MongoDB deployment (or just set the replicas to 1 for
-  a single server install)
-
-* Optional Horizontal Pod Autoscaler (HPA), so that your Wekan pods
-  will scale automatically with increased CPU load.
-
-## The configurable values (values.yaml)
-
-Scaling Wekan:
-
-```yaml
-## Configuration for wekan component
-##
-
-replicaCount: 1
-```
-
-**replicaCount** will set the initial number of replicas for the Wekan pod
-(and container)
-
-```yaml
-## Configure an horizontal pod autoscaler
-##
-autoscaling:
-  enabled: true
-  config:
-    minReplicas: 1
-    maxReplicas: 16
-    ## Note: when setting this, a `resources.request.cpu` is required. You
-    ## likely want to set it to `1` or some lower value.
-    ##
-    targetCPUUtilizationPercentage: 80
-```
-
-This section (if *enabled* is set to **true**) will enable the Kubernetes
-Horizontal Pod Autoscaler (HPA).
-
-**minReplicas:** this is the minimum number of pods to scale down to
-(We recommend setting this to the same value as **replicaCount**).
-
-**maxReplicas:** this is the maximum number of pods to scale up to.
-
-**targetCPUUtilizationPercentage:** This is the CPU at which the HPA will
-scale-out the number of Wekan pods.
-
-```yaml
-mongodb-replicaset:
-  enabled: true
-  replicas: 3
-  replicaSetName: rs0
-  securityContext:
-    runAsUser: 1000
-    fsGroup: 1000
-    runAsNonRoot: true
-```
-
-This section controls the scale of the MongoDB redundant Replica Set.
-
-**replicas:** This is the number of MongoDB instances to include in the set.
-You can set this to 1 for a single server - this will still allow you to
-scale-up later with a helm upgrade.
-
-### Install OCP route
-
-If you use this chart to deploy Wekan on an OCP cluster, you can create route
-instead of ingress with following command:
-
-```bash
-helm template --set route.enabled=true,ingress.enabled=false values.yaml . | \
-  oc apply -f-
-```

+ 0 - 19
helm/wekan/templates/NOTES.txt

@@ -1,19 +0,0 @@
-1. Get the application URL by running these commands:
-{{- if .Values.ingress.enabled }}
-{{- range .Values.ingress.hosts }}
-  http{{ if $.Values.ingress.tls }}s{{ end }}://{{ . }}{{ $.Values.ingress.path }}
-{{- end }}
-{{- else if contains "NodePort" .Values.service.type }}
-  export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "wekan.fullname" . }})
-  export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
-  echo http://$NODE_IP:$NODE_PORT
-{{- else if contains "LoadBalancer" .Values.service.type }}
-     NOTE: It may take a few minutes for the LoadBalancer IP to be available.
-           You can watch the status of by running 'kubectl get svc -w {{ template "wekan.fullname" . }}'
-  export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "wekan.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
-  echo http://$SERVICE_IP:{{ .Values.service.port }}
-{{- else if contains "ClusterIP" .Values.service.type }}
-  export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "wekan.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
-  echo "Visit http://127.0.0.1:8080 to use your application"
-  kubectl port-forward $POD_NAME 8080:8080
-{{- end }}

+ 0 - 88
helm/wekan/templates/_helpers.tpl

@@ -1,88 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Expand the name of the chart.
-*/}}
-{{- define "wekan.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 "wekan.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 a default fully qualified name for the wekan data app.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-*/}}
-{{- define "wekan.localdata.fullname" -}}
-{{- if .Values.localdata.fullnameOverride -}}
-{{- .Values.localdata.fullnameOverride | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- $name := default .Chart.Name .Values.nameOverride -}}
-{{- if contains $name .Release.Name -}}
-{{- printf "%s-localdata" .Release.Name | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- printf "%s-%s-localdata" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{- end -}}
-{{- end -}}
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "wekan.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create the name of the service account to use for the api component
-*/}}
-{{- define "wekan.serviceAccountName" -}}
-{{- if .Values.serviceAccounts.create -}}
-    {{ default (include "wekan.fullname" .) .Values.serviceAccounts.name }}
-{{- else -}}
-    {{ default "default" .Values.serviceAccounts.name }}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Create a default fully qualified mongodb-replicaset name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-*/}}
-{{- define "wekan.mongodb.svcname" -}}
-{{- $name := default "mongodb" (index .Values "mongodb" "nameOverride") -}}
-{{- if eq .Values.mongodb.architecture "replicaset" }}
-{{- printf "%s-%s-headless" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Create the MongoDB URL. If MongoDB is installed as part of this chart, use k8s service discovery,
-else use user-provided URL.
-*/}}
-{{- define "mongodb.url" -}}
-{{- if (index .Values "mongodb" "enabled") -}}
-{{- $count := (int (index .Values "mongodb" "replicaCount")) -}}
-{{- $release := .Release.Name -}}
-{{- $replicaSetName := (index .Values "mongodb" "replicaSetName") -}}
-{{- $mongodbSvcName := include "wekan.mongodb.svcname" . -}}
-mongodb://{{- range $v := until $count }}{{ $release }}-mongodb-{{ $v }}.{{ $mongodbSvcName }}:27017{{ if ne $v (sub $count 1) }},{{- end -}}{{- end -}}/{{ .Values.dbname }}?replicaSet={{ $replicaSetName }}
-{{- else -}}
-{{- index .Values "mongodb" "url" -}}
-{{- end -}}
-{{- end -}}

+ 0 - 79
helm/wekan/templates/deployment.yaml

@@ -1,79 +0,0 @@
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: {{ template "wekan.fullname" . }}
-  labels:
-    app: {{ template "wekan.name" . }}
-    chart: {{ template "wekan.chart" . }}
-    component: wekan
-    release: {{ .Release.Name }}
-    heritage: {{ .Release.Service }}
-    {{- if .Values.deploymentLabels }}
-    {{- toYaml .Values.deploymentLabels | nindent 4 }}
-    {{- end }}
-spec:
-  replicas: {{ .Values.replicaCount }}
-  selector:
-    matchLabels:
-      app: {{ template "wekan.name" . }}
-      component: wekan
-      release: {{ .Release.Name }}
-  template:
-    metadata:
-      annotations:
-      labels:
-        app: {{ template "wekan.name" . }}
-        component: wekan
-        release: {{ .Release.Name }}
-        {{- if .Values.podLabels }}
-        {{- toYaml .Values.podLabels | nindent 8 }}
-        {{- end }}
-    spec:
-      serviceAccountName: {{ template "wekan.serviceAccountName" . }}
-      containers:
-        - name: {{ .Chart.Name }}
-          image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
-          imagePullPolicy: {{ .Values.image.pullPolicy }}
-          terminationMessagePolicy: FallbackToLogsOnError
-          ports:
-            - name: http
-              containerPort: 8080
-          env:
-            - name: ROOT_URL
-              value: {{ .Values.root_url | default "https://wekan.local" | quote }}
-            - name: MONGO_URL
-              value: "{{ template "mongodb.url" . }}"
-          {{- range $key := .Values.env }}
-          {{- if .value }}
-            - name: {{ .name }}
-              value: {{ .value | quote }}
-          {{- end }}
-          {{- end }}
-          {{- range $key := .Values.secretEnv }}
-          {{- if .value }}
-            - name: {{ .name }}
-              valueFrom:
-                secretKeyRef:
-                  name: {{ template "wekan.fullname" $ }}-secret
-                  key: {{ .name }}
-          {{- end }}
-          {{- end }}
-          livenessProbe:
-            httpGet:
-              path: /
-              port: 8080
-            initialDelaySeconds: 60
-          resources:
-{{ toYaml .Values.resources | indent 12 }}
-    {{- with .Values.nodeSelector }}
-      nodeSelector:
-{{ toYaml . | indent 8 }}
-    {{- end }}
-{{- if .Values.affinity }}
-      affinity:
-{{ toYaml .Values.affinity | indent 8 }}
-    {{- end }}
-    {{- with .Values.tolerations }}
-      tolerations:
-{{ toYaml . | indent 8 }}
-    {{- end }}

+ 0 - 18
helm/wekan/templates/hpa.yaml

@@ -1,18 +0,0 @@
-{{- if .Values.autoscaling.enabled -}}
-apiVersion: autoscaling/v1
-kind: HorizontalPodAutoscaler
-metadata:
-  name: {{ template "wekan.fullname" . }}
-  labels:
-    app: {{ template "wekan.name" . }}
-    chart: {{ template "wekan.chart" . }}
-    component: wekan
-    heritage: {{ .Release.Service }}
-    release: {{ .Release.Name }}
-spec:
-  scaleTargetRef:
-    apiVersion: apps/v1
-    kind: Deployment
-    name: {{ template "wekan.fullname" . }}
-{{ toYaml .Values.autoscaling.config | indent 2 }}
-{{- end -}}

+ 0 - 44
helm/wekan/templates/ingress.yaml

@@ -1,44 +0,0 @@
-{{- if .Values.ingress.enabled -}}
-{{- $fullName := include "wekan.fullname" . -}}
-{{- $servicePort := .Values.service.port -}}
-{{- $ingressPath := .Values.ingress.path -}}
-{{- $ingressPathType := .Values.ingress.pathtype -}}
-apiVersion: networking.k8s.io/v1
-kind: Ingress
-metadata:
-  name: {{ $fullName }}
-  labels:
-    app: {{ template "wekan.name" . }}
-    chart: {{ template "wekan.chart" . }}
-    component: wekan
-    heritage: {{ .Release.Service }}
-    release: {{ .Release.Name }}
-{{- with .Values.ingress.annotations }}
-  annotations:
-{{ toYaml . | indent 4 }}
-{{- end }}
-spec:
-{{- if .Values.ingress.tls }}
-  tls:
-  {{- range .Values.ingress.tls }}
-    - hosts:
-      {{- range .hosts }}
-        - {{ . }}
-      {{- end }}
-      secretName: {{ .secretName }}
-  {{- end }}
-{{- end }}
-  rules:
-  {{- range .Values.ingress.hosts }}
-    - host: {{ . }}
-      http:
-        paths:
-          - path: {{ $ingressPath }}
-            pathType: {{ $ingressPathType }}
-            backend:
-              service:
-                name: {{ $fullName }}
-                port:
-                  number: 8080
-  {{- end }}
-{{- end }}

+ 0 - 23
helm/wekan/templates/route.yaml

@@ -1,23 +0,0 @@
-{{- if .Values.route.enabled -}}
-{{- $fullName := include "wekan.fullname" . -}}
-apiVersion: route.openshift.io/v1
-kind: Route
-metadata:
-  annotations:
-    haproxy.router.openshift.io/timeout: 4m
-    openshift.io/host.generated: "true"
-  labels:
-    app: {{ template "wekan.name" . }}
-    service: {{ template "wekan.name" . }}
-  name: {{ template "wekan.name" . }}
-spec:
-  port:
-    targetPort: http
-  tls:
-    termination: edge
-  to:
-    kind: Service
-    name: {{ template "wekan.name" . }}
-    weight: 100
-  wildcardPolicy: None
-  {{- end }}

+ 0 - 11
helm/wekan/templates/secret.yaml

@@ -1,11 +0,0 @@
-{{ if .Values.secretEnv }}
-apiVersion: v1
-kind: Secret
-metadata:
-  name: {{ template "wekan.fullname" $ }}-secret
-type: Opaque
-data:
-  {{- range $key := .Values.secretEnv }}
-  {{ $key.name }}: {{ $key.value | b64enc }}
-  {{- end}}
-{{ end }}

+ 0 - 25
helm/wekan/templates/service.yaml

@@ -1,25 +0,0 @@
-apiVersion: v1
-kind: Service
-metadata:
-  {{- if .Values.service.annotations }}
-  annotations:
-{{ toYaml .Values.service.annotations | indent 4 }}
-  {{- end }}
-  name: {{ template "wekan.fullname" . }}
-  labels:
-    app: {{ template "wekan.name" . }}
-    chart: {{ template "wekan.chart" . }}
-    component: wekan
-    heritage: {{ .Release.Service }}
-    release: {{ .Release.Name }}
-spec:
-  type: {{ .Values.service.type }}
-  ports:
-    - port: {{ .Values.service.port }}
-      targetPort: http
-      protocol: TCP
-      name: http
-  selector:
-    app: {{ template "wekan.name" . }}
-    component: wekan
-    release: {{ .Release.Name }}

+ 0 - 16
helm/wekan/templates/serviceaccount.yaml

@@ -1,16 +0,0 @@
-{{- if .Values.serviceAccounts.create }}
-apiVersion: v1
-kind: ServiceAccount
-metadata:
-{{- if .Values.serviceAccounts.annotations }}
-  annotations:
-{{ .Values.serviceAccounts.annotations | indent 4}}
-{{- end }}
-  labels:
-    app: {{ template "wekan.name" . }}
-    chart: {{ template "wekan.chart" . }}
-    component: wekan
-    heritage: {{ .Release.Service }}
-    release: {{ .Release.Name }}
-  name: {{ template "wekan.serviceAccountName" . }}
-{{- end }}

+ 0 - 19
helm/wekan/templates/tests/test-http.yaml

@@ -1,19 +0,0 @@
-apiVersion: v1
-kind: Pod
-metadata:
-  name: "{{ template "wekan.fullname" . }}-test-http"
-  labels:
-    app: {{ template "wekan.name" . }}
-    chart: {{ template "wekan.chart" . }}
-    component: wekan
-    release: {{ .Release.Name }}
-    heritage: {{ .Release.Service }}
-  annotations:
-    "helm.sh/hook": test
-spec:
-  containers:
-    - name: wget
-      image: busybox
-      command: ['wget', '-O', '/dev/stdout']
-      args: ['{{ template "wekan.fullname" . }}:{{ .Values.service.port }}']
-  restartPolicy: Never

+ 0 - 123
helm/wekan/values.yaml

@@ -1,123 +0,0 @@
-# ------------------------------------------------------------------------------
-# Wekan:
-# ------------------------------------------------------------------------------
-
-## Define serviceAccount names to create or use. Defaults to component's fully
-## qualified name.
-##
-serviceAccounts:
-  create: true
-  name: ""
-  annotations: ""
-
-## Wekan image configuration
-##
-image:
-  repository: quay.io/wekan/wekan
-  tag: v6.64
-  pullPolicy: IfNotPresent
-
-## Configuration for wekan component
-##
-
-replicaCount: 1
-dbname: wekan
-
-## Specify additional environmental variables for the Deployment
-##
-env:
-  - name: ""
-    value: ""
-
-## Specify additional secret environmental variables for the
-## Deployment. These can e.g. be provided by a Secret and allow
-## to store passwords separately
-##
-secretEnv: {}
-  # - name: ""
-  #   value: ""
-
-service:
-  type: NodePort
-  port: 8080
-  annotations: {}
-    # prometheus.io/scrape: "true"
-    # prometheus.io/port: "8000"
-    # prometheus.io/path: "/_/monitoring/metrics"
-
-## Comma-separated string of allowed virtual hosts for external access.
-## This should match the ingress hosts
-##
-endpoint: wekan.local
-
-ingress:
-  enabled: true
-  annotations: {}
-    # kubernetes.io/ingress.class: nginx
-    # kubernetes.io/tls-acme: "true"
-  path: /*
-  pathtype: ImplementationSpecific
-  # This must match 'endpoint', unless your client supports different
-  # hostnames.
-  hosts: [ wekan.local ]
-    # - wekan.local
-  tls: []
-  #  - secretName: wekan-example-tls
-  #    hosts:
-  #      - wekan-example.local
-
-route:
-  enabled: false
-
-resources:
-  requests:
-    memory: 128Mi
-    cpu: 300m
-  limits:
-    memory: 1Gi
-    cpu: 500m
-
-## Node labels for pod assignment
-## ref: https://kubernetes.io/docs/user-guide/node-selection/
-##
-nodeSelector: {}
-
-## Tolerations for pod assignment
-## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
-##
-tolerations: []
-
-## Affinity for pod assignment
-## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
-##
-affinity: {}
-
-## Configure an horizontal pod autoscaler
-##
-autoscaling:
-  enabled: true
-  config:
-    minReplicas: 1
-    maxReplicas: 16
-    ## Note: when setting this, a `resources.request.cpu` is required. You
-    ## likely want to set it to `1` or some lower value.
-    ##
-    targetCPUUtilizationPercentage: 80
-
-# Optional custom labels for the deployment resource.
-deploymentLabels: {}
-
-# Optional custom labels for the pods created by the deployment.
-podLabels: {}
-
-# ------------------------------------------------------------------------------
-# MongoDB:
-# ------------------------------------------------------------------------------
-
-mongodb:
-  enabled: true
-  architecture: replicaset
-  replicaCount: 3
-  replicaSetName: rs0
-  auth:
-    enabled: false