You've already forked helm-gitea
Compare commits
22 Commits
Author | SHA1 | Date | |
---|---|---|---|
d5ce1a47ea | |||
57a1cd27d9 | |||
6c59fe361d | |||
d1f5dca573 | |||
b8f0310c43 | |||
0d1f748898 | |||
6e5ae5c912 | |||
bb26a872e9 | |||
51bb72090e | |||
58d21e07f9 | |||
299d6db142 | |||
a4ab5f981f | |||
7801c9c5c9 | |||
58fc28f6d0 | |||
32735ed4df | |||
aa97cdab5b | |||
bc16cc8134 | |||
33586d26cf | |||
0172a59889 | |||
2cc3195eaa | |||
b3b91e2044 | |||
9cb822f41c |
15
.drone.yml
15
.drone.yml
@ -10,24 +10,26 @@ platform:
|
|||||||
steps:
|
steps:
|
||||||
- name: helm lint
|
- name: helm lint
|
||||||
pull: always
|
pull: always
|
||||||
image: alpine:3.15
|
image: alpine:3.16
|
||||||
commands:
|
commands:
|
||||||
- apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing helm
|
- apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing helm
|
||||||
- helm lint
|
- helm lint
|
||||||
|
|
||||||
- name: helm template
|
- name: helm template
|
||||||
pull: always
|
pull: always
|
||||||
image: alpine:3.15
|
image: alpine:3.16
|
||||||
commands:
|
commands:
|
||||||
- apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing helm
|
- apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing helm
|
||||||
- helm dependency update
|
- helm dependency update
|
||||||
- helm template --debug gitea-helm .
|
- helm template --debug gitea-helm .
|
||||||
|
|
||||||
- name: markdown lint
|
- name: verify readme
|
||||||
pull: always
|
pull: always
|
||||||
image: docker.io/volkerraschek/markdownlint:latest
|
image: alpine:3.16
|
||||||
commands:
|
commands:
|
||||||
- markdownlint *.md
|
- apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing make npm git
|
||||||
|
- make readme
|
||||||
|
- git diff --exit-code --name-only README.md
|
||||||
|
|
||||||
- name: discord
|
- name: discord
|
||||||
pull: always
|
pull: always
|
||||||
@ -42,6 +44,7 @@ steps:
|
|||||||
- changed
|
- changed
|
||||||
- failure
|
- failure
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: docker
|
type: docker
|
||||||
@ -58,7 +61,7 @@ trigger:
|
|||||||
steps:
|
steps:
|
||||||
- name: generate-chart
|
- name: generate-chart
|
||||||
pull: always
|
pull: always
|
||||||
image: alpine:3.15
|
image: alpine:3.16
|
||||||
commands:
|
commands:
|
||||||
- apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing helm
|
- apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing helm
|
||||||
- apk add --no-cache curl
|
- apk add --no-cache curl
|
||||||
|
41
.gitea/PULL_REQUEST_TEMPLATE.md
Normal file
41
.gitea/PULL_REQUEST_TEMPLATE.md
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
<!--
|
||||||
|
Before you open the request please review the following guidelines and tips to help it be more easily integrated:
|
||||||
|
|
||||||
|
- Describe the scope of your change - i.e. what the change does.
|
||||||
|
- Describe any known limitations with your change.
|
||||||
|
- Please run any tests or examples that can exercise your modified code.
|
||||||
|
|
||||||
|
Thank you for contributing! We will try to review, test and integrate the change as soon as we can.
|
||||||
|
-->
|
||||||
|
|
||||||
|
### Description of the change
|
||||||
|
|
||||||
|
<!-- Describe the scope of your change - i.e. what the change does. -->
|
||||||
|
|
||||||
|
### Benefits
|
||||||
|
|
||||||
|
<!-- What benefits will be realized by the code change? -->
|
||||||
|
|
||||||
|
### Possible drawbacks
|
||||||
|
|
||||||
|
<!-- Describe any known limitations with your change -->
|
||||||
|
|
||||||
|
### Applicable issues
|
||||||
|
|
||||||
|
<!-- Enter any applicable Issues here (You can reference an issue using #). Please remove this section if there is no referenced issue. -->
|
||||||
|
- fixes #
|
||||||
|
|
||||||
|
### Additional information
|
||||||
|
|
||||||
|
<!-- If there's anything else that's important and relevant to your pull request, mention that information here. Please remove this section if it remains empty. -->
|
||||||
|
|
||||||
|
### âš BREAKING
|
||||||
|
|
||||||
|
<!-- If there's a breaking change, please shortly describe in which way users are affected and how they can mitigate it. If there are no breakings, please remove this section. -->
|
||||||
|
|
||||||
|
### Checklist
|
||||||
|
|
||||||
|
<!-- [Place an '[X]' (no spaces) in all applicable fields. Please remove unrelated fields.] -->
|
||||||
|
|
||||||
|
- [ ] Parameters are documented in the `values.yaml` and added to the `README.md` using [readme-generator-for-helm](https://github.com/bitnami-labs/readme-generator-for-helm)
|
||||||
|
- [ ] Breaking changes are documented in the `README.md`
|
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,3 +1,3 @@
|
|||||||
charts
|
charts/
|
||||||
Chart.lock
|
node_modules/
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
@ -20,5 +20,8 @@
|
|||||||
.idea/
|
.idea/
|
||||||
*.tmproj
|
*.tmproj
|
||||||
.vscode/
|
.vscode/
|
||||||
#charts/
|
node_modules/
|
||||||
#Chart.lock
|
.npmrc
|
||||||
|
package.json
|
||||||
|
package-lock.json
|
||||||
|
.gitea/
|
||||||
|
@ -45,7 +45,7 @@ MD012:
|
|||||||
# MD013/line-length - Line length
|
# MD013/line-length - Line length
|
||||||
MD013:
|
MD013:
|
||||||
# Number of characters
|
# Number of characters
|
||||||
line_length: 80
|
line_length: 200
|
||||||
# Number of characters for headings
|
# Number of characters for headings
|
||||||
heading_line_length: 80
|
heading_line_length: 80
|
||||||
# Number of characters for code blocks
|
# Number of characters for code blocks
|
||||||
|
3
.markdownlintignore
Normal file
3
.markdownlintignore
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
.gitea/
|
||||||
|
node_modules/
|
||||||
|
charts/
|
52
CONTRIBUTING.md
Normal file
52
CONTRIBUTING.md
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
# Contribution Guidelines
|
||||||
|
|
||||||
|
Any type of contribution is welcome; from new features, bug fixes, tests,
|
||||||
|
refactorings for easier maintainability or documentation improvements.
|
||||||
|
|
||||||
|
## Development environment
|
||||||
|
|
||||||
|
- [`node`](https://nodejs.org/en/) at least current LTS
|
||||||
|
- [`helm`](https://helm.sh/docs/intro/install/)
|
||||||
|
- `make` is optional; you may call the commands directly
|
||||||
|
|
||||||
|
When using Visual Studio Code as IDE, following plugins might be useful:
|
||||||
|
|
||||||
|
- [Markdown All in One](https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one)
|
||||||
|
- [markdownlint](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint)
|
||||||
|
- [Helm Intellisense](https://marketplace.visualstudio.com/items?itemName=Tim-Koehler.helm-intellisense)
|
||||||
|
|
||||||
|
## Documentation Requirements
|
||||||
|
|
||||||
|
The `README.md` must include all configuration options. The parameters section
|
||||||
|
is generated by extracting the parameter annotations from the `values.yaml` file,
|
||||||
|
by using [this tool](https://github.com/bitnami-labs/readme-generator-for-helm).
|
||||||
|
|
||||||
|
If changes were made on configuration options, run `make readme` to update the
|
||||||
|
README file.
|
||||||
|
|
||||||
|
## Pull Request Requirements
|
||||||
|
|
||||||
|
When submitting or updating a PR:
|
||||||
|
|
||||||
|
- make sure it passes CI builds.
|
||||||
|
- do not make independent changes in one PR.
|
||||||
|
- try to avoid rebases. They make code reviews for large PRs and comments much harder.
|
||||||
|
- if applicable, use the PR template for a well-defined PR description.
|
||||||
|
- clearly mark breaking changes.
|
||||||
|
|
||||||
|
## Local development & testing
|
||||||
|
|
||||||
|
For local development and testing of pull requests, the following workflow can
|
||||||
|
be used:
|
||||||
|
|
||||||
|
1. Install `minikube` and `helm`.
|
||||||
|
2. Start a `minikube` cluster via `minikube start`.
|
||||||
|
3. From the `gitea/helm-chart` directory execute the following command. This
|
||||||
|
will install the dependencies listed in `Chart.yml` and deploy the current
|
||||||
|
state of the helm chart found locally. If you want to test a branch, make
|
||||||
|
sure to switch to the respective branch first.
|
||||||
|
`helm install --dependency-update gitea . -f values.yaml`.
|
||||||
|
4. Gitea is now deployed in `minikube`. To access it, it's port needs to be
|
||||||
|
forwarded first from `minikube` to localhost first via `kubectl --namespace
|
||||||
|
default port-forward svc/gitea-http 3000:3000`. Now Gitea is accessible at
|
||||||
|
[http://localhost:3000](http://localhost:3000).
|
15
Chart.lock
Normal file
15
Chart.lock
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
dependencies:
|
||||||
|
- name: memcached
|
||||||
|
repository: https://raw.githubusercontent.com/bitnami/charts/pre-2022/bitnami
|
||||||
|
version: 5.9.0
|
||||||
|
- name: mysql
|
||||||
|
repository: https://raw.githubusercontent.com/bitnami/charts/pre-2022/bitnami
|
||||||
|
version: 6.14.10
|
||||||
|
- name: postgresql
|
||||||
|
repository: https://raw.githubusercontent.com/bitnami/charts/pre-2022/bitnami
|
||||||
|
version: 10.3.17
|
||||||
|
- 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"
|
10
Chart.yaml
10
Chart.yaml
@ -3,7 +3,7 @@ name: gitea
|
|||||||
description: Gitea Helm chart for Kubernetes
|
description: Gitea Helm chart for Kubernetes
|
||||||
type: application
|
type: application
|
||||||
version: 0.0.0
|
version: 0.0.0
|
||||||
appVersion: 1.16.8
|
appVersion: 1.17.3
|
||||||
icon: https://docs.gitea.io/images/gitea.png
|
icon: https://docs.gitea.io/images/gitea.png
|
||||||
|
|
||||||
keywords:
|
keywords:
|
||||||
@ -32,18 +32,18 @@ maintainers:
|
|||||||
# 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/10539 for details
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: memcached
|
- name: memcached
|
||||||
repository: https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami
|
repository: https://raw.githubusercontent.com/bitnami/charts/pre-2022/bitnami
|
||||||
version: 5.9.0
|
version: 5.9.0
|
||||||
condition: memcached.enabled
|
condition: memcached.enabled
|
||||||
- name: mysql
|
- name: mysql
|
||||||
repository: https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami
|
repository: https://raw.githubusercontent.com/bitnami/charts/pre-2022/bitnami
|
||||||
version: 6.14.10
|
version: 6.14.10
|
||||||
condition: mysql.enabled
|
condition: mysql.enabled
|
||||||
- name: postgresql
|
- name: postgresql
|
||||||
repository: https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami
|
repository: https://raw.githubusercontent.com/bitnami/charts/pre-2022/bitnami
|
||||||
version: 10.3.17
|
version: 10.3.17
|
||||||
condition: postgresql.enabled
|
condition: postgresql.enabled
|
||||||
- name: mariadb
|
- name: mariadb
|
||||||
repository: https://raw.githubusercontent.com/bitnami/charts/eb5f9a9513d987b519f0ecd732e7031241c50328/bitnami
|
repository: https://raw.githubusercontent.com/bitnami/charts/pre-2022/bitnami
|
||||||
version: 9.3.6
|
version: 9.3.6
|
||||||
condition: mariadb.enabled
|
condition: mariadb.enabled
|
||||||
|
8
Makefile
Normal file
8
Makefile
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
.PHONY: prepare-environment
|
||||||
|
prepare-environment:
|
||||||
|
npm install
|
||||||
|
|
||||||
|
.PHONY: readme
|
||||||
|
readme: prepare-environment
|
||||||
|
npm run readme:parameters
|
||||||
|
npm run readme:lint
|
703
README.md
703
README.md
@ -15,13 +15,14 @@ as well as being deployed as a statefulset to retain stored repositories.
|
|||||||
|
|
||||||
Gitea can be run with an external database and cache. This chart provides those
|
Gitea can be run with an external database and cache. This chart provides those
|
||||||
dependencies, which can be enabled, or disabled via
|
dependencies, which can be enabled, or disabled via
|
||||||
[configuration](#configuration).
|
configuration.
|
||||||
|
|
||||||
Dependencies:
|
Dependencies:
|
||||||
|
|
||||||
- PostgreSQL
|
- PostgreSQL ([configuration](#postgresql))
|
||||||
- Memcached
|
- Memcached ([configuration](#memcached))
|
||||||
- MySQL
|
- MySQL ([configuration](#mysql))
|
||||||
|
- MariaDB ([configuration](#mariadb))
|
||||||
|
|
||||||
## Installing
|
## Installing
|
||||||
|
|
||||||
@ -31,171 +32,15 @@ helm repo update
|
|||||||
helm install gitea gitea-charts/gitea
|
helm install gitea gitea-charts/gitea
|
||||||
```
|
```
|
||||||
|
|
||||||
|
When upgrading, please refer to the [Upgrading](#upgrading) section at the bottom
|
||||||
|
of this document for major and breaking changes.
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
- Kubernetes 1.12+
|
- Kubernetes 1.12+
|
||||||
- Helm 3.0+
|
- Helm 3.0+
|
||||||
- PV provisioner for persistent data support
|
- PV provisioner for persistent data support
|
||||||
|
|
||||||
## Chart upgrade to 5.0.0
|
|
||||||
|
|
||||||
:warning: The most recent `5.0.0` update brings some major and breaking changes.
|
|
||||||
Please note the following changes in the Chart to upgrade successfully. :warning:
|
|
||||||
|
|
||||||
### Enable Dependencies
|
|
||||||
|
|
||||||
:warning: The values to enable the dependencies,
|
|
||||||
such as PostgreSQL, Memcached, MySQL and MariaDB
|
|
||||||
have been moved from `gitea.database.builtIn.` to the dependency values. :warning:
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
> :boom: The Helm Chart now requires Gitea versions of at least 1.11.0.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
> :rotating_light: 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
|
|
||||||
|
|
||||||
> :boom: `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](#oauth-settings) and
|
|
||||||
[LDAP Settings](#ldap-settings) section for details.
|
|
||||||
|
|
||||||
## Chart upgrade from 3.x.x to 4.0.0
|
|
||||||
|
|
||||||
:warning: The most recent `4.0.0` update brings some breaking changes. Please note
|
|
||||||
the following changes in the Chart to upgrade successfully. :warning:
|
|
||||||
|
|
||||||
### 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.
|
|
||||||
|
|
||||||
## 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`.
|
|
||||||
|
|
||||||
## Configure Commit Signing
|
## Configure Commit Signing
|
||||||
|
|
||||||
When using the rootless image the gpg key folder was is not persistent by
|
When using the rootless image the gpg key folder was is not persistent by
|
||||||
@ -625,8 +470,8 @@ gitea:
|
|||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
:warning: Some options are just flags and therefore don't any values. If they
|
⚠️ Some options are just flags and therefore don't have any values. If they
|
||||||
are defined in `gitea.ldap` configuration, they will be passed to the Gitea cli
|
are defined in `gitea.ldap` configuration, they will be passed to the Gitea CLI
|
||||||
without any value. Affected options:
|
without any value. Affected options:
|
||||||
|
|
||||||
- notActive
|
- notActive
|
||||||
@ -712,224 +557,410 @@ gitea:
|
|||||||
podAnnotations: {}
|
podAnnotations: {}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Configuration
|
## Parameters
|
||||||
|
|
||||||
### Others
|
### Global
|
||||||
|
|
||||||
| Parameter | Description | Default |
|
| Name | Description | Value |
|
||||||
| ------------------------------------------- | -------------------------------------------------------------------- | ------- |
|
| ------------------------- | ------------------------------------------------------------------------- | --------------- |
|
||||||
| `statefulset.annotations` | Annotations for the Gitea StatefulSet to be created | `{}` |
|
| `global.imageRegistry` | global image registry override | `""` |
|
||||||
| `statefulset.terminationGracePeriodSeconds` | How long to wait until forcefully kill the pod | `60` |
|
| `global.imagePullSecrets` | global image pull secrets override; can be extended by `imagePullSecrets` | `[]` |
|
||||||
| `statefulset.env` | Additional environment variables to pass to containers | `[]` |
|
| `global.storageClass` | global storage class override | `""` |
|
||||||
| `extraVolumes` | Additional volumes to mount to the Gitea statefulset | `{}` |
|
| `replicaCount` | number of replicas for the statefulset | `1` |
|
||||||
| `extraVolumeMounts` | Additional volume mounts for the Gitea containers | `{}` |
|
| `clusterDomain` | cluster domain | `cluster.local` |
|
||||||
| `initPreScript` | Bash script copied verbatim to start of init container | |
|
|
||||||
| `podSecurityContext.fsGroup` | Set the shared file system group for all containers | 1000 |
|
|
||||||
| `containerSecurityContext` | Run init and Gitea containers as a specific securityContext | `{}` |
|
|
||||||
| `schedulerName` | Use an alternate scheduler, e.g. "stork" | |
|
|
||||||
|
|
||||||
### Image
|
### Image
|
||||||
|
|
||||||
| Parameter | Description | Default |
|
| Name | Description | Value |
|
||||||
| ------------------ | ----------------------------------------------------------------------------------------- | ---------------------------------- |
|
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------- | ------------- |
|
||||||
| `image.repository` | Image to start for this pod | `gitea/gitea` |
|
| `image.registry` | image registry, e.g. gcr.io,docker.io | `""` |
|
||||||
| `image.tag` | [Image tag](https://hub.docker.com/r/gitea/gitea/tags?page=1&ordering=last_updated) | see [Chart.AppVersion](Chart.yaml) |
|
| `image.repository` | Image to start for this pod | `gitea/gitea` |
|
||||||
| `image.pullPolicy` | Image pull policy | `Always` |
|
| `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.rootless` | Wether or not to pull the rootless version of Gitea, only works on Gitea 1.14.x or higher | `false` |
|
| `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 | `[]` |
|
||||||
|
|
||||||
### Persistence
|
### Security
|
||||||
|
|
||||||
| Parameter | Description | Default |
|
| Name | Description | Value |
|
||||||
| --------------------------- | ---------------------------------------------------------- | ------- |
|
| ---------------------------- | --------------------------------------------------------------- | ------ |
|
||||||
| `persistence.enabled` | Enable persistence for Gitea | `true` |
|
| `podSecurityContext.fsGroup` | Set the shared file system group for all containers in the pod. | `1000` |
|
||||||
| `persistence.existingClaim` | Use an existing claim to store repository information | |
|
| `containerSecurityContext` | Security context | `{}` |
|
||||||
| `persistence.size` | Size for persistence to store repo information | `10Gi` |
|
| `securityContext` | Run init and Gitea containers as a specific securityContext | `{}` |
|
||||||
| `persistence.accessModes` | AccessMode for persistence | |
|
|
||||||
| `persistence.storageClass` | Storage class for repository persistence | |
|
|
||||||
| `persistence.subPath` | Subdirectory of the volume to mount at | |
|
|
||||||
| `persistence.labels` | Labels for the persistence volume claim to be created | `{}` |
|
|
||||||
| `persistence.annotations` | Annotations for the persistence volume claim to be created | `{}` |
|
|
||||||
|
|
||||||
### Ingress
|
|
||||||
|
|
||||||
| Parameter | Description | Default |
|
|
||||||
| ------------------------------------ | ---------------------------------------------------------------------------- | -------------------------------------------------- |
|
|
||||||
| `ingress.enabled` | enable ingress | `false` |
|
|
||||||
| `ingress.annotations` | add ingress annotations | |
|
|
||||||
| `ingress.hosts[0].host` | add hosts for ingress | `git.example.com` |
|
|
||||||
| `ingress.hosts[0].paths[0].path` | add path for each ingress host | `/` |
|
|
||||||
| `ingress.hosts[0].paths[0].pathType` | add ingress path type | `Prefix` |
|
|
||||||
| `ingress.tls` | add ingress tls settings | `[]` |
|
|
||||||
| `ingress.className` | add ingress class name. Only used in k8s 1.19+ | |
|
|
||||||
| `ingress.apiVersion` | specify APIVersion of ingress object. Mostly would only be used for argocd. | version indicated by helm's `Capabilities` object. |
|
|
||||||
|
|
||||||
### Service
|
### Service
|
||||||
|
|
||||||
#### Web
|
| Name | Description | Value |
|
||||||
|
| --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
|
||||||
|
| `service.http.type` | Kubernetes service type for web traffic | `ClusterIP` |
|
||||||
|
| `service.http.port` | Port number for web traffic | `3000` |
|
||||||
|
| `service.http.clusterIP` | ClusterIP setting for http autosetup for statefulset is None | `None` |
|
||||||
|
| `service.http.loadBalancerIP` | LoadBalancer IP setting | `nil` |
|
||||||
|
| `service.http.nodePort` | NodePort for http service | `nil` |
|
||||||
|
| `service.http.externalTrafficPolicy` | If `service.http.type` is `NodePort` or `LoadBalancer`, set this to `Local` to enable source IP preservation | `nil` |
|
||||||
|
| `service.http.externalIPs` | External IPs for service | `nil` |
|
||||||
|
| `service.http.ipFamilyPolicy` | HTTP service dual-stack policy | `nil` |
|
||||||
|
| `service.http.ipFamilies` | HTTP service dual-stack familiy selection,for dual-stack parameters see official kubernetes [dual-stack concept documentation](https://kubernetes.io/docs/concepts/services-networking/dual-stack/). | `nil` |
|
||||||
|
| `service.http.loadBalancerSourceRanges` | Source range filter for http loadbalancer | `[]` |
|
||||||
|
| `service.http.annotations` | HTTP service annotations | `{}` |
|
||||||
|
| `service.ssh.type` | Kubernetes service type for ssh traffic | `ClusterIP` |
|
||||||
|
| `service.ssh.port` | Port number for ssh traffic | `22` |
|
||||||
|
| `service.ssh.clusterIP` | ClusterIP setting for ssh autosetup for statefulset is None | `None` |
|
||||||
|
| `service.ssh.loadBalancerIP` | LoadBalancer IP setting | `nil` |
|
||||||
|
| `service.ssh.nodePort` | NodePort for ssh service | `nil` |
|
||||||
|
| `service.ssh.externalTrafficPolicy` | If `service.ssh.type` is `NodePort` or `LoadBalancer`, set this to `Local` to enable source IP preservation | `nil` |
|
||||||
|
| `service.ssh.externalIPs` | External IPs for service | `nil` |
|
||||||
|
| `service.ssh.ipFamilyPolicy` | SSH service dual-stack policy | `nil` |
|
||||||
|
| `service.ssh.ipFamilies` | SSH service dual-stack familiy selection,for dual-stack parameters see official kubernetes [dual-stack concept documentation](https://kubernetes.io/docs/concepts/services-networking/dual-stack/). | `nil` |
|
||||||
|
| `service.ssh.hostPort` | HostPort for ssh service | `nil` |
|
||||||
|
| `service.ssh.loadBalancerSourceRanges` | Source range filter for ssh loadbalancer | `[]` |
|
||||||
|
| `service.ssh.annotations` | SSH service annotations | `{}` |
|
||||||
|
|
||||||
| Parameter | Description | Default |
|
### Ingress
|
||||||
| --------------------------------------- | ------------------------------------------------------------------------------------------------------------ | ----------- |
|
|
||||||
| `service.http.type` | Kubernetes service type for web traffic | `ClusterIP` |
|
|
||||||
| `service.http.port` | Port for web traffic | `3000` |
|
|
||||||
| `service.http.clusterIP` | ClusterIP setting for http autosetup for statefulset is None | `None` |
|
|
||||||
| `service.http.loadBalancerIP` | LoadBalancer Ip setting | |
|
|
||||||
| `service.http.nodePort` | NodePort for http service | |
|
|
||||||
| `service.http.externalTrafficPolicy` | If `service.http.type` is `NodePort` or `LoadBalancer`, set this to `Local` to enable source IP preservation | |
|
|
||||||
| `service.http.externalIPs` | http service external IP addresses | |
|
|
||||||
| `service.http.ipFamilyPolicy` | http service dual-stack policy | |
|
|
||||||
| `service.http.ipFamilies` | http service dual-stack familiy selection | |
|
|
||||||
| `service.http.loadBalancerSourceRanges` | Source range filter for http loadbalancer | `[]` |
|
|
||||||
| `service.http.annotations` | http service annotations | |
|
|
||||||
|
|
||||||
For dual-stack parameters see official kubernetes [dual-stack concept documentation](https://kubernetes.io/docs/concepts/services-networking/dual-stack/).
|
| Name | Description | Value |
|
||||||
|
| ------------------------------------ | --------------------------------------------------------------------------- | ----------------- |
|
||||||
|
| `ingress.enabled` | Enable ingress | `false` |
|
||||||
|
| `ingress.className` | Ingress class name | `nil` |
|
||||||
|
| `ingress.annotations` | Ingress annotations | `{}` |
|
||||||
|
| `ingress.hosts[0].host` | Default Ingress host | `git.example.com` |
|
||||||
|
| `ingress.hosts[0].paths[0].path` | Default Ingress path | `/` |
|
||||||
|
| `ingress.hosts[0].paths[0].pathType` | Ingress path type | `Prefix` |
|
||||||
|
| `ingress.tls` | Ingress tls settings | `[]` |
|
||||||
|
| `ingress.apiVersion` | Specify APIVersion of ingress object. Mostly would only be used for argocd. | |
|
||||||
|
|
||||||
#### SSH
|
### StatefulSet
|
||||||
|
|
||||||
| Parameter | Description | Default |
|
| Name | Description | Value |
|
||||||
| -------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------- |
|
| ------------------------------------------- | ------------------------------------------------------ | ----- |
|
||||||
| `service.ssh.type` | Kubernetes service type for ssh traffic | `ClusterIP` |
|
| `resources` | Kubernetes resources | `{}` |
|
||||||
| `service.ssh.port` | Port for ssh traffic | `22` |
|
| `schedulerName` | Use an alternate scheduler, e.g. "stork" | `""` |
|
||||||
| `service.ssh.loadBalancerIP` | LoadBalancer Ip setting | |
|
| `nodeSelector` | NodeSelector for the statefulset | `{}` |
|
||||||
| `service.ssh.nodePort` | NodePort for ssh service | |
|
| `tolerations` | Tolerations for the statefulset | `[]` |
|
||||||
| `service.ssh.hostPort` | HostPort for ssh service | |
|
| `affinity` | Affinity for the statefulset | `{}` |
|
||||||
| `service.ssh.externalTrafficPolicy` | If `service.ssh.type` is `NodePort` or `LoadBalancer`, set this to `Local` to enable source IP preservation | |
|
| `dnsConfig` | dnsConfig for the statefulset | `{}` |
|
||||||
| `service.ssh.externalIPs` | ssh service external IP addresses | |
|
| `statefulset.env` | Additional environment variables to pass to containers | `[]` |
|
||||||
| `service.ssh.ipFamilyPolicy` | ssh service dual-stack policy | |
|
| `statefulset.terminationGracePeriodSeconds` | How long to wait until forcefully kill the pod | `60` |
|
||||||
| `service.ssh.ipFamilies` | ssh service dual-stack familiy selection | |
|
| `statefulset.labels` | Labels for the statefulset | `{}` |
|
||||||
| `service.ssh.loadBalancerSourceRanges` | Source range filter for ssh loadbalancer | `[]` |
|
| `statefulset.annotations` | Annotations for the Gitea StatefulSet to be created | `{}` |
|
||||||
| `service.ssh.annotations` | ssh service annotations | |
|
|
||||||
|
|
||||||
For dual-stack parameters see official kubernetes [dual-stack concept documentation](https://kubernetes.io/docs/concepts/services-networking/dual-stack/).
|
### Persistence
|
||||||
|
|
||||||
### Gitea Configuration
|
| 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 | `[]` |
|
||||||
|
|
||||||
| Parameter | Description | Default |
|
### Init
|
||||||
| -------------- | ---------------------------------------------------------------------------------------------------- | ------- |
|
|
||||||
| `gitea.config` | Everything in `app.ini` can be configured with this dict. See [Examples](#examples) for more details | `{}` |
|
|
||||||
|
|
||||||
### Gitea Probes
|
| Name | Description | Value |
|
||||||
|
| --------------- | --------------------------------------------------------------------- | ----- |
|
||||||
|
| `initPreScript` | Bash shell script copied verbatim to the start of the init-container. | `""` |
|
||||||
|
|
||||||
Configure Liveness, Readiness and Startup
|
### Signing
|
||||||
[Probes](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/).
|
|
||||||
|
|
||||||
#### Liveness probe
|
| Name | Description | Value |
|
||||||
|
| ----------------- | ---------------------------- | ------------------ |
|
||||||
|
| `signing.enabled` | Enable commit/action signing | `false` |
|
||||||
|
| `signing.gpgHome` | GPG home directory | `/data/git/.gnupg` |
|
||||||
|
|
||||||
- Default status: Enabled
|
### Gitea
|
||||||
- Default action: tcp socket connect
|
|
||||||
|
|
||||||
| Parameter | Description | Default |
|
| Name | Description | Value |
|
||||||
| ------------------------------------------ | -------------------------------------------------------------------- | ------- |
|
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------------------- |
|
||||||
| `gitea.livenessProbe.initialDelaySeconds` | Delay before probe start | `200` |
|
| `gitea.admin.username` | Username for the Gitea admin user | `gitea_admin` |
|
||||||
| `gitea.livenessProbe.timeoutSeconds` | probe timeout | `1` |
|
| `gitea.admin.existingSecret` | Use an existing secret to store admin user credentials | `nil` |
|
||||||
| `gitea.livenessProbe.periodSeconds` | period between probes | `10` |
|
| `gitea.admin.password` | Password for the Gitea admin user | `r8sA8CPHD9!bt6d` |
|
||||||
| `gitea.livenessProbe.successThreshold` | Minimum consecutive success probes | `1` |
|
| `gitea.admin.email` | Email for the Gitea admin user | `gitea@local.domain` |
|
||||||
| `gitea.livenessProbe.failureThreshold` | Minimum consecutive error probes | `10` |
|
| `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 | `{}` |
|
||||||
|
|
||||||
#### Readiness probe
|
### LivenessProbe
|
||||||
|
|
||||||
- Default status: Enabled
|
| Name | Description | Value |
|
||||||
- Default action: tcp socket connect
|
| ----------------------------------------- | ------------------------------------------------ | ------ |
|
||||||
|
| `gitea.livenessProbe.enabled` | Enable liveness probe | `true` |
|
||||||
|
| `gitea.livenessProbe.tcpSocket.port` | Port to probe for liveness | `http` |
|
||||||
|
| `gitea.livenessProbe.initialDelaySeconds` | Initial delay before liveness probe is initiated | `200` |
|
||||||
|
| `gitea.livenessProbe.timeoutSeconds` | Timeout for liveness probe | `1` |
|
||||||
|
| `gitea.livenessProbe.periodSeconds` | Period for liveness probe | `10` |
|
||||||
|
| `gitea.livenessProbe.successThreshold` | Success threshold for liveness probe | `1` |
|
||||||
|
| `gitea.livenessProbe.failureThreshold` | Failure threshold for liveness probe | `10` |
|
||||||
|
|
||||||
| Parameter | Description | Default |
|
### ReadinessProbe
|
||||||
| ------------------------------------------ | -------------------------------------------------------------------- | ------- |
|
|
||||||
| `gitea.readinessProbe.initialDelaySeconds` | Delay before probe start | `5` |
|
|
||||||
| `gitea.readinessProbe.timeoutSeconds` | probe timeout | `1` |
|
|
||||||
| `gitea.readinessProbe.periodSeconds` | period between probes | `10` |
|
|
||||||
| `gitea.readinessProbe.successThreshold` | Minimum consecutive success probes | `1` |
|
|
||||||
| `gitea.readinessProbe.failureThreshold` | Minimum consecutive error probes | `3` |
|
|
||||||
|
|
||||||
#### Startup probe
|
| Name | Description | Value |
|
||||||
|
| ------------------------------------------ | ------------------------------------------------- | ------ |
|
||||||
|
| `gitea.readinessProbe.enabled` | Enable readiness probe | `true` |
|
||||||
|
| `gitea.readinessProbe.tcpSocket.port` | Port to probe for readiness | `http` |
|
||||||
|
| `gitea.readinessProbe.initialDelaySeconds` | Initial delay before readiness probe is initiated | `5` |
|
||||||
|
| `gitea.readinessProbe.timeoutSeconds` | Timeout for readiness probe | `1` |
|
||||||
|
| `gitea.readinessProbe.periodSeconds` | Period for readiness probe | `10` |
|
||||||
|
| `gitea.readinessProbe.successThreshold` | Success threshold for readiness probe | `1` |
|
||||||
|
| `gitea.readinessProbe.failureThreshold` | Failure threshold for readiness probe | `3` |
|
||||||
|
|
||||||
- Default status: Disabled
|
### StartupProbe
|
||||||
- Default action: tcp socket connect
|
|
||||||
|
|
||||||
| Parameter | Description | Default |
|
| Name | Description | Value |
|
||||||
| ------------------------------------------ | -------------------------------------------------------------------- | ------- |
|
| ---------------------------------------- | ----------------------------------------------- | ------- |
|
||||||
| `gitea.startupProbe.initialDelaySeconds` | Delay before probe start | `60` |
|
| `gitea.startupProbe.enabled` | Enable startup probe | `false` |
|
||||||
| `gitea.startupProbe.timeoutSeconds` | probe timeout | `1` |
|
| `gitea.startupProbe.tcpSocket.port` | Port to probe for startup | `http` |
|
||||||
| `gitea.startupProbe.periodSeconds` | period between probes | `10` |
|
| `gitea.startupProbe.initialDelaySeconds` | Initial delay before startup probe is initiated | `60` |
|
||||||
| `gitea.startupProbe.successThreshold` | Minimum consecutive success probes | `1` |
|
| `gitea.startupProbe.timeoutSeconds` | Timeout for startup probe | `1` |
|
||||||
| `gitea.startupProbe.failureThreshold` | Minimum consecutive error probes | `10` |
|
| `gitea.startupProbe.periodSeconds` | Period for startup probe | `10` |
|
||||||
|
| `gitea.startupProbe.successThreshold` | Success threshold for startup probe | `1` |
|
||||||
|
| `gitea.startupProbe.failureThreshold` | Failure threshold for startup probe | `10` |
|
||||||
|
|
||||||
### Memcached BuiltIn
|
### Memcached
|
||||||
|
|
||||||
Memcached is loaded as a dependency from
|
| Name | Description | Value |
|
||||||
[Bitnami](https://github.com/bitnami/charts/tree/master/bitnami/memcached) if
|
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
|
||||||
enabled in the values. Complete Configuration can be taken from their website.
|
| `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` |
|
||||||
|
|
||||||
The following parameters are the defaults set by this chart
|
### PostgreSQL
|
||||||
|
|
||||||
| Parameter | Description | Default |
|
| Name | Description | Value |
|
||||||
| ------------------------ | --------------------------- | ------- |
|
|
||||||
| `memcached.service.port` | Memcached Port | 11211 |
|
|
||||||
| `memcached.enabled` | Enable Memcached dependency | `true` |
|
|
||||||
|
|
||||||
### MySQL BuiltIn
|
|
||||||
|
|
||||||
MySQL is loaded as a dependency from stable. Configuration can be found on this
|
|
||||||
[website](https://github.com/helm/charts/tree/master/stable/mysql).
|
|
||||||
|
|
||||||
The following parameters are the defaults set by this chart
|
|
||||||
|
|
||||||
| Parameter | Description | Default |
|
|
||||||
| ------------------------ | ------------------------------------------------------------------ | ------- |
|
|
||||||
| `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` | Persistence size for MySQL | `10Gi` |
|
|
||||||
| `mysql.enabled` | Enable MySQL dependency | `false` |
|
|
||||||
|
|
||||||
### PostgreSQL BuiltIn
|
|
||||||
|
|
||||||
PostgreSQL is loaded as a dependency from Bitnami. The chart configuration can
|
|
||||||
be found in this
|
|
||||||
[Bitnami](https://github.com/bitnami/charts/tree/master/bitnami/postgresql)
|
|
||||||
repository.
|
|
||||||
|
|
||||||
The following parameters are the defaults set by this chart
|
|
||||||
|
|
||||||
| Parameter | Description | Default |
|
|
||||||
| ------------------------------------------------- | -------------------------------------------------------- | ------- |
|
| ------------------------------------------------- | -------------------------------------------------------- | ------- |
|
||||||
|
| `postgresql.enabled` | Enable PostgreSQL | `true` |
|
||||||
| `postgresql.global.postgresql.postgresqlDatabase` | PostgreSQL database (overrides postgresqlDatabase) | `gitea` |
|
| `postgresql.global.postgresql.postgresqlDatabase` | PostgreSQL database (overrides postgresqlDatabase) | `gitea` |
|
||||||
| `postgresql.global.postgresql.postgresqlUsername` | PostgreSQL username (overrides postgresqlUsername) | `gitea` |
|
| `postgresql.global.postgresql.postgresqlUsername` | PostgreSQL username (overrides postgresqlUsername) | `gitea` |
|
||||||
| `postgresql.global.postgresql.postgresqlPassword` | PostgreSQL admin password (overrides postgresqlPassword) | `gitea` |
|
| `postgresql.global.postgresql.postgresqlPassword` | PostgreSQL admin password (overrides postgresqlPassword) | `gitea` |
|
||||||
| `postgresql.global.postgresql.servicePort` | PostgreSQL port (overrides service.port) | `5432` |
|
| `postgresql.global.postgresql.servicePort` | PostgreSQL port (overrides service.port) | `5432` |
|
||||||
| `postgresql.persistence.size` | PVC Storage Request for PostgreSQL volume | `10Gi` |
|
| `postgresql.persistence.size` | PVC Storage Request for PostgreSQL volume | `10Gi` |
|
||||||
| `postgresql.enabled` | Enable PostgreSQL dependency | `true` |
|
|
||||||
|
|
||||||
### MariaDB BuiltIn
|
### MySQL
|
||||||
|
|
||||||
MariaDB is loaded as a dependency from bitnami. Configuration can be found in
|
| Name | Description | Value |
|
||||||
this [Bitnami](https://github.com/bitnami/charts/tree/master/bitnami/mariadb)
|
| ------------------------ | ------------------------------------------------------------------ | ------- |
|
||||||
repository.
|
| `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` |
|
||||||
|
|
||||||
The following parameters are the defaults set by this chart
|
### MariaDB
|
||||||
|
|
||||||
| Parameter | Description | Default |
|
| Name | Description | Value |
|
||||||
| ---------------------------------- | ----------------------------------------------------------------- | ------- |
|
| ---------------------------------- | ----------------------------------------------------------------- | ------- |
|
||||||
| `mariadb.auth.username` | Username of new user to create. | `gitea` |
|
| `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.password` | Password for the new user. Ignored if existing secret is provided | `gitea` |
|
||||||
| `mariadb.auth.database` | Name for new database to create. | `gitea` |
|
|
||||||
| `mariadb.auth.rootPassword` | Password for the root user. | `gitea` |
|
| `mariadb.auth.rootPassword` | Password for the root user. | `gitea` |
|
||||||
| `mariadb.primary.service.port` | Port to connect to MariaDB service | `3306` |
|
| `mariadb.primary.service.port` | Port to connect to MariaDB service | `3306` |
|
||||||
| `mariadb.primary.persistence.size` | Persistence size for MariaDB | `10Gi` |
|
| `mariadb.primary.persistence.size` | Persistence size for MariaDB | `10Gi` |
|
||||||
| `mariadb.enabled` | Enable MariaDB dependency | `false` |
|
|
||||||
|
|
||||||
## Local development & testing
|
### Advanced
|
||||||
|
|
||||||
For local development and testing of pull requests, the following workflow can
|
| Name | Description | Value |
|
||||||
be used:
|
| ------------------ | ---------------------------------------------------- | ------ |
|
||||||
|
| `checkDeprecation` | Set it to false to skip this basic validation check. | `true` |
|
||||||
|
|
||||||
1. Install `minikube` and `helm`.
|
## Contributing
|
||||||
2. Start a `minikube` cluster via `minikube start`.
|
|
||||||
3. From the `gitea/helm-chart` directory execute the following command. This
|
Expected workflow is: Fork -> Patch -> Push -> Pull Request
|
||||||
will install the dependencies listed in `Chart.yml` and deploy the current
|
|
||||||
state of the helm chart found locally. If you want to test a branch, make
|
See [CONTRIBUTORS GUIDE](CONTRIBUTING.md) for details.
|
||||||
sure to switch to the respective branch first.
|
|
||||||
`helm install --dependency-update gitea . -f values.yaml`.
|
## Upgrading
|
||||||
4. Gitea is now deployed in `minikube`. To access it, it's port needs to be
|
|
||||||
forwarded first from `minikube` to localhost first via `kubectl --namespace
|
This section lists major and breaking changes of each Helm Chart version.
|
||||||
default port-forward svc/gitea-http 3000:3000`. Now Gitea is accessible at
|
Please read them carefully to upgrade successfully.
|
||||||
[http://localhost:3000](http://localhost:3000).
|
|
||||||
|
### 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`.
|
||||||
|
721
package-lock.json
generated
Normal file
721
package-lock.json
generated
Normal file
@ -0,0 +1,721 @@
|
|||||||
|
{
|
||||||
|
"name": "gitea-helm-chart",
|
||||||
|
"lockfileVersion": 2,
|
||||||
|
"requires": true,
|
||||||
|
"packages": {
|
||||||
|
"": {
|
||||||
|
"name": "gitea-helm-chart",
|
||||||
|
"license": "MIT",
|
||||||
|
"devDependencies": {
|
||||||
|
"markdownlint-cli": "^0.31.1",
|
||||||
|
"readme-generator-for-helm": "https://github.com/bitnami-labs/readme-generator-for-helm/tarball/498ea5d19478a36556f1636e1e041a7510d09289"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=16.0.0",
|
||||||
|
"npm": ">=8.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/argparse": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/balanced-match": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/brace-expansion": {
|
||||||
|
"version": "1.1.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||||
|
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"balanced-match": "^1.0.0",
|
||||||
|
"concat-map": "0.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/commander": {
|
||||||
|
"version": "7.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
|
||||||
|
"integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/concat-map": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||||
|
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/deep-extend": {
|
||||||
|
"version": "0.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
|
||||||
|
"integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/dot-object": {
|
||||||
|
"version": "2.1.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/dot-object/-/dot-object-2.1.4.tgz",
|
||||||
|
"integrity": "sha512-7FXnyyCLFawNYJ+NhkqyP9Wd2yzuo+7n9pGiYpkmXCTYa8Ci2U0eUNDVg5OuO5Pm6aFXI2SWN8/N/w7SJWu1WA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"commander": "^4.0.0",
|
||||||
|
"glob": "^7.1.5"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"dot-object": "bin/dot-object"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/dot-object/node_modules/commander": {
|
||||||
|
"version": "4.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
|
||||||
|
"integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/entities": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==",
|
||||||
|
"dev": true,
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/fb55/entities?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/fs.realpath": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/get-stdin": {
|
||||||
|
"version": "9.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz",
|
||||||
|
"integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/glob": {
|
||||||
|
"version": "7.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
|
||||||
|
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"fs.realpath": "^1.0.0",
|
||||||
|
"inflight": "^1.0.4",
|
||||||
|
"inherits": "2",
|
||||||
|
"minimatch": "^3.1.1",
|
||||||
|
"once": "^1.3.0",
|
||||||
|
"path-is-absolute": "^1.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "*"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/isaacs"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/ignore": {
|
||||||
|
"version": "5.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
|
||||||
|
"integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/inflight": {
|
||||||
|
"version": "1.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||||
|
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"once": "^1.3.0",
|
||||||
|
"wrappy": "1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/inherits": {
|
||||||
|
"version": "2.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
||||||
|
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/ini": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/js-yaml": {
|
||||||
|
"version": "4.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
|
||||||
|
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"argparse": "^2.0.1"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"js-yaml": "bin/js-yaml.js"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/jsonc-parser": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/linkify-it": {
|
||||||
|
"version": "3.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz",
|
||||||
|
"integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"uc.micro": "^1.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/lodash": {
|
||||||
|
"version": "4.17.21",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||||
|
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/markdown-it": {
|
||||||
|
"version": "12.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz",
|
||||||
|
"integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"argparse": "^2.0.1",
|
||||||
|
"entities": "~2.1.0",
|
||||||
|
"linkify-it": "^3.0.1",
|
||||||
|
"mdurl": "^1.0.1",
|
||||||
|
"uc.micro": "^1.0.5"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"markdown-it": "bin/markdown-it.js"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/markdown-table": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"repeat-string": "^1.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/wooorm"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/markdownlint": {
|
||||||
|
"version": "0.25.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.25.1.tgz",
|
||||||
|
"integrity": "sha512-AG7UkLzNa1fxiOv5B+owPsPhtM4D6DoODhsJgiaNg1xowXovrYgOnLqAgOOFQpWOlHFVQUzjMY5ypNNTeov92g==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"markdown-it": "12.3.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/markdownlint-cli": {
|
||||||
|
"version": "0.31.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.31.1.tgz",
|
||||||
|
"integrity": "sha512-keIOMwQn+Ch7MoBwA+TdkyVMuxAeZFEGmIIlvwgV0Z1TGS5MxPnRr29XCLhkNzCHU+uNKGjU+VEjLX+Z9kli6g==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"commander": "~9.0.0",
|
||||||
|
"get-stdin": "~9.0.0",
|
||||||
|
"glob": "~7.2.0",
|
||||||
|
"ignore": "~5.2.0",
|
||||||
|
"js-yaml": "^4.1.0",
|
||||||
|
"jsonc-parser": "~3.0.0",
|
||||||
|
"markdownlint": "~0.25.1",
|
||||||
|
"markdownlint-rule-helpers": "~0.16.0",
|
||||||
|
"minimatch": "~3.0.5",
|
||||||
|
"run-con": "~1.2.10"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"markdownlint": "markdownlint.js"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/markdownlint-cli/node_modules/commander": {
|
||||||
|
"version": "9.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/commander/-/commander-9.0.0.tgz",
|
||||||
|
"integrity": "sha512-JJfP2saEKbQqvW+FI93OYUB4ByV5cizMpFMiiJI8xDbBvQvSkIk0VvQdn1CZ8mqAO8Loq2h0gYTYtDFUZUeERw==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": "^12.20.0 || >=14"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/markdownlint-cli/node_modules/minimatch": {
|
||||||
|
"version": "3.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz",
|
||||||
|
"integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"brace-expansion": "^1.1.7"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/markdownlint-rule-helpers": {
|
||||||
|
"version": "0.16.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/markdownlint-rule-helpers/-/markdownlint-rule-helpers-0.16.0.tgz",
|
||||||
|
"integrity": "sha512-oEacRUVeTJ5D5hW1UYd2qExYI0oELdYK72k1TKGvIeYJIbqQWAz476NAc7LNixSySUhcNl++d02DvX0ccDk9/w==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/mdurl": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/minimatch": {
|
||||||
|
"version": "3.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
|
||||||
|
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"brace-expansion": "^1.1.7"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/minimist": {
|
||||||
|
"version": "1.2.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
|
||||||
|
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/once": {
|
||||||
|
"version": "1.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||||
|
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"wrappy": "1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/path-is-absolute": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/readme-generator-for-helm": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"resolved": "https://github.com/bitnami-labs/readme-generator-for-helm/tarball/498ea5d19478a36556f1636e1e041a7510d09289",
|
||||||
|
"integrity": "sha512-vCIT2YuskoOU38vNd/if6EhWCVBixdle0e4w2070jv82MlctrQ/5HAYpHZ0cRZCkfoUJ2QOxkGa38nAgUvBb+A==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "ISC",
|
||||||
|
"dependencies": {
|
||||||
|
"commander": "^7.1.0",
|
||||||
|
"dot-object": "^2.1.4",
|
||||||
|
"lodash": "^4.17.21",
|
||||||
|
"markdown-table": "^2.0.0",
|
||||||
|
"yaml": "^2.0.0-3"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"readme-generator": "bin/index.js"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/repeat-string": {
|
||||||
|
"version": "1.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
|
||||||
|
"integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/run-con": {
|
||||||
|
"version": "1.2.10",
|
||||||
|
"resolved": "https://registry.npmjs.org/run-con/-/run-con-1.2.10.tgz",
|
||||||
|
"integrity": "sha512-n7PZpYmMM26ZO21dd8y3Yw1TRtGABjRtgPSgFS/nhzfvbJMXFtJhJVyEgayMiP+w/23craJjsnfDvx4W4ue/HQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"deep-extend": "^0.6.0",
|
||||||
|
"ini": "~2.0.0",
|
||||||
|
"minimist": "^1.2.5",
|
||||||
|
"strip-json-comments": "~3.1.1"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"run-con": "cli.js"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/strip-json-comments": {
|
||||||
|
"version": "3.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
|
||||||
|
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/uc.micro": {
|
||||||
|
"version": "1.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
|
||||||
|
"integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/wrappy": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||||
|
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/yaml": {
|
||||||
|
"version": "2.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.3.tgz",
|
||||||
|
"integrity": "sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 14"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"argparse": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"balanced-match": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"brace-expansion": {
|
||||||
|
"version": "1.1.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||||
|
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"balanced-match": "^1.0.0",
|
||||||
|
"concat-map": "0.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"commander": {
|
||||||
|
"version": "7.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
|
||||||
|
"integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"concat-map": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||||
|
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"deep-extend": {
|
||||||
|
"version": "0.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
|
||||||
|
"integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"dot-object": {
|
||||||
|
"version": "2.1.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/dot-object/-/dot-object-2.1.4.tgz",
|
||||||
|
"integrity": "sha512-7FXnyyCLFawNYJ+NhkqyP9Wd2yzuo+7n9pGiYpkmXCTYa8Ci2U0eUNDVg5OuO5Pm6aFXI2SWN8/N/w7SJWu1WA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"commander": "^4.0.0",
|
||||||
|
"glob": "^7.1.5"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"commander": {
|
||||||
|
"version": "4.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
|
||||||
|
"integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"entities": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"fs.realpath": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"get-stdin": {
|
||||||
|
"version": "9.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz",
|
||||||
|
"integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"glob": {
|
||||||
|
"version": "7.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
|
||||||
|
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"fs.realpath": "^1.0.0",
|
||||||
|
"inflight": "^1.0.4",
|
||||||
|
"inherits": "2",
|
||||||
|
"minimatch": "^3.1.1",
|
||||||
|
"once": "^1.3.0",
|
||||||
|
"path-is-absolute": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ignore": {
|
||||||
|
"version": "5.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
|
||||||
|
"integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"inflight": {
|
||||||
|
"version": "1.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||||
|
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"once": "^1.3.0",
|
||||||
|
"wrappy": "1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"inherits": {
|
||||||
|
"version": "2.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
||||||
|
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"ini": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"js-yaml": {
|
||||||
|
"version": "4.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
|
||||||
|
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"argparse": "^2.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"jsonc-parser": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"linkify-it": {
|
||||||
|
"version": "3.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz",
|
||||||
|
"integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"uc.micro": "^1.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lodash": {
|
||||||
|
"version": "4.17.21",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||||
|
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"markdown-it": {
|
||||||
|
"version": "12.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz",
|
||||||
|
"integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"argparse": "^2.0.1",
|
||||||
|
"entities": "~2.1.0",
|
||||||
|
"linkify-it": "^3.0.1",
|
||||||
|
"mdurl": "^1.0.1",
|
||||||
|
"uc.micro": "^1.0.5"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"markdown-table": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"repeat-string": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"markdownlint": {
|
||||||
|
"version": "0.25.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.25.1.tgz",
|
||||||
|
"integrity": "sha512-AG7UkLzNa1fxiOv5B+owPsPhtM4D6DoODhsJgiaNg1xowXovrYgOnLqAgOOFQpWOlHFVQUzjMY5ypNNTeov92g==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"markdown-it": "12.3.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"markdownlint-cli": {
|
||||||
|
"version": "0.31.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.31.1.tgz",
|
||||||
|
"integrity": "sha512-keIOMwQn+Ch7MoBwA+TdkyVMuxAeZFEGmIIlvwgV0Z1TGS5MxPnRr29XCLhkNzCHU+uNKGjU+VEjLX+Z9kli6g==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"commander": "~9.0.0",
|
||||||
|
"get-stdin": "~9.0.0",
|
||||||
|
"glob": "~7.2.0",
|
||||||
|
"ignore": "~5.2.0",
|
||||||
|
"js-yaml": "^4.1.0",
|
||||||
|
"jsonc-parser": "~3.0.0",
|
||||||
|
"markdownlint": "~0.25.1",
|
||||||
|
"markdownlint-rule-helpers": "~0.16.0",
|
||||||
|
"minimatch": "~3.0.5",
|
||||||
|
"run-con": "~1.2.10"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"commander": {
|
||||||
|
"version": "9.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/commander/-/commander-9.0.0.tgz",
|
||||||
|
"integrity": "sha512-JJfP2saEKbQqvW+FI93OYUB4ByV5cizMpFMiiJI8xDbBvQvSkIk0VvQdn1CZ8mqAO8Loq2h0gYTYtDFUZUeERw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"minimatch": {
|
||||||
|
"version": "3.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz",
|
||||||
|
"integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"brace-expansion": "^1.1.7"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"markdownlint-rule-helpers": {
|
||||||
|
"version": "0.16.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/markdownlint-rule-helpers/-/markdownlint-rule-helpers-0.16.0.tgz",
|
||||||
|
"integrity": "sha512-oEacRUVeTJ5D5hW1UYd2qExYI0oELdYK72k1TKGvIeYJIbqQWAz476NAc7LNixSySUhcNl++d02DvX0ccDk9/w==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"mdurl": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"minimatch": {
|
||||||
|
"version": "3.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
|
||||||
|
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"brace-expansion": "^1.1.7"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"minimist": {
|
||||||
|
"version": "1.2.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
|
||||||
|
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"once": {
|
||||||
|
"version": "1.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||||
|
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"wrappy": "1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"path-is-absolute": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"readme-generator-for-helm": {
|
||||||
|
"version": "https://github.com/bitnami-labs/readme-generator-for-helm/tarball/498ea5d19478a36556f1636e1e041a7510d09289",
|
||||||
|
"integrity": "sha512-vCIT2YuskoOU38vNd/if6EhWCVBixdle0e4w2070jv82MlctrQ/5HAYpHZ0cRZCkfoUJ2QOxkGa38nAgUvBb+A==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"commander": "^7.1.0",
|
||||||
|
"dot-object": "^2.1.4",
|
||||||
|
"lodash": "^4.17.21",
|
||||||
|
"markdown-table": "^2.0.0",
|
||||||
|
"yaml": "^2.0.0-3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"repeat-string": {
|
||||||
|
"version": "1.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
|
||||||
|
"integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"run-con": {
|
||||||
|
"version": "1.2.10",
|
||||||
|
"resolved": "https://registry.npmjs.org/run-con/-/run-con-1.2.10.tgz",
|
||||||
|
"integrity": "sha512-n7PZpYmMM26ZO21dd8y3Yw1TRtGABjRtgPSgFS/nhzfvbJMXFtJhJVyEgayMiP+w/23craJjsnfDvx4W4ue/HQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"deep-extend": "^0.6.0",
|
||||||
|
"ini": "~2.0.0",
|
||||||
|
"minimist": "^1.2.5",
|
||||||
|
"strip-json-comments": "~3.1.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"strip-json-comments": {
|
||||||
|
"version": "3.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
|
||||||
|
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"uc.micro": {
|
||||||
|
"version": "1.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
|
||||||
|
"integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"wrappy": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||||
|
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"yaml": {
|
||||||
|
"version": "2.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.3.tgz",
|
||||||
|
"integrity": "sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
19
package.json
Normal file
19
package.json
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"name": "gitea-helm-chart",
|
||||||
|
"homepage": "https://gitea.com/gitea/helm-chart.git",
|
||||||
|
"license": "MIT",
|
||||||
|
"private": true,
|
||||||
|
"engineStrict": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=16.0.0",
|
||||||
|
"npm": ">=8.0.0"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"readme:lint": "markdownlint *.md -f",
|
||||||
|
"readme:parameters": "readme-generator -v values.yaml -r README.md"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"markdownlint-cli": "^0.31.1",
|
||||||
|
"readme-generator-for-helm": "https://github.com/bitnami-labs/readme-generator-for-helm/tarball/498ea5d19478a36556f1636e1e041a7510d09289"
|
||||||
|
}
|
||||||
|
}
|
@ -35,10 +35,40 @@ Create chart name and version as used by the chart label.
|
|||||||
Create image name and tag used by the deployment.
|
Create image name and tag used by the deployment.
|
||||||
*/}}
|
*/}}
|
||||||
{{- define "gitea.image" -}}
|
{{- define "gitea.image" -}}
|
||||||
|
{{- $registry := .Values.global.imageRegistry | default .Values.image.registry -}}
|
||||||
{{- $name := .Values.image.repository -}}
|
{{- $name := .Values.image.repository -}}
|
||||||
{{- $tag := .Values.image.tag | default .Chart.AppVersion -}}
|
{{- $tag := .Values.image.tag | default .Chart.AppVersion -}}
|
||||||
{{- $rootless := ternary "-rootless" "" (.Values.image.rootless) -}}
|
{{- $rootless := ternary "-rootless" "" (.Values.image.rootless) -}}
|
||||||
{{- printf "%s:%s%s" $name $tag $rootless -}}
|
{{- if $registry -}}
|
||||||
|
{{- printf "%s/%s:%s%s" $registry $name $tag $rootless -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- printf "%s:%s%s" $name $tag $rootless -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Docker Image Registry Secret Names evaluating values as templates
|
||||||
|
*/}}
|
||||||
|
{{- define "gitea.images.pullSecrets" -}}
|
||||||
|
{{- $pullSecrets := .Values.imagePullSecrets -}}
|
||||||
|
{{- range .Values.global.imagePullSecrets -}}
|
||||||
|
{{- $pullSecrets = append $pullSecrets (dict "name" .) -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- if (not (empty $pullSecrets)) }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{ toYaml $pullSecrets }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Storage Class
|
||||||
|
*/}}
|
||||||
|
{{- define "gitea.persistence.storageClass" -}}
|
||||||
|
{{- $storageClass := .Values.global.storageClass | default .Values.persistence.storageClass }}
|
||||||
|
{{- if $storageClass }}
|
||||||
|
storageClassName: {{ $storageClass | quote }}
|
||||||
|
{{- end }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
{{/*
|
{{/*
|
||||||
@ -130,6 +160,14 @@ app.kubernetes.io/instance: {{ .Release.Name }}
|
|||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "gitea.public_protocol" -}}
|
||||||
|
{{- if and .Values.ingress.enabled (gt (len .Values.ingress.tls) 0) -}}
|
||||||
|
https
|
||||||
|
{{- else -}}
|
||||||
|
{{ .Values.gitea.config.server.PROTOCOL }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
{{- define "gitea.inline_configuration" -}}
|
{{- define "gitea.inline_configuration" -}}
|
||||||
{{- include "gitea.inline_configuration.init" . -}}
|
{{- include "gitea.inline_configuration.init" . -}}
|
||||||
{{- include "gitea.inline_configuration.defaults" . -}}
|
{{- include "gitea.inline_configuration.defaults" . -}}
|
||||||
@ -220,15 +258,7 @@ app.kubernetes.io/instance: {{ .Release.Name }}
|
|||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- if not .Values.gitea.config.server.ROOT_URL -}}
|
{{- if not .Values.gitea.config.server.ROOT_URL -}}
|
||||||
{{- if .Values.ingress.enabled -}}
|
{{- $_ := set .Values.gitea.config.server "ROOT_URL" (printf "%s://%s" (include "gitea.public_protocol" .) .Values.gitea.config.server.DOMAIN) -}}
|
||||||
{{- if gt (len .Values.ingress.tls) 0 -}}
|
|
||||||
{{- $_ := set .Values.gitea.config.server "ROOT_URL" (printf "%s://%s" .Values.gitea.config.server.PROTOCOL (index (index .Values.ingress.tls 0).hosts 0)) -}}
|
|
||||||
{{- else -}}
|
|
||||||
{{- $_ := set .Values.gitea.config.server "ROOT_URL" (printf "%s://%s" .Values.gitea.config.server.PROTOCOL (index .Values.ingress.hosts 0).host) -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- else -}}
|
|
||||||
{{- $_ := set .Values.gitea.config.server "ROOT_URL" (printf "%s://%s" .Values.gitea.config.server.PROTOCOL .Values.gitea.config.server.DOMAIN) -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- if not .Values.gitea.config.server.SSH_DOMAIN -}}
|
{{- if not .Values.gitea.config.server.SSH_DOMAIN -}}
|
||||||
{{- $_ := set .Values.gitea.config.server "SSH_DOMAIN" .Values.gitea.config.server.DOMAIN -}}
|
{{- $_ := set .Values.gitea.config.server "SSH_DOMAIN" .Values.gitea.config.server.DOMAIN -}}
|
||||||
@ -283,3 +313,21 @@ app.kubernetes.io/instance: {{ .Release.Name }}
|
|||||||
{{- $_ := set .Values.gitea.config.database "PASSWD" .Values.mariadb.auth.password -}}
|
{{- $_ := set .Values.gitea.config.database "PASSWD" .Values.mariadb.auth.password -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "gitea.init-additional-mounts" -}}
|
||||||
|
{{- /* Honor the deprecated extraVolumeMounts variable when defined */ -}}
|
||||||
|
{{- if gt (len .Values.extraInitVolumeMounts) 0 -}}
|
||||||
|
{{- toYaml .Values.extraInitVolumeMounts -}}
|
||||||
|
{{- else if gt (len .Values.extraVolumeMounts) 0 -}}
|
||||||
|
{{- toYaml .Values.extraVolumeMounts -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "gitea.container-additional-mounts" -}}
|
||||||
|
{{- /* Honor the deprecated extraVolumeMounts variable when defined */ -}}
|
||||||
|
{{- if gt (len .Values.extraContainerVolumeMounts) 0 -}}
|
||||||
|
{{- toYaml .Values.extraContainerVolumeMounts -}}
|
||||||
|
{{- else if gt (len .Values.extraVolumeMounts) 0 -}}
|
||||||
|
{{- toYaml .Values.extraVolumeMounts -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
@ -117,13 +117,15 @@ stringData:
|
|||||||
function env2ini::load_config_sources() {
|
function env2ini::load_config_sources() {
|
||||||
local path="${1}"
|
local path="${1}"
|
||||||
|
|
||||||
env2ini::log "Processing $(basename "${path}")..."
|
if [[ -d "${path}" ]]; then
|
||||||
|
env2ini::log "Processing $(basename "${path}")..."
|
||||||
|
|
||||||
while read -d '' configFile; do
|
while read -d '' configFile; do
|
||||||
env2ini::process_config_file "${configFile}"
|
env2ini::process_config_file "${configFile}"
|
||||||
done < <(find "${path}" -type l -not -name '..data' -print0)
|
done < <(find "${path}" -type l -not -name '..data' -print0)
|
||||||
|
|
||||||
env2ini::log "\n"
|
env2ini::log "\n"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function env2ini::generate_initial_secrets() {
|
function env2ini::generate_initial_secrets() {
|
||||||
@ -135,6 +137,7 @@ stringData:
|
|||||||
export ENV_TO_INI__SECURITY__INTERNAL_TOKEN=$(gitea generate secret INTERNAL_TOKEN)
|
export ENV_TO_INI__SECURITY__INTERNAL_TOKEN=$(gitea generate secret INTERNAL_TOKEN)
|
||||||
export ENV_TO_INI__SECURITY__SECRET_KEY=$(gitea generate secret SECRET_KEY)
|
export ENV_TO_INI__SECURITY__SECRET_KEY=$(gitea generate secret SECRET_KEY)
|
||||||
export ENV_TO_INI__OAUTH2__JWT_SECRET=$(gitea generate secret JWT_SECRET)
|
export ENV_TO_INI__OAUTH2__JWT_SECRET=$(gitea generate secret JWT_SECRET)
|
||||||
|
export ENV_TO_INI__SERVER__LFS_JWT_SECRET=$(gitea generate secret LFS_JWT_SECRET)
|
||||||
|
|
||||||
env2ini::log "...Initial secrets generated\n"
|
env2ini::log "...Initial secrets generated\n"
|
||||||
}
|
}
|
||||||
@ -158,10 +161,12 @@ stringData:
|
|||||||
env2ini::log ' - security.INTERNAL_TOKEN'
|
env2ini::log ' - security.INTERNAL_TOKEN'
|
||||||
env2ini::log ' - security.SECRET_KEY'
|
env2ini::log ' - security.SECRET_KEY'
|
||||||
env2ini::log ' - oauth2.JWT_SECRET'
|
env2ini::log ' - oauth2.JWT_SECRET'
|
||||||
|
env2ini::log ' - server.LFS_JWT_SECRET'
|
||||||
|
|
||||||
unset ENV_TO_INI__SECURITY__INTERNAL_TOKEN
|
unset ENV_TO_INI__SECURITY__INTERNAL_TOKEN
|
||||||
unset ENV_TO_INI__SECURITY__SECRET_KEY
|
unset ENV_TO_INI__SECURITY__SECRET_KEY
|
||||||
unset ENV_TO_INI__OAUTH2__JWT_SECRET
|
unset ENV_TO_INI__OAUTH2__JWT_SECRET
|
||||||
|
unset ENV_TO_INI__SERVER__LFS_JWT_SECRET
|
||||||
fi
|
fi
|
||||||
|
|
||||||
environment-to-ini -o $GITEA_APP_INI -p ENV_TO_INI
|
environment-to-ini -o $GITEA_APP_INI -p ENV_TO_INI
|
||||||
|
@ -26,7 +26,7 @@ stringData:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
mkdir -p /data/git/.ssh
|
mkdir -p /data/git/.ssh
|
||||||
chmod -R 700 /data/git/.ssh
|
chmod -R 700 /data/git/.ssh
|
||||||
[ ! -d /data/gitea ] && mkdir -p /data/gitea/conf
|
[ ! -d /data/gitea/conf ] && mkdir -p /data/gitea/conf
|
||||||
|
|
||||||
# prepare temp directory structure
|
# prepare temp directory structure
|
||||||
mkdir -p "${GITEA_TEMP}"
|
mkdir -p "${GITEA_TEMP}"
|
||||||
|
@ -39,10 +39,7 @@ spec:
|
|||||||
{{- if .Values.schedulerName }}
|
{{- if .Values.schedulerName }}
|
||||||
schedulerName: "{{ .Values.schedulerName }}"
|
schedulerName: "{{ .Values.schedulerName }}"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.imagePullSecrets }}
|
{{- include "gitea.images.pullSecrets" . | nindent 6 }}
|
||||||
imagePullSecrets:
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
securityContext:
|
securityContext:
|
||||||
{{- toYaml .Values.podSecurityContext | nindent 8 }}
|
{{- toYaml .Values.podSecurityContext | nindent 8 }}
|
||||||
initContainers:
|
initContainers:
|
||||||
@ -72,9 +69,7 @@ spec:
|
|||||||
{{- if .Values.persistence.subPath }}
|
{{- if .Values.persistence.subPath }}
|
||||||
subPath: {{ .Values.persistence.subPath }}
|
subPath: {{ .Values.persistence.subPath }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.extraVolumeMounts }}
|
{{- include "gitea.init-additional-mounts" . | nindent 12 }}
|
||||||
{{- toYaml .Values.extraVolumeMounts | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
securityContext:
|
securityContext:
|
||||||
{{- toYaml .Values.containerSecurityContext | nindent 12 }}
|
{{- toYaml .Values.containerSecurityContext | nindent 12 }}
|
||||||
- name: init-app-ini
|
- name: init-app-ini
|
||||||
@ -112,9 +107,7 @@ spec:
|
|||||||
- name: additional-config-sources-{{ $idx }}
|
- name: additional-config-sources-{{ $idx }}
|
||||||
mountPath: "/env-to-ini-mounts/additionals/{{ $idx }}/"
|
mountPath: "/env-to-ini-mounts/additionals/{{ $idx }}/"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.extraVolumeMounts }}
|
{{- include "gitea.init-additional-mounts" . | nindent 12 }}
|
||||||
{{- toYaml .Values.extraVolumeMounts | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
securityContext:
|
securityContext:
|
||||||
{{- toYaml .Values.containerSecurityContext | nindent 12 }}
|
{{- toYaml .Values.containerSecurityContext | nindent 12 }}
|
||||||
- name: configure-gitea
|
- name: configure-gitea
|
||||||
@ -204,9 +197,7 @@ spec:
|
|||||||
{{- if .Values.persistence.subPath }}
|
{{- if .Values.persistence.subPath }}
|
||||||
subPath: {{ .Values.persistence.subPath }}
|
subPath: {{ .Values.persistence.subPath }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.extraVolumeMounts }}
|
{{- include "gitea.init-additional-mounts" . | nindent 12 }}
|
||||||
{{- toYaml .Values.extraVolumeMounts | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
terminationGracePeriodSeconds: {{ .Values.statefulset.terminationGracePeriodSeconds }}
|
terminationGracePeriodSeconds: {{ .Values.statefulset.terminationGracePeriodSeconds }}
|
||||||
containers:
|
containers:
|
||||||
- name: {{ .Chart.Name }}
|
- name: {{ .Chart.Name }}
|
||||||
@ -247,17 +238,17 @@ spec:
|
|||||||
- name: profiler
|
- name: profiler
|
||||||
containerPort: 6060
|
containerPort: 6060
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.gitea.livenessProbe }}
|
{{- if .Values.gitea.livenessProbe.enabled }}
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
{{- toYaml .Values.gitea.livenessProbe | nindent 12 }}
|
{{- toYaml (omit .Values.gitea.livenessProbe "enabled") | nindent 12 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.gitea.readinessProbe }}
|
{{- if .Values.gitea.readinessProbe.enabled }}
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
{{- toYaml .Values.gitea.readinessProbe | nindent 12 }}
|
{{- toYaml (omit .Values.gitea.readinessProbe "enabled") | nindent 12 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.gitea.startupProbe }}
|
{{- if .Values.gitea.startupProbe.enabled }}
|
||||||
startupProbe:
|
startupProbe:
|
||||||
{{- toYaml .Values.gitea.startupProbe | nindent 12 }}
|
{{- toYaml (omit .Values.gitea.startupProbe "enabled") | nindent 12 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
resources:
|
resources:
|
||||||
{{- toYaml .Values.resources | nindent 12 }}
|
{{- toYaml .Values.resources | nindent 12 }}
|
||||||
@ -276,9 +267,7 @@ spec:
|
|||||||
{{- if .Values.persistence.subPath }}
|
{{- if .Values.persistence.subPath }}
|
||||||
subPath: {{ .Values.persistence.subPath }}
|
subPath: {{ .Values.persistence.subPath }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.extraVolumeMounts }}
|
{{- include "gitea.container-additional-mounts" . | nindent 12 }}
|
||||||
{{- toYaml .Values.extraVolumeMounts | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.nodeSelector }}
|
{{- with .Values.nodeSelector }}
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
@ -290,6 +279,10 @@ spec:
|
|||||||
{{- with .Values.tolerations }}
|
{{- with .Values.tolerations }}
|
||||||
tolerations:
|
tolerations:
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.dnsConfig }}
|
||||||
|
dnsConfig:
|
||||||
|
{{- toYaml .Values.dnsConfig | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
volumes:
|
volumes:
|
||||||
- name: init
|
- name: init
|
||||||
@ -300,7 +293,7 @@ spec:
|
|||||||
secret:
|
secret:
|
||||||
secretName: {{ include "gitea.fullname" . }}
|
secretName: {{ include "gitea.fullname" . }}
|
||||||
defaultMode: 110
|
defaultMode: 110
|
||||||
{{- if .Values.extraVolumes }}
|
{{- if gt (len .Values.extraVolumes) 0 }}
|
||||||
{{- toYaml .Values.extraVolumes | nindent 8 }}
|
{{- toYaml .Values.extraVolumes | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
- name: inline-config-sources
|
- name: inline-config-sources
|
||||||
@ -342,9 +335,7 @@ spec:
|
|||||||
{{- range .Values.persistence.accessModes }}
|
{{- range .Values.persistence.accessModes }}
|
||||||
- {{ . | quote }}
|
- {{ . | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.persistence.storageClass }}
|
{{- include "gitea.persistence.storageClass" . | indent 8 }}
|
||||||
storageClassName: {{ .Values.persistence.storageClass | quote }}
|
|
||||||
{{- end }}
|
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: {{ .Values.persistence.size | quote }}
|
storage: {{ .Values.persistence.size | quote }}
|
||||||
|
249
values.yaml
249
values.yaml
@ -1,24 +1,50 @@
|
|||||||
# Default values for gitea.
|
# Default values for gitea.
|
||||||
# This is a YAML-formatted file.
|
# This is a YAML-formatted file.
|
||||||
# Declare variables to be passed into your templates.
|
# Declare variables to be passed into your templates.
|
||||||
|
## @section Global
|
||||||
|
#
|
||||||
|
## @param global.imageRegistry global image registry override
|
||||||
|
## @param global.imagePullSecrets global image pull secrets override; can be extended by `imagePullSecrets`
|
||||||
|
## @param global.storageClass global storage class override
|
||||||
|
global:
|
||||||
|
imageRegistry: ""
|
||||||
|
## E.g.
|
||||||
|
## imagePullSecrets:
|
||||||
|
## - myRegistryKeySecretName
|
||||||
|
##
|
||||||
|
imagePullSecrets: []
|
||||||
|
storageClass: ""
|
||||||
|
|
||||||
|
## @param replicaCount number of replicas for the statefulset
|
||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
|
|
||||||
|
## @param clusterDomain cluster domain
|
||||||
clusterDomain: cluster.local
|
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.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
|
||||||
image:
|
image:
|
||||||
|
registry: ""
|
||||||
repository: gitea/gitea
|
repository: gitea/gitea
|
||||||
# Overrides the image tag whose default is the chart appVersion.
|
# Overrides the image tag whose default is the chart appVersion.
|
||||||
tag: ""
|
tag: ""
|
||||||
pullPolicy: Always
|
pullPolicy: Always
|
||||||
rootless: false # only possible when running 1.14 or later
|
rootless: false # only possible when running 1.14 or later
|
||||||
|
|
||||||
|
## @param imagePullSecrets Secret to use for pulling the image
|
||||||
imagePullSecrets: []
|
imagePullSecrets: []
|
||||||
|
|
||||||
|
## @section Security
|
||||||
# Security context is only usable with rootless image due to image design
|
# Security context is only usable with rootless image due to image design
|
||||||
|
## @param podSecurityContext.fsGroup Set the shared file system group for all containers in the pod.
|
||||||
podSecurityContext:
|
podSecurityContext:
|
||||||
fsGroup: 1000
|
fsGroup: 1000
|
||||||
|
|
||||||
|
## @param containerSecurityContext Security context
|
||||||
containerSecurityContext: {}
|
containerSecurityContext: {}
|
||||||
# allowPrivilegeEscalation: false
|
# allowPrivilegeEscalation: false
|
||||||
# capabilities:
|
# capabilities:
|
||||||
@ -37,41 +63,77 @@ containerSecurityContext: {}
|
|||||||
# runAsNonRoot: true
|
# runAsNonRoot: true
|
||||||
# runAsUser: 1000
|
# runAsUser: 1000
|
||||||
|
|
||||||
# DEPRECATED. The securityContext variable has been split two:
|
## @depracated The securityContext variable has been split two:
|
||||||
# - containerSecurityContext
|
## - containerSecurityContext
|
||||||
# - podSecurityContext.
|
## - podSecurityContext.
|
||||||
|
## @param securityContext Run init and Gitea containers as a specific securityContext
|
||||||
securityContext: {}
|
securityContext: {}
|
||||||
|
|
||||||
|
## @section Service
|
||||||
service:
|
service:
|
||||||
|
## @param service.http.type Kubernetes service type for web traffic
|
||||||
|
## @param service.http.port Port number for web traffic
|
||||||
|
## @param service.http.clusterIP ClusterIP setting for http autosetup for statefulset is None
|
||||||
|
## @param service.http.loadBalancerIP LoadBalancer IP setting
|
||||||
|
## @param service.http.nodePort NodePort for http service
|
||||||
|
## @param service.http.externalTrafficPolicy If `service.http.type` is `NodePort` or `LoadBalancer`, set this to `Local` to enable source IP preservation
|
||||||
|
## @param service.http.externalIPs External IPs for service
|
||||||
|
## @param service.http.ipFamilyPolicy HTTP service dual-stack policy
|
||||||
|
## @param service.http.ipFamilies HTTP service dual-stack familiy selection,for dual-stack parameters see official kubernetes [dual-stack concept documentation](https://kubernetes.io/docs/concepts/services-networking/dual-stack/).
|
||||||
|
## @param service.http.loadBalancerSourceRanges Source range filter for http loadbalancer
|
||||||
|
## @param service.http.annotations HTTP service annotations
|
||||||
http:
|
http:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
port: 3000
|
port: 3000
|
||||||
clusterIP: None
|
clusterIP: None
|
||||||
#loadBalancerIP:
|
loadBalancerIP:
|
||||||
#nodePort:
|
nodePort:
|
||||||
#externalTrafficPolicy:
|
externalTrafficPolicy:
|
||||||
#externalIPs:
|
externalIPs:
|
||||||
#ipFamilyPolicy:
|
ipFamilyPolicy:
|
||||||
#ipFamilies:
|
ipFamilies:
|
||||||
loadBalancerSourceRanges: []
|
loadBalancerSourceRanges: []
|
||||||
annotations:
|
annotations: {}
|
||||||
|
## @param service.ssh.type Kubernetes service type for ssh traffic
|
||||||
|
## @param service.ssh.port Port number for ssh traffic
|
||||||
|
## @param service.ssh.clusterIP ClusterIP setting for ssh autosetup for statefulset is None
|
||||||
|
## @param service.ssh.loadBalancerIP LoadBalancer IP setting
|
||||||
|
## @param service.ssh.nodePort NodePort for ssh service
|
||||||
|
## @param service.ssh.externalTrafficPolicy If `service.ssh.type` is `NodePort` or `LoadBalancer`, set this to `Local` to enable source IP preservation
|
||||||
|
## @param service.ssh.externalIPs External IPs for service
|
||||||
|
## @param service.ssh.ipFamilyPolicy SSH service dual-stack policy
|
||||||
|
## @param service.ssh.ipFamilies SSH service dual-stack familiy selection,for dual-stack parameters see official kubernetes [dual-stack concept documentation](https://kubernetes.io/docs/concepts/services-networking/dual-stack/).
|
||||||
|
## @param service.ssh.hostPort HostPort for ssh service
|
||||||
|
## @param service.ssh.loadBalancerSourceRanges Source range filter for ssh loadbalancer
|
||||||
|
## @param service.ssh.annotations SSH service annotations
|
||||||
ssh:
|
ssh:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
port: 22
|
port: 22
|
||||||
clusterIP: None
|
clusterIP: None
|
||||||
#loadBalancerIP:
|
loadBalancerIP:
|
||||||
#nodePort:
|
nodePort:
|
||||||
#externalTrafficPolicy:
|
externalTrafficPolicy:
|
||||||
#externalIPs:
|
externalIPs:
|
||||||
#ipFamilyPolicy:
|
ipFamilyPolicy:
|
||||||
#ipFamilies:
|
ipFamilies:
|
||||||
#hostPort:
|
hostPort:
|
||||||
loadBalancerSourceRanges: []
|
loadBalancerSourceRanges: []
|
||||||
annotations:
|
annotations: {}
|
||||||
|
|
||||||
|
|
||||||
|
## @section Ingress
|
||||||
|
## @param ingress.enabled Enable ingress
|
||||||
|
## @param ingress.className Ingress class name
|
||||||
|
## @param ingress.annotations Ingress annotations
|
||||||
|
## @param ingress.hosts[0].host Default Ingress host
|
||||||
|
## @param ingress.hosts[0].paths[0].path Default Ingress path
|
||||||
|
## @param ingress.hosts[0].paths[0].pathType Ingress path type
|
||||||
|
## @param ingress.tls Ingress tls settings
|
||||||
|
## @extra ingress.apiVersion Specify APIVersion of ingress object. Mostly would only be used for argocd.
|
||||||
ingress:
|
ingress:
|
||||||
enabled: false
|
enabled: false
|
||||||
# className: nginx
|
# className: nginx
|
||||||
|
className:
|
||||||
annotations: {}
|
annotations: {}
|
||||||
# kubernetes.io/ingress.class: nginx
|
# kubernetes.io/ingress.class: nginx
|
||||||
# kubernetes.io/tls-acme: "true"
|
# kubernetes.io/tls-acme: "true"
|
||||||
@ -88,6 +150,9 @@ ingress:
|
|||||||
# If helm doesn't correctly detect your ingress API version you can set it here.
|
# If helm doesn't correctly detect your ingress API version you can set it here.
|
||||||
# apiVersion: networking.k8s.io/v1
|
# apiVersion: networking.k8s.io/v1
|
||||||
|
|
||||||
|
## @section StatefulSet
|
||||||
|
#
|
||||||
|
## @param resources Kubernetes resources
|
||||||
resources: {}
|
resources: {}
|
||||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||||
# choice for the user. This also increases chances charts run on environments with little
|
# choice for the user. This also increases chances charts run on environments with little
|
||||||
@ -103,14 +168,25 @@ resources: {}
|
|||||||
## Use an alternate scheduler, e.g. "stork".
|
## Use an alternate scheduler, e.g. "stork".
|
||||||
## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
|
## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
|
||||||
##
|
##
|
||||||
# schedulerName:
|
## @param schedulerName Use an alternate scheduler, e.g. "stork"
|
||||||
|
schedulerName: ""
|
||||||
|
|
||||||
|
## @param nodeSelector NodeSelector for the statefulset
|
||||||
nodeSelector: {}
|
nodeSelector: {}
|
||||||
|
|
||||||
|
## @param tolerations Tolerations for the statefulset
|
||||||
tolerations: []
|
tolerations: []
|
||||||
|
|
||||||
|
## @param affinity Affinity for the statefulset
|
||||||
affinity: {}
|
affinity: {}
|
||||||
|
|
||||||
|
## @param dnsConfig dnsConfig for the statefulset
|
||||||
|
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
|
||||||
statefulset:
|
statefulset:
|
||||||
env: []
|
env: []
|
||||||
# - name: VARIABLE
|
# - name: VARIABLE
|
||||||
@ -119,33 +195,51 @@ statefulset:
|
|||||||
labels: {}
|
labels: {}
|
||||||
annotations: {}
|
annotations: {}
|
||||||
|
|
||||||
|
## @section Persistence
|
||||||
|
#
|
||||||
|
## @param persistence.enabled Enable persistent storage
|
||||||
|
## @param persistence.existingClaim Use an existing claim to store repository information
|
||||||
|
## @param persistence.size Size for persistence to store repo information
|
||||||
|
## @param persistence.accessModes AccessMode for persistence
|
||||||
|
## @param persistence.labels Labels for the persistence volume claim to be created
|
||||||
|
## @param persistence.annotations Annotations for the persistence volume claim to be created
|
||||||
|
## @param persistence.storageClass Name of the storage class to use
|
||||||
|
## @param persistence.subPath Subdirectory of the volume to mount at
|
||||||
persistence:
|
persistence:
|
||||||
enabled: true
|
enabled: true
|
||||||
# existingClaim:
|
existingClaim:
|
||||||
size: 10Gi
|
size: 10Gi
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
labels: {}
|
labels: {}
|
||||||
annotations: {}
|
annotations: {}
|
||||||
# storageClass:
|
storageClass:
|
||||||
# subPath:
|
subPath:
|
||||||
|
|
||||||
# additional volumes to add to the Gitea statefulset.
|
## @param extraVolumes Additional volumes to mount to the Gitea statefulset
|
||||||
extraVolumes:
|
extraVolumes: []
|
||||||
# - name: postgres-ssl-vol
|
# - name: postgres-ssl-vol
|
||||||
# secret:
|
# secret:
|
||||||
# secretName: gitea-postgres-ssl
|
# secretName: gitea-postgres-ssl
|
||||||
|
|
||||||
|
## @param extraContainerVolumeMounts Mounts that are only mapped into the Gitea runtime/main container, to e.g. override custom templates.
|
||||||
|
extraContainerVolumeMounts: []
|
||||||
|
|
||||||
# additional volumes to mount, both to the init container and to the main
|
## @param extraInitVolumeMounts Mounts that are only mapped into the init-containers. Can be used for additional preconfiguration.
|
||||||
# container. As an example, can be used to mount a client cert when connecting
|
extraInitVolumeMounts: []
|
||||||
# to an external Postgres server.
|
|
||||||
extraVolumeMounts:
|
## @depracated The extraVolumeMounts variable has been split two:
|
||||||
|
## - 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
|
||||||
|
extraVolumeMounts: []
|
||||||
# - name: postgres-ssl-vol
|
# - name: postgres-ssl-vol
|
||||||
# readOnly: true
|
# readOnly: true
|
||||||
# mountPath: "/pg-ssl"
|
# mountPath: "/pg-ssl"
|
||||||
|
|
||||||
# bash shell script copied verbatim to the start of the init-container.
|
## @section Init
|
||||||
|
## @param initPreScript Bash shell script copied verbatim to the start of the init-container.
|
||||||
initPreScript: ""
|
initPreScript: ""
|
||||||
#
|
#
|
||||||
# initPreScript: |
|
# initPreScript: |
|
||||||
@ -155,17 +249,30 @@ initPreScript: ""
|
|||||||
# chmod 400 /data/git/.postgresql/postgresql.key
|
# chmod 400 /data/git/.postgresql/postgresql.key
|
||||||
|
|
||||||
# Configure commit/action signing prerequisites
|
# Configure commit/action signing prerequisites
|
||||||
|
## @section Signing
|
||||||
|
#
|
||||||
|
## @param signing.enabled Enable commit/action signing
|
||||||
|
## @param signing.gpgHome GPG home directory
|
||||||
signing:
|
signing:
|
||||||
enabled: false
|
enabled: false
|
||||||
gpgHome: /data/git/.gnupg
|
gpgHome: /data/git/.gnupg
|
||||||
|
|
||||||
|
## @section Gitea
|
||||||
|
#
|
||||||
gitea:
|
gitea:
|
||||||
|
## @param gitea.admin.username Username for the Gitea 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
|
||||||
admin:
|
admin:
|
||||||
#existingSecret: gitea-admin-secret
|
#existingSecret: gitea-admin-secret
|
||||||
|
existingSecret:
|
||||||
username: gitea_admin
|
username: gitea_admin
|
||||||
password: r8sA8CPHD9!bt6d
|
password: r8sA8CPHD9!bt6d
|
||||||
email: "gitea@local.domain"
|
email: "gitea@local.domain"
|
||||||
|
|
||||||
|
## @param gitea.metrics.enabled Enable Gitea metrics
|
||||||
|
## @param gitea.metrics.serviceMonitor.enabled Enable Gitea metrics service monitor
|
||||||
metrics:
|
metrics:
|
||||||
enabled: false
|
enabled: false
|
||||||
serviceMonitor:
|
serviceMonitor:
|
||||||
@ -173,6 +280,7 @@ gitea:
|
|||||||
# additionalLabels:
|
# additionalLabels:
|
||||||
# prometheus-release: prom1
|
# prometheus-release: prom1
|
||||||
|
|
||||||
|
## @param gitea.ldap LDAP configuration
|
||||||
ldap: []
|
ldap: []
|
||||||
# - name: "LDAP 1"
|
# - name: "LDAP 1"
|
||||||
# existingSecret:
|
# existingSecret:
|
||||||
@ -189,6 +297,7 @@ gitea:
|
|||||||
# publicSSHKeyAttribute:
|
# publicSSHKeyAttribute:
|
||||||
|
|
||||||
# Either specify inline `key` and `secret` or refer to them via `existingSecret`
|
# Either specify inline `key` and `secret` or refer to them via `existingSecret`
|
||||||
|
## @param gitea.oauth OAuth configuration
|
||||||
oauth: []
|
oauth: []
|
||||||
# - name: 'OAuth 1'
|
# - name: 'OAuth 1'
|
||||||
# provider:
|
# provider:
|
||||||
@ -202,6 +311,7 @@ gitea:
|
|||||||
# customProfileUrl:
|
# customProfileUrl:
|
||||||
# customEmailUrl:
|
# customEmailUrl:
|
||||||
|
|
||||||
|
## @param gitea.config Configuration for the Gitea server,ref: [config-cheat-sheet](https://docs.gitea.io/en-us/config-cheat-sheet/)
|
||||||
config: {}
|
config: {}
|
||||||
# APP_NAME: "Gitea: Git with a cup of tea"
|
# APP_NAME: "Gitea: Git with a cup of tea"
|
||||||
# RUN_MODE: dev
|
# RUN_MODE: dev
|
||||||
@ -212,18 +322,31 @@ gitea:
|
|||||||
# security:
|
# security:
|
||||||
# PASSWORD_COMPLEXITY: spec
|
# PASSWORD_COMPLEXITY: spec
|
||||||
|
|
||||||
|
## @param gitea.additionalConfigSources Additional configuration from secret or configmap
|
||||||
additionalConfigSources: []
|
additionalConfigSources: []
|
||||||
# - secret:
|
# - secret:
|
||||||
# secretName: gitea-app-ini-oauth
|
# secretName: gitea-app-ini-oauth
|
||||||
# - configMap:
|
# - configMap:
|
||||||
# name: gitea-app-ini-plaintext
|
# name: gitea-app-ini-plaintext
|
||||||
|
|
||||||
|
## @param gitea.additionalConfigFromEnvs Additional configuration sources from environment variables
|
||||||
additionalConfigFromEnvs: []
|
additionalConfigFromEnvs: []
|
||||||
|
|
||||||
|
## @param gitea.podAnnotations Annotations for the Gitea pod
|
||||||
podAnnotations: {}
|
podAnnotations: {}
|
||||||
|
|
||||||
|
## @section LivenessProbe
|
||||||
|
#
|
||||||
|
## @param gitea.livenessProbe.enabled Enable liveness probe
|
||||||
|
## @param gitea.livenessProbe.tcpSocket.port Port to probe for liveness
|
||||||
|
## @param gitea.livenessProbe.initialDelaySeconds Initial delay before liveness probe is initiated
|
||||||
|
## @param gitea.livenessProbe.timeoutSeconds Timeout for liveness probe
|
||||||
|
## @param gitea.livenessProbe.periodSeconds Period for liveness probe
|
||||||
|
## @param gitea.livenessProbe.successThreshold Success threshold for liveness probe
|
||||||
|
## @param gitea.livenessProbe.failureThreshold Failure threshold for liveness probe
|
||||||
# Modify the liveness probe for your needs or completely disable it by commenting out.
|
# Modify the liveness probe for your needs or completely disable it by commenting out.
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
|
enabled: true
|
||||||
tcpSocket:
|
tcpSocket:
|
||||||
port: http
|
port: http
|
||||||
initialDelaySeconds: 200
|
initialDelaySeconds: 200
|
||||||
@ -232,8 +355,18 @@ gitea:
|
|||||||
successThreshold: 1
|
successThreshold: 1
|
||||||
failureThreshold: 10
|
failureThreshold: 10
|
||||||
|
|
||||||
|
## @section ReadinessProbe
|
||||||
|
#
|
||||||
|
## @param gitea.readinessProbe.enabled Enable readiness probe
|
||||||
|
## @param gitea.readinessProbe.tcpSocket.port Port to probe for readiness
|
||||||
|
## @param gitea.readinessProbe.initialDelaySeconds Initial delay before readiness probe is initiated
|
||||||
|
## @param gitea.readinessProbe.timeoutSeconds Timeout for readiness probe
|
||||||
|
## @param gitea.readinessProbe.periodSeconds Period for readiness probe
|
||||||
|
## @param gitea.readinessProbe.successThreshold Success threshold for readiness probe
|
||||||
|
## @param gitea.readinessProbe.failureThreshold Failure threshold for readiness probe
|
||||||
# Modify the readiness probe for your needs or completely disable it by commenting out.
|
# Modify the readiness probe for your needs or completely disable it by commenting out.
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
|
enabled: true
|
||||||
tcpSocket:
|
tcpSocket:
|
||||||
port: http
|
port: http
|
||||||
initialDelaySeconds: 5
|
initialDelaySeconds: 5
|
||||||
@ -243,20 +376,42 @@ gitea:
|
|||||||
failureThreshold: 3
|
failureThreshold: 3
|
||||||
|
|
||||||
# # Uncomment the startup probe to enable and modify it for your needs.
|
# # Uncomment the startup probe to enable and modify it for your needs.
|
||||||
# startupProbe:
|
## @section StartupProbe
|
||||||
# tcpSocket:
|
#
|
||||||
# port: http
|
## @param gitea.startupProbe.enabled Enable startup probe
|
||||||
# initialDelaySeconds: 60
|
## @param gitea.startupProbe.tcpSocket.port Port to probe for startup
|
||||||
# timeoutSeconds: 1
|
## @param gitea.startupProbe.initialDelaySeconds Initial delay before startup probe is initiated
|
||||||
# periodSeconds: 10
|
## @param gitea.startupProbe.timeoutSeconds Timeout for startup probe
|
||||||
# successThreshold: 1
|
## @param gitea.startupProbe.periodSeconds Period for startup probe
|
||||||
# failureThreshold: 10
|
## @param gitea.startupProbe.successThreshold Success threshold for startup probe
|
||||||
|
## @param gitea.startupProbe.failureThreshold Failure threshold for startup probe
|
||||||
|
startupProbe:
|
||||||
|
enabled: false
|
||||||
|
tcpSocket:
|
||||||
|
port: http
|
||||||
|
initialDelaySeconds: 60
|
||||||
|
timeoutSeconds: 1
|
||||||
|
periodSeconds: 10
|
||||||
|
successThreshold: 1
|
||||||
|
failureThreshold: 10
|
||||||
|
|
||||||
|
## @section Memcached
|
||||||
|
#
|
||||||
|
## @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
|
||||||
memcached:
|
memcached:
|
||||||
enabled: true
|
enabled: true
|
||||||
service:
|
service:
|
||||||
port: 11211
|
port: 11211
|
||||||
|
|
||||||
|
## @section PostgreSQL
|
||||||
|
#
|
||||||
|
## @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
|
||||||
postgresql:
|
postgresql:
|
||||||
enabled: true
|
enabled: true
|
||||||
global:
|
global:
|
||||||
@ -268,6 +423,15 @@ postgresql:
|
|||||||
persistence:
|
persistence:
|
||||||
size: 10Gi
|
size: 10Gi
|
||||||
|
|
||||||
|
## @section MySQL
|
||||||
|
#
|
||||||
|
## @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
|
||||||
mysql:
|
mysql:
|
||||||
enabled: false
|
enabled: false
|
||||||
root:
|
root:
|
||||||
@ -281,6 +445,15 @@ mysql:
|
|||||||
persistence:
|
persistence:
|
||||||
size: 10Gi
|
size: 10Gi
|
||||||
|
|
||||||
|
## @section MariaDB
|
||||||
|
#
|
||||||
|
## @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.persistence.size Persistence size for MariaDB
|
||||||
mariadb:
|
mariadb:
|
||||||
enabled: false
|
enabled: false
|
||||||
auth:
|
auth:
|
||||||
@ -296,4 +469,6 @@ mariadb:
|
|||||||
|
|
||||||
# By default, removed or moved settings that still remain in a user defined values.yaml will cause Helm to fail running the install/update.
|
# By default, removed or moved settings that still remain in a user defined values.yaml will cause Helm to fail running the install/update.
|
||||||
# Set it to false to skip this basic validation check.
|
# Set it to false to skip this basic validation check.
|
||||||
|
## @section Advanced
|
||||||
|
## @param checkDeprecation Set it to false to skip this basic validation check.
|
||||||
checkDeprecation: true
|
checkDeprecation: true
|
||||||
|
Reference in New Issue
Block a user