aerokube / charts

Aerokube Helm Charts Repository
https://charts.aerokube.com/
Apache License 2.0
12 stars 35 forks source link

Add chart customization options like fullnameOverride to the moon2 chart #208

Closed Michael-Masas closed 1 year ago

Michael-Masas commented 1 year ago

We are using the moon2 chart in multiple EKS clusters. The chart was deployed manually via helm cli. Now we want to migrate moon2 deployments to ArgoCD.

ArgoCD can not find the existing moon2 deployment because it looks for a deployment with a different name. In other applications we fix this by setting the "fullnameOverride" value, but in this case we noticed that it is not possible to change the name of the resource and by default {{ .Release.Name }} is used. This is the case for most of the chart's resources. For example: https://github.com/aerokube/charts/blob/6d6945b95ffbe4b3df52de1332006f61a7778972/moon2/templates/deployment.yaml#L9C1-L9C1

We would like the chart to have more customization options like fullnameOverride so we can import the existing moon deployments into ArgoCD

vania-pooh commented 1 year ago

@Michael-Masas could you please provide some kind of documentation where this fullnameOverride option is described? We have no experience with ArgoCD.

Michael-Masas commented 1 year ago

@vania-pooh you can see an example here : https://opensource.com/article/20/5/helm-charts

https://stackoverflow.com/questions/71064365/defining-the-value-for-template-in-helm https://helm.sh/docs/chart_template_guide/getting_started/ `$ helm install --debug --dry-run goodly-guppy ./mychart install.go:149: [debug] Original chart version: "" install.go:166: [debug] CHART PATH: /Users/ninja/mychart

NAME: goodly-guppy LAST DEPLOYED: Thu Dec 26 17:24:13 2019 NAMESPACE: default STATUS: pending-install REVISION: 1 TEST SUITE: None USER-SUPPLIED VALUES: {}

COMPUTED VALUES: affinity: {} fullnameOverride: "" image: pullPolicy: IfNotPresent repository: nginx imagePullSecrets: [] ingress: annotations: {} enabled: false hosts:

in the middle you can see the example of fullnameOverride (i bold it)

vania-pooh commented 1 year ago

@Michael-Masas what you are showing is a particular configuration option of some third-party Helm chart. Nothing prevents you to change release name in Helm upgrade command:

This is what we provide by default in our docs:

$ helm upgrade --install -n moon moon aerokube/moon2

So here release name is moon, but you can type:

$ helm upgrade --install -n moon my-custom-release-name aerokube/moon2

In that case release name will be my-custom-release-name.

liad5h commented 1 year ago

@vania-pooh When you use an ArgoCD applicationset with a cluster generator, ArgoCD will deploy an ArgoCD application resource in any cluster matching the selector.

Hence, the ArgoCD application name must be different for each application, otherwise - multiple application resources with the same name will overlap (the application resources are deployed to the same namespace.

So instead of an application named moon2 I will get <cluster_name>-moon2, but when I deployed moon2 with helm I called the release moon2. ArgoCD sets the release name to <cluster_name>-moon2 so I can't really override the .Release.Name value.

For other applications, I use the fullnameOverride value to override the .Release.Name value, basically changing it from <cluster_name>-<application_name> to <application_name>.

Does this make sense?

vania-pooh commented 1 year ago

@liad5h argo cd has releaseName field for overriding this. https://argo-cd.readthedocs.io/en/stable/user-guide/helm/#declarative Respective issue where it was implemented: https://github.com/argoproj/argo-cd/pull/1682

liad5h commented 1 year ago

@vania-pooh Good catch, I missed that part, thanks :) But I have other stuff that I would like to set, can I set pod annotations to every chrome browser that I spin up?

vania-pooh commented 1 year ago

@liad5h yes, this is configurable in Moon settings: https://aerokube.com/moon/latest/#browsers-set-custom-annotations

vania-pooh commented 1 year ago

Closing because of inactivity. Feel free to reopen if still actual.