From a0557b4b730f0f59d8415d68a1a8e4351ea7ecc3 Mon Sep 17 00:00:00 2001 From: Morteza E <105240903+mershad-manesh@users.noreply.github.com> Date: Fri, 23 Jun 2023 14:02:06 -0400 Subject: [PATCH 01/10] inc chart version --- horizon/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/horizon/Chart.yaml b/horizon/Chart.yaml index 5f857d6..67c3a9c 100644 --- a/horizon/Chart.yaml +++ b/horizon/Chart.yaml @@ -17,7 +17,7 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.0.5 +version: 0.0.6 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to From 25dde88e8ffb738bc77b71adf53f327499ccf4d7 Mon Sep 17 00:00:00 2001 From: Morteza E <105240903+mershad-manesh@users.noreply.github.com> Date: Fri, 23 Jun 2023 14:10:03 -0400 Subject: [PATCH 02/10] inc chart version --- horizon/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/horizon/Chart.yaml b/horizon/Chart.yaml index 67c3a9c..6a65dfc 100644 --- a/horizon/Chart.yaml +++ b/horizon/Chart.yaml @@ -17,7 +17,7 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.0.6 +version: 0.0.7 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to From 016179f8a61499af29bf16c73a5b51721571f59f Mon Sep 17 00:00:00 2001 From: Morteza E <105240903+mershad-manesh@users.noreply.github.com> Date: Mon, 26 Jun 2023 11:05:08 -0400 Subject: [PATCH 03/10] Fix indentation for nodeSelector, affinity and tolerations --- horizon/templates/opennms-core.statefulset.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/horizon/templates/opennms-core.statefulset.yaml b/horizon/templates/opennms-core.statefulset.yaml index af87a4f..f697ed5 100644 --- a/horizon/templates/opennms-core.statefulset.yaml +++ b/horizon/templates/opennms-core.statefulset.yaml @@ -16,11 +16,11 @@ spec: replicas: 1 # DO NOT CHANGE. The solution only allows 1 instance {{- end }} nodeSelector: - {{- toYaml .Values.opennms.configuration.nodeSelector | nindent 8 }} + {{- toYaml .Values.opennms.configuration.nodeSelector | nindent 4 }} affinity: - {{- toYaml .Values.opennms.configuration.affinity | nindent 8 }} + {{- toYaml .Values.opennms.configuration.affinity | nindent 4 }} tolerations: - {{- toYaml .Values.opennms.configuration.tolerations | nindent 8 }} + {{- toYaml .Values.opennms.configuration.tolerations | nindent 4 }} selector: matchLabels: app: onms-core From 99e8bd50b3e51290b7e48c06ad4dad1192ce03f7 Mon Sep 17 00:00:00 2001 From: Morteza E <105240903+mershad-manesh@users.noreply.github.com> Date: Mon, 26 Jun 2023 11:45:13 -0400 Subject: [PATCH 04/10] rename opennms to core --- examples/helm-cloud.yaml | 2 +- examples/kill-it-with-fire.yaml | 2 +- examples/minimal-resources.yaml | 2 +- horizon/templates/NOTES.txt | 10 ++-- horizon/templates/_helpers.tpl | 30 +++++------ horizon/templates/app-credentials.secret.yaml | 12 ++--- horizon/templates/app-jks.secret.yaml | 2 +- horizon/templates/app-scripts.configmap.yaml | 2 +- horizon/templates/app-settings.configmap.yaml | 10 ++-- horizon/templates/grafana-helm.configmap.yaml | 14 ++--- .../templates/grafana-helm.deployment.yaml | 6 +-- horizon/templates/grafana-helm.service.yaml | 4 +- .../templates/grafana-promtail.configmap.yaml | 8 +-- .../grafana-renderer.deployment.yaml | 6 +-- .../templates/grafana-renderer.service.yaml | 4 +- horizon/templates/ingress.yaml | 10 ++-- horizon/templates/inspector.yaml | 14 ++--- horizon/templates/namespace.yaml | 2 +- horizon/templates/opennms-core.service.yaml | 4 +- .../templates/opennms-core.statefulset.yaml | 52 +++++++++---------- .../templates/opennms-post-config.job.yaml | 6 +-- .../templates/opennms-sentinel.service.yaml | 2 +- .../opennms-sentinel.statefulset.yaml | 10 ++-- horizon/templates/opennms.etc.pvc.yaml | 4 +- horizon/templates/opennms.mibs.pvc.yaml | 6 +-- horizon/templates/opennms.rrd.pvc.yaml | 6 +-- horizon/values.yaml | 2 +- minion/templates/minion-configmap.yaml | 2 +- minion/values.yaml | 2 +- 29 files changed, 118 insertions(+), 118 deletions(-) diff --git a/examples/helm-cloud.yaml b/examples/helm-cloud.yaml index a74ad14..c31ef32 100644 --- a/examples/helm-cloud.yaml +++ b/examples/helm-cloud.yaml @@ -22,7 +22,7 @@ dependencies: hostname: onms-db.shared.svc # Please change it port: 5432 -opennms: +core: resources: limits: cpu: '2' diff --git a/examples/kill-it-with-fire.yaml b/examples/kill-it-with-fire.yaml index 8a8ac70..3d17bce 100644 --- a/examples/kill-it-with-fire.yaml +++ b/examples/kill-it-with-fire.yaml @@ -1,4 +1,4 @@ -opennms: +core: terminationGracePeriodSeconds: 5 postConfigJob: ttlSecondsAfterFinished: 5 diff --git a/examples/minimal-resources.yaml b/examples/minimal-resources.yaml index b222a43..ea3ac47 100644 --- a/examples/minimal-resources.yaml +++ b/examples/minimal-resources.yaml @@ -1,6 +1,6 @@ # Default values for minimal resource consumption, e.g.: minikube (for testing purposes only) -opennms: +core: resources: null configuration: storage: diff --git a/horizon/templates/NOTES.txt b/horizon/templates/NOTES.txt index 9a5d6b6..1d9e01f 100644 --- a/horizon/templates/NOTES.txt +++ b/horizon/templates/NOTES.txt @@ -1,4 +1,4 @@ -Thank you for installing OpenNMS {{ .Values.opennms.image.tag | default .Values.opennmsVersion }}. +Thank you for installing OpenNMS {{ .Values.core.image.tag | default .Values.opennmsVersion }}. Your release is named "{{ .Release.Name }}", used for: - Customer/Deployment identifier. @@ -11,10 +11,10 @@ Your release is named "{{ .Release.Name }}", used for: Resources URLs: -OpenNMS Core: https://onms-core.{{ include "opennms.domain" . }}/opennms/index.jsp +OpenNMS Core: https://onms-core.{{ include "core.domain" . }}/opennms/index.jsp {{- if gt ((.Values.grafana).replicaCount|int) 0 }} -Grafana: https://grafana.{{ include "opennms.domain" . }}/ +Grafana: https://grafana.{{ include "core.domain" . }}/ {{- end }} To learn more about the release, try: @@ -23,14 +23,14 @@ $ helm status {{ .Release.Name }} $ helm get all {{ .Release.Name }} $ kubectl get all -n {{ .Release.Name }} -{{- if not .Values.opennms.configuration.alwaysRollDeployment }} +{{- if not .Values.core.configuration.alwaysRollDeployment }} If OpenNMS needs to be restarted to apply configuration changes, you'll need to restart it, e.g.: $ kubectl rollout restart -n {{ .Release.Name }} statefulset/onms-core {{- end }} -{{- if .Values.opennms.inspector.enabled }} +{{- if .Values.core.inspector.enabled }} The inspector pod is enabled and OpenNMS pod is not running. diff --git a/horizon/templates/_helpers.tpl b/horizon/templates/_helpers.tpl index b1e939e..3a2f40b 100644 --- a/horizon/templates/_helpers.tpl +++ b/horizon/templates/_helpers.tpl @@ -1,7 +1,7 @@ {{/* Expand the name of the chart. */}} -{{- define "opennms.name" -}} +{{- define "core.name" -}} {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} {{- end }} @@ -10,7 +10,7 @@ Create a default fully qualified app name. We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). If release name contains chart name it will be used as a full name. */}} -{{- define "opennms.fullname" -}} +{{- define "core.fullname" -}} {{- if .Values.fullnameOverride }} {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} {{- else }} @@ -26,16 +26,16 @@ If release name contains chart name it will be used as a full name. {{/* Create chart name and version as used by the chart label. */}} -{{- define "opennms.chart" -}} +{{- define "core.chart" -}} {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} {{- end }} {{/* Common labels */}} -{{- define "opennms.labels" -}} -helm.sh/chart: {{ include "opennms.chart" . }} -{{ include "opennms.selectorLabels" . }} +{{- define "core.labels" -}} +helm.sh/chart: {{ include "core.chart" . }} +{{ include "core.selectorLabels" . }} {{- if .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} {{- end }} @@ -45,17 +45,17 @@ app.kubernetes.io/managed-by: {{ .Release.Service }} {{/* Selector labels */}} -{{- define "opennms.selectorLabels" -}} -app.kubernetes.io/name: {{ include "opennms.name" . }} +{{- define "core.selectorLabels" -}} +app.kubernetes.io/name: {{ include "core.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} {{- end }} {{/* Create the name of the service account to use */}} -{{- define "opennms.serviceAccountName" -}} +{{- define "core.serviceAccountName" -}} {{- if .Values.serviceAccount.create }} -{{- default (include "opennms.fullname" .) .Values.serviceAccount.name }} +{{- default (include "core.fullname" .) .Values.serviceAccount.name }} {{- else }} {{- default "default" .Values.serviceAccount.name }} {{- end }} @@ -64,7 +64,7 @@ Create the name of the service account to use {{/* Define custom content for JVM_OPTS to conditionally handle Truststores */}} -{{- define "opennms.jvmOptions" -}} +{{- define "core.jvmOptions" -}} {{- $common := "-XX:+AlwaysPreTouch -XX:+UseG1GC -XX:+UseStringDeduplication" }} {{- if and .Values.dependencies.truststore .Values.dependencies.truststore.content }} {{- $truststore := "-Djavax.net.ssl.trustStore=/etc/java/jks/truststore.jks" }} @@ -81,14 +81,14 @@ Define custom content for JVM_OPTS to conditionally handle Truststores {{/* Define whether RRD is enabled */}} -{{- define "opennms.enable_tss_rrd" -}} - {{ or (not .Values.opennms.configuration.enable_cortex) .Values.opennms.configuration.enable_tss_dual_write -}} +{{- define "core.enable_tss_rrd" -}} + {{ or (not .Values.core.configuration.enable_cortex) .Values.core.configuration.enable_tss_dual_write -}} {{- end }} {{/* Define common content for Grafana Promtail */}} -{{- define "opennms.promtailBaseConfig" -}} +{{- define "core.promtailBaseConfig" -}} {{- $scheme := "http" -}} {{- if ((.Values.dependencies).loki).ca_cert -}} {{- $scheme := "https" -}} @@ -124,6 +124,6 @@ scrape_configs: {{/* Define Customer/Environment Domain */}} -{{- define "opennms.domain" -}} +{{- define "core.domain" -}} {{- printf "%s.%s" .Release.Name .Values.domain -}} {{- end }} diff --git a/horizon/templates/app-credentials.secret.yaml b/horizon/templates/app-credentials.secret.yaml index e217333..47cfb3f 100644 --- a/horizon/templates/app-credentials.secret.yaml +++ b/horizon/templates/app-credentials.secret.yaml @@ -6,7 +6,7 @@ metadata: name: app-credentials namespace: {{ .Release.Name }} labels: - {{- include "opennms.labels" . | nindent 4 }} + {{- include "core.labels" . | nindent 4 }} data: {{- if ((.Values.dependencies).postgresql).username }} POSTGRES_USER: {{ .Values.dependencies.postgresql.username | b64enc }} @@ -14,11 +14,11 @@ data: {{- if ((.Values.dependencies).postgresql).password }} POSTGRES_PASSWORD: {{ .Values.dependencies.postgresql.password | b64enc }} {{- end }} - OPENNMS_DBUSER: {{ .Values.opennms.configuration.database.username | b64enc }} - OPENNMS_DBPASS: {{ .Values.opennms.configuration.database.password | b64enc }} - OPENNMS_HTTP_USER: {{ .Values.opennms.configuration.http.restUsername | b64enc }} - OPENNMS_HTTP_PASS: {{ .Values.opennms.configuration.http.restPassword | b64enc }} - OPENNMS_ADMIN_PASS: {{ required "HTTP admin password (opennms.configuration.http.adminPassword) must be provided" .Values.opennms.configuration.http.adminPassword | b64enc }} + OPENNMS_DBUSER: {{ .Values.core.configuration.database.username | b64enc }} + OPENNMS_DBPASS: {{ .Values.core.configuration.database.password | b64enc }} + OPENNMS_HTTP_USER: {{ .Values.core.configuration.http.restUsername | b64enc }} + OPENNMS_HTTP_PASS: {{ .Values.core.configuration.http.restPassword | b64enc }} + OPENNMS_ADMIN_PASS: {{ required "HTTP admin password (core.configuration.http.adminPassword) must be provided" .Values.core.configuration.http.adminPassword | b64enc }} {{- if ((.Values.dependencies).kafka).username }} KAFKA_SASL_USERNAME: {{ .Values.dependencies.kafka.username | b64enc }} {{- end }} diff --git a/horizon/templates/app-jks.secret.yaml b/horizon/templates/app-jks.secret.yaml index d0a37f2..908f50b 100644 --- a/horizon/templates/app-jks.secret.yaml +++ b/horizon/templates/app-jks.secret.yaml @@ -6,7 +6,7 @@ metadata: name: app-jks namespace: {{ .Release.Name }} labels: - {{- include "opennms.labels" . | nindent 4 }} + {{- include "core.labels" . | nindent 4 }} data: # To be mounted at /etc/java/jks {{- if .Values.dependencies.truststore.content }} truststore.jks: | diff --git a/horizon/templates/app-scripts.configmap.yaml b/horizon/templates/app-scripts.configmap.yaml index bc4ffa5..7045c56 100644 --- a/horizon/templates/app-scripts.configmap.yaml +++ b/horizon/templates/app-scripts.configmap.yaml @@ -5,6 +5,6 @@ metadata: name: app-scripts namespace: {{ .Release.Name }} labels: - {{- include "opennms.labels" . | nindent 4 }} + {{- include "core.labels" . | nindent 4 }} data: {{- (.Files.Glob "scripts/**").AsConfig | nindent 2 }} diff --git a/horizon/templates/app-settings.configmap.yaml b/horizon/templates/app-settings.configmap.yaml index caf9ba8..dad2ec5 100644 --- a/horizon/templates/app-settings.configmap.yaml +++ b/horizon/templates/app-settings.configmap.yaml @@ -5,10 +5,10 @@ metadata: name: app-settings namespace: {{ .Release.Name }} labels: - {{- include "opennms.labels" . | nindent 4 }} + {{- include "core.labels" . | nindent 4 }} data: TZ: {{ .Values.timezone | quote }} - DOMAIN: {{ include "opennms.domain" . | quote }} + DOMAIN: {{ include "core.domain" . | quote }} POSTGRES_HOST: {{ .Values.dependencies.postgresql.hostname | quote }} POSTGRES_PORT: {{ .Values.dependencies.postgresql.port | quote }} POSTGRES_SSL_MODE: {{ .Values.dependencies.postgresql.sslmode | quote }} @@ -23,9 +23,9 @@ data: OPENNMS_SERVER: {{ printf "onms-core.%s.svc" .Release.Name | quote }} OPENNMS_DBNAME: {{ printf "%s_opennms" .Release.Name | quote }} {{- if ((.Values.opennms).configuration).rras }} - OPENNMS_RRAS: {{ join ";" .Values.opennms.configuration.rras }} + OPENNMS_RRAS: {{ join ";" .Values.core.configuration.rras }} {{- end }} - OPENNMS_ETC_UPDATE_POLICY: {{ .Values.opennms.configuration.etcUpdatePolicy }} + OPENNMS_ETC_UPDATE_POLICY: {{ .Values.core.configuration.etcUpdatePolicy }} {{- if ((.Values.opennms).configuration).enableCortex }} CORTEX_WRITE_URL: {{ .Values.dependencies.cortex.writeUrl | quote }} CORTEX_READ_URL: {{ .Values.dependencies.cortex.readUrl | quote }} @@ -48,7 +48,7 @@ data: KAFKA_SECURITY_PROTOCOL: {{ .Values.dependencies.kafka.configuration.securityProtocol | quote }} {{- end }} GRAFANA_SERVER: {{ printf "grafana.%s.svc" .Release.Name | quote }} - GF_SERVER_DOMAIN: {{ printf "grafana.%s" (include "opennms.domain" .) | quote }} # Should match FQDN on the Ingress + GF_SERVER_DOMAIN: {{ printf "grafana.%s" (include "core.domain" .) | quote }} # Should match FQDN on the Ingress GF_SERVER_ROOT_URL: "/" GF_DATABASE_TYPE: "postgres" GF_DATABASE_NAME: {{ printf "%s_grafana" .Release.Name | quote }} diff --git a/horizon/templates/grafana-helm.configmap.yaml b/horizon/templates/grafana-helm.configmap.yaml index 6d75115..6882f3e 100644 --- a/horizon/templates/grafana-helm.configmap.yaml +++ b/horizon/templates/grafana-helm.configmap.yaml @@ -1,12 +1,12 @@ -{{- define "opennms.grafanaDSOptions" -}} +{{- define "core.grafanaDSOptions" -}} {{- $srv := "onms-core" -}} editable: true access: proxy url: {{ printf "http://%s.%s.svc:8980/opennms" $srv .Release.Name }} basicAuth: true -basicAuthUser: {{ .Values.opennms.configuration.http.restUsername }} +basicAuthUser: {{ .Values.core.configuration.http.restUsername }} secureJsonData: - basicAuthPassword: {{ .Values.opennms.configuration.http.restPassword }} + basicAuthPassword: {{ .Values.core.configuration.http.restPassword }} {{- end }} {{- if gt ((.Values.grafana).replicaCount|int) 0 }} @@ -17,7 +17,7 @@ metadata: name: helm-config namespace: {{ .Release.Name }} labels: - {{- include "opennms.labels" . | nindent 4 }} + {{- include "core.labels" . | nindent 4 }} data: plugins.helm.yaml: | apiVersion: 1 @@ -30,12 +30,12 @@ data: - name: OpenNMS-Performance type: opennms-performance-datasource isDefault: true - {{- include "opennms.grafanaDSOptions" . | nindent 6 }} + {{- include "core.grafanaDSOptions" . | nindent 6 }} - name: OpenNMS-Entity type: opennms-entity-datasource - {{- include "opennms.grafanaDSOptions" . | nindent 6 }} + {{- include "core.grafanaDSOptions" . | nindent 6 }} - name: OpenNMS-Flow type: opennms-flow-datasource - {{- include "opennms.grafanaDSOptions" . | nindent 6 }} + {{- include "core.grafanaDSOptions" . | nindent 6 }} {{- end }} diff --git a/horizon/templates/grafana-helm.deployment.yaml b/horizon/templates/grafana-helm.deployment.yaml index 4d80ad3..91e0135 100644 --- a/horizon/templates/grafana-helm.deployment.yaml +++ b/horizon/templates/grafana-helm.deployment.yaml @@ -7,18 +7,18 @@ metadata: namespace: {{ .Release.Name }} labels: app: grafana - {{- include "opennms.labels" . | nindent 4 }} + {{- include "core.labels" . | nindent 4 }} spec: replicas: {{ .Values.grafana.replicaCount }} selector: matchLabels: app: grafana - {{- include "opennms.selectorLabels" . | nindent 6 }} + {{- include "core.selectorLabels" . | nindent 6 }} template: metadata: labels: app: grafana - {{- include "opennms.selectorLabels" . | nindent 8 }} + {{- include "core.selectorLabels" . | nindent 8 }} spec: {{- if .Values.imagePullSecrets }} imagePullSecrets: diff --git a/horizon/templates/grafana-helm.service.yaml b/horizon/templates/grafana-helm.service.yaml index 622b955..ef1211d 100644 --- a/horizon/templates/grafana-helm.service.yaml +++ b/horizon/templates/grafana-helm.service.yaml @@ -7,12 +7,12 @@ metadata: namespace: {{ .Release.Name }} labels: app: grafana - {{- include "opennms.labels" . | nindent 4 }} + {{- include "core.labels" . | nindent 4 }} spec: ports: - port: 3000 name: http selector: app: grafana - {{- include "opennms.selectorLabels" . | nindent 4 }} + {{- include "core.selectorLabels" . | nindent 4 }} {{- end }} diff --git a/horizon/templates/grafana-promtail.configmap.yaml b/horizon/templates/grafana-promtail.configmap.yaml index 5af5f8f..c846e92 100644 --- a/horizon/templates/grafana-promtail.configmap.yaml +++ b/horizon/templates/grafana-promtail.configmap.yaml @@ -6,20 +6,20 @@ metadata: name: promtail-config namespace: {{ .Release.Name }} labels: - {{- include "opennms.labels" . | nindent 4 }} + {{- include "core.labels" . | nindent 4 }} data: promtail.onms_core.config.yaml: | - {{- include "opennms.promtailBaseConfig" . | nindent 4 }} + {{- include "core.promtailBaseConfig" . | nindent 4 }} labels: job: opennms_core __path__: /opt/opennms/logs/*.log promtail.onms_ui.config.yaml: | - {{- include "opennms.promtailBaseConfig" . | nindent 4 }} + {{- include "core.promtailBaseConfig" . | nindent 4 }} labels: job: opennms_ui __path__: /opt/opennms/logs/*.log promtail.sentinel.config.yaml: | - {{- include "opennms.promtailBaseConfig" . | nindent 4 }} + {{- include "core.promtailBaseConfig" . | nindent 4 }} labels: job: opennms_sentinel __path__: /opt/sentinel/data/log/karaf.log diff --git a/horizon/templates/grafana-renderer.deployment.yaml b/horizon/templates/grafana-renderer.deployment.yaml index 07c5890..e2050c6 100644 --- a/horizon/templates/grafana-renderer.deployment.yaml +++ b/horizon/templates/grafana-renderer.deployment.yaml @@ -7,18 +7,18 @@ metadata: namespace: {{ .Release.Name }} labels: app: grafana-renderer - {{- include "opennms.labels" . | nindent 4 }} + {{- include "core.labels" . | nindent 4 }} spec: replicas: {{ .Values.grafana.imageRenderer.replicaCount }} selector: matchLabels: app: grafana-renderer - {{- include "opennms.selectorLabels" . | nindent 6 }} + {{- include "core.selectorLabels" . | nindent 6 }} template: metadata: labels: app: grafana-renderer - {{- include "opennms.selectorLabels" . | nindent 8 }} + {{- include "core.selectorLabels" . | nindent 8 }} spec: {{- if .Values.imagePullSecrets }} imagePullSecrets: diff --git a/horizon/templates/grafana-renderer.service.yaml b/horizon/templates/grafana-renderer.service.yaml index abde5db..4902327 100644 --- a/horizon/templates/grafana-renderer.service.yaml +++ b/horizon/templates/grafana-renderer.service.yaml @@ -7,12 +7,12 @@ metadata: namespace: {{ .Release.Name }} labels: app: grafana-renderer - {{- include "opennms.labels" . | nindent 4 }} + {{- include "core.labels" . | nindent 4 }} spec: ports: - port: 8081 name: http selector: app: grafana-renderer - {{- include "opennms.selectorLabels" . | nindent 4 }} + {{- include "core.selectorLabels" . | nindent 4 }} {{ end }} diff --git a/horizon/templates/ingress.yaml b/horizon/templates/ingress.yaml index 88f3dd8..276f1c9 100644 --- a/horizon/templates/ingress.yaml +++ b/horizon/templates/ingress.yaml @@ -5,7 +5,7 @@ metadata: name: onms-ingress namespace: {{ .Release.Name }} labels: - {{- include "opennms.labels" . | nindent 4 }} + {{- include "core.labels" . | nindent 4 }} annotations: ingress.kubernetes.io/affinity: cookie ingress.kubernetes.io/session-cookie-name: route @@ -22,12 +22,12 @@ spec: tls: - secretName: onms-ingress-cert hosts: - - onms-core.{{ include "opennms.domain" . }} + - onms-core.{{ include "core.domain" . }} {{- if gt ((.Values.grafana).replicaCount|int) 0 }} - - grafana.{{ include "opennms.domain" . }} + - grafana.{{ include "core.domain" . }} {{- end }} rules: - - host: onms-core.{{ include "opennms.domain" . }} + - host: onms-core.{{ include "core.domain" . }} http: paths: - path: / @@ -38,7 +38,7 @@ spec: port: number: 8980 {{- if gt ((.Values.grafana).replicaCount|int) 0 }} - - host: grafana.{{ include "opennms.domain" . }} + - host: grafana.{{ include "core.domain" . }} http: paths: - path: / diff --git a/horizon/templates/inspector.yaml b/horizon/templates/inspector.yaml index 83b6896..bf6bca6 100644 --- a/horizon/templates/inspector.yaml +++ b/horizon/templates/inspector.yaml @@ -1,5 +1,5 @@ -{{- if .Values.opennms.inspector.enabled }} -{{- $image := printf "%s:%s" .Values.opennms.image.repository (.Values.opennms.image.tag | default .Values.opennmsVersion) -}} +{{- if .Values.core.inspector.enabled }} +{{- $image := printf "%s:%s" .Values.core.image.repository (.Values.core.image.tag | default .Values.opennmsVersion) -}} --- apiVersion: v1 kind: Pod @@ -8,7 +8,7 @@ metadata: namespace: {{ .Release.Name }} labels: app: onms-inspector - {{- include "opennms.labels" . | nindent 4 }} + {{- include "core.labels" . | nindent 4 }} spec: containers: - name: inspector @@ -17,11 +17,11 @@ spec: volumeMounts: - name: etc mountPath: /opt/opennms/etc - {{- if (include "opennms.enable_tss_rrd" .) }} + {{- if (include "core.enable_tss_rrd" .) }} - name: rrd mountPath: /opennms-data/rrd {{- end }} - {{- if .Values.opennms.configuration.storage.mibs }} + {{- if .Values.core.configuration.storage.mibs }} - name: mibs mountPath: /opt/opennms/share/mibs {{- end }} @@ -30,13 +30,13 @@ spec: - name: etc persistentVolumeClaim: claimName: onms-etc-pvc - {{- if (include "opennms.enable_tss_rrd" .) }} + {{- if (include "core.enable_tss_rrd" .) }} - name: rrd persistentVolumeClaim: claimName: onms-rrd-pvc readOnly: false {{- end }} - {{- if .Values.opennms.configuration.storage.mibs }} + {{- if .Values.core.configuration.storage.mibs }} - name: mibs persistentVolumeClaim: claimName: onms-mibs-pvc diff --git a/horizon/templates/namespace.yaml b/horizon/templates/namespace.yaml index fe6ea82..fb5a559 100644 --- a/horizon/templates/namespace.yaml +++ b/horizon/templates/namespace.yaml @@ -5,5 +5,5 @@ kind: Namespace metadata: name: {{ .Release.Name }} labels: - {{- include "opennms.labels" . | nindent 4 }} + {{- include "core.labels" . | nindent 4 }} {{- end }} \ No newline at end of file diff --git a/horizon/templates/opennms-core.service.yaml b/horizon/templates/opennms-core.service.yaml index 237e60c..449fb30 100644 --- a/horizon/templates/opennms-core.service.yaml +++ b/horizon/templates/opennms-core.service.yaml @@ -6,7 +6,7 @@ metadata: namespace: {{ .Release.Name }} labels: app: onms-core - {{- include "opennms.labels" . | nindent 4 }} + {{- include "core.labels" . | nindent 4 }} spec: clusterIP: None ports: @@ -16,4 +16,4 @@ spec: name: karaf selector: app: onms-core - {{- include "opennms.selectorLabels" . | nindent 4 }} + {{- include "core.selectorLabels" . | nindent 4 }} diff --git a/horizon/templates/opennms-core.statefulset.yaml b/horizon/templates/opennms-core.statefulset.yaml index f697ed5..e3f5fbd 100644 --- a/horizon/templates/opennms-core.statefulset.yaml +++ b/horizon/templates/opennms-core.statefulset.yaml @@ -1,4 +1,4 @@ -{{- $image := printf "%s:%s" .Values.opennms.image.repository (.Values.opennms.image.tag | default .Values.opennmsVersion) -}} +{{- $image := printf "%s:%s" .Values.core.image.repository (.Values.core.image.tag | default .Values.opennmsVersion) -}} --- apiVersion: apps/v1 kind: StatefulSet @@ -7,38 +7,38 @@ metadata: namespace: {{ .Release.Name }} labels: app: onms-core - {{- include "opennms.labels" . | nindent 4 }} + {{- include "core.labels" . | nindent 4 }} spec: serviceName: onms-core - {{- if .Values.opennms.inspector.enabled }} + {{- if .Values.core.inspector.enabled }} replicas: 0 {{- else }} replicas: 1 # DO NOT CHANGE. The solution only allows 1 instance {{- end }} nodeSelector: - {{- toYaml .Values.opennms.configuration.nodeSelector | nindent 4 }} + {{- toYaml .Values.core.configuration.nodeSelector | nindent 4 }} affinity: - {{- toYaml .Values.opennms.configuration.affinity | nindent 4 }} + {{- toYaml .Values.core.configuration.affinity | nindent 4 }} tolerations: - {{- toYaml .Values.opennms.configuration.tolerations | nindent 4 }} + {{- toYaml .Values.core.configuration.tolerations | nindent 4 }} selector: matchLabels: app: onms-core - {{- include "opennms.selectorLabels" . | nindent 6 }} + {{- include "core.selectorLabels" . | nindent 6 }} template: metadata: labels: app: onms-core - {{- include "opennms.selectorLabels" . | nindent 8 }} + {{- include "core.selectorLabels" . | nindent 8 }} annotations: - {{- if .Values.opennms.configuration.alwaysRollDeployment }} + {{- if .Values.core.configuration.alwaysRollDeployment }} rollme: {{ randAlphaNum 5 | quote }} {{- end }} kubectl.kubernetes.io/default-container: "onms" spec: securityContext: fsGroup: 10001 - terminationGracePeriodSeconds: {{ .Values.opennms.terminationGracePeriodSeconds | default 120 }} + terminationGracePeriodSeconds: {{ .Values.core.terminationGracePeriodSeconds | default 120 }} {{- if .Values.imagePullSecrets }} imagePullSecrets: {{- range $k, $r := .Values.imagePullSecrets }} @@ -46,10 +46,10 @@ spec: {{- end }} {{- end }} initContainers: - {{- if and (.Values.opennms.configuration.enableAlec) (.Values.opennms.configuration.alecImage) }} + {{- if and (.Values.core.configuration.enableAlec) (.Values.core.configuration.alecImage) }} - name: alec-kar - image: {{ .Values.opennms.configuration.alecImage.repository }}:{{ .Values.opennms.configuration.alecImage.tag }} - imagePullPolicy: {{ .Values.opennms.configuration.alecImage.imagePullPolicy }} + image: {{ .Values.core.configuration.alecImage.repository }}:{{ .Values.core.configuration.alecImage.tag }} + imagePullPolicy: {{ .Values.core.configuration.alecImage.imagePullPolicy }} command: [ cp, /plugins/opennms-alec-plugin.kar, /opennms-deploy ] securityContext: # To guarantee ownership of the KAR file so that OpenNMS won't complain. runAsUser: 10001 @@ -58,10 +58,10 @@ spec: - name: deploy mountPath: /opennms-deploy # Required by the init script - DEPLOY_DIR {{- end }} - {{- if and (.Values.opennms.configuration.enableCortex) (.Values.opennms.configuration.cortexTssImage) }} + {{- if and (.Values.core.configuration.enableCortex) (.Values.core.configuration.cortexTssImage) }} - name: cortex-tss-kar - image: {{ .Values.opennms.configuration.cortexTssImage.repository }}:{{ .Values.opennms.configuration.cortexTssImage.tag }} - imagePullPolicy: {{ .Values.opennms.configuration.cortexTssImage.imagePullPolicy }} + image: {{ .Values.core.configuration.cortexTssImage.repository }}:{{ .Values.core.configuration.cortexTssImage.tag }} + imagePullPolicy: {{ .Values.core.configuration.cortexTssImage.imagePullPolicy }} command: [ cp, /plugins/opennms-cortex-tss-plugin.kar, /opennms-deploy ] securityContext: # To guarantee ownership of the KAR file so that OpenNMS won't complain. runAsUser: 10001 @@ -74,7 +74,7 @@ spec: # Requires the same image/version used at runtime - name: init image: {{ $image }} - imagePullPolicy: {{ .Values.opennms.image.imagePullPolicy }} + imagePullPolicy: {{ .Values.core.image.imagePullPolicy }} command: [ bash, /scripts/onms-core-init.sh ] envFrom: - configMapRef: @@ -83,7 +83,7 @@ spec: name: app-credentials env: - name: OPENNMS_DATABASE_CONNECTION_MAXPOOL - value: {{ .Values.opennms.configuration.database.poolSize | default "50" | quote }} + value: {{ .Values.core.configuration.database.poolSize | default "50" | quote }} volumeMounts: - name: etc mountPath: /opennms-etc # Required by the script - CONFIG_DIR @@ -96,7 +96,7 @@ spec: containers: - name: onms image: {{ $image }} - imagePullPolicy: {{ .Values.opennms.image.imagePullPolicy }} + imagePullPolicy: {{ .Values.core.image.imagePullPolicy }} args: - -s ports: @@ -110,11 +110,11 @@ spec: - secretRef: name: app-credentials volumeMounts: - {{- if (include "opennms.enable_tss_rrd" .) }} + {{- if (include "core.enable_tss_rrd" .) }} - name: rrd mountPath: /opennms-data/rrd {{- end }} - {{- if .Values.opennms.configuration.storage.mibs }} + {{- if .Values.core.configuration.storage.mibs }} - name: mibs mountPath: /opt/opennms/share/mibs {{- end }} @@ -132,9 +132,9 @@ spec: mountPath: /opt/opennms/.postgresql/root.crt subPath: postgresql-ca.crt env: - {{- $opt := include "opennms.jvmOptions" . }} - {{- if .Values.opennms.resources }} - {{- with .Values.opennms.resources }} + {{- $opt := include "core.jvmOptions" . }} + {{- if .Values.core.resources }} + {{- with .Values.core.resources }} {{- if ((.requests).memory) }} - name: MEM_TOTAL_MB valueFrom: @@ -211,13 +211,13 @@ spec: persistentVolumeClaim: claimName: onms-etc-pvc readOnly: false - {{- if (include "opennms.enable_tss_rrd" .) }} + {{- if (include "core.enable_tss_rrd" .) }} - name: rrd persistentVolumeClaim: claimName: onms-rrd-pvc readOnly: false {{- end }} - {{- if .Values.opennms.configuration.storage.mibs }} + {{- if .Values.core.configuration.storage.mibs }} - name: mibs persistentVolumeClaim: claimName: onms-mibs-pvc diff --git a/horizon/templates/opennms-post-config.job.yaml b/horizon/templates/opennms-post-config.job.yaml index 080e972..8e9a24e 100644 --- a/horizon/templates/opennms-post-config.job.yaml +++ b/horizon/templates/opennms-post-config.job.yaml @@ -7,15 +7,15 @@ metadata: namespace: {{ .Release.Name }} labels: app: onms-core - {{- include "opennms.labels" . | nindent 4 }} + {{- include "core.labels" . | nindent 4 }} spec: - ttlSecondsAfterFinished: {{ (.Values.opennms.postConfigJob.ttlSecondsAfterFinished | default "300") }} + ttlSecondsAfterFinished: {{ (.Values.core.postConfigJob.ttlSecondsAfterFinished | default "300") }} template: spec: restartPolicy: Never containers: - name: init - image: {{ printf "%s:%s" .Values.opennms.image.repository (.Values.opennms.image.tag | default .Values.opennmsVersion) }} + image: {{ printf "%s:%s" .Values.core.image.repository (.Values.core.image.tag | default .Values.opennmsVersion) }} imagePullPolicy: IfNotPresent command: [ bash, /scripts/onms-post-init.sh ] envFrom: diff --git a/horizon/templates/opennms-sentinel.service.yaml b/horizon/templates/opennms-sentinel.service.yaml index e392582..c0d98c7 100644 --- a/horizon/templates/opennms-sentinel.service.yaml +++ b/horizon/templates/opennms-sentinel.service.yaml @@ -7,7 +7,7 @@ metadata: namespace: {{ .Release.Name }} labels: app: onms-sentinel - {{- include "opennms.labels" . | nindent 4 }} + {{- include "core.labels" . | nindent 4 }} spec: clusterIP: None ports: diff --git a/horizon/templates/opennms-sentinel.statefulset.yaml b/horizon/templates/opennms-sentinel.statefulset.yaml index 91123bb..90240e3 100644 --- a/horizon/templates/opennms-sentinel.statefulset.yaml +++ b/horizon/templates/opennms-sentinel.statefulset.yaml @@ -4,7 +4,7 @@ Use a StatefulSet for Sentinels to have a unique and immutable SENTINEL_ID. */}} {{- if gt ((.Values.sentinel).replicaCount|int) 0 }} -{{- $image := printf "%s:%s" .Values.sentinel.image.repository (.Values.opennms.image.tag | default .Values.opennmsVersion) -}} +{{- $image := printf "%s:%s" .Values.sentinel.image.repository (.Values.core.image.tag | default .Values.opennmsVersion) -}} --- apiVersion: apps/v1 kind: StatefulSet @@ -13,7 +13,7 @@ metadata: namespace: {{ .Release.Name }} labels: app: onms-sentinel - {{- include "opennms.labels" . | nindent 4 }} + {{- include "core.labels" . | nindent 4 }} spec: serviceName: sentinel replicas: {{ .Values.sentinel.replicaCount }} @@ -21,12 +21,12 @@ spec: selector: matchLabels: app: onms-sentinel - {{- include "opennms.selectorLabels" . | nindent 6 }} + {{- include "core.selectorLabels" . | nindent 6 }} template: metadata: labels: app: onms-sentinel - {{- include "opennms.selectorLabels" . | nindent 8 }} + {{- include "core.selectorLabels" . | nindent 8 }} spec: terminationGracePeriodSeconds: {{ .Values.sentinel.terminationGracePeriodSeconds | default 60 }} {{- if .Values.imagePullSecrets }} @@ -81,7 +81,7 @@ spec: value: {{ .Release.Name }} - name: MAX_FD # Maximum File Descriptors value: '65536' - {{- $opt := include "opennms.jvmOptions" . }} + {{- $opt := include "core.jvmOptions" . }} {{- if (((.Values.sentinel.resources).requests).memory) }} - name: MEM_TOTAL_MB valueFrom: diff --git a/horizon/templates/opennms.etc.pvc.yaml b/horizon/templates/opennms.etc.pvc.yaml index c2906c6..1725aa2 100644 --- a/horizon/templates/opennms.etc.pvc.yaml +++ b/horizon/templates/opennms.etc.pvc.yaml @@ -7,10 +7,10 @@ metadata: labels: app: onms-core tier: storage - {{- include "opennms.labels" . | nindent 4 }} + {{- include "core.labels" . | nindent 4 }} spec: accessModes: # Assumes default StorageClass - ReadWriteOnce resources: requests: - storage: {{ .Values.opennms.configuration.storage.etc | default "1Gi" }} + storage: {{ .Values.core.configuration.storage.etc | default "1Gi" }} diff --git a/horizon/templates/opennms.mibs.pvc.yaml b/horizon/templates/opennms.mibs.pvc.yaml index ba9206d..a1022c0 100644 --- a/horizon/templates/opennms.mibs.pvc.yaml +++ b/horizon/templates/opennms.mibs.pvc.yaml @@ -1,4 +1,4 @@ -{{- if .Values.opennms.configuration.storage.mibs }} +{{- if .Values.core.configuration.storage.mibs }} --- apiVersion: v1 kind: PersistentVolumeClaim @@ -8,11 +8,11 @@ metadata: labels: app: onms-core tier: storage - {{- include "opennms.labels" . | nindent 4 }} + {{- include "core.labels" . | nindent 4 }} spec: accessModes: # Assumes default StorageClass - ReadWriteOnce resources: requests: - storage: {{ .Values.opennms.configuration.storage.mibs }} + storage: {{ .Values.core.configuration.storage.mibs }} {{- end }} diff --git a/horizon/templates/opennms.rrd.pvc.yaml b/horizon/templates/opennms.rrd.pvc.yaml index fd1a67e..85677d2 100644 --- a/horizon/templates/opennms.rrd.pvc.yaml +++ b/horizon/templates/opennms.rrd.pvc.yaml @@ -1,4 +1,4 @@ -{{- if (include "opennms.enable_tss_rrd" .) }} +{{- if (include "core.enable_tss_rrd" .) }} --- apiVersion: v1 kind: PersistentVolumeClaim @@ -8,11 +8,11 @@ metadata: labels: app: onms-core tier: storage - {{- include "opennms.labels" . | nindent 4 }} + {{- include "core.labels" . | nindent 4 }} spec: accessModes: # Assumes default StorageClass - ReadWriteOnce resources: requests: - storage: {{ .Values.opennms.configuration.storage.rrd | default "1000Gi" }} + storage: {{ .Values.core.configuration.storage.rrd | default "1000Gi" }} {{- end }} diff --git a/horizon/values.yaml b/horizon/values.yaml index 866932a..64d7c15 100644 --- a/horizon/values.yaml +++ b/horizon/values.yaml @@ -88,7 +88,7 @@ ingress: clusterIssuer: opennms-issuer # OpenNMS Core Instance. -opennms: +core: inspector: enabled: false terminationGracePeriodSeconds: 120 diff --git a/minion/templates/minion-configmap.yaml b/minion/templates/minion-configmap.yaml index aacb771..0ce4775 100644 --- a/minion/templates/minion-configmap.yaml +++ b/minion/templates/minion-configmap.yaml @@ -11,7 +11,7 @@ data: system: properties: - org.opennms.instance.id: {{ .Values.opennms.instanceID }} + org.opennms.instance.id: {{ .Values.core.instanceID }} ipc: kafka: bootstrap.servers: {{ .Values.minion.kafkaBroker.address }} diff --git a/minion/values.yaml b/minion/values.yaml index 9bf0e30..1e4f729 100644 --- a/minion/values.yaml +++ b/minion/values.yaml @@ -11,7 +11,7 @@ minion: storage: dataFolder: 5Gi -opennms: +core: instanceID: monms # Must match OpenNMS Core instance (namespace) # A common JKS to white-list all CA certificates . From 6a22bc8dfb171fb2e6117e18e8f17f1ef811db7f Mon Sep 17 00:00:00 2001 From: Morteza E <105240903+mershad-manesh@users.noreply.github.com> Date: Mon, 26 Jun 2023 11:51:01 -0400 Subject: [PATCH 05/10] update diagram --- diagrams/helm-charts-diagrams.002.png | Bin 236834 -> 226564 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/diagrams/helm-charts-diagrams.002.png b/diagrams/helm-charts-diagrams.002.png index 569f742243e1aaa05a60782ddf8431ee5101ba79..8e55c1bd7ba90093cc4b9b9fed4860a78dd16d24 100644 GIT binary patch delta 91280 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�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Π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 YuUGW(%g6d0;Lo3WhBu4;W&7;^0S{GRK>z>% delta 104081 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ÿ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 From ac53f85aad6c6529748db02a6e7edf871e453a1e Mon Sep 17 00:00:00 2001 From: Morteza E <105240903+mershad-manesh@users.noreply.github.com> Date: Mon, 26 Jun 2023 13:13:59 -0400 Subject: [PATCH 06/10] tweak nodeSelector,affinity,tolerations and default-container --- horizon/templates/opennms-core.statefulset.yaml | 14 +++++++------- scripts/k8s_on_docker_desktop.sh | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/horizon/templates/opennms-core.statefulset.yaml b/horizon/templates/opennms-core.statefulset.yaml index e3f5fbd..7a4082d 100644 --- a/horizon/templates/opennms-core.statefulset.yaml +++ b/horizon/templates/opennms-core.statefulset.yaml @@ -15,12 +15,6 @@ spec: {{- else }} replicas: 1 # DO NOT CHANGE. The solution only allows 1 instance {{- end }} - nodeSelector: - {{- toYaml .Values.core.configuration.nodeSelector | nindent 4 }} - affinity: - {{- toYaml .Values.core.configuration.affinity | nindent 4 }} - tolerations: - {{- toYaml .Values.core.configuration.tolerations | nindent 4 }} selector: matchLabels: app: onms-core @@ -34,7 +28,7 @@ spec: {{- if .Values.core.configuration.alwaysRollDeployment }} rollme: {{ randAlphaNum 5 | quote }} {{- end }} - kubectl.kubernetes.io/default-container: "onms" + kubectl.kubernetes.io/default-container: "onms" spec: securityContext: fsGroup: 10001 @@ -97,6 +91,12 @@ spec: - name: onms image: {{ $image }} imagePullPolicy: {{ .Values.core.image.imagePullPolicy }} + nodeSelector: + {{- toYaml .Values.core.configuration.nodeSelector | nindent 10 }} + affinity: + {{- toYaml .Values.core.configuration.affinity | nindent 10 }} + tolerations: + {{- toYaml .Values.core.configuration.tolerations | nindent 10 }} args: - -s ports: diff --git a/scripts/k8s_on_docker_desktop.sh b/scripts/k8s_on_docker_desktop.sh index 83f569c..1d61458 100755 --- a/scripts/k8s_on_docker_desktop.sh +++ b/scripts/k8s_on_docker_desktop.sh @@ -60,8 +60,8 @@ echo "Date: $(date)" | tee -a $log_file echo "Domain: $our_domain" | tee -a $log_file echo "Kafka Domain: $our_kafka_domain" | tee -a $log_file echo "Namespace: $our_namespace" | tee -a $log_file -echo $(grep "appVersion: \?" ${root_path}opennms/Chart.yaml) -echo $(grep "opennmsVersion: \?" ${root_path}opennms/values.yaml) +echo $(grep "appVersion: \?" ${root_path}horizon/Chart.yaml) +echo $(grep "opennmsVersion: \?" ${root_path}horizon/values.yaml) echo "" # Maybe switch this check to \(onms-core\|*\).$our_namespace.$our_domain @@ -101,7 +101,7 @@ checkRC echo "" printf "\033[36m%s\033[0m:\033[0m\033[33m %s\n\033[0m" "Step 4" "Installing OpenNMS" -helm upgrade --install $additional_helm_charts --set domain=$our_domain $our_namespace ${root_path}opennms >> $log_file 2>&1 +helm upgrade --install $additional_helm_charts --set domain=$our_domain $our_namespace ${root_path}horizon >> $log_file 2>&1 checkRC echo "" From 6a85abb7b9ba14bfb3b98e97825bcd38e3d24810 Mon Sep 17 00:00:00 2001 From: Morteza E <105240903+mershad-manesh@users.noreply.github.com> Date: Mon, 26 Jun 2023 14:53:03 -0400 Subject: [PATCH 07/10] Add ability to update readme file --- .github/workflows/readme.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .github/workflows/readme.yml diff --git a/.github/workflows/readme.yml b/.github/workflows/readme.yml new file mode 100644 index 0000000..8ba3184 --- /dev/null +++ b/.github/workflows/readme.yml @@ -0,0 +1,24 @@ +name: Sync README file +on: + push: + branches: + - main + paths: + - 'README.md' +jobs: + build: + permissions: + contents: write + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - run: | + cp -f README.md ${{ runner.temp }}/README.md + - uses: actions/checkout@v2 + with: + ref: gh-pages + - run: | + cp -f ${{ runner.temp }}/README.md . + git add README.md + git commit -m "Sync README from main" + git push \ No newline at end of file From 2eb8a28dba1c8aab406b709e9afc94e1a8d27c7e Mon Sep 17 00:00:00 2001 From: DJ Gregor Date: Tue, 27 Jun 2023 11:32:07 -0400 Subject: [PATCH 08/10] Fix a few more opennms -> core values references --- horizon/templates/app-settings.configmap.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/horizon/templates/app-settings.configmap.yaml b/horizon/templates/app-settings.configmap.yaml index dad2ec5..ed964f0 100644 --- a/horizon/templates/app-settings.configmap.yaml +++ b/horizon/templates/app-settings.configmap.yaml @@ -13,20 +13,20 @@ data: POSTGRES_PORT: {{ .Values.dependencies.postgresql.port | quote }} POSTGRES_SSL_MODE: {{ .Values.dependencies.postgresql.sslmode | quote }} POSTGRES_SSL_FACTORY: {{ .Values.dependencies.postgresql.sslfactory | quote }} - ENABLE_ALEC: {{ ((.Values.opennms).configuration).enableAlec | default "false" | quote }} - ENABLE_ACLS: {{ ((.Values.opennms).configuration).enableAcls | default "false" | quote }} + ENABLE_ALEC: {{ ((.Values.core).configuration).enableAlec | default "false" | quote }} + ENABLE_ACLS: {{ ((.Values.core).configuration).enableAcls | default "false" | quote }} ENABLE_TELEMETRYD: {{ if gt ((.Values.sentinel).replicaCount|int) 0 }}"true"{{ else }}"false"{{ end }} - ENABLE_CORTEX: {{ ((.Values.opennms).configuration).enableCortex | quote }} - ENABLE_TSS_DUAL_WRITE: {{ ((.Values.opennms).configuration).enableTssDualWrite | quote }} + ENABLE_CORTEX: {{ ((.Values.core).configuration).enableCortex | quote }} + ENABLE_TSS_DUAL_WRITE: {{ ((.Values.core).configuration).enableTssDualWrite | quote }} ENABLE_GRAFANA: {{ if gt ((.Values.grafana).replicaCount|int) 0 }}"true"{{ else }}"false"{{ end }} OPENNMS_INSTANCE_ID: {{ .Release.Name | quote }} OPENNMS_SERVER: {{ printf "onms-core.%s.svc" .Release.Name | quote }} OPENNMS_DBNAME: {{ printf "%s_opennms" .Release.Name | quote }} - {{- if ((.Values.opennms).configuration).rras }} + {{- if ((.Values.core).configuration).rras }} OPENNMS_RRAS: {{ join ";" .Values.core.configuration.rras }} {{- end }} OPENNMS_ETC_UPDATE_POLICY: {{ .Values.core.configuration.etcUpdatePolicy }} - {{- if ((.Values.opennms).configuration).enableCortex }} + {{- if ((.Values.core).configuration).enableCortex }} CORTEX_WRITE_URL: {{ .Values.dependencies.cortex.writeUrl | quote }} CORTEX_READ_URL: {{ .Values.dependencies.cortex.readUrl | quote }} CORTEX_MAX_CONCURRENT_HTTP_CONNECTIONS: {{ .Values.dependencies.cortex.maxConcurrentHttpConnections | quote }} From cd2a374e97a7c686a4d9c5a9983ea81057689873 Mon Sep 17 00:00:00 2001 From: Morteza E <105240903+mershad-manesh@users.noreply.github.com> Date: Tue, 27 Jun 2023 13:10:57 -0400 Subject: [PATCH 09/10] update gh action lint-test --- .github/workflows/lint-test.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/lint-test.yml b/.github/workflows/lint-test.yml index 068e2a0..f83d8bb 100644 --- a/.github/workflows/lint-test.yml +++ b/.github/workflows/lint-test.yml @@ -27,25 +27,29 @@ jobs: - name: Run chart-testing (list-changed) id: list-changed run: | - changed=$(ct list-changed --target-branch ${{ github.event.repository.default_branch }}) + changed=$(ct list-changed --chart-dirs . --target-branch ${{ github.event.repository.default_branch }}) if [[ -n "$changed" ]]; then echo "changed=true" >> "$GITHUB_OUTPUT" fi - name: Run chart-testing (lint) if: steps.list-changed.outputs.changed == 'true' - run: ct lint --target-branch ${{ github.event.repository.default_branch }} + run: ct lint --chart-dirs . --validate-maintainers=false --target-branch ${{ github.event.repository.default_branch }} - name: Create kind cluster if: steps.list-changed.outputs.changed == 'true' uses: helm/kind-action@v1.4.0 - - name: Setup Postgress + - name: Setup dependencies if: steps.list-changed.outputs.changed == 'true' run: | + helm upgrade --install ingress-nginx ingress-nginx \ + --repo https://kubernetes.github.io/ingress-nginx \ + --namespace ingress-nginx --create-namespace cd scripts ./start-dependencies.sh + cd .. - name: Run chart-testing (install) if: steps.list-changed.outputs.changed == 'true' - run: ct install --target-branch ${{ github.event.repository.default_branch }} \ No newline at end of file + run: ct install --chart-dirs . --charts "horizon" --target-branch ${{ github.event.repository.default_branch }} --helm-extra-set-args "--set createNamespace=false" From aa1fd7ae1b6591c215d6b3d493b3524c098b35ca Mon Sep 17 00:00:00 2001 From: Morteza E <105240903+mershad-manesh@users.noreply.github.com> Date: Tue, 27 Jun 2023 13:13:33 -0400 Subject: [PATCH 10/10] update gh action lint-test --- .github/workflows/lint-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint-test.yml b/.github/workflows/lint-test.yml index f83d8bb..da1239b 100644 --- a/.github/workflows/lint-test.yml +++ b/.github/workflows/lint-test.yml @@ -52,4 +52,4 @@ jobs: - name: Run chart-testing (install) if: steps.list-changed.outputs.changed == 'true' - run: ct install --chart-dirs . --charts "horizon" --target-branch ${{ github.event.repository.default_branch }} --helm-extra-set-args "--set createNamespace=false" + run: ct install --chart-dirs . --charts "horizon" --target-branch ${{ github.event.repository.default_branch }} --helm-extra-set-args "--set createNamespace=false -f examples/minimal-resources.yaml"