ef8ad0f0509f178b9ebd7438bff00cd649725cb3
463 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
| 19841604f7 | use redis-cluster instead of redis | |||
| 29c9bbb4bf | postgresql-ha: provide defaults for postgresPassword and repmgrPassword due to upstream bug All checks were successful generate-chart / generate-chart-publish (push) Successful in 37s | |||
| 75893ad9c6 | add explicit config example for session, cache and queue to migration instructions | |||
| a247071b07 | don't condition session config on multiple replicas | |||
| 5f8de23c15 | remove "auth" mapping in helpers.tpl | |||
| c6fbb6d72e | adjust postgresql-ha service port mappings | |||
| f108be0cd6 | fix postgresql.dns | |||
| dc6bab1958 | another index | |||
| de1d5af8c8 | more postgresql-ha adjustments | |||
| 46fb4d8026 | use index function for helm | |||
| 3a9e60ce40 | fix postgresql.dns definition in helpers.tpl | |||
| de5a6edbc8 | lint | |||
| 2ded843924 | fix: Deployment has no field serviceName #466 (#467) <!-- 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. --> remove deployment, `serviceName` ### 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 #466 ### 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.] --> - [x] 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) - [x] Breaking changes are documented in the `README.md` - [x] Templating unittests are added Reviewed-on: gitea/helm-chart#467 Co-authored-by: yinheli <me@yinheli.com> Co-committed-by: yinheli <me@yinheli.com> | |||
| ede76d4b68 | update helm deps and add makefile rule All checks were successful generate-chart / generate-chart-publish (push) Successful in 41s | |||
| 00433b97c4 | add release process to contributing | |||
| a20c014e49 | add env-to-ini prefix to upgrading notes | |||
| 950e46ce44 | add experimental note | |||
| 8e27bb9bae | [Breaking] Add HA-support; switch to Deployment (#437) # Changes A big shoutout to @luhahn for all his work in #205 which served as the base for this PR. ## Documentation - [x] After thinking for some time about it, I still prefer the distinct option (as started in #350), i.e. having a standalone "HA" doc under `docs/ha-setup.md` to not have a very long README (which is already quite long). Most of the information below should go into it with more details and explanations behind all of the individual components. ## Chart deps ~~- Adds `meilisearch` as a chart dependency for a HA-ready issue indexer. Only works with >= Gitea 1.20~~ ~~- Adds `redis` as a chart dependency for a HA-ready session and queue store.~~ - Adds `redis-cluster` as a chart dependency for a HA-ready session and queue store (alternative to `redis`). Only works with >= Gitea 1.19.2. - Removes `memcached` instead of `redis-cluster` - Add `postgresql-ha` as default DB dep in favor of `postgres` ## Adds smart HA chart logic The goal is to set smart config values that result in a HA-ready Gitea deployment if `replicaCount` > 1. - If `replicaCount` > 1, - `gitea.config.session.PROVIDER` is automatically set to `redis-cluster` - `gitea.config.indexer.REPO_INDEXER_ENABLED` is automatically set to `false` unless the value is `elasticsearch` or `meilisearch` - `redis-cluster` is used for `[queue]` and `[cache]` and `[session]`mode or not Configuration of external instances of `meilisearch` and `minio` are documented in a new markdown doc. ## Deployment vs Statefulset Given all the discussions about this lately (#428), I think we could use both. In the end, we do not have the requirement for a sequential pod scale up/scale down as it would happen in statefulsets. On the other side, we do not have actual stateless pods as we are attaching a RWX to the deployment. Yet I think because we do not have a leader-election requirement, spawning the pods as a deployment makes "Rolling Updates" easier and also signals users that there is no "leader election" logic and each pod can just be "destroyed" at anytime without causing interruption. Hence I think we should be able to switch from a statefulset to a deployment, even in the single-replica case. This change also brought up a templating/linting issue: the definition of `.Values.gitea.config.server.SSH_LISTEN_PORT` in `ssh-svc.yaml` just "luckily" worked so far due to naming-related lint processing. Due to the change from "statefulset" to "deployment", the processing queue changed and caused a failure complaining about `config.server.SSH_LISTEN_PORT` not being defined yet. The only way I could see to fix this was to "properly" define the value in `values.yaml` instead of conditionally definining it in `helpers.tpl`. Maybe there's a better way? ## Chart PVC Creation I've adapted the automated PVC creation from another chart to be able to provide the `storageClassName` as I couldn't get dynamic provisioning for EFS going with the current implementation. In addition the naming and approach within the Gitea chart for PV creation is a bit unusual and aligning it might be beneficial. A semi-unrelated change which will result in a breaking change for existing users but this PR includes a lot of breaking changes already, so including another one might not make it much worse... - New `persistence.mount`: whether to mount an existing PVC (via `persistence.existingClaim` - New `persistence.create`: whether to create a new PVC ## Testing As this PR does a lot of things, we need proper testing. The helm chart can be installed from the Git branch via `helm-git` as follows: ``` helm repo add gitea-charts git+https://gitea.com/gitea/helm-chart@/?ref=deployment helm install gitea --version 0.0.0 ``` It is **highly recommended** to test the chart in a dedicated namespace. I've tested this myself with both `redis` and `redis-cluster` and it seemed to work fine. I just did some basic operations though and we should do more niche testing before merging. Examplary `values.yml` for testing (only needs a valid RWX storage class): <details> <summary>values.yaml</summary> ```yml image: tag: "dev" PullPolicy: "Always" rootless: true replicaCount: 2 persistence: enabled: true accessModes: - ReadWriteMany storageClass: FIXME redis-cluster: enabled: false global: redis: password: gitea gitea: config: indexer: ISSUE_INDEXER_ENABLED: true REPO_INDEXER_ENABLED: false ``` </details> ## Preferred setup The preferred HA setup with respect to performance and stability might currently be as follows: - Repos: RWX (e.g. EFS or Azurefiles NFS) - Issue indexer: Meilisearch (HA) - Session and cache: Redis Cluster (HA) - Attachments/Avatars: Minio (HA) This will result in a ~ 10-pod HA setup overall. All pods have very low resource requests. fix #98 Co-authored-by: pat-s <pat-s@noreply.gitea.io> Reviewed-on: gitea/helm-chart#437 Co-authored-by: pat-s <patrick.schratz@gmail.com> Co-committed-by: pat-s <patrick.schratz@gmail.com> | |||
| f66a192d45 | document env-to-ini env saving | |||
| 6814f7f6d9 | bump 1.20.0 | |||
| cab7f3d0b5 | Change env-to-ini prefix and remove custom prefix (#464) ### Description of the change Change env-to-ini prefix and remove custom prefix. `GITEA` is the default prefix. ### Benefits Compatibility wit v1.20 (`-p` got removed) ### Possible drawbacks None ### Additional information See https://github.com/go-gitea/gitea/pull/25799 Tested with Gitea < 1.20 and >= 1.20 Reviewed-on: gitea/helm-chart#464 Co-authored-by: pat-s <patrick.schratz@gmail.com> Co-committed-by: pat-s <patrick.schratz@gmail.com> | |||
| ca76cc571c | bump 1.19.4 | |||
| 868c029e4d | Document how to add custom themes (#460) <!-- 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 Add documentation how to add custom themes ### 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 #301 ### 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. --> ### Checklist <!-- [Place an '[X]' (no spaces) in all applicable fields. Please remove unrelated fields.] --> - [x] 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) - [x] Breaking changes are documented in the `README.md` - [x] Templating unittests are added Reviewed-on: gitea/helm-chart#460 Co-authored-by: pat-s <patrick.schratz@gmail.com> Co-committed-by: pat-s <patrick.schratz@gmail.com> | |||
| 81252dcb18 | Add toc to README and lint contributing.md (#461) ### Description of the change - Add ToC to README for easier navigation (and add note to `contributing.md`) - Fix some heading levels in README - Put upgrading notes into collapsible blocks - Format `contributing.md` according to MD rules - Allow `details` and `summary` elements in README - Allow for longer headings ### Benefits Better documentation ### Possible drawbacks None Reviewed-on: gitea/helm-chart#461 Co-authored-by: pat-s <patrick.schratz@gmail.com> Co-committed-by: pat-s <patrick.schratz@gmail.com> | |||
| 5ed140088e | Set image.rootless to true by default (#449) fix #432 Assuming that "everybody" is meanwhile on > 1.14. Reviewed-on: gitea/helm-chart#449 | |||
| aa33330abe | Add upgrading note WRT to postgres major version update (#458) Should help users with their move from PG 11 to 15. Thanks again @pi3ch! Reviewed-on: gitea/helm-chart#458 Reviewed-by: justusbunsi <justusbunsi@noreply.gitea.com> Co-authored-by: pat-s <patrick.schratz@gmail.com> Co-committed-by: pat-s <patrick.schratz@gmail.com> | |||
| b11c9c7568 | Add unittests to PR checklist (#455) ### Description of the change This should clarify that we more and more rely on unittests for the templating behavior. ### Applicable issues - fixes #199 Reviewed-on: gitea/helm-chart#455 Reviewed-by: pat-s <pat-s@noreply.gitea.com> Co-authored-by: justusbunsi <justusbunsi@noreply.gitea.com> Co-committed-by: justusbunsi <justusbunsi@noreply.gitea.com> | |||
| 5e5496f15d | Add support for ServiceAccount configuration (#451) ### Description of the change This adds a new values object `serviceAccount`, that allows creating a dedicated ServiceAccount with the Helm Release into the cluster. It supports all common options like labels, annotations, name override (or referring to an externally created ServiceAccount), auto-mount token, image pull secrets. It supersedes the stale PR #357. ### Benefits Users can deploy Gitea with more fine-tuned security settings. ### Applicable issues - related to #448 ### Additional information I've bumped the helm-unittest plugin in the CI build, to be able to use the `exists` and `notExists` feature in the new tests. ### Checklist - [x] 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) Reviewed-on: gitea/helm-chart#451 Reviewed-by: pat-s <pat-s@noreply.gitea.com> Co-authored-by: justusbunsi <sk.bunsenbrenner@gmail.com> Co-committed-by: justusbunsi <sk.bunsenbrenner@gmail.com> | |||
| 0ca013647d | Set $HOME to /data/gitea/git for rootless image (#447) fix #396 Set the default of `$HOME` to `/data/gitea/git` for rootless images to make chart openshift compliant. Reviewed-on: gitea/helm-chart#447 Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: pat-s <patrick.schratz@gmail.com> Co-committed-by: pat-s <patrick.schratz@gmail.com> | |||
| 9c7e85a2bb | Sign helm releases (#427) fix #31 First stab, need to iterate most likely. @techknowlogick @lunny Could one of you add the GPG secrets here so the signing can be tested? Reviewed-on: gitea/helm-chart#427 Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: pat-s <patrick.schratz@gmail.com> Co-committed-by: pat-s <patrick.schratz@gmail.com> | |||
| eefa169b8d | Update node packages (#445) Followed https://stackoverflow.com/a/71186834/4185785. Reviewed-on: gitea/helm-chart#445 Reviewed-by: justusbunsi <justusbunsi@noreply.gitea.io> Co-authored-by: pat-s <patrick.schratz@gmail.com> Co-committed-by: pat-s <patrick.schratz@gmail.com> | |||
| e28c1520c0 | bump to 1.19.3 (#443) All checks were successful generate-chart / generate-chart-publish (push) Successful in 38s Reviewed-on: gitea/helm-chart#443 Reviewed-by: techknowlogick <techknowlogick@noreply.gitea.io> Co-authored-by: pat-s <patrick.schratz@gmail.com> Co-committed-by: pat-s <patrick.schratz@gmail.com>v8.3.0 | |||
| 55b22d2225 | add extraDeploy to add arbitrary objects to the release (#441) Signed-off-by: Cyril Jouve <jv.cyril@gmail.com> <!-- 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. --> add a new value `extraDeploy` to add arbitrary resources inspired by bitnami charts ([example](https://github.com/bitnami/charts/blob/main/bitnami/postgresql/values.yaml#L58) ### Benefits <!-- What benefits will be realized by the code change? --> with the change, I can deploy additional resources and keep them consistent with the chart (reuse macro, same labels, etc)., same workflow (helm upgrade), etc ### Possible drawbacks <!-- Describe any known limitations with your change --> ### 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. --> ### Checklist <!-- [Place an '[X]' (no spaces) in all applicable fields. Please remove unrelated fields.] --> - [x] 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) Co-authored-by: pat-s <pat-s@noreply.gitea.io> Reviewed-on: gitea/helm-chart#441 Reviewed-by: pat-s <pat-s@noreply.gitea.io> Reviewed-by: luhahn <luhahn@noreply.gitea.io> Reviewed-by: justusbunsi <justusbunsi@noreply.gitea.io> Co-authored-by: Cyril Jouve <jv.cyril@gmail.com> Co-committed-by: Cyril Jouve <jv.cyril@gmail.com> | |||
| 5876a9e7fc | Update Gitea to 1.19.2 and bump chart deps (#442) All checks were successful generate-chart / generate-chart-publish (push) Successful in 51s No substantial changes in chart deps. Reviewed-on: gitea/helm-chart#442 Reviewed-by: techknowlogick <techknowlogick@noreply.gitea.io> Co-authored-by: pat-s <patrick.schratz@gmail.com> Co-committed-by: pat-s <patrick.schratz@gmail.com>v8.2.0 | |||
| c274911aab | README: one sentence per line (#440) Fix #376 Editors should do the job of soft-wrapping in case a line get's too long. One sentence per line simplifies reviews and diffs a lot as it let's one comment on a piece of text that is contextually sound and not split over multiple lines. Reviewed-on: gitea/helm-chart#440 Reviewed-by: justusbunsi <justusbunsi@noreply.gitea.io> Co-authored-by: pat-s <patrick.schratz@gmail.com> Co-committed-by: pat-s <patrick.schratz@gmail.com> | |||
| | 0861260c5d | update to use actions for testing PRs (#439) Run PR tests using Gitea Actions Reviewed-on: gitea/helm-chart#439 Reviewed-by: yardenshoham <yardenshoham@noreply.gitea.io> Co-authored-by: techknowlogick <techknowlogick@gitea.io> Co-committed-by: techknowlogick <techknowlogick@gitea.io> | ||
| d8bb352765 | Fix aws secrets (#438) @lunny It still looks like that the IAM user does not have enough permissions for the S3 sync operation. Reviewed-on: gitea/helm-chart#438 Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: pat-s <patrick.schratz@gmail.com> Co-committed-by: pat-s <patrick.schratz@gmail.com>v8.0.3 v8.1.0 | |||
| 76e47ef6f0 | Add -y to fix apt install on ci | |||
| 95076eb11f | Fix yaml lint | |||
| e768a6acdc | Fix release tag ci Some checks failed continuous-integration/drone/push Build is failing | |||
| | 7434556b37 | Use Gitea Actions for release publishing (#436) Co-authored-by: pat-s <pat-s@noreply.gitea.io> Co-authored-by: pat-s <patrick.schratz@gmail.com> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Reviewed-on: gitea/helm-chart#436 Reviewed-by: pat-s <pat-s@noreply.gitea.io> Co-authored-by: techknowlogick <techknowlogick@gitea.io> Co-committed-by: techknowlogick <techknowlogick@gitea.io> | ||
| 9f0b65f386 | Fix unittests (#434) All checks were successful continuous-integration/drone/push Build is passing Unclear why it only appeared now and not earlier. Co-authored-by: justusbunsi <sk.bunsenbrenner@gmail.com> Reviewed-on: gitea/helm-chart#434 Reviewed-by: justusbunsi <justusbunsi@noreply.gitea.io> Co-authored-by: pat-s <patrick.schratz@gmail.com> Co-committed-by: pat-s <patrick.schratz@gmail.com> | |||
| a9779c9724 | Bump to 1.19.1 (#433) Some checks failed continuous-integration/drone/push Build is failing Reviewed-on: gitea/helm-chart#433 Co-authored-by: pat-s <patrick.schratz@gmail.com> Co-committed-by: pat-s <patrick.schratz@gmail.com> | |||
| c0b2fdf8fa | Remove discord webhook (#435) Some checks failed continuous-integration/drone/push Build is failing Broken since a long time and probably not used by anyone Reviewed-on: gitea/helm-chart#435 Reviewed-by: techknowlogick <techknowlogick@noreply.gitea.io> Co-authored-by: pat-s <patrick.schratz@gmail.com> Co-committed-by: pat-s <patrick.schratz@gmail.com> | |||
| bfaf822a36 | feat: Add support for setting priorityClassName (#430) All checks were successful continuous-integration/drone/push Build is passing ### Description of the change Adds support for setting priorityClassName on the Gitea pod. ### Benefits Users can take advantage of https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/ with Gitea. ### Applicable issues - fixes #429 ### Checklist <!-- [Place an '[X]' (no spaces) in all applicable fields. Please remove unrelated fields.] --> - [x] 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) Reviewed-on: gitea/helm-chart#430 Reviewed-by: pat-s <pat-s@noreply.gitea.io> Co-authored-by: Casey Buto <cbuto@d2iq.com> Co-committed-by: Casey Buto <cbuto@d2iq.com> | |||
| 00395e79b0 | Add resource specs to init container (#423) All checks were successful continuous-integration/drone/push Build is passing Supersedes stalled #362 I opted for defining `requests` while leaving `limits` open. This might help for scheduling without restricting performance during init. Reviewed-on: gitea/helm-chart#423 Reviewed-by: justusbunsi <justusbunsi@noreply.gitea.io> Co-authored-by: pat-s <patrick.schratz@gmail.com> Co-committed-by: pat-s <patrick.schratz@gmail.com> | |||
| 25500d7ca2 | Ignore Chart.lock for formatters/linters (#424) All checks were successful continuous-integration/drone/push Build is passing This might hopefully help with the formatting issues around `Chart.lock`. Reviewed-on: gitea/helm-chart#424 Reviewed-by: justusbunsi <justusbunsi@noreply.gitea.io> Co-authored-by: pat-s <patrick.schratz@gmail.com> Co-committed-by: pat-s <patrick.schratz@gmail.com> | |||
| 87c59b2fca | Format all files with prettier VSCode plugin and add yamllint in CI (#413) All checks were successful continuous-integration/drone/push Build is passing @justusbunsi to end my formatting mess... ;) I am not fully sure myself about the linebreaks in `values.yaml` but I don't think there's an easy way to change that behavior. Reviewed-on: gitea/helm-chart#413 Reviewed-by: justusbunsi <justusbunsi@noreply.gitea.io> Co-authored-by: pat-s <patrick.schratz@gmail.com> Co-committed-by: pat-s <patrick.schratz@gmail.com>v8.0.2 | |||
| 6915a4b401 | Add chart author (#411) All checks were successful continuous-integration/drone/push Build is passing and format YAML (maybe we should also update the maintainers list if some are not active anymore?) Co-authored-by: justusbunsi <justusbunsi@noreply.gitea.io> Reviewed-on: gitea/helm-chart#411 Reviewed-by: justusbunsi <justusbunsi@noreply.gitea.io> Co-authored-by: pat-s <patrick.schratz@gmail.com> Co-committed-by: pat-s <patrick.schratz@gmail.com> | |||
| a0ba3c9bef | Bump memcached to add arm64 support (#422) All checks were successful continuous-integration/drone/push Build is passing And allow overriding the `image` section so users could possible also use other image tags. fix #285 Reviewed-on: gitea/helm-chart#422 Reviewed-by: justusbunsi <justusbunsi@noreply.gitea.io> Co-authored-by: pat-s <patrick.schratz@gmail.com> Co-committed-by: pat-s <patrick.schratz@gmail.com> |