Compare commits

...

6 Commits

Author SHA1 Message Date
4c17cc839e Store gitea app data in PVC (#37)
Bump Chart version

Extend REAMDE

- add default handling explanation
- add MariaDB values

Add APP_DATA_PATH default to config

Co-authored-by: Lucas Hahn <lucas.hahn@novum-rgi.de>
Reviewed-on: https://gitea.com/gitea/helm-chart/pulls/37
Reviewed-by: Andrew Thornton <art27@cantab.net>
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
2020-10-06 09:03:20 +00:00
d1fac6ce7d Gitea 1.12.5 (#38)
Gitea 1.12.5

Co-authored-by: Matti R <matti@mdranta.net>
Reviewed-on: https://gitea.com/gitea/helm-chart/pulls/38
Reviewed-by: Andrew Thornton <art27@cantab.net>
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
2020-10-02 14:06:19 +00:00
37bc343ca9 Use postgres v9.7.2 helm chart (#36)
Merge branch 'master' into postgres-version

Use postgres v9.7.2 helm chart

Co-authored-by: Matti R <matti@mdranta.net>
Reviewed-on: https://gitea.com/gitea/helm-chart/pulls/36
Reviewed-by: lafriks <lafriks@noreply.gitea.io>
Reviewed-by: luhahn <luhahn@noreply.gitea.io>
2020-09-29 17:15:00 +00:00
b96da586db use alpine package version of helm (#35)
use alpine package version of helm

Reviewed-on: https://gitea.com/gitea/helm-chart/pulls/35
Reviewed-by: lafriks <lafriks@noreply.gitea.io>
Reviewed-by: 6543 <6543@noreply.gitea.io>
2020-09-29 13:49:34 +00:00
0877cc81ca Update dependencies and add MariaDB builtIn (#33)
Update dependencies

- Update Postgres version from 8.6.4 to 9.7.3
- Update Mysql version from 6.14.8 to 6.14.10
- Add MariaDB as built in dependency

Co-authored-by: Lucas Hahn <lucas.hahn@novum-rgi.de>
Reviewed-on: https://gitea.com/gitea/helm-chart/pulls/33
Reviewed-by: Jonas Franz <jonasfranz@noreply.gitea.io>
Reviewed-by: techknowlogick <techknowlogick@gitea.io>
2020-09-28 23:26:06 +00:00
4a618f245e Fix NodePort settings for ssh service (#32)
Fix NodePort settings for ssh service

Co-authored-by: Lucas Hahn <lucas.hahn@novum-rgi.de>
Reviewed-on: https://gitea.com/gitea/helm-chart/pulls/32
Reviewed-by: lafriks <lafriks@noreply.gitea.io>
Reviewed-by: Andrew Thornton <art27@cantab.net>
2020-09-28 14:31:35 +00:00
7 changed files with 119 additions and 20 deletions

View File

@ -4,19 +4,19 @@ name: lint
platform:
os: linux
arch: amd64
arch: arm64
steps:
- name: lint
pull: always
image: pelotech/drone-helm3
settings:
helm_command: lint
chart: ./
image: alpine:3.12
commands:
- apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing helm
- helm lint
- name: discord
pull: always
image: appleboy/drone-discord:1.0.0
image: appleboy/drone-discord:1.2.4
environment:
DISCORD_WEBHOOK_ID:
from_secret: discord_webhook_id
@ -44,8 +44,7 @@ steps:
pull: default
image: alpine:3.12
commands:
- wget -q https://get.helm.sh/helm-v3.3.1-linux-arm64.tar.gz -O - | tar -xzO linux-arm64/helm > /usr/local/bin/helm
- chmod +x /usr/local/bin/helm
- apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing helm
- helm dependency update
- helm package ./
- mkdir gitea

View File

@ -2,8 +2,8 @@ apiVersion: v2
name: gitea
description: Gitea Helm chart for Kubernetes
type: application
version: 1.5.0
appVersion: 1.12.4
version: 1.5.5
appVersion: 1.12.5
icon: https://docs.gitea.io/images/gitea.png
keywords:
@ -33,9 +33,13 @@ dependencies:
condition: gitea.cache.builtIn.enabled
- name: mysql
repository: https://charts.bitnami.com/bitnami
version: 6.14.8
version: 6.14.10
condition: gitea.database.builtIn.mysql.enabled
- name: postgresql
repository: https://charts.bitnami.com/bitnami
version: 8.6.4
version: 9.7.2
condition: gitea.database.builtIn.postgresql.enabled
- name: mariadb
repository: https://charts.bitnami.com/bitnami
version: 7.10.2
condition: gitea.database.builtIn.mariadb.enabled

View File

@ -47,6 +47,56 @@ Gitea offers lots of configuration. This is fully described in the [Gitea Cheat
repository.pull-request:
WORK_IN_PROGRESS_PREFIXES: "WIP:,[WIP]:"
```
### Default Configuration
This chart will set a few defaults in the gitea configuration based on the service and ingress settings. All defaults can be overwritten in gitea.config.
INSTALL_LOCK is always set to true, since we want to configure gitea with this helm chart and everything is taken care of.
*All default settings are made directly in the generated app.ini, not in the Values.*
#### Database defaults
If a builtIn database is enabled the database configuration is set automatically. For example postgresql builtIn which will appear in the app.ini as:
```
[database]
DB_TYPE = postgres
HOST = RELEASE-NAME-postgresql.default.svc.cluster.local:5432
NAME = gitea
PASSWD = gitea
USER = gitea
```
#### Memcached defaults
Memcached is handled the exakt same way as database builtIn. Once memcached builtIn is enabled, this chart will generate the following part in the app.ini:
```
[cache]
ADAPTER = memcache
ENABLED = true
HOST = RELEASE-NAME-memcached.default.svc.cluster.local:11211
```
#### Server defaults
The server defaults are a bit more complex.
If ingress is enabled, the ROOT_URL, DOMAIN and SSH_DOMAIN will be set accordingly. HTTP_PORT always defaults to 3000 as well as SSH_PORT to 22.
```
[server]
APP_DATA_PATH = /data
DOMAIN = git.example.com
HTTP_PORT = 3000
PROTOCOL = http
ROOT_URL = http://git.example.com
SSH_DOMAIN = git.example.com
SSH_LISTEN_PORT = 22
SSH_PORT = 22
```
### External Database
An external Database can be used instead of builtIn postgresql or mysql.
@ -104,6 +154,7 @@ If the built in cache should not be used simply configure the cache in gitea.con
INTERVAL: 60
HOST: 127.0.0.1:9090
```
### Persistence
Gitea will be deployed as a statefulset. By simply enabling the persistence and setting the storage class according to your cluster
@ -193,7 +244,6 @@ Annotations can be added to the Gitea pod.
|statefulset.terminationGracePeriodSeconds| Image to start for this pod | gitea/gitea |
|statefulset.env | Additional environment variables to pass to containers | [] |
### Image
| Parameter | Description | Default |
@ -262,7 +312,7 @@ The following parameters are the defaults set by this chart
|mysql.mysqlPassword|Password for the new user. Ignored if existing secret is provided|gitea|
|mysql.mysqlDatabase|Name for new database to create.|gitea|
|mysql.service.port|Port to connect to mysql service|3306|
|mysql.persistence|Persistence size for mysql |10Gi|
|mysql.persistence.size|Persistence size for mysql |10Gi|
### Postgresql BuiltIn
@ -277,3 +327,17 @@ The following parameters are the defaults set by this chart
|postgresql.global.postgresql.postgresqlPassword| PostgreSQL admin password (overrides postgresqlPassword)|gitea|
|postgresql.global.postgresql.servicePort|PostgreSQL port (overrides service.port)|5432|
|postgresql.persistence.size| PVC Storage Request for PostgreSQL volume |10Gi|
### MariaDB BuiltIn
MariaDB is loaded as a dependency from bitnami. Configuration can be found from this [Bitnami](https://github.com/bitnami/charts/tree/master/bitnami/mariadb)
The following parameters are the defaults set by this chart
| Parameter | Description | Default |
|---------------------|-----------------------------------|------------------------------|
|mariadb.db.user |Username of new user to create.|gitea|
|mariadb.db.password|Password for the new user. Ignored if existing secret is provided|gitea|
|mariadb.db.name|Name for new database to create.|gitea|
|mariadb.service.port|Port to connect to mariadb service|3306|
|mariadb.master.persistence.size|Persistence size for mysql |10Gi|

View File

@ -51,15 +51,13 @@ app.kubernetes.io/name: {{ include "gitea.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{- define "postgresql.dns" -}}
{{- printf "%s-postgresql.%s.svc.cluster.local:%g" .Release.Name .Release.Namespace .Values.postgresql.global.postgresql.servicePort -}}
{{- end -}}
{{- define "db.servicename" -}}
{{- if .Values.gitea.database.builtIn.postgresql.enabled -}}
{{- printf "%s-postgresql" .Release.Name -}}
{{- else if .Values.gitea.database.builtIn.mysql.enabled -}}
{{- printf "%s-mysql" .Release.Name -}}
{{- else if .Values.gitea.database.builtIn.mariadb.enabled -}}
{{- printf "%s-mariadb" .Release.Name -}}
{{- else -}}
{{- $parts := split ":" .Values.gitea.config.database.HOST -}}
{{- printf "%s %s" $parts._0 $parts._1 -}}
@ -71,14 +69,24 @@ app.kubernetes.io/instance: {{ .Release.Name }}
{{ .Values.postgresql.global.postgresql.servicePort }}
{{- else if .Values.gitea.database.builtIn.mysql.enabled -}}
{{ .Values.mysql.service.port }}
{{- else if .Values.gitea.database.builtIn.mariadb.enabled -}}
{{ .Values.mariadb.service.port }}
{{- else -}}
{{- end -}}
{{- end -}}
{{- define "postgresql.dns" -}}
{{- printf "%s-postgresql.%s.svc.cluster.local:%g" .Release.Name .Release.Namespace .Values.postgresql.global.postgresql.servicePort -}}
{{- end -}}
{{- define "mysql.dns" -}}
{{- printf "%s-mysql.%s.svc.cluster.local:%g" .Release.Name .Release.Namespace .Values.mysql.service.port | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- define "mariadb.dns" -}}
{{- printf "%s-mariadb.%s.svc.cluster.local:%g" .Release.Name .Release.Namespace .Values.mysql.service.port | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- define "memcached.dns" -}}
{{- printf "%s-memcached.%s.svc.cluster.local:%g" .Release.Name .Release.Namespace .Values.memcached.service.port | trunc 63 | trimSuffix "-" -}}
{{- end -}}

View File

@ -62,6 +62,9 @@ stringData:
{{- if not (hasKey .Values.gitea.config.server "SSH_LISTEN_PORT") -}}
{{- $_ := set .Values.gitea.config.server "SSH_LISTEN_PORT" .Values.gitea.config.server.SSH_PORT -}}
{{- end -}}
{{- if not (hasKey .Values.gitea.config.server "APP_DATA_PATH") -}}
{{- $_ := set .Values.gitea.config.server "APP_DATA_PATH" "/data" -}}
{{- end -}}
{{- /* database default settings */ -}}
{{- if .Values.gitea.database.builtIn.postgresql.enabled -}}
@ -80,6 +83,14 @@ stringData:
{{- $_ := set .Values.gitea.config.database "NAME" .Values.mysql.db.name -}}
{{- $_ := set .Values.gitea.config.database "USER" .Values.mysql.db.user -}}
{{- $_ := set .Values.gitea.config.database "PASSWD" .Values.mysql.db.password -}}
{{ else if .Values.gitea.database.builtIn.mariadb.enabled -}}
{{- $_ := set .Values.gitea.config.database "DB_TYPE" "mysql" -}}
{{- if not (.Values.gitea.config.database.HOST) -}}
{{- $_ := set .Values.gitea.config.database "HOST" (include "mariadb.dns" .) -}}
{{- end -}}
{{- $_ := set .Values.gitea.config.database "NAME" .Values.mariadb.db.name -}}
{{- $_ := set .Values.gitea.config.database "USER" .Values.mariadb.db.user -}}
{{- $_ := set .Values.gitea.config.database "PASSWD" .Values.mariadb.db.password -}}
{{- end -}}
{{- /* cache default settings */ -}}

View File

@ -11,7 +11,7 @@ spec:
{{- if and .Values.service.ssh.loadBalancerIP (eq .Values.service.ssh.type "LoadBalancer") }}
loadBalancerIP: {{ .Values.service.ssh.loadBalancerIP }}
{{- end }}
{{- if ne .Values.service.ssh.type "LoadBalancer" }}
{{- if eq .Values.service.ssh.type "ClusterIP" }}
clusterIP: None
{{- end }}
{{- if .Values.service.ssh.externalIPs }}

View File

@ -6,7 +6,7 @@ replicaCount: 1
image:
repository: gitea/gitea
version: 1.12.4
version: 1.12.5
pullPolicy: Always
imagePullSecrets: []
@ -106,6 +106,8 @@ gitea:
enabled: true
mysql:
enabled: false
mariadb:
enabled: false
cache:
builtIn:
@ -136,3 +138,14 @@ mysql:
port: 3306
persistence:
size: 10Gi
mariadb:
db:
name: gitea
user: gitea
password: gitea
service:
port: 3306
master:
persistence:
size: 10Gi