Merge remote-tracking branch 'origin/main' into feat/upstream

This commit is contained in:
Michael Kriese 2023-01-19 13:10:34 +01:00
commit 67429851b4
No known key found for this signature in database
GPG key ID: B83F553A0724D44E
17 changed files with 3553 additions and 528 deletions

2
.gitignore vendored
View file

@ -2,3 +2,5 @@ charts/
node_modules/
.DS_Store
unittests/*/__snapshot__/
tmp/
tmpcharts/

View file

@ -1,21 +1,30 @@
# Patterns to ignore when building packages.
# Patterns to ignore when building packages
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
# negation (prefixed with !). Only one pattern per line
.DS_Store
# Common VCS dirs
.git/
.Git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj
@ -24,10 +33,13 @@ node_modules/
.npmrc
package.json
package-lock.json
.gitea/
.Gitea/
Makefile
.markdownlintignore
.markdownlint.yaml
.drone.yml
CONTRIBUTING.md
unittests/
.woodpecker/
tmp/
artifacthub-repo.yml

View file

@ -1,3 +1,4 @@
.gitea/
node_modules/
charts/
.helmignore

41
.woodpecker/lint.yml Normal file
View file

@ -0,0 +1,41 @@
platform: linux/amd64
when:
event:
- pull_request
- tag
- push
branch:
- main
- release/**
pipeline:
deps:
image: alpine:3.17.1
pull: true
commands:
- apk add --no-cache helm
- helm repo add bitnami https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami
- helm dependency build
helm-lint:
image: alpine:3.17.1
pull: true
commands:
- apk add --no-cache helm
- helm lint
helm-template:
image: alpine:3.17.1
pull: true
commands:
- apk add --no-cache helm
- helm template --debug gitea-helm .
verify-readme:
image: alpine:3.17.1
pull: true
commands:
- apk add --no-cache make nodejs npm git
- make readme
- git diff --exit-code --name-only README.md

View file

@ -0,0 +1,46 @@
platform: linux/amd64
depends_on:
- lint
when:
event:
- tag
tag: v*
pipeline:
generate-chart:
image: alpine:3.17.1
pull: true
commands:
- apk add --no-cache git nodejs npm helm
- helm repo add bitnami https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami
- helm dependency build
- rm -rf tmp/
- helm package --version "${CI_COMMIT_TAG##v}" -d tmp/ ./
- npm ci
- npm run changelog "${CI_COMMIT_TAG##v}" tmp/changelog.md
secrets:
- token
publish-release:
image: plugins/gitea-release
pull: true
settings:
base_url: https://codeberg.org
api_key:
from_secret: token
files: tmp/*.tgz
title: ${CI_COMMIT_TAG##v}
file_exists: fail
note: tmp/changelog.md
publish-chart:
image: alpine:3.17.1
pull: true
commands:
- apk add --no-cache helm
- echo $${TOKEN} | helm registry login -u viceice --password-stdin codeberg.org/forgejo-contrib
- helm push tmp/forgejo-${CI_COMMIT_TAG##v}.tgz oci://codeberg.org/forgejo-contrib
secrets:
- token

25
.woodpecker/renovate.yml Normal file
View file

@ -0,0 +1,25 @@
platform: linux/amd64
when:
event:
- cron
pipeline:
renovate:
image: ghcr.io/visualon/renovate:34.105.6
pull: true
commands:
- renovate $${CI_REPO}
environment:
RENOVATE_PLATFORM: gitea
RENOVATE_ENDPOINT: https://codeberg.org
LOG_LEVEL: debug
secrets:
- source: token
target: renovate_token
- source: gh_token
target: github_com_token
when:
- event:
- cron
cron: renovate

View file

@ -1,15 +1,15 @@
dependencies:
- name: memcached
repository: https://raw.githubusercontent.com/bitnami/charts/pre-2022/bitnami
version: 5.9.0
repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami
version: 6.3.5
- name: mysql
repository: https://raw.githubusercontent.com/bitnami/charts/pre-2022/bitnami
version: 6.14.10
repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami
version: 9.4.6
- name: postgresql
repository: https://raw.githubusercontent.com/bitnami/charts/pre-2022/bitnami
version: 10.3.17
repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami
version: 12.1.9
- name: mariadb
repository: https://raw.githubusercontent.com/bitnami/charts/pre-2022/bitnami
version: 9.3.6
digest: sha256:08f967276fa0c083e9756a974a9791a487a71be0a226dc14351b3e5a2641e8fd
generated: "2022-06-11T12:18:36.672047+02:00"
repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami
version: 11.4.4
digest: sha256:9d5f8b986b2cc244d32ceb6165399deaae5a4a6a6df955e2a7b0e8f36c0146a9
generated: "2023-01-19T11:57:21.482881836Z"

View file

@ -1,49 +1,42 @@
apiVersion: v2
name: gitea
description: Gitea Helm chart for Kubernetes
name: forgejo
description: Forgejo Helm chart for Kubernetes
type: application
version: 0.0.0
appVersion: 1.18.1
icon: https://docs.gitea.io/images/gitea.png
appVersion: 1.18.0-1
icon: https://design.codeberg.org/logo-kit/icon.svg
home: https://forgejo.org/
keywords:
- git
- issue tracker
- code review
- wiki
- forgejo
- gitea
- gogs
sources:
- https://gitea.com/gitea/helm-chart
- https://github.com/go-gitea/gitea
- https://hub.docker.com/r/gitea/gitea/
- https://codeberg.org/forgejo-contrib/forgejo-helm
- https://codeberg.org/forgejo/forgejo
maintainers:
- name: Charlie Drage
email: charlie@charliedrage.com
- name: Gitea Authors
email: maintainers@gitea.io
- name: Konrad Lother
email: konrad.lother@novum-rgi.de
- name: Lucas Hahn
email: lucas.hahn@novum-rgi.de
- name: Steven Kriegler
email: sk.bunsenbrenner@gmail.com
- name: Michael Kriese
email: michael.kriese@visualon.de
# Bitnami charts are served from GitHub CDN - See https://github.com/bitnami/charts/issues/10539 for details
# Bitnami charts are served from GitHub CDN - See https://github.com/bitnami/charts/issues/10833 for details
dependencies:
- name: memcached
repository: https://raw.githubusercontent.com/bitnami/charts/pre-2022/bitnami
version: 5.9.0
repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami
version: 6.3.5
condition: memcached.enabled
- name: mysql
repository: https://raw.githubusercontent.com/bitnami/charts/pre-2022/bitnami
version: 6.14.10
repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami
version: 9.4.6
condition: mysql.enabled
- name: postgresql
repository: https://raw.githubusercontent.com/bitnami/charts/pre-2022/bitnami
version: 10.3.17
repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami
version: 12.1.9
condition: postgresql.enabled
- name: mariadb
repository: https://raw.githubusercontent.com/bitnami/charts/pre-2022/bitnami
version: 9.3.6
repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami
version: 11.4.4
condition: mariadb.enabled

429
README.md
View file

@ -1,19 +1,17 @@
# Gitea Helm Chart
# Forgejo Helm Chart
[Gitea](https://gitea.io/en-us/) is a community managed lightweight code hosting
[Forgejo](https://forgejo.org/) is a community managed lightweight code hosting
solution written in Go. It is published under the MIT license.
## Introduction
This helm chart has taken some inspiration from [jfelten's helm
chart](https://github.com/jfelten/gitea-helm-chart). But takes a completely
different approach in providing a database and cache with dependencies.
This helm chart is based on official [Gitea helm chart](https://gitea.com/gitea/helm-chart).
Additionally, this chart provides LDAP and admin user configuration with values,
as well as being deployed as a statefulset to retain stored repositories.
## Dependencies
Gitea can be run with an external database and cache. This chart provides those
Forgejo can be run with an external database and cache. This chart provides those
dependencies, which can be enabled, or disabled via
configuration.
@ -27,9 +25,7 @@ Dependencies:
## Installing
```sh
helm repo add gitea-charts https://dl.gitea.io/charts/
helm repo update
helm install gitea gitea-charts/gitea
helm install oci://codeberg.org/forgejo-contrib/forgejo
```
When upgrading, please refer to the [Upgrading](#upgrading) section at the bottom
@ -43,27 +39,27 @@ of this document for major and breaking changes.
## Examples
### Gitea Configuration
### Forgejo Configuration
Gitea offers lots of configuration options. This is fully described in the
Forgejo offers lots of configuration options. This is fully described in the
[Gitea Cheat Sheet](https://docs.gitea.io/en-us/config-cheat-sheet/).
```yaml
gitea:
config:
APP_NAME: "Gitea: With a cup of tea."
APP_NAME: 'Forgejo: With a cup of tea.'
repository:
ROOT: "~/gitea-repositories"
ROOT: '~/gitea-repositories'
repository.pull-request:
WORK_IN_PROGRESS_PREFIXES: "WIP:,[WIP]:"
WORK_IN_PROGRESS_PREFIXES: 'WIP:,[WIP]:'
```
### Default Configuration
This chart will set a few defaults in the Gitea configuration based on the
This chart will set a few defaults in the Forgejo 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
INSTALL_LOCK is always set to true, since we want to configure Forgejo 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._
@ -125,7 +121,7 @@ ENABLED = false
### Additional _app.ini_ settings
> **The [generic](https://docs.gitea.io/en-us/config-cheat-sheet/#overall-default)
section cannot be defined that way.**
> section cannot be defined that way.**
Some settings inside _app.ini_ (like passwords or whole authentication configurations)
must be considered sensitive and therefore should not be passed via plain text
@ -325,7 +321,7 @@ gitea:
### Persistence
Gitea will be deployed as a statefulset. By simply enabling the persistence and
Forgejo will be deployed as a statefulset. By simply enabling the persistence and
setting the storage class according to your cluster everything else will be
taken care of. The following example will create a PVC as a part of the
statefulset. This PVC will not be deleted even if you uninstall the chart.
@ -347,9 +343,9 @@ by default.
If you want to manage your own PVC you can simply pass the PVC name to the chart.
```yaml
persistence:
enabled: true
existingClaim: MyAwesomeGiteaClaim
persistence:
enabled: true
existingClaim: MyAwesomeGiteaClaim
```
In case that peristence has been disabled it will simply use an empty dir volume.
@ -358,7 +354,8 @@ PostgreSQL handles the persistence in the exact same way.
You can interact with the postgres settings as displayed in the following example:
```yaml
postgresql:
postgresql:
primary:
persistence:
enabled: true
existingClaim: MyAwesomeGiteaPostgresClaim
@ -368,7 +365,8 @@ MySQL also handles persistence the same, even though it is not deployed as a sta
You can interact with the postgres settings as displayed in the following example:
```yaml
mysql:
mysql:
primary:
persistence:
enabled: true
existingClaim: MyAwesomeGiteaMysqlClaim
@ -382,11 +380,11 @@ not possible to delete an admin user after it has been created. This has to be
done in the ui. You cannot use `admin` as username.
```yaml
gitea:
admin:
username: "MyAwesomeGiteaAdmin"
password: "AReallyAwesomeGiteaPassword"
email: "gi@tea.com"
gitea:
admin:
username: 'MyAwesomeForgejoAdmin'
password: 'AReallyAwesomeForgejoPassword'
email: 'forge@jo.com'
```
You can also use an existing Secret to configure the admin user:
@ -404,8 +402,8 @@ stringData:
```yaml
gitea:
admin:
existingSecret: gitea-admin-secret
admin:
existingSecret: gitea-admin-secret
```
### LDAP Settings
@ -416,20 +414,20 @@ All LDAP values from <https://docs.gitea.io/en-us/command-line/#admin> are avail
Multiple LDAP sources can be configured with additional LDAP list items.
```yaml
gitea:
ldap:
- name: MyAwesomeGiteaLdap
securityProtocol: unencrypted
host: "127.0.0.1"
port: "389"
userSearchBase: ou=Users,dc=example,dc=com
userFilter: sAMAccountName=%s
adminFilter: CN=Admin,CN=Group,DC=example,DC=com
emailAttribute: mail
bindDn: CN=ldap read,OU=Spezial,DC=example,DC=com
bindPassword: JustAnotherBindPw
usernameAttribute: CN
publicSSHKeyAttribute: publicSSHKey
gitea:
ldap:
- name: MyAwesomeGiteaLdap
securityProtocol: unencrypted
host: '127.0.0.1'
port: '389'
userSearchBase: ou=Users,dc=example,dc=com
userFilter: sAMAccountName=%s
adminFilter: CN=Admin,CN=Group,DC=example,DC=com
emailAttribute: mail
bindDn: CN=ldap read,OU=Spezial,DC=example,DC=com
bindPassword: JustAnotherBindPw
usernameAttribute: CN
publicSSHKeyAttribute: publicSSHKey
```
You can also use an existing secret to set the bindDn and bindPassword:
@ -447,9 +445,8 @@ stringData:
```yaml
gitea:
ldap:
- existingSecret: gitea-ldap-secret
...
ldap:
- existingSecret: gitea-ldap-secret
```
⚠️ Some options are just flags and therefore don't have any values. If they
@ -504,7 +501,6 @@ gitea:
oauth:
- name: 'MyAwesomeGiteaOAuth'
existingSecret: gitea-oauth-secret
...
```
## Configure commit signing
@ -575,7 +571,7 @@ gitea:
### Pod Annotations
Annotations can be added to the Gitea pod.
Annotations can be added to the Forgejo pod.
```yaml
gitea:
@ -596,14 +592,14 @@ gitea:
### Image
| Name | Description | Value |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------- | ------------- |
| `image.registry` | image registry, e.g. gcr.io,docker.io | `""` |
| `image.repository` | Image to start for this pod | `gitea/gitea` |
| `image.tag` | Visit: [Image tag](https://hub.docker.com/r/gitea/gitea/tags?page=1&ordering=last_updated). Defaults to `appVersion` within Chart.yaml. | `""` |
| `image.pullPolicy` | Image pull policy | `Always` |
| `image.rootless` | Wether or not to pull the rootless version of Gitea, only works on Gitea 1.14.x or higher | `false` |
| `imagePullSecrets` | Secret to use for pulling the image | `[]` |
| Name | Description | Value |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------- |
| `image.registry` | image registry, e.g. gcr.io,docker.io | `codeberg.org` |
| `image.repository` | Image to start for this pod | `forgejo/forgejo` |
| `image.tag` | Visit: [Image tag](https://codeberg.org/forgejo/-/packages/container/forgejo/versions). Defaults to `appVersion` within Chart.yaml. | `""` |
| `image.pullPolicy` | Image pull policy | `Always` |
| `image.rootless` | Wether or not to pull the rootless version of Forgejo, only works on Forgejo 1.14.x or higher | `false` |
| `imagePullSecrets` | Secret to use for pulling the image | `[]` |
### Security
@ -611,7 +607,7 @@ gitea:
| ---------------------------- | --------------------------------------------------------------- | ------ |
| `podSecurityContext.fsGroup` | Set the shared file system group for all containers in the pod. | `1000` |
| `containerSecurityContext` | Security context | `{}` |
| `securityContext` | Run init and Gitea containers as a specific securityContext | `{}` |
| `securityContext` | Run init and Forgejo containers as a specific securityContext | `{}` |
### Service
@ -667,24 +663,24 @@ gitea:
| `statefulset.env` | Additional environment variables to pass to containers | `[]` |
| `statefulset.terminationGracePeriodSeconds` | How long to wait until forcefully kill the pod | `60` |
| `statefulset.labels` | Labels for the statefulset | `{}` |
| `statefulset.annotations` | Annotations for the Gitea StatefulSet to be created | `{}` |
| `statefulset.annotations` | Annotations for the Forgejo StatefulSet to be created | `{}` |
### Persistence
| Name | Description | Value |
| ---------------------------- | ----------------------------------------------------------------------------------------------------- | ------------------- |
| `persistence.enabled` | Enable persistent storage | `true` |
| `persistence.existingClaim` | Use an existing claim to store repository information | `nil` |
| `persistence.size` | Size for persistence to store repo information | `10Gi` |
| `persistence.accessModes` | AccessMode for persistence | `["ReadWriteOnce"]` |
| `persistence.labels` | Labels for the persistence volume claim to be created | `{}` |
| `persistence.annotations` | Annotations for the persistence volume claim to be created | `{}` |
| `persistence.storageClass` | Name of the storage class to use | `nil` |
| `persistence.subPath` | Subdirectory of the volume to mount at | `nil` |
| `extraVolumes` | Additional volumes to mount to the Gitea statefulset | `[]` |
| `extraContainerVolumeMounts` | Mounts that are only mapped into the Gitea runtime/main container, to e.g. override custom templates. | `[]` |
| `extraInitVolumeMounts` | Mounts that are only mapped into the init-containers. Can be used for additional preconfiguration. | `[]` |
| `extraVolumeMounts` | **DEPRECATED** Additional volume mounts for init containers and the Gitea main container | `[]` |
| Name | Description | Value |
| ---------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------- |
| `persistence.enabled` | Enable persistent storage | `true` |
| `persistence.existingClaim` | Use an existing claim to store repository information | `nil` |
| `persistence.size` | Size for persistence to store repo information | `10Gi` |
| `persistence.accessModes` | AccessMode for persistence | `["ReadWriteOnce"]` |
| `persistence.labels` | Labels for the persistence volume claim to be created | `{}` |
| `persistence.annotations` | Annotations for the persistence volume claim to be created | `{}` |
| `persistence.storageClass` | Name of the storage class to use | `nil` |
| `persistence.subPath` | Subdirectory of the volume to mount at | `nil` |
| `extraVolumes` | Additional volumes to mount to the Forgejo statefulset | `[]` |
| `extraContainerVolumeMounts` | Mounts that are only mapped into the Forgejo runtime/main container, to e.g. override custom templates. | `[]` |
| `extraInitVolumeMounts` | Mounts that are only mapped into the init-containers. Can be used for additional preconfiguration. | `[]` |
| `extraVolumeMounts` | **DEPRECATED** Additional volume mounts for init containers and the Forgejo main container | `[]` |
### Init
@ -703,20 +699,20 @@ gitea:
### Gitea
| Name | Description | Value |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------------------- |
| `gitea.admin.username` | Username for the Gitea admin user | `gitea_admin` |
| `gitea.admin.existingSecret` | Use an existing secret to store admin user credentials | `nil` |
| `gitea.admin.password` | Password for the Gitea admin user | `r8sA8CPHD9!bt6d` |
| `gitea.admin.email` | Email for the Gitea admin user | `gitea@local.domain` |
| `gitea.metrics.enabled` | Enable Gitea metrics | `false` |
| `gitea.metrics.serviceMonitor.enabled` | Enable Gitea metrics service monitor | `false` |
| `gitea.ldap` | LDAP configuration | `[]` |
| `gitea.oauth` | OAuth configuration | `[]` |
| `gitea.config` | Configuration for the Gitea server,ref: [config-cheat-sheet](https://docs.gitea.io/en-us/config-cheat-sheet/) | `{}` |
| `gitea.additionalConfigSources` | Additional configuration from secret or configmap | `[]` |
| `gitea.additionalConfigFromEnvs` | Additional configuration sources from environment variables | `[]` |
| `gitea.podAnnotations` | Annotations for the Gitea pod | `{}` |
| Name | Description | Value |
| -------------------------------------- | --------------------------------------------------------------------------------------------------------------- | -------------------- |
| `gitea.admin.username` | Username for the Forgejo admin user | `gitea_admin` |
| `gitea.admin.existingSecret` | Use an existing secret to store admin user credentials | `nil` |
| `gitea.admin.password` | Password for the Forgejo admin user | `r8sA8CPHD9!bt6d` |
| `gitea.admin.email` | Email for the Forgejo admin user | `gitea@local.domain` |
| `gitea.metrics.enabled` | Enable Forgejo metrics | `false` |
| `gitea.metrics.serviceMonitor.enabled` | Enable Forgejo metrics service monitor | `false` |
| `gitea.ldap` | LDAP configuration | `[]` |
| `gitea.oauth` | OAuth configuration | `[]` |
| `gitea.config` | Configuration for the Forgejo server,ref: [config-cheat-sheet](https://docs.gitea.io/en-us/config-cheat-sheet/) | `{}` |
| `gitea.additionalConfigSources` | Additional configuration from secret or configmap | `[]` |
| `gitea.additionalConfigFromEnvs` | Additional configuration sources from environment variables | `[]` |
| `gitea.podAnnotations` | Annotations for the Forgejo pod | `{}` |
### LivenessProbe
@ -756,45 +752,54 @@ gitea:
### Memcached
| Name | Description | Value |
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| `memcached.enabled` | Memcached is loaded as a dependency from [Bitnami](https://github.com/bitnami/charts/tree/master/bitnami/memcached) if enabled in the values. Complete Configuration can be taken from their website. | `true` |
| `memcached.service.port` | Port for Memcached | `11211` |
Memcached is loaded as a dependency from [Bitnami](https://github.com/bitnami/charts/tree/master/bitnami/memcached) if enabled in the values. Complete Configuration can be taken from their website.
| Name | Description | Value |
| ----------------------------------- | ------------------ | ------- |
| `memcached.enabled` | Enable Memcached | `true` |
| `memcached.service.ports.memcached` | Port for Memcached | `11211` |
### PostgreSQL
| Name | Description | Value |
| ------------------------------------------------- | -------------------------------------------------------- | ------- |
| `postgresql.enabled` | Enable PostgreSQL | `true` |
| `postgresql.global.postgresql.postgresqlDatabase` | PostgreSQL database (overrides postgresqlDatabase) | `gitea` |
| `postgresql.global.postgresql.postgresqlUsername` | PostgreSQL username (overrides postgresqlUsername) | `gitea` |
| `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` |
PostgreSQL is loaded as a dependency from [Bitnami](https://github.com/bitnami/charts/tree/master/bitnami/postgresql) if enabled in the values. Complete Configuration can be taken from their website.
| Name | Description | Value |
| --------------------------------------------- | ----------------------------------------- | ------- |
| `postgresql.enabled` | Enable PostgreSQL | `true` |
| `postgresql.auth.database` | PostgreSQL database | `gitea` |
| `postgresql.auth.username` | PostgreSQL username | `gitea` |
| `postgresql.auth.password` | PostgreSQL username | `gitea` |
| `postgresql.auth.postgresPassword` | PostgreSQL admin password | `gitea` |
| `postgresql.primary.service.ports.postgresql` | Port to connect to PostgreSQL service | `5432` |
| `postgresql.primary.persistence.size` | PVC Storage Request for PostgreSQL volume | `10Gi` |
### MySQL
| Name | Description | Value |
| ------------------------ | ------------------------------------------------------------------ | ------- |
| `mysql.enabled` | Enable MySQL | `false` |
| `mysql.root.password` | Password for the root user. Ignored if existing secret is provided | `gitea` |
| `mysql.db.user` | Username of new user to create. | `gitea` |
| `mysql.db.password` | Password for the new user.Ignored if existing secret is provided | `gitea` |
| `mysql.db.name` | Name for new database to create. | `gitea` |
| `mysql.service.port` | Port to connect to MySQL service | `3306` |
| `mysql.persistence.size` | PVC Storage Request for MySQL volume | `10Gi` |
MySQL is loaded as a dependency from [Bitnami](https://github.com/bitnami/charts/tree/master/bitnami/mysql) if enabled in the values. Complete Configuration can be taken from their website.
| Name | Description | Value |
| ----------------------------------- | ------------------------------------------------------------------ | ------- |
| `mysql.enabled` | Enable MySQL | `false` |
| `mysql.auth.database` | Name for new database to create. | `gitea` |
| `mysql.auth.username` | Username of new user to create. | `gitea` |
| `mysql.auth.password` | Password for the new user.Ignored if existing secret is provided | `gitea` |
| `mysql.auth.rootPassword` | Password for the root user. Ignored if existing secret is provided | `gitea` |
| `mysql.primary.service.ports.mysql` | Port to connect to MySQL service | `3306` |
| `mysql.primary.persistence.size` | PVC Storage Request for MySQL volume | `10Gi` |
### MariaDB
| Name | Description | Value |
| ---------------------------------- | ----------------------------------------------------------------- | ------- |
| `mariadb.enabled` | Enable MariaDB | `false` |
| `mariadb.auth.database` | Name of the database to create. | `gitea` |
| `mariadb.auth.username` | Username of the new user to create. | `gitea` |
| `mariadb.auth.password` | Password for the new user. Ignored if existing secret is provided | `gitea` |
| `mariadb.auth.rootPassword` | Password for the root user. | `gitea` |
| `mariadb.primary.service.port` | Port to connect to MariaDB service | `3306` |
| `mariadb.primary.persistence.size` | Persistence size for MariaDB | `10Gi` |
MariaDB is loaded as a dependency from [Bitnami](https://github.com/bitnami/charts/tree/master/bitnami/mariadb) if enabled in the values. Complete Configuration can be taken from their website.
| Name | Description | Value |
| ------------------------------------- | ----------------------------------------------------------------- | ------- |
| `mariadb.enabled` | Enable MariaDB | `false` |
| `mariadb.auth.database` | Name of the database to create. | `gitea` |
| `mariadb.auth.username` | Username of the new user to create. | `gitea` |
| `mariadb.auth.password` | Password for the new user. Ignored if existing secret is provided | `gitea` |
| `mariadb.auth.rootPassword` | Password for the root user. | `gitea` |
| `mariadb.primary.service.ports.mysql` | Port to connect to MariaDB service | `3306` |
| `mariadb.primary.persistence.size` | Persistence size for MariaDB | `10Gi` |
### Advanced
@ -812,193 +817,3 @@ See [CONTRIBUTORS GUIDE](CONTRIBUTING.md) for details.
This section lists major and breaking changes of each Helm Chart version.
Please read them carefully to upgrade successfully.
### To 7.0.0
#### Gitea 1.18.1
This Chart version updates Gitea to 1.18.1. Don't miss any application related [breaking changes of 1.18.0](https://blog.gitea.io/2022/12/gitea-1.18.0-is-released/#breaking-changes).
#### Private GPG key configuration for Gitea signing actions
Having `signing.enabled=true` now requires to use either `signing.privateKey` or `signing.existingSecret` so that the Chart can automatically prepare the GPG key for Gitea internal signing actions.
See [Configure commit signing](#configure-commit-signing) for details.
### To 6.0.0
#### Different volume mounts for init-containers and runtime container
**The `extraVolumeMounts` is deprecated** in favor of `extraInitVolumeMounts` and
`extraContainerVolumeMounts`. You can now have different mounts for the initialization
phase and Gitea runtime. The deprecated `extraVolumeMounts` will still be available
for the time being and is mounted into every container. If you want to switch to
the new settings and want to mount specific volumes into all containers, you have
to configure their mount points within both new settings.
**Combining values from the deprecated setting with values from the new settings
is not possible.**
#### New `enabled` flag for `startupProbe`
Prior to this version the `startupProbe` was just a commented sample within the
`values.yaml`. With the migration to an auto-generated [Parameters](#parameters)
section, a new parameter `gitea.startupProbe.enabled` has been introduced set to
`false` by default.
If you are using the `startupProbe` you need to add that new
parameter and set it to `true`. Otherwise, your defined probe won't be considered
after the upgrade.
### To 5.0.0
> 💥 The Helm Chart now requires Gitea versions of at least 1.11.0.
#### Enable Dependencies
The values to enable the dependencies,
such as PostgreSQL, Memcached, MySQL and MariaDB
have been moved from `gitea.database.builtIn.` to the dependency values.
You can now enable the dependencies as followed:
```yaml
memcached:
enabled: true
postgresql:
enabled: true
mysql:
enabled: false
mariadb:
enabled: false
```
#### App.ini generation
The app.ini generation has changed and now utilizes the environment-to-ini
script provided by newer Gitea versions. This change ensures, that the app.ini
is now persistent.
##### Secret Key generation
Gitea secret keys (SECRET_KEY, INTERNAL_TOKEN, JWT_SECRET) are now generated
automatically in certain situations:
- New install: By default the secrets are created automatically. If you provide
secrets via `gitea.config` they will be used instead of automatic generation.
- Existing installs: The secrets won't be deployed, neither via
configuration nor via auto generation. We explicitly prevent to set new secrets.
> 💡 It would be possible to set new secret keys manually by entering
the running container and rewriting the app.ini by hand. However, this it is
not advisable to do so for existing installations. Certain settings like
_LDAP_ would not be readable anymore.
#### Probes
`gitea.customLivenessProbe`, `gitea.customReadinessProbe` and `gitea.customStartupProbe`
have been removed.
They are replaced by the settings `gitea.livenessProbe`, `gitea.readinessProbe`
and `gitea.startupProbe` which are now fully configurable and used _as-is_ for
a Chart deployment.
If you have customized their values instead of using the `custom` prefixed settings,
please ensure that you remove the `enabled` property from each of them.
In case you want to disable one of these probes, let's say the `livenessProbe`, add
the following to your values. The `podAnnotation` is just there to have a bit more
context.
```diff
gitea:
+ livenessProbe:
podAnnotations: {}
```
#### Multiple OAuth and LDAP authentication sources
With `5.0.0` of this Chart it is now possible to configure Gitea with multiple
OAuth and LDAP sources. As a result, you need to update an existing OAuth/LDAP configuration
in your customized `values.yaml` by replacing the object with settings to a list
of settings objects. See [OAuth2 Settings](#oauth2-settings) and
[LDAP Settings](#ldap-settings) section for details.
### To 4.0.0
#### Ingress changes
To provide a more flexible Ingress configuration we now support not only host
settings but also provide configuration for the path and pathType. So this
change changes the hosts from a simple string list, to a list containing a more
complex object for more configuration.
```diff
ingress:
enabled: false
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
- hosts:
- - git.example.com
+ hosts:
+ - host: git.example.com
+ paths:
+ - path: /
+ pathType: Prefix
tls: []
# - secretName: chart-example-tls
# hosts:
# - git.example.com
```
If you want everything as it was before, you can simply add the following code
to all your host entries.
```yaml
paths:
- path: /
pathType: Prefix
```
#### Dropped kebab-case support
In 3.x.x it was possible to provide an ldap configuration via kebab-case, this
support has now been dropped and only camel case is supported. See [LDAP
section](#ldap-settings) for more information.
#### Dependency update
The chart comes with multiple databases and Memcached as dependency, the latest
release updated the dependencies.
- Memcached: `4.2.20` -> `5.9.0`
- PostgreSQL: `9.7.2` -> `10.3.17`
- MariaDB: `8.0.0` -> `9.3.6`
If you're using the builtin databases you will most likely redeploy the chart in
order to update the database correctly.
#### Execution of initPreScript
Generally spoken, this might not be a breaking change, but it is worth to be
mentioned.
Prior to `4.0.0` only one init container was used to both setup directories and
configure Gitea. As of now the actual Gitea configuration is separated from the
other pre-execution. This also includes the execution of _initPreScript_. If you
have such script, please be aware of this. Dynamically prepare the Gitea setup
during execution by e.g. adding environment variables to the execution context
won't work anymore.
### Misc
#### Gitea Version 1.14.X repository ROOT
Previously the ROOT folder for the Gitea repositories was located at
`/data/git/gitea-repositories`. In version `1.14` has the path been changed to
`/data/gitea-repositories`.
This chart will set the `gitea.config.repository.ROOT` value default to
`/data/git/gitea-repositories`.

9
artifacthub-repo.yml Normal file
View file

@ -0,0 +1,9 @@
---
# Artifact Hub repository metadata file
# https://artifacthub.io/docs/topics/repositories/helm-charts/#oci-support
# publish via:
# oras push codeberg.org/forgejo-contrib/forgejo:artifacthub.io --config artifacthub.config.json:application/vnd.cncf.artifacthub.config.v1+yaml artifacthub-repo.yml:application/vnd.cncf.artifacthub.repository-metadata.layer.v1.yaml
repositoryID: 'ec84c95a-a288-4aaa-a690-a656b57e3136'
owners: # (optional, used to claim repository ownership)
- name: viceice
email: michael.kriese@visualon.de

1
artifacthub.config.json Normal file
View file

@ -0,0 +1 @@
{}

3160
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
{
"name": "gitea-helm-chart",
"homepage": "https://gitea.com/gitea/helm-chart.git",
"name": "forgejo-helm-chart",
"homepage": "https://codeberg.org/forgejo-contrib/forgejo-helm.git",
"license": "MIT",
"private": true,
"engineStrict": true,
@ -9,11 +9,14 @@
"npm": ">=8.0.0"
},
"scripts": {
"changelog": "node tools/changelog.mjs",
"readme:lint": "markdownlint *.md -f",
"readme:parameters": "readme-generator -v values.yaml -r README.md"
},
"devDependencies": {
"@bitnami/readme-generator-for-helm": "^2.4.2",
"markdownlint-cli": "^0.31.1"
"conventional-changelog-conventionalcommits": "^5.0.0",
"conventional-changelog-core": "^4.2.4",
"markdownlint-cli": "^0.33.0"
}
}

61
renovate.json Normal file
View file

@ -0,0 +1,61 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": "config:base",
"assignees": ["viceice"],
"semanticCommits": "enabled",
"automergeStrategy": "fast-forward",
"enabledManagers": ["helmv3", "npm", "regex", "woodpecker"],
"packageRules": [
{
"matchManagers": ["helmv3"],
"matchUpdateTypes": ["minor", "patch"],
"semanticCommitType": "fix"
},
{
"matchManagers": ["helmv3"],
"matchUpdateTypes": ["major"],
"semanticCommitType": "feat"
},
{
"description": "Fix forgejo docker image versioning",
"matchDepNames": ["forgejo"],
"matchDatasources": ["docker"],
"versioning": "regex:^(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)-(?<build>\\d+)(?:-(?<compatibility>.+))?$"
},
{
"matchManagers": ["regex"],
"matchDepNames": ["forgejo"],
"matchUpdateTypes": ["patch"],
"semanticCommitType": "fix"
},
{
"matchManagers": ["regex"],
"matchDepNames": ["forgejo"],
"matchUpdateTypes": ["major", "minor"],
"semanticCommitType": "feat"
},
{
"description": "Automerge renovate updates",
"matchPackageNames": ["ghcr.io/visualon/renovate"],
"automerge": true,
"platformAutomerge": true
},
{
"description": "Automerge patch deps updates",
"matchManagers": ["helmv3"],
"matchFiles": ["Chart.yaml"],
"matchUpdateTypes": ["patch"],
"automerge": true,
"platformAutomerge": true
}
],
"regexManagers": [
{
"fileMatch": ["^Chart\\.yaml$"],
"matchStrings": ["appVersion: (?<currentValue>.+?)\\s"],
"depNameTemplate": "forgejo",
"packageNameTemplate": "codeberg.org/forgejo/forgejo",
"datasourceTemplate": "docker"
}
]
}

View file

@ -92,19 +92,19 @@ app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{- define "postgresql.dns" -}}
{{- printf "%s-postgresql.%s.svc.%s:%g" .Release.Name .Release.Namespace .Values.clusterDomain .Values.postgresql.global.postgresql.servicePort -}}
{{- printf "%s-postgresql.%s.svc.%s:%g" .Release.Name .Release.Namespace .Values.clusterDomain .Values.postgresql.primary.service.ports.postgresql -}}
{{- end -}}
{{- define "mysql.dns" -}}
{{- printf "%s-mysql.%s.svc.%s:%g" .Release.Name .Release.Namespace .Values.clusterDomain .Values.mysql.service.port | trunc 63 | trimSuffix "-" -}}
{{- printf "%s-mysql.%s.svc.%s:%g" .Release.Name .Release.Namespace .Values.clusterDomain .Values.mysql.primary.service.ports.mysql | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- define "mariadb.dns" -}}
{{- printf "%s-mariadb.%s.svc.%s:%g" .Release.Name .Release.Namespace .Values.clusterDomain .Values.mariadb.primary.service.port | trunc 63 | trimSuffix "-" -}}
{{- printf "%s-mariadb.%s.svc.%s:%g" .Release.Name .Release.Namespace .Values.clusterDomain .Values.mariadb.primary.service.ports.mysql | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- define "memcached.dns" -}}
{{- printf "%s-memcached.%s.svc.%s:%g" .Release.Name .Release.Namespace .Values.clusterDomain .Values.memcached.service.port | trunc 63 | trimSuffix "-" -}}
{{- printf "%s-memcached.%s.svc.%s:%g" .Release.Name .Release.Namespace .Values.clusterDomain .Values.memcached.service.ports.memcached | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- define "gitea.default_domain" -}}
@ -292,17 +292,17 @@ https
{{- if not (.Values.gitea.config.database.HOST) -}}
{{- $_ := set .Values.gitea.config.database "HOST" (include "postgresql.dns" .) -}}
{{- end -}}
{{- $_ := set .Values.gitea.config.database "NAME" .Values.postgresql.global.postgresql.postgresqlDatabase -}}
{{- $_ := set .Values.gitea.config.database "USER" .Values.postgresql.global.postgresql.postgresqlUsername -}}
{{- $_ := set .Values.gitea.config.database "PASSWD" .Values.postgresql.global.postgresql.postgresqlPassword -}}
{{- $_ := set .Values.gitea.config.database "NAME" .Values.postgresql.auth.database -}}
{{- $_ := set .Values.gitea.config.database "USER" .Values.postgresql.auth.username -}}
{{- $_ := set .Values.gitea.config.database "PASSWD" .Values.postgresql.auth.password -}}
{{- else if .Values.mysql.enabled -}}
{{- $_ := set .Values.gitea.config.database "DB_TYPE" "mysql" -}}
{{- if not (.Values.gitea.config.database.HOST) -}}
{{- $_ := set .Values.gitea.config.database "HOST" (include "mysql.dns" .) -}}
{{- end -}}
{{- $_ := 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 -}}
{{- $_ := set .Values.gitea.config.database "NAME" .Values.mysql.auth.database -}}
{{- $_ := set .Values.gitea.config.database "USER" .Values.mysql.auth.username -}}
{{- $_ := set .Values.gitea.config.database "PASSWD" .Values.mysql.auth.password -}}
{{- else if .Values.mariadb.enabled -}}
{{- $_ := set .Values.gitea.config.database "DB_TYPE" "mysql" -}}
{{- if not (.Values.gitea.config.database.HOST) -}}

71
tools/changelog.mjs Normal file
View file

@ -0,0 +1,71 @@
import conventionalChangelogCore from 'conventional-changelog-core';
import conventionalChangelogPreset from 'conventional-changelog-conventionalcommits';
import fs from 'node:fs';
const config = conventionalChangelogPreset({
types: [
{
type: 'feat',
section: 'Features',
},
{
type: 'feature',
section: 'Features',
},
{
type: 'fix',
section: 'Bug Fixes',
},
{
type: 'perf',
section: 'Performance Improvements',
},
{
type: 'revert',
section: 'Reverts',
},
{
type: 'docs',
section: 'Documentation',
},
{
type: 'style',
section: 'Styles',
},
{
type: 'chore',
section: 'Miscellaneous Chores',
},
{
type: 'refactor',
section: 'Code Refactoring',
},
{
type: 'test',
section: 'Tests',
},
{
type: 'build',
section: 'Build System',
},
{
type: 'ci',
section: 'Continuous Integration',
},
],
});
const file = process.argv[3]
? fs.createWriteStream(process.argv[3])
: process.stdout;
conventionalChangelogCore(
{
config,
releaseCount: 2,
},
{ version: process.argv[2], linkCompare: false },
undefined,
undefined,
{ headerPartial: '' }
).pipe(file);

View file

@ -24,12 +24,12 @@ clusterDomain: cluster.local
## @section Image
## @param image.registry image registry, e.g. gcr.io,docker.io
## @param image.repository Image to start for this pod
## @param image.tag Visit: [Image tag](https://hub.docker.com/r/gitea/gitea/tags?page=1&ordering=last_updated). Defaults to `appVersion` within Chart.yaml.
## @param image.tag Visit: [Image tag](https://codeberg.org/forgejo/-/packages/container/forgejo/versions). Defaults to `appVersion` within Chart.yaml.
## @param image.pullPolicy Image pull policy
## @param image.rootless Wether or not to pull the rootless version of Gitea, only works on Gitea 1.14.x or higher
## @param image.rootless Wether or not to pull the rootless version of Forgejo, only works on Forgejo 1.14.x or higher
image:
registry: ""
repository: gitea/gitea
registry: "codeberg.org"
repository: forgejo/forgejo
# Overrides the image tag whose default is the chart appVersion.
tag: ""
pullPolicy: Always
@ -66,7 +66,7 @@ containerSecurityContext: {}
## @deprecated The securityContext variable has been split two:
## - containerSecurityContext
## - podSecurityContext.
## @param securityContext Run init and Gitea containers as a specific securityContext
## @param securityContext Run init and Forgejo containers as a specific securityContext
securityContext: {}
## @section Service
@ -186,7 +186,7 @@ dnsConfig: {}
## @param statefulset.env Additional environment variables to pass to containers
## @param statefulset.terminationGracePeriodSeconds How long to wait until forcefully kill the pod
## @param statefulset.labels Labels for the statefulset
## @param statefulset.annotations Annotations for the Gitea StatefulSet to be created
## @param statefulset.annotations Annotations for the Forgejo StatefulSet to be created
statefulset:
env: []
# - name: VARIABLE
@ -216,13 +216,13 @@ persistence:
storageClass:
subPath:
## @param extraVolumes Additional volumes to mount to the Gitea statefulset
## @param extraVolumes Additional volumes to mount to the Forgejo statefulset
extraVolumes: []
# - name: postgres-ssl-vol
# secret:
# secretName: gitea-postgres-ssl
## @param extraContainerVolumeMounts Mounts that are only mapped into the Gitea runtime/main container, to e.g. override custom templates.
## @param extraContainerVolumeMounts Mounts that are only mapped into the Forgejo runtime/main container, to e.g. override custom templates.
extraContainerVolumeMounts: []
## @param extraInitVolumeMounts Mounts that are only mapped into the init-containers. Can be used for additional preconfiguration.
@ -232,7 +232,7 @@ extraInitVolumeMounts: []
## - extraContainerVolumeMounts
## - extraInitVolumeMounts
## As an example, can be used to mount a client cert when connecting to an external Postgres server.
## @param extraVolumeMounts **DEPRECATED** Additional volume mounts for init containers and the Gitea main container
## @param extraVolumeMounts **DEPRECATED** Additional volume mounts for init containers and the Forgejo main container
extraVolumeMounts: []
# - name: postgres-ssl-vol
# readOnly: true
@ -268,10 +268,10 @@ signing:
## @section Gitea
#
gitea:
## @param gitea.admin.username Username for the Gitea admin user
## @param gitea.admin.username Username for the Forgejo admin user
## @param gitea.admin.existingSecret Use an existing secret to store admin user credentials
## @param gitea.admin.password Password for the Gitea admin user
## @param gitea.admin.email Email for the Gitea admin user
## @param gitea.admin.password Password for the Forgejo admin user
## @param gitea.admin.email Email for the Forgejo admin user
admin:
#existingSecret: gitea-admin-secret
existingSecret:
@ -279,8 +279,8 @@ gitea:
password: r8sA8CPHD9!bt6d
email: "gitea@local.domain"
## @param gitea.metrics.enabled Enable Gitea metrics
## @param gitea.metrics.serviceMonitor.enabled Enable Gitea metrics service monitor
## @param gitea.metrics.enabled Enable Forgejo metrics
## @param gitea.metrics.serviceMonitor.enabled Enable Forgejo metrics service monitor
metrics:
enabled: false
serviceMonitor:
@ -319,9 +319,9 @@ gitea:
# customProfileUrl:
# customEmailUrl:
## @param gitea.config Configuration for the Gitea server,ref: [config-cheat-sheet](https://docs.gitea.io/en-us/config-cheat-sheet/)
## @param gitea.config Configuration for the Forgejo server,ref: [config-cheat-sheet](https://docs.gitea.io/en-us/config-cheat-sheet/)
config: {}
# APP_NAME: "Gitea: Git with a cup of tea"
# APP_NAME: "Forgejo: Git with a cup of tea"
# RUN_MODE: dev
#
# server:
@ -340,7 +340,7 @@ gitea:
## @param gitea.additionalConfigFromEnvs Additional configuration sources from environment variables
additionalConfigFromEnvs: []
## @param gitea.podAnnotations Annotations for the Gitea pod
## @param gitea.podAnnotations Annotations for the Forgejo pod
podAnnotations: {}
## @section LivenessProbe
@ -404,63 +404,83 @@ gitea:
failureThreshold: 10
## @section Memcached
## @descriptionStart
## Memcached is loaded as a dependency from [Bitnami](https://github.com/bitnami/charts/tree/master/bitnami/memcached) if enabled in the values. Complete Configuration can be taken from their website.
## @descriptionEnd
#
## @param memcached.enabled Memcached is loaded as a dependency from [Bitnami](https://github.com/bitnami/charts/tree/master/bitnami/memcached) if enabled in the values. Complete Configuration can be taken from their website.
## @param memcached.service.port Port for Memcached
## @param memcached.enabled Enable Memcached
## @param memcached.service.ports.memcached Port for Memcached
memcached:
enabled: true
service:
port: 11211
ports:
memcached: 11211
## @section PostgreSQL
## @descriptionStart
## PostgreSQL is loaded as a dependency from [Bitnami](https://github.com/bitnami/charts/tree/master/bitnami/postgresql) if enabled in the values. Complete Configuration can be taken from their website.
## @descriptionEnd
#
## @param postgresql.enabled Enable PostgreSQL
## @param postgresql.global.postgresql.postgresqlDatabase PostgreSQL database (overrides postgresqlDatabase)
## @param postgresql.global.postgresql.postgresqlUsername PostgreSQL username (overrides postgresqlUsername)
## @param postgresql.global.postgresql.postgresqlPassword PostgreSQL admin password (overrides postgresqlPassword)
## @param postgresql.global.postgresql.servicePort PostgreSQL port (overrides service.port)
## @param postgresql.persistence.size PVC Storage Request for PostgreSQL volume
## @param postgresql.auth.database PostgreSQL database
## @param postgresql.auth.username PostgreSQL username
## @param postgresql.auth.password PostgreSQL username
## @param postgresql.auth.postgresPassword PostgreSQL admin password
## @param postgresql.primary.service.ports.postgresql Port to connect to PostgreSQL service
## @param postgresql.primary.persistence.size PVC Storage Request for PostgreSQL volume
postgresql:
enabled: true
global:
postgresql:
postgresqlDatabase: gitea
postgresqlUsername: gitea
postgresqlPassword: gitea
servicePort: 5432
persistence:
size: 10Gi
auth:
database: gitea
username: gitea
password: gitea
postgresPassword: gitea
primary:
service:
ports:
postgresql: 5432
persistence:
size: 10Gi
## @section MySQL
## @descriptionStart
## MySQL is loaded as a dependency from [Bitnami](https://github.com/bitnami/charts/tree/master/bitnami/mysql) if enabled in the values. Complete Configuration can be taken from their website.
## @descriptionEnd
#
#
## @param mysql.enabled Enable MySQL
## @param mysql.root.password Password for the root user. Ignored if existing secret is provided
## @param mysql.db.user Username of new user to create.
## @param mysql.db.password Password for the new user.Ignored if existing secret is provided
## @param mysql.db.name Name for new database to create.
## @param mysql.service.port Port to connect to MySQL service
## @param mysql.persistence.size PVC Storage Request for MySQL volume
## @param mysql.auth.database Name for new database to create.
## @param mysql.auth.username Username of new user to create.
## @param mysql.auth.password Password for the new user.Ignored if existing secret is provided
## @param mysql.auth.rootPassword Password for the root user. Ignored if existing secret is provided
## @param mysql.primary.service.ports.mysql Port to connect to MySQL service
## @param mysql.primary.persistence.size PVC Storage Request for MySQL volume
mysql:
enabled: false
root:
auth:
database: gitea
username: gitea
password: gitea
db:
user: gitea
password: gitea
name: gitea
service:
port: 3306
persistence:
size: 10Gi
rootPassword: gitea
primary:
service:
ports:
mysql: 3306
persistence:
size: 10Gi
## @section MariaDB
## @descriptionStart
## MariaDB is loaded as a dependency from [Bitnami](https://github.com/bitnami/charts/tree/master/bitnami/mariadb) if enabled in the values. Complete Configuration can be taken from their website.
## @descriptionEnd
#
#
## @param mariadb.enabled Enable MariaDB
## @param mariadb.auth.database Name of the database to create.
## @param mariadb.auth.username Username of the new user to create.
## @param mariadb.auth.password Password for the new user. Ignored if existing secret is provided
## @param mariadb.auth.rootPassword Password for the root user.
## @param mariadb.primary.service.port Port to connect to MariaDB service
## @param mariadb.primary.service.ports.mysql Port to connect to MariaDB service
## @param mariadb.primary.persistence.size Persistence size for MariaDB
mariadb:
enabled: false
@ -471,7 +491,8 @@ mariadb:
rootPassword: gitea
primary:
service:
port: 3306
ports:
mysql: 3306
persistence:
size: 10Gi