actions / actions/actions-runner-controller

Add ability to specify annotations in helm chart CRDs manifests

Open
#2,125 8 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement needs triage
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.