diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0840b6c..47d11a0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -18,7 +18,7 @@ stages: image: quay.io/buildah/stable rules: - if: '$CI_COMMIT_BRANCH == "master"' - # when: manual # uncomment this line if we want to make this step a manual process + when: always tags: - kubernetes-parity-build @@ -33,7 +33,7 @@ stages: - |- sed -i "s/appVersion:.*/appVersion: $KUBERNETES_VERSION_TAG/" ./helm/Chart.yaml # validate the chart - - helm --debug template + - helm template --create-namespace --namespace $KUBE_NAMESPACE --set image.backend.repository="${CONTAINER_REGISTRY}/${BACKEND_CONTAINER_REPO}" @@ -42,7 +42,7 @@ stages: --set image.frontend.tag="${CI_COMMIT_SHORT_SHA}" $KUBE_NAMESPACE ./helm/ # install the chart into the relevant cluster - - helm --debug upgrade + - helm upgrade --install --atomic --timeout 120s @@ -55,7 +55,7 @@ stages: $KUBE_NAMESPACE ./helm/ rules: - if: '$CI_COMMIT_BRANCH == "master"' - # when: manual # uncomment this line if we want to make this step a manual process + when: on-success tags: - kubernetes-parity-build diff --git a/helm/templates/.core-service.yaml.swp b/helm/templates/.core-service.yaml.swp new file mode 100644 index 0000000..5e26db1 Binary files /dev/null and b/helm/templates/.core-service.yaml.swp differ diff --git a/helm/templates/core-deployment.yaml b/helm/templates/core-deployment.yaml index f283856..82da1a6 100644 --- a/helm/templates/core-deployment.yaml +++ b/helm/templates/core-deployment.yaml @@ -12,6 +12,7 @@ spec: selector: matchLabels: {{- include "substrate-telemetry.selectorLabels" . | nindent 6 }} + telemetry-component: core template: metadata: {{- with .Values.podAnnotations }} diff --git a/helm/templates/core-servicemonitor.yaml b/helm/templates/core-servicemonitor.yaml new file mode 100644 index 0000000..4ae1955 --- /dev/null +++ b/helm/templates/core-servicemonitor.yaml @@ -0,0 +1,32 @@ +{{- if .Values.serviceMonitor.core.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: telemetry-core + labels: + {{- include "substrate-telemetry.labels" . | nindent 4 }} + telemetry-component: core + {{- if .Values.serviceMonitor.core.additionalLabels }} +{{ toYaml .Values.serviceMonitor.core.additionalLabels | indent 4 }} + {{- end }} + {{- if .Values.serviceMonitor.core.annotations }} + annotations: +{{ toYaml .Values.serviceMonitor.core.annotations | indent 4 }} + {{- end }} +spec: + selector: + matchLabels: + {{- include "substrate-telemetry.selectorLabels" . | nindent 6 }} + telemetry-component: core + namespaceSelector: + matchNames: + - {{ .Release.Namespace | quote }} + endpoints: + - port: http + {{- if .Values.serviceMonitor.core.interval }} + interval: {{ .Values.serviceMonitor.core.interval }} + {{- end }} + {{- if .Values.serviceMonitor.core.scrapeTimeout }} + scrapeTimeout: {{ .Values.serviceMonitor.core.scrapeTimeout }} + {{- end }} +{{- end }} diff --git a/helm/templates/frontend-deployment.yaml b/helm/templates/frontend-deployment.yaml index 8bb737f..128d3ec 100644 --- a/helm/templates/frontend-deployment.yaml +++ b/helm/templates/frontend-deployment.yaml @@ -12,6 +12,7 @@ spec: selector: matchLabels: {{- include "substrate-telemetry.selectorLabels" . | nindent 6 }} + telemetry-component: frontend template: metadata: {{- with .Values.podAnnotations }} diff --git a/helm/templates/shard-deployment.yaml b/helm/templates/shard-deployment.yaml index c5a7e66..8803635 100644 --- a/helm/templates/shard-deployment.yaml +++ b/helm/templates/shard-deployment.yaml @@ -12,6 +12,7 @@ spec: selector: matchLabels: {{- include "substrate-telemetry.selectorLabels" . | nindent 6 }} + telemetry-component: shard template: metadata: {{- with .Values.podAnnotations }} diff --git a/helm/values.yaml b/helm/values.yaml index fcd55ed..21b4731 100644 --- a/helm/values.yaml +++ b/helm/values.yaml @@ -28,7 +28,25 @@ envVars: core: {} frontend: {} - +serviceMonitor: + shard: + enabled: false + interval: "" + additionalLabels: {} + annotations: {} + # scrapeTimeout: 10s + core: + enabled: true + interval: "" + additionalLabels: {} + annotations: {} + # scrapeTimeout: 10s + frontend: + enabled: false + interval: "" + additionalLabels: {} + annotations: {} + # scrapeTimeout: 10s serviceAccount: # Specifies whether a service account should be created