Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(helm-chart): add annotations and labels to resources #51

Merged
merged 4 commits into from
Jan 14, 2024

Conversation

druchoo
Copy link
Contributor

@druchoo druchoo commented Jan 14, 2024

Fixes #52.


  • feat: add default labels to ClusterRole and ClusterRoleBinding
  • feat: add ability to specify annotations for service
  • feat: add ability to specify labels for Ingress, Service & ServiceAccount
  • fix: add missing serviceAccount.annotations to values.yaml

@druchoo
Copy link
Contributor Author

druchoo commented Jan 14, 2024

This is what these changes add given the specified values.

values.yaml

serviceAccount:
  annotations:
    sa-annotation: sa-annotation-val
  labels:
    sa-label: sa-label-val

service:
  annotations:
    svc-annotation: svc-annotation-val
  labels:
    svc-label: svc-label-val

ingress:
  enabled: true
  annotations:
    ing-annotation: ing-annotation-val
  labels:
    ing-label: ing-label-val
❯ diff -C10 komoplane.main komoplane.new 
*** komoplane.main  2024-01-14 12:36:47.844650053 -0500
--- komoplane.new   2024-01-14 13:01:23.454584540 -0500
***************
*** 3,58 ****
--- 3,76 ----
  apiVersion: v1
  kind: ServiceAccount
  metadata:
    name: release-name-komoplane
    labels:
      helm.sh/chart: komoplane-0.1.4
      app.kubernetes.io/name: komoplane
      app.kubernetes.io/instance: release-name
      app.kubernetes.io/version: "0.1.4"
      app.kubernetes.io/managed-by: Helm
+     sa-label: sa-label-val
+   annotations:
+     sa-annotation: sa-annotation-val
  ---
  # Source: komoplane/templates/serviceaccount.yaml
  kind: ClusterRole
  apiVersion: rbac.authorization.k8s.io/v1
  metadata:
    name: release-name-komoplane
+   labels:
+     helm.sh/chart: komoplane-0.1.4
+     app.kubernetes.io/name: komoplane
+     app.kubernetes.io/instance: release-name
+     app.kubernetes.io/version: "0.1.4"
+     app.kubernetes.io/managed-by: Helm
  rules:
    - apiGroups: ["*"]
      resources: ["*"]
      verbs: ["get", "list", "watch"]
  ---
  # Source: komoplane/templates/serviceaccount.yaml
  apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    name: release-name-komoplane
+   labels:
+     helm.sh/chart: komoplane-0.1.4
+     app.kubernetes.io/name: komoplane
+     app.kubernetes.io/instance: release-name
+     app.kubernetes.io/version: "0.1.4"
+     app.kubernetes.io/managed-by: Helm
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: release-name-komoplane
  subjects:
    - kind: ServiceAccount
      namespace: default
      name: release-name-komoplane
  ---
  # Source: komoplane/templates/service.yaml
  apiVersion: v1
  kind: Service
  metadata:
    name: release-name-komoplane
    labels:
      helm.sh/chart: komoplane-0.1.4
      app.kubernetes.io/name: komoplane
      app.kubernetes.io/instance: release-name
      app.kubernetes.io/version: "0.1.4"
      app.kubernetes.io/managed-by: Helm
+     svc-label: svc-label-val
+   annotations:
+     svc-annotation: svc-annotation-val
  spec:
    type: ClusterIP
    ports:
      - port: 8090
        targetPort: http
        protocol: TCP
        name: http
    selector:
      app.kubernetes.io/name: komoplane
      app.kubernetes.io/instance: release-name
***************
*** 120,139 ****
--- 138,184 ----
                path: /status
                port: 8090
            resources:
              limits:
                cpu: 1
                memory: 1Gi
              requests:
                cpu: 200m
                memory: 256Mi
  ---
+ # Source: komoplane/templates/ingress.yaml
+ apiVersion: networking.k8s.io/v1
+ kind: Ingress
+ metadata:
+   name: release-name-komoplane
+   labels:
+     helm.sh/chart: komoplane-0.1.4
+     app.kubernetes.io/name: komoplane
+     app.kubernetes.io/instance: release-name
+     app.kubernetes.io/version: "0.1.4"
+     app.kubernetes.io/managed-by: Helm
+     ing-label: ing-label-val
+   annotations:
+     ing-annotation: ing-annotation-val
+ spec:
+   rules:
+     - host: "chart-example.local"
+       http:
+         paths:
+           - path: /
+             pathType: ImplementationSpecific
+             backend:
+               service:
+                 name: release-name-komoplane
+                 port:
+                   number: 8090
+ ---
  # Source: komoplane/templates/tests/test-connection.yaml
  apiVersion: v1
  kind: Pod
  metadata:
    name: "release-name-komoplane-test-connection"
    labels:
      helm.sh/chart: komoplane-0.1.4
      app.kubernetes.io/name: komoplane
      app.kubernetes.io/instance: release-name
      app.kubernetes.io/version: "0.1.4"

@undera undera merged commit 9d75e0d into komodorio:main Jan 14, 2024
3 checks passed
@undera
Copy link
Collaborator

undera commented Jan 14, 2024

Good stuff!

@druchoo druchoo deleted the feature/helm-chart/annotations-labels branch January 14, 2024 20:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[helm-chart] Unable to set annotations and labels for various resources
2 participants