Merge remote-tracking branch 'origin/main' into feat/upstream
This commit is contained in:
commit
67429851b4
17 changed files with 3553 additions and 528 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -2,3 +2,5 @@ charts/
|
|||
node_modules/
|
||||
.DS_Store
|
||||
unittests/*/__snapshot__/
|
||||
tmp/
|
||||
tmpcharts/
|
||||
|
|
20
.helmignore
20
.helmignore
|
@ -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
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
.gitea/
|
||||
node_modules/
|
||||
charts/
|
||||
.helmignore
|
41
.woodpecker/lint.yml
Normal file
41
.woodpecker/lint.yml
Normal 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
|
46
.woodpecker/release-version.yml
Normal file
46
.woodpecker/release-version.yml
Normal 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
25
.woodpecker/renovate.yml
Normal 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
|
20
Chart.lock
20
Chart.lock
|
@ -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"
|
||||
|
|
45
Chart.yaml
45
Chart.yaml
|
@ -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
429
README.md
|
@ -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
9
artifacthub-repo.yml
Normal 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
1
artifacthub.config.json
Normal file
|
@ -0,0 +1 @@
|
|||
{}
|
3160
package-lock.json
generated
3160
package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
@ -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
61
renovate.json
Normal 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"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -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
71
tools/changelog.mjs
Normal 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);
|
121
values.yaml
121
values.yaml
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in a new issue