dnskr opened a new pull request, #13:
URL: https://github.com/apache/ozone-helm-charts/pull/13

   ## What changes were proposed in this pull request?
   
   The PR adds support for additional service labels and annotations which can 
be added to a Helm chart releases via values.
   
   The change is needed in some scenarios, for example:
   
   - Add prometheus related annotations to scrape metrics
     ```yaml
     apiVersion: v1
     kind: Service
     metadata:
       annotations:
         prometheus.io/port: "9500"
         prometheus.io/scrape: "true"
     ```
   - Add additional labels for different environments
   
   ## What is the link to the Apache JIRA
   
   https://issues.apache.org/jira/browse/HDDS-11841
   
   ## How was this patch tested?
   
   #### 1. Test that service templates are the same with default values (no 
extra labels and annotations)
   ```shell
   helm template ozone charts/ozone -s templates/datanode/datanode-service.yaml 
\
                                                      -s 
templates/om/om-service.yaml \
                                                      -s 
templates/s3g/s3g-service.yaml \
                                                      -s 
templates/scm/scm-service.yam
   ```
   Output
   ```yaml
   ---
   # Source: ozone/templates/datanode/datanode-service.yaml
   apiVersion: v1
   kind: Service
   metadata:
     name: ozone-datanode
     labels:
       helm.sh/chart: ozone-0.1.1
       app.kubernetes.io/name: ozone
       app.kubernetes.io/instance: ozone
       app.kubernetes.io/version: "1.4.1-rocky"
       app.kubernetes.io/managed-by: Helm
       app.kubernetes.io/component: datanode
   spec:
     type: ClusterIP
     ports:
       - name: ui
         port: 9882
     selector:
       app.kubernetes.io/name: ozone
       app.kubernetes.io/instance: ozone
       app.kubernetes.io/component: datanode
   ---
   # Source: ozone/templates/om/om-service.yaml
   apiVersion: v1
   kind: Service
   metadata:
     name: ozone-om
     labels:
       helm.sh/chart: ozone-0.1.1
       app.kubernetes.io/name: ozone
       app.kubernetes.io/instance: ozone
       app.kubernetes.io/version: "1.4.1-rocky"
       app.kubernetes.io/managed-by: Helm
       app.kubernetes.io/component: om
   spec:
     type: ClusterIP
     ports:
       - name: ui
         port: 9874
     selector:
       app.kubernetes.io/name: ozone
       app.kubernetes.io/instance: ozone
       app.kubernetes.io/component: om
   ---
   # Source: ozone/templates/s3g/s3g-service.yaml
   apiVersion: v1
   kind: Service
   metadata:
     name: ozone-s3g
     labels:
       helm.sh/chart: ozone-0.1.1
       app.kubernetes.io/name: ozone
       app.kubernetes.io/instance: ozone
       app.kubernetes.io/version: "1.4.1-rocky"
       app.kubernetes.io/managed-by: Helm
       app.kubernetes.io/component: s3g
   spec:
     type: ClusterIP
     ports:
       - name: rest
         port: 9878
     selector:
       app.kubernetes.io/name: ozone
       app.kubernetes.io/instance: ozone
       app.kubernetes.io/component: s3g
   ---
   # Source: ozone/templates/scm/scm-service.yaml
   apiVersion: v1
   kind: Service
   metadata:
     name: ozone-scm
     labels:
       helm.sh/chart: ozone-0.1.1
       app.kubernetes.io/name: ozone
       app.kubernetes.io/instance: ozone
       app.kubernetes.io/version: "1.4.1-rocky"
       app.kubernetes.io/managed-by: Helm
       app.kubernetes.io/component: scm
   spec:
     type: ClusterIP
     ports:
       - name: ui
         port: 9876
     selector:
       app.kubernetes.io/name: ozone
       app.kubernetes.io/instance: ozone
       app.kubernetes.io/component: scm
   ```
   #### 2. Test that templates are correct with provided additional labels and 
annotations
   ```shell
   helm template ozone charts/ozone --set datanode.service.labels.test=datanode 
\
                                                      --set 
datanode.service.annotations.path=datanode \
                                                      --set 
om.service.labels.test=om \
                                                      --set 
om.service.annotations.path=om \
                                                      --set 
s3g.service.labels.test=s3g \
                                                      --set 
s3g.service.annotations.path=s3g \
                                                      --set 
scm.service.labels.test=scm \
                                                      --set 
scm.service.annotations.path=scm \
                                                      -s 
templates/datanode/datanode-service.yaml \
                                                      -s 
templates/om/om-service.yaml \
                                                      -s 
templates/s3g/s3g-service.yaml \
                                                      -s 
templates/scm/scm-service.yaml
   ```
   Output
   ```yaml
   ---
   # Source: ozone/templates/datanode/datanode-service.yaml
   apiVersion: v1
   kind: Service
   metadata:
     name: ozone-datanode
     labels:
       helm.sh/chart: ozone-0.1.1
       app.kubernetes.io/name: ozone
       app.kubernetes.io/instance: ozone
       app.kubernetes.io/version: "1.4.1-rocky"
       app.kubernetes.io/managed-by: Helm
       app.kubernetes.io/component: datanode
       test: datanode
     annotations:
       path: datanode
   spec:
     type: ClusterIP
     ports:
       - name: ui
         port: 9882
     selector:
       app.kubernetes.io/name: ozone
       app.kubernetes.io/instance: ozone
       app.kubernetes.io/component: datanode
   ---
   # Source: ozone/templates/om/om-service.yaml
   apiVersion: v1
   kind: Service
   metadata:
     name: ozone-om
     labels:
       helm.sh/chart: ozone-0.1.1
       app.kubernetes.io/name: ozone
       app.kubernetes.io/instance: ozone
       app.kubernetes.io/version: "1.4.1-rocky"
       app.kubernetes.io/managed-by: Helm
       app.kubernetes.io/component: om
       test: om
     annotations:
       path: om
   spec:
     type: ClusterIP
     ports:
       - name: ui
         port: 9874
     selector:
       app.kubernetes.io/name: ozone
       app.kubernetes.io/instance: ozone
       app.kubernetes.io/component: om
   ---
   # Source: ozone/templates/s3g/s3g-service.yaml
   apiVersion: v1
   kind: Service
   metadata:
     name: ozone-s3g
     labels:
       helm.sh/chart: ozone-0.1.1
       app.kubernetes.io/name: ozone
       app.kubernetes.io/instance: ozone
       app.kubernetes.io/version: "1.4.1-rocky"
       app.kubernetes.io/managed-by: Helm
       app.kubernetes.io/component: s3g
       test: s3g
     annotations:
       path: s3g
   spec:
     type: ClusterIP
     ports:
       - name: rest
         port: 9878
     selector:
       app.kubernetes.io/name: ozone
       app.kubernetes.io/instance: ozone
       app.kubernetes.io/component: s3g
   ---
   # Source: ozone/templates/scm/scm-service.yaml
   apiVersion: v1
   kind: Service
   metadata:
     name: ozone-scm
     labels:
       helm.sh/chart: ozone-0.1.1
       app.kubernetes.io/name: ozone
       app.kubernetes.io/instance: ozone
       app.kubernetes.io/version: "1.4.1-rocky"
       app.kubernetes.io/managed-by: Helm
       app.kubernetes.io/component: scm
       test: scm
     annotations:
       path: scm
   spec:
     type: ClusterIP
     ports:
       - name: ui
         port: 9876
     selector:
       app.kubernetes.io/name: ozone
       app.kubernetes.io/instance: ozone
       app.kubernetes.io/component: scm
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to