helm-actions/README.md
Christopher Homberger 5b19636034
All checks were successful
changelog / changelog (push) Successful in 21s
check-and-test / check-and-test (push) Successful in 1m8s
chore(core): refactor to make all unit tests pass (#6)
_This is the first time I ever messed with helm and is an experiment to show what prevents the tests to pass and how far it still depends on the gitea chart_
### Description of the change

- Deletes a single test that seems to depend directly on gitea
- make all tests pass
- Moves all value accesses from `actions` one level up
- Copies content of the gitea chart required by the existing test
  - Reveals all dependencies that needs to be decoupled
- Fixes readme generation
  - add package.json
  - copy dependent readme section from helm-gitea
- Removes all dependencies
- giteaRootURL is now required to be provided
  - consistency check that this value has been provided
  - added test for consistency failure
- nc command no longer uses an hardcoded dns name and is checked in tests
  - added test
- Copied yamllint from helm-gitea
  - added pnpm lock file exclusion
- Installed pnpm in the workflow
- Updated make unittest command in CI to unittest-helm
### Benefits

The existing tests are passing

### Possible drawbacks

The provision job might still not work.

### Applicable issues

- Fixes #5

### Additional information

The following usage should now deploy
```yaml
existingSecret: "somesecret"
existingSecretKey: "key"

## Specify the root URL of the Gitea instance
giteaRootURL: "http://somedomain:3000"
```
### ⚠ BREAKING

- giteaRootURL is now required to be provided
- Moves all value accesses from `actions` one level up
  - The values.yml had this change without updating tests / dev Readme

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/6
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Reviewed-by: justusbunsi <justusbunsi@noreply.gitea.com>
Reviewed-by: volker.raschek <markus.pesch@web.de>
Co-authored-by: Christopher Homberger <christopher.homberger@web.de>
Co-committed-by: Christopher Homberger <christopher.homberger@web.de>
2025-03-30 23:13:31 +00:00

12 KiB

helm-act

Rootless Defaults

If .Values.image.rootless: true, then the following will occur. In case you use .Values.image.fullOverride, check that this works in your image:

  • If .Values.provisioning.enabled: true, then uses the rootless Gitea image, must match helm-Gitea.

Parameters

Gitea Actions

Name Description Value
enabled Create an act runner StatefulSet. false
init.image.repository The image used for the init containers busybox
init.image.tag The image tag used for the init containers 1.37.0
statefulset.annotations Act runner annotations {}
statefulset.labels Act runner labels {}
statefulset.resources Act runner resources {}
statefulset.nodeSelector NodeSelector for the statefulset {}
statefulset.tolerations Tolerations for the statefulset []
statefulset.affinity Affinity for the statefulset {}
statefulset.extraVolumes Extra volumes for the statefulset []
statefulset.actRunner.repository The Gitea act runner image gitea/act_runner
statefulset.actRunner.tag The Gitea act runner tag 0.2.11
statefulset.actRunner.pullPolicy The Gitea act runner pullPolicy IfNotPresent
statefulset.actRunner.extraVolumeMounts Allows mounting extra volumes in the act runner container []
statefulset.actRunner.config Act runner custom configuration. See Act Runner documentation for details. Too complex. See values.yaml
statefulset.dind.repository The Docker-in-Docker image docker
statefulset.dind.tag The Docker-in-Docker image tag 25.0.2-dind
statefulset.dind.pullPolicy The Docker-in-Docker pullPolicy IfNotPresent
statefulset.dind.extraVolumeMounts Allows mounting extra volumes in the Docker-in-Docker container []
statefulset.dind.extraEnvs Allows adding custom environment variables, such as DOCKER_IPTABLES_LEGACY []
provisioning.enabled Create a job that will create and save the token in a Kubernetes Secret false
provisioning.annotations Job's annotations {}
provisioning.labels Job's labels {}
provisioning.resources Job's resources {}
provisioning.nodeSelector NodeSelector for the job {}
provisioning.tolerations Tolerations for the job []
provisioning.affinity Affinity for the job {}
provisioning.ttlSecondsAfterFinished ttl for the job after finished in order to allow helm to properly recognize that the job completed 300
provisioning.publish.repository The image that can create the secret via kubectl bitnami/kubectl
provisioning.publish.tag The publish image tag that can create the secret 1.29.0
provisioning.publish.pullPolicy The publish image pullPolicy that can create the secret IfNotPresent
existingSecret Secret that contains the token ""
existingSecretKey Secret key ""
giteaRootURL URL the act_runner registers and connect with ""

Persistence

Name Description Value
persistence.enabled Enable persistent storage true
persistence.create Whether to create the persistentVolumeClaim for shared storage true
persistence.mount Whether the persistentVolumeClaim should be mounted (even if not created) true
persistence.claimName Use an existing claim to store repository information gitea-shared-storage
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.helm.sh/resource-policy Resource policy for the persistence volume claim keep
persistence.storageClass Name of the storage class to use nil
persistence.subPath Subdirectory of the volume to mount at nil
persistence.volumeName Name of persistent volume in PVC ""

Image

Name Description Value
image.registry image registry, e.g. gcr.io,docker.io docker.gitea.com
image.repository Image to start for this pod gitea
image.tag Visit: Image tag. Defaults to appVersion within Chart.yaml. ""
image.digest Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like latest ""
image.pullPolicy Image pull policy IfNotPresent
image.rootless Wether or not to pull the rootless version of Gitea, only works on Gitea 1.14.x or higher true
image.fullOverride Completely overrides the image registry, path/image, tag and digest. Adjust image.rootless accordingly and review Rootless defaults. ""

Global

Name Description Value
global.imageRegistry global image registry override ""
global.storageClass global storage class override ""