diff --git a/Chart.lock b/Chart.lock index 6e73bf7..4c96f8b 100644 --- a/Chart.lock +++ b/Chart.lock @@ -9,4 +9,4 @@ dependencies: repository: oci://registry-1.docker.io/bitnamicharts version: 10.2.0 digest: sha256:f7feb678e253951354014684cca973ce7656aa8fd812e627534257dad7765069 -generated: "2024-05-30T01:36:14.851471355Z" +generated: "2024-05-29T18:01:33.490509906Z" diff --git a/Chart.yaml b/Chart.yaml index 7e25a7d..8ffd13a 100644 --- a/Chart.yaml +++ b/Chart.yaml @@ -2,8 +2,8 @@ apiVersion: v2 name: forgejo description: Forgejo Helm chart for Kubernetes type: application -version: 0.0.0 -appVersion: 1.21.11-1 +version: 0.1.0 +appVersion: 7.0.3 icon: https://code.forgejo.org/forgejo/forgejo/raw/branch/forgejo/assets/logo.svg home: https://forgejo.org/ diff --git a/README.md b/README.md index fdbfb50..ced63dc 100644 --- a/README.md +++ b/README.md @@ -141,14 +141,23 @@ See the [HA Setup](docs/ha-setup.md) document for more details. ## Configuration Forgejo offers lots of configuration options. -This is fully described in the [Cheat Sheet](https://forgejo.org/docs/latest/admin/config-cheat-sheet/). +Every value described in the [Cheat Sheet](https://forgejo.org/docs/latest/admin/config-cheat-sheet/) can be set as a Helm value. +Configuration sections map to (lowercased) YAML blocks, while the keys themselves remain in all caps. ```yaml gitea: config: - APP_NAME: 'Forgejo: With a cup of tea.' + # values in the DEFAULT section + # (https://forgejo.org/docs/latest/admin/config-cheat-sheet/#overall-default) + # are un-namespaced + # + APP_NAME: 'Forgejo: Git with a cup of tea' + # + # https://forgejo.org/docs/latest/admin/config-cheat-sheet/#repository-repository repository: ROOT: '~/gitea-repositories' + # + # https://forgejo.org/docs/latest/admin/config-cheat-sheet/#repository---pull-request-repositorypull-request repository.pull-request: WORK_IN_PROGRESS_PREFIXES: 'WIP:,[WIP]:' ``` @@ -365,7 +374,7 @@ stringData: #### User defined environment variables in app.ini Users are able to define their own environment variables, which are loaded into the containers. -We also support to directly interact with the generated _app.ini_. +We also support interacting directly with the generated _app.ini_. To inject self defined variables into the _app.ini_ a certain format needs to be honored. This is described in detail on the [env-to-ini](https://github.com/go-gitea/gitea/tree/main/contrib/environment-to-ini) page. @@ -376,9 +385,10 @@ For example a database setting needs to have the following format: ```yaml gitea: + config: + database: + HOST: my.own.host additionalConfigFromEnvs: - - name: FORGEJO__DATABASE__HOST - value: my.own.host - name: FORGEJO__DATABASE__PASSWD valueFrom: secretKeyRef: @@ -404,7 +414,7 @@ If an external database is used, no matter which type, make sure to set `postgre gitea: config: database: - DB_TYPE: mysql + DB_TYPE: mysql # supported values are mysql, postgres, mssql, sqlite3 HOST: NAME: gitea USER: root @@ -987,13 +997,67 @@ To comply with the Forgejo helm chart definition of the digest parameter, a "cus | `gitea.metrics.serviceMonitor.enabled` | Enable Forgejo metrics service monitor | `false` | | `gitea.ldap` | LDAP configuration | `[]` | | `gitea.oauth` | OAuth configuration | `[]` | -| `gitea.config.server.SSH_PORT` | SSH port for rootlful Forgejo image | `22` | -| `gitea.config.server.SSH_LISTEN_PORT` | SSH port for rootless Forgejo image | `2222` | | `gitea.additionalConfigSources` | Additional configuration from secret or configmap | `[]` | | `gitea.additionalConfigFromEnvs` | Additional configuration sources from environment variables | `[]` | | `gitea.podAnnotations` | Annotations for the Forgejo pod | `{}` | | `gitea.ssh.logLevel` | Configure OpenSSH's log level. Only available for root-based Forgejo image. | `INFO` | +### `app.ini` overrides + +Every value described in the [Cheat +Sheet](https://forgejo.org/docs/latest/admin/config-cheat-sheet/) can be +set as a Helm value. Configuration sections map to (lowercased) YAML +blocks, while the keys themselves remain in all caps. + +| Name | Description | Value | +| ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- | +| `gitea.config.APP_NAME` | Application name, used in the page title | `Forgejo: Beyond coding. We forge.` | +| `gitea.config.RUN_MODE` | Application run mode, affects performance and debugging: `dev` or `prod` | `prod` | +| `gitea.config.repository` | General repository settings | `{}` | +| `gitea.config.cors` | Cross-origin resource sharing settings | `{}` | +| `gitea.config.ui` | User interface settings | `{}` | +| `gitea.config.markdown` | Markdown parser settings | `{}` | +| `gitea.config.server` | General server settings | `{}` | +| `gitea.config.database` | Database configuration (only necessary with an [externally managed DB](https://codeberg.org/forgejo-contrib/forgejo-helm#external-database)). | `{}` | +| `gitea.config.indexer` | Settings for what content is indexed and how | `{}` | +| `gitea.config.queue` | Job queue configuration | `{}` | +| `gitea.config.admin` | Admin user settings | `{}` | +| `gitea.config.security` | Site security settings | `{}` | +| `gitea.config.camo` | Settings for the [camo](https://github.com/cactus/go-camo) media proxy server (disabled by default) | `{}` | +| `gitea.config.openid` | Configuration for authentication with OpenID (disabled by default) | `{}` | +| `gitea.config.oauth2_client` | OAuth2 client settings | `{}` | +| `gitea.config.service` | Configuration for miscellaneous Forgejo services | `{}` | +| `gitea.config.ssh.minimum_key_sizes` | SSH minimum key sizes | `{}` | +| `gitea.config.webhook` | Webhook settings | `{}` | +| `gitea.config.mailer` | Mailer configuration (disabled by default) | `{}` | +| `gitea.config.email.incoming` | Configuration for handling incoming mail (disabled by default) | `{}` | +| `gitea.config.cache` | Cache configuration | `{}` | +| `gitea.config.session` | Session/cookie handling | `{}` | +| `gitea.config.picture` | User avatar settings | `{}` | +| `gitea.config.project` | Project board defaults | `{}` | +| `gitea.config.attachment` | Issue and PR attachment configuration | `{}` | +| `gitea.config.log` | Logging configuration | `{}` | +| `gitea.config.cron` | Cron job configuration | `{}` | +| `gitea.config.git` | Global settings for Git | `{}` | +| `gitea.config.metrics` | Settings for the Prometheus endpoint (disabled by default) | `{}` | +| `gitea.config.api` | Settings for the Swagger API documentation endpoints | `{}` | +| `gitea.config.oauth2` | Settings for the [OAuth2 provider](https://forgejo.org/docs/latest/admin/oauth2-provider/) | `{}` | +| `gitea.config.i18n` | Internationalization settings | `{}` | +| `gitea.config.markup` | Configuration for advanced markup processors | `{}` | +| `gitea.config.highlight.mapping` | File extension to language mapping overrides for syntax highlighting | `{}` | +| `gitea.config.time` | Locale settings | `{}` | +| `gitea.config.migrations` | Settings for Git repository migrations | `{}` | +| `gitea.config.federation` | Federation configuration | `{}` | +| `gitea.config.packages` | Package registry settings | `{}` | +| `gitea.config.mirror` | Configuration for repository mirroring | `{}` | +| `gitea.config.lfs` | Large File Storage configuration | `{}` | +| `gitea.config.repo-avatar` | Repository avatar storage configuration | `{}` | +| `gitea.config.avatar` | User/org avatar storage configuration | `{}` | +| `gitea.config.storage` | General storage settings | `{}` | +| `gitea.config.proxy` | Proxy configuration (disabled by default) | `{}` | +| `gitea.config.actions` | Configuration for [Forgejo Actions](https://forgejo.org/docs/latest/user/actions/) | `{}` | +| `gitea.config.other` | Uncategorized configuration options | `{}` | + ### LivenessProbe | Name | Description | Value | @@ -1097,3 +1161,8 @@ Hop into [our Matrix room](https://matrix.to/#/#forgejo-helm-chart:matrix.org) i This section lists major and breaking changes of each Helm Chart version. Please read them carefully to upgrade successfully, especially the change of the **default database backend**! If you miss this, blindly upgrading may delete your Postgres instance and you may lose your data! + +### To v6.0.0 + +You need Forgejo v7+ to use this Helm Chart version. +Use the v5 Helm Chart for Forgejo v1.21. diff --git a/ci/v7-test-rootless.yml b/ci/v7-test-rootless.yml new file mode 100644 index 0000000..76b27c2 --- /dev/null +++ b/ci/v7-test-rootless.yml @@ -0,0 +1,25 @@ +image: + registry: codeberg.org + repository: forgejo-experimental/forgejo + tag: 7.0-test@sha256:3569aa096885f7c413248d978a339266a545f0cbbfb2fdc83484e141ba8f4424 + +redis-cluster: + enabled: false +postgresql: + enabled: false +postgresql-ha: + enabled: false + +persistence: + enabled: false + +gitea: + config: + database: + DB_TYPE: sqlite3 + session: + PROVIDER: memory + cache: + ADAPTER: memory + queue: + TYPE: level diff --git a/ci/v8-test-rootless.yml b/ci/v8-test-rootless.yml new file mode 100644 index 0000000..d1fa70c --- /dev/null +++ b/ci/v8-test-rootless.yml @@ -0,0 +1,25 @@ +image: + registry: codeberg.org + repository: forgejo-experimental/forgejo + tag: 8.0-test@sha256:4243036e024d83e363652b10a1a90f4e6e11efc3174b2292cc87104bf715e9d3 + +redis-cluster: + enabled: false +postgresql: + enabled: false +postgresql-ha: + enabled: false + +persistence: + enabled: false + +gitea: + config: + database: + DB_TYPE: sqlite3 + session: + PROVIDER: memory + cache: + ADAPTER: memory + queue: + TYPE: level diff --git a/forgejo-0.1.0.tgz b/forgejo-0.1.0.tgz new file mode 100644 index 0000000..ee32efa Binary files /dev/null and b/forgejo-0.1.0.tgz differ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2adcbb1..304868f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,7 +19,7 @@ importers: version: 8.0.0 conventional-changelog-core: specifier: 8.0.0 - version: 8.0.0(conventional-commits-filter@5.0.0) + version: 8.0.0(conventional-commits-filter@4.0.0) husky: specifier: 9.0.11 version: 9.0.11 @@ -51,12 +51,12 @@ packages: resolution: {integrity: sha512-rN0m0sfbOuaNdCmQWBfSj9o4kgzz+Dw67Dl1ssDVqghv/UpLkrDmNuTxhD1CWu+sesGL66UYJ2VplGz9KxlAdg==} hasBin: true - '@conventional-changelog/git-client@1.0.1': - resolution: {integrity: sha512-PJEqBwAleffCMETaVm/fUgHldzBE35JFk3/9LL6NUA5EXa3qednu+UT6M7E5iBu3zIQZCULYIiZ90fBYHt6xUw==} + '@conventional-changelog/git-client@1.0.0': + resolution: {integrity: sha512-PkUIv8bcY8/mIJig+3CGneb1hfXvjUotuBcroBHyVO4obIz5WGJpBWTuo17XV4p1sTmbGa8TxAmdMzhlPU+tLA==} engines: {node: '>=18'} peerDependencies: - conventional-commits-filter: ^5.0.0 - conventional-commits-parser: ^6.0.0 + conventional-commits-filter: ^4.0.0 + conventional-commits-parser: ^5.0.0 peerDependenciesMeta: conventional-commits-filter: optional: true @@ -195,6 +195,10 @@ packages: engines: {node: '>=18'} hasBin: true + conventional-commits-filter@4.0.0: + resolution: {integrity: sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==} + engines: {node: '>=16'} + conventional-commits-filter@5.0.0: resolution: {integrity: sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==} engines: {node: '>=18'} @@ -744,12 +748,12 @@ snapshots: markdown-table: 2.0.0 yaml: 2.4.1 - '@conventional-changelog/git-client@1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.0.0)': + '@conventional-changelog/git-client@1.0.0(conventional-commits-filter@4.0.0)(conventional-commits-parser@6.0.0)': dependencies: '@types/semver': 7.5.8 semver: 7.6.0 optionalDependencies: - conventional-commits-filter: 5.0.0 + conventional-commits-filter: 4.0.0 conventional-commits-parser: 6.0.0 '@hutson/parse-repository-url@5.0.0': {} @@ -861,14 +865,14 @@ snapshots: dependencies: compare-func: 2.0.0 - conventional-changelog-core@8.0.0(conventional-commits-filter@5.0.0): + conventional-changelog-core@8.0.0(conventional-commits-filter@4.0.0): dependencies: '@hutson/parse-repository-url': 5.0.0 add-stream: 1.0.0 conventional-changelog-writer: 8.0.0 conventional-commits-parser: 6.0.0 - git-raw-commits: 5.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.0.0) - git-semver-tags: 8.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.0.0) + git-raw-commits: 5.0.0(conventional-commits-filter@4.0.0)(conventional-commits-parser@6.0.0) + git-semver-tags: 8.0.0(conventional-commits-filter@4.0.0)(conventional-commits-parser@6.0.0) hosted-git-info: 7.0.1 normalize-package-data: 6.0.0 read-package-up: 11.0.0 @@ -884,6 +888,9 @@ snapshots: meow: 13.2.0 semver: 7.6.0 + conventional-commits-filter@4.0.0: + optional: true + conventional-commits-filter@5.0.0: {} conventional-commits-parser@6.0.0: @@ -958,17 +965,17 @@ snapshots: get-stream@8.0.1: {} - git-raw-commits@5.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.0.0): + git-raw-commits@5.0.0(conventional-commits-filter@4.0.0)(conventional-commits-parser@6.0.0): dependencies: - '@conventional-changelog/git-client': 1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.0.0) + '@conventional-changelog/git-client': 1.0.0(conventional-commits-filter@4.0.0)(conventional-commits-parser@6.0.0) meow: 13.2.0 transitivePeerDependencies: - conventional-commits-filter - conventional-commits-parser - git-semver-tags@8.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.0.0): + git-semver-tags@8.0.0(conventional-commits-filter@4.0.0)(conventional-commits-parser@6.0.0): dependencies: - '@conventional-changelog/git-client': 1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.0.0) + '@conventional-changelog/git-client': 1.0.0(conventional-commits-filter@4.0.0)(conventional-commits-parser@6.0.0) meow: 13.2.0 transitivePeerDependencies: - conventional-commits-filter diff --git a/renovate.json b/renovate.json index 28b35f4..8ff496d 100644 --- a/renovate.json +++ b/renovate.json @@ -2,8 +2,22 @@ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": ["forgejo-contrib/forgejo-renovate//base.json"], "assignees": ["viceice"], - "enabledManagers": ["helmv3", "nodenv", "npm", "regex", "github-actions"], + "enabledManagers": [ + "helmv3", + "nodenv", + "npm", + "custom.regex", + "github-actions" + ], + "baseBranches": ["main", "/^maint\\/.+/"], "packageRules": [ + { + "description": "Disable major chart updates for maintenance branches", + "matchBaseBranches": ["/^maint\\/.+/"], + "matchUpdateTypes": ["major"], + "matchFileNames": ["Chart.yaml"], + "enabled": false + }, { "matchManagers": ["helmv3"], "matchUpdateTypes": ["minor", "patch"], @@ -15,13 +29,13 @@ "semanticCommitType": "feat" }, { - "matchManagers": ["regex"], + "matchManagers": ["custom.regex"], "matchDepNames": ["forgejo"], "matchUpdateTypes": ["patch"], "semanticCommitType": "fix" }, { - "matchManagers": ["regex"], + "matchManagers": ["custom.regex"], "matchDepNames": ["forgejo"], "matchUpdateTypes": ["major", "minor"], "semanticCommitType": "feat" @@ -29,7 +43,7 @@ { "description": "Automerge patch deps updates", "matchManagers": ["helmv3"], - "matchFiles": ["Chart.yaml"], + "matchFileNames": ["Chart.yaml"], "matchUpdateTypes": ["patch"], "automerge": true }, @@ -52,6 +66,11 @@ "matchUpdateTypes": ["minor", "patch"], "automerge": true }, + { + "description": "Automerge digest updates", + "matchUpdateTypes": ["digest"], + "automerge": true + }, { "description": "Separate minor and patch updates for kindest", "matchPackageNames": ["kindest/node"], @@ -63,6 +82,23 @@ "matchUpdateTypes": ["major", "minor"], "dependencyDashboardApproval": true, "automerge": false + }, + { + "description": "Use test scope for forgejo ci tests", + "matchFileNames": ["ci/*.yml"], + "additionalBranchPrefix": "ci-forgejo-", + "semanticCommitType": "ci", + "semanticCommitScope": "forgejo" + }, + { + "description": "Update only daily for forgejo ci tests", + "matchFileNames": ["ci/*.yml"], + "extends": ["schedule:daily"] + }, + { + "description": "branch automerge not possible", + "matchPackagePatterns": [".+"], + "automergeType": "pr" } ], "customManagers": [ diff --git a/templates/gitea/init.yaml b/templates/gitea/init.yaml index 72ab984..6c89dc7 100644 --- a/templates/gitea/init.yaml +++ b/templates/gitea/init.yaml @@ -114,7 +114,7 @@ stringData: echo '...created.' else echo "Admin account '${GITEA_ADMIN_USERNAME}' already exist. Running update to sync password..." - gitea admin user change-password --username "${GITEA_ADMIN_USERNAME}" --password "${GITEA_ADMIN_PASSWORD}" + gitea admin user change-password --username "${GITEA_ADMIN_USERNAME}" --password "${GITEA_ADMIN_PASSWORD}" --must-change-password=false echo '...password sync done.' fi } diff --git a/unittests/deployment/svc-configuration.yaml b/unittests/deployment/svc-configuration.yaml index 2e10094..0ddccad 100644 --- a/unittests/deployment/svc-configuration.yaml +++ b/unittests/deployment/svc-configuration.yaml @@ -49,3 +49,13 @@ tests: asserts: - exists: path: metadata.labels["app"] + + - it: uses default ports to ssh-svc + template: templates/gitea/ssh-svc.yaml + asserts: + - equal: + path: spec.ports[0].port + value: 22 + - equal: + path: spec.ports[0].targetPort + value: 2222 diff --git a/values.yaml b/values.yaml index ceff9c0..f268869 100644 --- a/values.yaml +++ b/values.yaml @@ -391,18 +391,6 @@ gitea: # customProfileUrl: # customEmailUrl: - ## @param gitea.config.server.SSH_PORT SSH port for rootlful Forgejo image - ## @param gitea.config.server.SSH_LISTEN_PORT SSH port for rootless Forgejo image - config: - # APP_NAME: "Forgejo: Git with a cup of tea" - # RUN_MODE: dev - server: - SSH_PORT: 22 # rootful image - SSH_LISTEN_PORT: 2222 # rootless image - # - # security: - # PASSWORD_COMPLEXITY: spec - ## @param gitea.additionalConfigSources Additional configuration from secret or configmap additionalConfigSources: [] # - secret: @@ -420,6 +408,160 @@ gitea: ssh: logLevel: 'INFO' + ## @section `app.ini` overrides + ## @descriptionStart + ## + ## Every value described in the [Cheat + ## Sheet](https://forgejo.org/docs/latest/admin/config-cheat-sheet/) can be + ## set as a Helm value. Configuration sections map to (lowercased) YAML + ## blocks, while the keys themselves remain in all caps. + ## + ## @descriptionEnd + config: + # values in the DEFAULT section + # (https://forgejo.org/docs/latest/admin/config-cheat-sheet/#overall-default) + # are un-namespaced + + ## @param gitea.config.APP_NAME Application name, used in the page title + APP_NAME: 'Forgejo: Beyond coding. We forge.' + + ## @param gitea.config.RUN_MODE Application run mode, affects performance and debugging: `dev` or `prod` + RUN_MODE: prod + + ## @param gitea.config.repository General repository settings + repository: {} + + ## @param gitea.config.cors Cross-origin resource sharing settings + cors: {} + + ## @param gitea.config.ui User interface settings + ui: {} + + ## @param gitea.config.markdown Markdown parser settings + markdown: {} + + ## @param gitea.config.server [object] General server settings + server: + SSH_PORT: 22 # rootful image + SSH_LISTEN_PORT: 2222 # rootless image + + ## @param gitea.config.database Database configuration (only necessary with an [externally managed DB](https://codeberg.org/forgejo-contrib/forgejo-helm#external-database)). + database: {} + + ## @param gitea.config.indexer Settings for what content is indexed and how + indexer: {} + + ## @param gitea.config.queue Job queue configuration + queue: {} + + ## @param gitea.config.admin Admin user settings + admin: {} + + ## @param gitea.config.security Site security settings + security: {} + + ## @param gitea.config.camo Settings for the [camo](https://github.com/cactus/go-camo) media proxy server (disabled by default) + camo: {} + + ## @param gitea.config.openid Configuration for authentication with OpenID (disabled by default) + openid: {} + + ## @param gitea.config.oauth2_client OAuth2 client settings + oauth2_client: {} + + ## @param gitea.config.service Configuration for miscellaneous Forgejo services + service: {} + + ## @param gitea.config.ssh.minimum_key_sizes SSH minimum key sizes + ssh.minimum_key_sizes: {} + + ## @param gitea.config.webhook Webhook settings + webhook: {} + + ## @param gitea.config.mailer Mailer configuration (disabled by default) + mailer: {} + + ## @param gitea.config.email.incoming Configuration for handling incoming mail (disabled by default) + email.incoming: {} + + ## @param gitea.config.cache Cache configuration + cache: {} + + ## @param gitea.config.session Session/cookie handling + session: {} + + ## @param gitea.config.picture User avatar settings + picture: {} + + ## @param gitea.config.project Project board defaults + project: {} + + ## @param gitea.config.attachment Issue and PR attachment configuration + attachment: {} + + ## @param gitea.config.log Logging configuration + log: {} + + ## @param gitea.config.cron Cron job configuration + cron: {} + + ## @param gitea.config.git Global settings for Git + git: {} + + ## @param gitea.config.metrics Settings for the Prometheus endpoint (disabled by default) + metrics: {} + + ## @param gitea.config.api Settings for the Swagger API documentation endpoints + api: {} + + ## @param gitea.config.oauth2 Settings for the [OAuth2 provider](https://forgejo.org/docs/latest/admin/oauth2-provider/) + oauth2: {} + + ## @param gitea.config.i18n Internationalization settings + i18n: {} + + ## @param gitea.config.markup Configuration for advanced markup processors + markup: {} + + ## @param gitea.config.highlight.mapping File extension to language mapping overrides for syntax highlighting + highlight.mapping: {} + + ## @param gitea.config.time Locale settings + time: {} + + ## @param gitea.config.migrations Settings for Git repository migrations + migrations: {} + + ## @param gitea.config.federation Federation configuration + federation: {} + + ## @param gitea.config.packages Package registry settings + packages: {} + + ## @param gitea.config.mirror Configuration for repository mirroring + mirror: {} + + ## @param gitea.config.lfs Large File Storage configuration + lfs: {} + + ## @param gitea.config.repo-avatar Repository avatar storage configuration + repo-avatar: {} + + ## @param gitea.config.avatar User/org avatar storage configuration + avatar: {} + + ## @param gitea.config.storage General storage settings + storage: {} + + ## @param gitea.config.proxy Proxy configuration (disabled by default) + proxy: {} + + ## @param gitea.config.actions Configuration for [Forgejo Actions](https://forgejo.org/docs/latest/user/actions/) + actions: {} + + ## @param gitea.config.other Uncategorized configuration options + other: {} + ## @section LivenessProbe # ## @param gitea.livenessProbe.enabled Enable liveness probe