actions / actions/actions-runner-controller
Add ability to specify annotations in helm chart CRDs manifests
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 6.5k
- Forks
- 1.5k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 27
Description
What would you like added?
Currently in the actions-runner helm chart, we don't have any way to specify a custom annotations inside CRDs manifests. So I would like to add this feature by template it and move all of the CRDs manifests to templates folder.
For example:
# ./templates/crds/actions.summerwind.dev_horizontalrunnerautoscalers.yaml
{{- if .Values.crds.install }}
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.7.0
{{- if .Values.crds.keep }}
helm.sh/resource-policy: keep
{{- end }}
{{- with .Values.crds.annotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
name: horizontalrunnerautoscalers.actions.summerwind.dev
...
{{- end }}
# ./values.yaml
# Custom resource configuration
crds:
# Install and upgrade CRDs
install: true
# Keep CRDs on chart uninstall
keep: true
# Annotations to be added to all CRDs
annotations: {}
Why is this needed?
I'm facing an issue with annotations size limitation (metadata.annotations: Too long: must have at most 262144 characters) when deploying the actions-runner-controller helm chart using ArgoCD. One way to fix this is using server side apply. And I know that I can specify this annotation in the ArgoCD Aplication. But I think it would be cleaner to specify argocd.argoproj.io/sync-options: ServerSideApply=true in the CRDs annotation.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the existing CRD manifests and values.yaml, then compare them with the proposed templates/crds/actions.summerwind.dev_horizontalrunnerautoscalers.yaml structure. Confirm how the chart currently handles CRD installation and retention. Done means all CRD manifests are templated, custom annotations can be supplied through crds.annotations, and the install and keep settings still work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- helm, kubernetes
- Domain
- devops, infrastructure
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100