diff --git a/argo-infra-apps/backend-apps.yaml b/argo-infra-apps/backend-apps.yaml deleted file mode 100755 index e4c450d..0000000 --- a/argo-infra-apps/backend-apps.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: backend-apps - namespace: argocd -spec: - project: default - source: - repoURL: https://gitlab.ii-p001.local/cw-devops/cw-infra-apps-nubes.git - targetRevision: main - path: charts/backend - destination: - server: https://kubernetes.default.svc - namespace: backend - syncPolicy: - automated: - prune: true - selfHeal: true diff --git a/charts/backend/Chart.yaml b/charts/backend/Chart.yaml deleted file mode 100755 index 019a9b8..0000000 --- a/charts/backend/Chart.yaml +++ /dev/null @@ -1,67 +0,0 @@ -apiVersion: v2 -name: umbrella-chart -description: A Helm umbrella chart to deploy multiple microservices with shared config -type: application -version: 0.1.0 -appVersion: 1.0.0 -dependencies: -- name: auth-event-handler-app-k8s - version: 0.1.0 - repository: file://charts/auth-event-handler-app-k8s -- name: chat-app-k8s - version: 0.1.0 - repository: file://charts/chat-app-k8s -- name: auth-app-k8s - version: 0.1.0 - repository: file://charts/auth-app-k8s -- name: message-app-k8s - version: 0.1.0 - repository: file://charts/message-app-k8s -- name: user-app-k8s - version: 0.1.0 - repository: file://charts/user-app-k8s -- name: notification-app-k8s - version: 0.1.0 - repository: file://charts/notification-app-k8s -- name: search-app-k8s - version: 0.1.0 - repository: file://charts/search-app-k8s -- name: call-app-k8s - version: 0.1.0 - repository: file://charts/call-app-k8s -- name: workspace-app-k8s - version: 0.1.0 - repository: file://charts/workspace-app-k8s -- name: realtime-app-k8s - version: 0.1.0 - repository: file://charts/realtime-app-k8s -- name: web-sender-app-k8s - version: 0.1.0 - repository: file://charts/web-sender-app-k8s -- name: bff-app-k8s - version: 0.1.0 - repository: file://charts/bff-app-k8s -- name: upload-app-k8s - version: 0.1.0 - repository: file://charts/upload-app-k8s -- name: deeplink-app-k8s - version: 0.1.0 - repository: file://charts/deeplink-app-k8s -- name: livekit-webhook-handler-app-k8s - version: 0.1.0 - repository: file://charts/livekit-webhook-handler-app-k8s -- name: ios-app-k8s - version: 0.1.0 - repository: file://charts/ios-app-k8s -- name: android-app-k8s - version: 0.1.0 - repository: file://charts/android-app-k8s -- name: desktop-app-k8s - version: 0.1.0 - repository: file://charts/desktop-app-k8s -- name: huawei-app-k8s - version: 0.1.0 - repository: file://charts/huawei-app-k8s -- name: safari-app-k8s - version: 0.1.0 - repository: file://charts/safari-app-k8s diff --git a/charts/backend/charts/admin-app-k8s/.helmignore b/charts/backend/charts/admin-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/admin-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/admin-app-k8s/Chart.yaml b/charts/backend/charts/admin-app-k8s/Chart.yaml deleted file mode 100755 index d943528..0000000 --- a/charts/backend/charts/admin-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: admin-app -description: Helm chart for Admin app -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" \ No newline at end of file diff --git a/charts/backend/charts/admin-app-k8s/templates/_helpers.tpl b/charts/backend/charts/admin-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 58f3263..0000000 --- a/charts/backend/charts/admin-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,24 +0,0 @@ -{{/* Common labels */}} -{{- define "admin-app.labels" -}} -helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }} -app.kubernetes.io/name: {{ include "admin-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.AppVersion }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* Name */}} -{{- define "admin-app.name" -}} -{{- .Chart.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* Fullname */}} -{{- define "admin-app.fullname" -}} -{{- .Release.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* Selector labels */}} -{{- define "admin-app.selectorLabels" -}} -app.kubernetes.io/name: {{ include "admin-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} \ No newline at end of file diff --git a/charts/backend/charts/admin-app-k8s/templates/deployment.yaml b/charts/backend/charts/admin-app-k8s/templates/deployment.yaml deleted file mode 100755 index 5dfa996..0000000 --- a/charts/backend/charts/admin-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,65 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "admin-app.fullname" . }} - labels: - {{- include "admin-app.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - {{- include "admin-app.selectorLabels" . | nindent 6 }} - template: - metadata: - labels: - {{- include "admin-app.selectorLabels" . | nindent 8 }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: admin-app - ports: - - containerPort: 9090 - targetPort: 9090 - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: WORKSPACE_HOST - value: "{{ .Values.env.workspace_host }}" - - name: WORKSPACE_PORT - value: "{{ .Values.env.workspace_port }}" - - name: USER_HOST - value: "{{ .Values.env.user_host }}" - - name: USER_PORT - value: "{{ .Values.env.user_port }}" - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts diff --git a/charts/backend/charts/admin-app-k8s/templates/service.yaml b/charts/backend/charts/admin-app-k8s/templates/service.yaml deleted file mode 100755 index a453710..0000000 --- a/charts/backend/charts/admin-app-k8s/templates/service.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "admin-app.fullname" . }} - labels: - {{- include "admin-app.labels" . | nindent 4 }} -spec: - type: {{ .Values.service.type }} - selector: - {{- include "admin-app.selectorLabels" . | nindent 4 }} - ports: - - name: http - port: {{ .Values.service.port }} - targetPort: {{ .Values.service.targetPort }} - protocol: TCP diff --git a/charts/backend/charts/admin-app-k8s/values.yaml b/charts/backend/charts/admin-app-k8s/values.yaml deleted file mode 100755 index 19513f3..0000000 --- a/charts/backend/charts/admin-app-k8s/values.yaml +++ /dev/null @@ -1,16 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/admin-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - workspace_host: workspace-app - workspace_port: 9090 - user_host: user-app - user_port: 9090 -service: - type: ClusterIP - port: 9090 - targetPort: 9090 \ No newline at end of file diff --git a/charts/backend/charts/android-app-k8s/.helmignore b/charts/backend/charts/android-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/android-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/android-app-k8s/Chart.yaml b/charts/backend/charts/android-app-k8s/Chart.yaml deleted file mode 100755 index d3b2f8d..0000000 --- a/charts/backend/charts/android-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: android-sender-app -description: Helm chart for Android Sender Application -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" \ No newline at end of file diff --git a/charts/backend/charts/android-app-k8s/templates/_helpers.tpl b/charts/backend/charts/android-app-k8s/templates/_helpers.tpl deleted file mode 100755 index dce1894..0000000 --- a/charts/backend/charts/android-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,24 +0,0 @@ -{{/* Common labels */}} -{{- define "android-sender-app.labels" -}} -helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }} -app.kubernetes.io/name: {{ include "android-sender-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.AppVersion }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* Name */}} -{{- define "android-sender-app.name" -}} -{{- .Chart.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* Fullname */}} -{{- define "android-sender-app.fullname" -}} -{{- .Release.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* Selector labels */}} -{{- define "android-sender-app.selectorLabels" -}} -app.kubernetes.io/name: {{ include "android-sender-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} \ No newline at end of file diff --git a/charts/backend/charts/android-app-k8s/templates/deployment.yaml b/charts/backend/charts/android-app-k8s/templates/deployment.yaml deleted file mode 100755 index 8f0182d..0000000 --- a/charts/backend/charts/android-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,72 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "android-sender-app.fullname" . }} - labels: - {{- include "android-sender-app.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - {{- include "android-sender-app.selectorLabels" . | nindent 6 }} - template: - metadata: - labels: - {{- include "android-sender-app.selectorLabels" . | nindent 8 }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: android-sender - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: KAFKA_SERVER - value: {{ .Values.env.kafkaServers }} - - name: KAFKA_USER - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafkaSecret }} - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafkaSecret }} - key: client-passwords - - name: REDIS_HOST - value: {{ .Values.env.redisHost }} - - name: REDIS_PORT - value: {{ .Values.env.redisPort | quote }} - - name: ANDROID_FIREBASE_CONFIG - value: {{ .Values.env.android_firebase_config }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts diff --git a/charts/backend/charts/android-app-k8s/values.yaml b/charts/backend/charts/android-app-k8s/values.yaml deleted file mode 100755 index e0693f9..0000000 --- a/charts/backend/charts/android-app-k8s/values.yaml +++ /dev/null @@ -1,16 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/android-sender-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - kafkaServers: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - redisHost: redis-master.redis.svc.cluster.local - redisPort: 6379 - android_firebase_config: "cowork-prod-firebase-adminsdk-l136z-648992e82d.json" - -secrets: - kafkaSecret: kafka-password - firebaseSecret: android-firebase-config \ No newline at end of file diff --git a/charts/backend/charts/auth-app-k8s/.helmignore b/charts/backend/charts/auth-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/auth-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/auth-app-k8s/Chart.yaml b/charts/backend/charts/auth-app-k8s/Chart.yaml deleted file mode 100755 index 03160f2..0000000 --- a/charts/backend/charts/auth-app-k8s/Chart.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: v2 -name: auth-app-k8s -description: A Helm chart for Kubernetes - -# A chart can be either an 'application' or a 'library' chart. -# -# Application charts are a collection of templates that can be packaged into versioned archives -# to be deployed. -# -# Library charts provide useful utilities or functions for the chart developer. They're included as -# a dependency of application charts to inject those utilities and functions into the rendering -# pipeline. Library charts do not define any templates and therefore cannot be deployed. -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.1.0 - -# 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 -# follow Semantic Versioning. They should reflect the version the application is using. -# It is recommended to use it with quotes. -appVersion: "1.16.0" diff --git a/charts/backend/charts/auth-app-k8s/templates/_helpers.tpl b/charts/backend/charts/auth-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 4efede7..0000000 --- a/charts/backend/charts/auth-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,62 +0,0 @@ -{{/* -Expand the name of the chart. -*/}} -{{- define "auth-app-k8s.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -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 "auth-app-k8s.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- $name := default .Chart.Name .Values.nameOverride }} -{{- if contains $name .Release.Name }} -{{- .Release.Name | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} -{{- end }} -{{- end }} -{{- end }} - -{{/* -Create chart name and version as used by the chart label. -*/}} -{{- define "auth-app-k8s.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Common labels -*/}} -{{- define "auth-app-k8s.labels" -}} -helm.sh/chart: {{ include "auth-app-k8s.chart" . }} -{{ include "auth-app-k8s.selectorLabels" . }} -{{- if .Chart.AppVersion }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -{{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* -Selector labels -*/}} -{{- define "auth-app-k8s.selectorLabels" -}} -app.kubernetes.io/name: {{ include "auth-app-k8s.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} - -{{/* -Create the name of the service account to use -*/}} -{{- define "auth-app-k8s.serviceAccountName" -}} -{{- if .Values.serviceAccount.create }} -{{- default (include "auth-app-k8s.fullname" .) .Values.serviceAccount.name }} -{{- else }} -{{- default "default" .Values.serviceAccount.name }} -{{- end }} -{{- end }} diff --git a/charts/backend/charts/auth-app-k8s/templates/deployment.yaml b/charts/backend/charts/auth-app-k8s/templates/deployment.yaml deleted file mode 100755 index c4d67a6..0000000 --- a/charts/backend/charts/auth-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,103 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "auth-app-k8s.fullname" . }} - labels: - {{- include "auth-app-k8s.labels" . | nindent 4 }} - io.kompose.service: auth-app -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - {{- include "auth-app-k8s.selectorLabels" . | nindent 6 }} - io.kompose.service: auth-app - template: - metadata: - annotations: - {{- toYaml .Values.podAnnotations | nindent 8 }} - labels: - {{- include "auth-app-k8s.selectorLabels" . | nindent 8 }} - {{- toYaml .Values.podLabels | nindent 8 }} - spec: - {{- with .Values.imagePullSecrets }} - imagePullSecrets: - {{- toYaml . | nindent 8 }} - {{- end }} - volumes: - - name: ca-cert - configMap: - name: {{ include "auth-app-k8s.fullname" . }}-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: auth-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: {{ .Values.service.targetPort }} - {{- if .Values.service.hostPort }} - hostPort: {{ .Values.service.hostPort }} - {{- end }} - protocol: TCP - env: - - name: ADMIN_CLIENT_ID - value: {{ .Values.env.adminClientId | quote }} - - name: ADMIN_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.adminPassword.name }} - key: {{ .Values.secrets.adminPassword.key }} - - name: ADMIN_REALM - value: {{ .Values.env.adminRealm | quote }} - - name: ADMIN_URL - value: {{ .Values.env.adminUrl | quote }} - - name: ADMIN_USERNAME - value: {{ .Values.env.adminUsername | quote }} - - name: CLIENT_ID - value: {{ .Values.env.clientId | quote }} - - name: CLIENT_ISSUER_IRI - value: {{ .Values.env.clientIssuerIri | quote }} - - name: CLIENT_REALM - value: {{ .Values.env.clientRealm | quote }} - - name: CLIENT_SECRET - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.clientSecret.name }} - key: {{ .Values.secrets.clientSecret.key }} - - name: REALM - value: {{ .Values.env.realm | quote }} - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - - name: SECURITY_ADMIN_REALM - value: {{ .Values.env.securityAdminRealm | quote }} - - name: SECURITY_OAUTH2_CLIENT_ISSUER_URI - value: {{ .Values.env.securityOauth2ClientIssuerUri | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - resources: - {{- toYaml .Values.resources | nindent 12 }} \ No newline at end of file diff --git a/charts/backend/charts/auth-app-k8s/templates/service.yaml b/charts/backend/charts/auth-app-k8s/templates/service.yaml deleted file mode 100755 index d7fd4fc..0000000 --- a/charts/backend/charts/auth-app-k8s/templates/service.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "auth-app-k8s.fullname" . }} - labels: - {{- include "auth-app-k8s.labels" . | nindent 4 }} -spec: - type: {{ .Values.service.type }} - ports: - - port: {{ .Values.service.port }} - targetPort: {{ .Values.service.targetPort }} - protocol: TCP - selector: - {{- include "auth-app-k8s.selectorLabels" . | nindent 4 }} - io.kompose.service: auth-app \ No newline at end of file diff --git a/charts/backend/charts/auth-app-k8s/templates/tests/test-connection.yaml b/charts/backend/charts/auth-app-k8s/templates/tests/test-connection.yaml deleted file mode 100755 index 345e5ce..0000000 --- a/charts/backend/charts/auth-app-k8s/templates/tests/test-connection.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: "{{ include "auth-app-k8s.fullname" . }}-test-connection" - labels: - {{- include "auth-app-k8s.labels" . | nindent 4 }} - annotations: - "helm.sh/hook": test -spec: - containers: - - name: wget - image: busybox - command: ['wget'] - args: ['{{ include "auth-app-k8s.fullname" . }}:{{ .Values.service.port }}'] - restartPolicy: Never diff --git a/charts/backend/charts/auth-app-k8s/values.yaml b/charts/backend/charts/auth-app-k8s/values.yaml deleted file mode 100755 index eaac6c9..0000000 --- a/charts/backend/charts/auth-app-k8s/values.yaml +++ /dev/null @@ -1,58 +0,0 @@ - -fullnameOverride: "auth-app" - -image: - repository: registry.co-work.ru/auth-app - tag: 1.0.0-SNAPSHOT - pullPolicy: Always - -replicaCount: 1 - -service: - type: ClusterIP - port: 9090 - targetPort: 9090 - hostPort: null - -env: - cert_alias: co-work - adminClientId: "admin-cli" - adminRealm: "master" - adminUrl: "https://iam.nubes.ru/admin/realms/cowork" - adminUsername: "admin" - clientId: "gem-auth-client" - clientIssuerIri: "https://iam.nubes.ru/realms/cowork" - clientRealm: "cowork" - realm: "cowork" - securityAdminRealm: "master" - securityOauth2ClientIssuerUri: "https://iam.nubes.ru/realms" - - -secrets: - adminPassword: - name: auth-secrets - key: admin-password - clientSecret: - name: auth-secrets - key: client-secret - - -resources: - limits: - memory: 512Mi - requests: - cpu: 100m - memory: 256Mi - - -podAnnotations: - kompose.cmd: kompose convert -f app/auth-app.yml -o k8s/auth-app-k8s - kompose.version: 1.33.0 (HEAD) - -podLabels: - io.kompose.network/app-default: "true" - io.kompose.service: auth-app - - -autoscaling: - enabled: false \ No newline at end of file diff --git a/charts/backend/charts/auth-event-handler-app-k8s/.helmignore b/charts/backend/charts/auth-event-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/auth-event-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/auth-event-handler-app-k8s/Chart.yaml b/charts/backend/charts/auth-event-handler-app-k8s/Chart.yaml deleted file mode 100755 index 372a015..0000000 --- a/charts/backend/charts/auth-event-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: auth-event-handler-app-k8s -description: Authentication Event Handler -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" \ No newline at end of file diff --git a/charts/backend/charts/auth-event-handler-app-k8s/templates/_helpers.tpl b/charts/backend/charts/auth-event-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 9712214..0000000 --- a/charts/backend/charts/auth-event-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,23 +0,0 @@ -{{/* Common Name Definitions */}} -{{- define "auth-event-handler-app-k8s.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- printf "%s-%s" .Release.Name .Chart.Name | trunc 63 | trimSuffix "-" }} -{{- end }} -{{- end }} - -{{/* Standard labels */}} -{{- define "auth-event-handler-app-k8s.labels" -}} -helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} -app.kubernetes.io/name: {{ .Chart.Name }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* Selector labels */}} -{{- define "auth-event-handler-app-k8s.selectorLabels" -}} -app.kubernetes.io/name: {{ .Chart.Name }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} \ No newline at end of file diff --git a/charts/backend/charts/auth-event-handler-app-k8s/templates/deployment.yaml b/charts/backend/charts/auth-event-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index e8fe247..0000000 --- a/charts/backend/charts/auth-event-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,141 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "auth-event-handler-app-k8s.fullname" . }} - labels: - {{- include "auth-event-handler-app-k8s.labels" . | nindent 4 }} -spec: - {{- if not .Values.autoscaling.enabled }} - replicas: {{ .Values.replicaCount }} - {{- end }} - selector: - matchLabels: - {{- include "auth-event-handler-app-k8s.selectorLabels" . | nindent 6 }} - template: - metadata: - {{- with .Values.podAnnotations }} - annotations: - {{- toYaml . | nindent 8 }} - {{- end }} - labels: - {{- include "auth-event-handler-app-k8s.labels" . | nindent 8 }} - {{- with .Values.podLabels }} - {{- toYaml . | nindent 8 }} - {{- end }} - spec: - {{- if .Values.serviceAccount.create }} - serviceAccountName: {{ .Values.serviceAccount.name | default (include "auth-event-handler-app-k8s.serviceAccountName" .) }} - {{- end }} - {{- with .Values.imagePullSecrets }} - imagePullSecrets: - {{- toYaml . | nindent 8 }} - {{- end }} - securityContext: - {{- toYaml .Values.podSecurityContext | nindent 8 }} - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - {{- with .Values.volumes }} - {{ toYaml . | nindent 8 }} - {{- end }} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: {{ .Chart.Name }} - securityContext: - {{- toYaml .Values.securityContext | nindent 12 }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - name: http - containerPort: {{ .Values.service.port }} - protocol: TCP - env: - - name: ADMIN_CLIENT_ID - value: {{ .Values.env.adminClientId | quote }} - - name: ADMIN_REALM - value: {{ .Values.env.adminRealm | quote }} - - name: ADMIN_URL - value: {{ .Values.env.adminUrl | quote }} - - name: ADMIN_USERNAME - value: {{ .Values.env.adminUsername | quote }} - - name: CLIENT_ID - value: {{ .Values.env.clientId | quote }} - - name: CLIENT_ISSUER_IRI - value: {{ .Values.env.clientIssuerIri | quote }} - - name: CLIENT_REALM - value: {{ .Values.env.clientRealm | quote }} - - name: REALM - value: {{ .Values.env.realm | quote }} - - name: SECURITY_ADMIN_REALM - value: {{ .Values.env.securityAdminRealm | quote }} - - name: SECURITY_OAUTH2_CLIENT_ISSUER_URI - value: {{ .Values.env.securityOauth2ClientIssuerUri | quote }} - - name: KAFKA - value: {{ .Values.env.kafkaBrokers | quote }} - - name: KAFKA_USERNAME - value: {{ .Values.secrets.kafka.username | quote }} - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka.name }} - key: {{ .Values.secrets.kafka.passwordKey }} - - name: ADMIN_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.adminPassword.name }} - key: {{ .Values.secrets.adminPassword.key }} - - name: CLIENT_SECRET - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.clientSecret.name }} - key: {{ .Values.secrets.clientSecret.key }} - livenessProbe: - {{- toYaml .Values.livenessProbe | nindent 12 }} - readinessProbe: - {{- toYaml .Values.readinessProbe | nindent 12 }} - resources: - {{- toYaml .Values.resources | nindent 12 }} - volumeMounts: - {{- with .Values.volumeMounts }} - {{- toYaml . | nindent 12 }} - {{- end }} - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - {{- with .Values.nodeSelector }} - nodeSelector: - {{- toYaml . | nindent 8 }} - {{- end }} - {{- with .Values.affinity }} - affinity: - {{- toYaml . | nindent 8 }} - {{- end }} - {{- with .Values.tolerations }} - tolerations: - {{- toYaml . | nindent 8 }} - {{- end }} diff --git a/charts/backend/charts/auth-event-handler-app-k8s/templates/service.yaml b/charts/backend/charts/auth-event-handler-app-k8s/templates/service.yaml deleted file mode 100755 index 21e5053..0000000 --- a/charts/backend/charts/auth-event-handler-app-k8s/templates/service.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "auth-event-handler-app-k8s.fullname" . }} - labels: - {{- include "auth-event-handler-app-k8s.labels" . | nindent 4 }} -spec: - ports: - - port: {{ .Values.service.port }} - targetPort: {{ .Values.service.targetPort }} - selector: - {{- include "auth-event-handler-app-k8s.selectorLabels" . | nindent 4 }} \ No newline at end of file diff --git a/charts/backend/charts/auth-event-handler-app-k8s/values.yaml b/charts/backend/charts/auth-event-handler-app-k8s/values.yaml deleted file mode 100755 index c3690cb..0000000 --- a/charts/backend/charts/auth-event-handler-app-k8s/values.yaml +++ /dev/null @@ -1,60 +0,0 @@ -fullnameOverride: "auth-event-handler-app" -image: - repository: registry.co-work.ru/auth-event-handler-app - tag: 1.0.0-SNAPSHOT - pullPolicy: Always - -replicaCount: 1 -service: - type: ClusterIP - port: 8094 - targetPort: 9090 -env: - adminClientId: "admin-cli" - adminRealm: "master" - adminUrl: "https://iam.nubes.ru/admin/realms/cowork" - adminUsername: "admin" - clientId: "gem-auth-client" - clientIssuerIri: "https://iam.nubes.ru/realms/cowork" - clientRealm: "cowork" - realm: "cowork" - securityAdminRealm: "master" - securityOauth2ClientIssuerUri: "https://iam.nubes.ru/realms" - kafkaBrokers: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" -secrets: - kafka: - name: kafka-password - passwordKey: client-passwords - username: admin - adminPassword: - name: auth-secrets - key: admin-password - clientSecret: - name: auth-secrets - key: client-secret - -resources: - limits: - memory: 512Mi - requests: - cpu: 100m - memory: 256Mi - -podAnnotations: - kompose.cmd: kompose convert -f app/auth-event-handler-app.yml -o k8s/auth-event-handler-app-k8s - kompose.version: 1.33.0 (HEAD) - -podLabels: - io.kompose.network/app-default: "true" - io.kompose.service: auth-event-handler-app - - -podSecurityContext: {} -securityContext: {} - -autoscaling: - enabled: false - -serviceAccount: - create: false - name: "" \ No newline at end of file diff --git a/charts/backend/charts/bff-admin-app-k8s/.helmignore b/charts/backend/charts/bff-admin-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/bff-admin-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/bff-admin-app-k8s/Chart.yaml b/charts/backend/charts/bff-admin-app-k8s/Chart.yaml deleted file mode 100755 index 97e78ff..0000000 --- a/charts/backend/charts/bff-admin-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: bff-admin-app -description: Helm chart for bff-admin-app -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" \ No newline at end of file diff --git a/charts/backend/charts/bff-admin-app-k8s/templates/_helpers.tpl b/charts/backend/charts/bff-admin-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 17263cc..0000000 --- a/charts/backend/charts/bff-admin-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,24 +0,0 @@ -{{/* Common labels */}} -{{- define "bff-admin-app.labels" -}} -helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }} -app.kubernetes.io/name: {{ include "bff-admin-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.AppVersion }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* Name */}} -{{- define "bff-admin-app.name" -}} -{{- .Chart.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* Fullname */}} -{{- define "bff-admin-app.fullname" -}} -{{- .Release.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* Selector labels */}} -{{- define "bff-admin-app.selectorLabels" -}} -app.kubernetes.io/name: {{ include "bff-admin-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} \ No newline at end of file diff --git a/charts/backend/charts/bff-admin-app-k8s/templates/deployment.yaml b/charts/backend/charts/bff-admin-app-k8s/templates/deployment.yaml deleted file mode 100755 index a463d63..0000000 --- a/charts/backend/charts/bff-admin-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,39 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "bff-admin-app.fullname" . }} - labels: - {{- include "bff-admin-app.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - {{- include "bff-admin-app.selectorLabels" . | nindent 6 }} - template: - metadata: - labels: - {{- include "bff-admin-app.selectorLabels" . | nindent 8 }} - spec: - containers: - - name: bff-admin-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: SWAGGER_HOST - value: "{{ .Values.env.swagger_host }}" - - name: SWAGGER_PORT - value: "{{ .Values.env.swagger_port }}" - - name: WORKSPACE_HOST - value: "{{ .Values.env.workspace_host }}" - - name: WORKSPACE_PORT - value: "{{ .Values.env.workspace_port }}" - - name: USER_HOST - value: "{{ .Values.env.user_host }}" - - name: USER_PORT - value: "{{ .Values.env.user_port }}" - - name: ADMIN_HOST - value: "{{ .Values.env.admin_host }}" - - name: ADMIN_PORT - value: "{{ .Values.env.admin_port }}" - - name: APP_NAME - value: "{{ .Values.env.app_name }}" diff --git a/charts/backend/charts/bff-admin-app-k8s/templates/ingress.yaml b/charts/backend/charts/bff-admin-app-k8s/templates/ingress.yaml deleted file mode 100755 index 5b5d502..0000000 --- a/charts/backend/charts/bff-admin-app-k8s/templates/ingress.yaml +++ /dev/null @@ -1,38 +0,0 @@ -{{- if .Values.ingress.enabled -}} -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: {{ .Values.ingress.name }} - namespace: {{ .Release.Namespace | default "default" }} - {{- with .Values.ingress.annotations }} - annotations: - {{- toYaml . | nindent 4 }} - {{- end }} -spec: - ingressClassName: {{ .Values.ingress.className }} - {{- if .Values.ingress.tls }} - tls: - {{- range .Values.ingress.tls }} - - hosts: - {{- range .hosts }} - - {{ . | quote }} - {{- end }} - secretName: {{ .secretName | quote }} - {{- end }} - {{- end }} - rules: - {{- range .Values.ingress.hosts }} - - host: {{ .host | quote }} - http: - paths: - {{- range .paths }} - - path: {{ .path }} - pathType: {{ .pathType }} - backend: - service: - name: {{ $.Values.env.app_name }} - port: - number: {{ $.Values.service.httpPort }} - {{- end }} - {{- end }} -{{- end }} \ No newline at end of file diff --git a/charts/backend/charts/bff-admin-app-k8s/templates/service.yaml b/charts/backend/charts/bff-admin-app-k8s/templates/service.yaml deleted file mode 100755 index afaf6a0..0000000 --- a/charts/backend/charts/bff-admin-app-k8s/templates/service.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "bff-admin-app.fullname" . }} - labels: - {{- include "bff-admin-app.labels" . | nindent 4 }} -spec: - type: {{ .Values.service.type }} - selector: - {{- include "bff-admin-app.selectorLabels" . | nindent 4 }} - ports: - {{- range .Values.service.ports }} - - name: {{ .name }} - port: {{ .port }} - targetPort: {{ .targetPort }} - protocol: TCP - {{- end }} diff --git a/charts/backend/charts/bff-admin-app-k8s/values.yaml b/charts/backend/charts/bff-admin-app-k8s/values.yaml deleted file mode 100755 index 6e244f0..0000000 --- a/charts/backend/charts/bff-admin-app-k8s/values.yaml +++ /dev/null @@ -1,46 +0,0 @@ -replicaCount: 1 -image: - repository: registry.co-work.ru/bff-admin-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - swagger_host: "localhost" - swagger_port: 8080 - workspace_host: "workspace-app" - workspace_port: 9090 - user_host: "user-app" - user_port: 9090 - admin_host: "admin-app" - admin_port: 9090 - app_name: bff-admin-app - -service: - type: ClusterIP - httpPort: 8100 - grpcPort: 8101 - ports: - - name: http - port: 8100 # Changed from templated value to static - targetPort: 8080 - - name: grpc - port: 8101 # Changed from templated value to static - targetPort: 9090 - -ingress: - enabled: true - className: nginx - name: bff-admin-ingress - annotations: - nginx.ingress.kubernetes.io/ssl-redirect: "true" - nginx.ingress.kubernetes.io/force-ssl-redirect: "true" - nginx.ingress.kubernetes.io/backend-protocol: "HTTP" - hosts: - - host: api-adm-p001.cw.ngcloud.ru - paths: - - path: / - pathType: Prefix - tls: - - hosts: - - api-adm-p001.cw.ngcloud.ru - secretName: co-work-secret \ No newline at end of file diff --git a/charts/backend/charts/bff-app-k8s/.helmignore b/charts/backend/charts/bff-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/bff-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/bff-app-k8s/Chart.yaml b/charts/backend/charts/bff-app-k8s/Chart.yaml deleted file mode 100755 index e730ecc..0000000 --- a/charts/backend/charts/bff-app-k8s/Chart.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: v2 -name: bff-app-k8s -description: A Helm chart for Kubernetes - -# A chart can be either an 'application' or a 'library' chart. -# -# Application charts are a collection of templates that can be packaged into versioned archives -# to be deployed. -# -# Library charts provide useful utilities or functions for the chart developer. They're included as -# a dependency of application charts to inject those utilities and functions into the rendering -# pipeline. Library charts do not define any templates and therefore cannot be deployed. -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.1.0 - -# 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 -# follow Semantic Versioning. They should reflect the version the application is using. -# It is recommended to use it with quotes. -appVersion: "1.16.0" diff --git a/charts/backend/charts/bff-app-k8s/templates/_helpers.tpl b/charts/backend/charts/bff-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 99c76e2..0000000 --- a/charts/backend/charts/bff-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,23 +0,0 @@ -{{/* Common Name Definitions */}} -{{- define "bff-app-k8s.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- printf "%s-%s" .Release.Name .Chart.Name | trunc 63 | trimSuffix "-" }} -{{- end }} -{{- end }} - -{{/* Standard labels */}} -{{- define "bff-app-k8s.labels" -}} -helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} -app.kubernetes.io/name: {{ .Chart.Name }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* Selector labels */}} -{{- define "bff-app-k8s.selectorLabels" -}} -app.kubernetes.io/name: {{ .Chart.Name }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} \ No newline at end of file diff --git a/charts/backend/charts/bff-app-k8s/templates/deployment.yaml b/charts/backend/charts/bff-app-k8s/templates/deployment.yaml deleted file mode 100755 index becbefb..0000000 --- a/charts/backend/charts/bff-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,93 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "bff-app-k8s.fullname" . }} - labels: - {{- include "bff-app-k8s.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - {{- include "bff-app-k8s.selectorLabels" . | nindent 6 }} - template: - metadata: - annotations: - {{- toYaml .Values.podAnnotations | nindent 8 }} - labels: - {{- include "bff-app-k8s.selectorLabels" . | nindent 8 }} - {{- toYaml .Values.podLabels | nindent 8 }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} -# initContainers: -# - name: import-ca -# image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" -# env: -# - name: CERT_ALIAS -# value: {{ .Values.env.cert_alias | quote }} -# volumeMounts: -# - name: ca-cert -# mountPath: /app/resources -# - name: cacerts-volume -# mountPath: /tmp/cacerts -# command: -# - sh -# - -c -# - | -# cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && -# keytool -import -trustcacerts -storepass changeit -noprompt \ -# -alias gemcert \ -# -file /app/resources/RootCA_${CERT_ALIAS}.crt \ -# -keystore /tmp/cacerts/cacerts - containers: - - name: bff-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: {{ .Values.service.targetPort }} - {{- if .Values.service.hostPort }} - hostPort: {{ .Values.service.hostPort }} - {{- end }} - protocol: TCP - env: - - name: GRPC_CLIENT_AUTH_URL - value: {{ .Values.env.services.auth | quote }} - - name: GRPC_CLIENT_CHAT_URL - value: {{ .Values.env.services.chat | quote }} - - name: GRPC_CLIENT_CONFIG_URL - value: {{ .Values.env.services.user | quote }} - - name: GRPC_CLIENT_DEEPLINK_URL - value: {{ .Values.env.services.deeplink | quote }} - - name: GRPC_CLIENT_GEM_CALL_URL - value: {{ .Values.env.services.gemCall | quote }} - - name: GRPC_CLIENT_MESSAGE_URL - value: {{ .Values.env.services.message | quote }} - - name: GRPC_CLIENT_NOTIFICATIONS_URL - value: {{ .Values.env.services.notification | quote }} - - name: GRPC_CLIENT_REACTION_URL - value: {{ .Values.env.services.message | quote }} - - name: GRPC_CLIENT_REALTIME_URL - value: {{ .Values.env.services.realtime | quote }} - - name: GRPC_CLIENT_SEARCH_URL - value: {{ .Values.env.services.search | quote }} - - name: GRPC_CLIENT_STICKER_URL - value: {{ .Values.env.services.sticker | quote }} - - name: GRPC_CLIENT_UPLOAD_URL - value: {{ .Values.env.services.upload | quote }} - - name: GRPC_CLIENT_USER_URL - value: {{ .Values.env.services.user | quote }} - - name: GRPC_CLIENT_WORKSPACE_URL - value: {{ .Values.env.services.workspace | quote }} - resources: - {{- toYaml .Values.resources | nindent 12 }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts diff --git a/charts/backend/charts/bff-app-k8s/templates/ingress.yaml b/charts/backend/charts/bff-app-k8s/templates/ingress.yaml deleted file mode 100755 index 04ac9bd..0000000 --- a/charts/backend/charts/bff-app-k8s/templates/ingress.yaml +++ /dev/null @@ -1,28 +0,0 @@ -{{- if .Values.ingress.enabled -}} -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: {{ .Values.ingress.name }} - namespace: {{ .Release.Namespace | default "default" }} - {{- with .Values.ingress.annotations }} - annotations: - {{- toYaml . | nindent 4 }} - {{- end }} -spec: - ingressClassName: {{ .Values.ingress.className }} - tls: - - hosts: - - {{ .Values.ingress.host | quote }} - secretName: {{ .Values.ingress.tlsSecret | quote }} - rules: - - host: {{ .Values.ingress.host | quote }} - http: - paths: - - path: {{ .Values.ingress.path }} - pathType: {{ .Values.ingress.pathType }} - backend: - service: - name: {{ .Values.service.name }} - port: - number: {{ .Values.service.port }} -{{- end }} \ No newline at end of file diff --git a/charts/backend/charts/bff-app-k8s/templates/service.yaml b/charts/backend/charts/bff-app-k8s/templates/service.yaml deleted file mode 100755 index 76ecc39..0000000 --- a/charts/backend/charts/bff-app-k8s/templates/service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "bff-app-k8s.fullname" . }} - labels: - {{- include "bff-app-k8s.labels" . | nindent 4 }} -spec: - type: {{ .Values.service.type }} - ports: - - port: {{ .Values.service.port }} - targetPort: {{ .Values.service.targetPort }} - protocol: TCP - selector: - {{- include "bff-app-k8s.selectorLabels" . | nindent 4 }} \ No newline at end of file diff --git a/charts/backend/charts/bff-app-k8s/values.yaml b/charts/backend/charts/bff-app-k8s/values.yaml deleted file mode 100755 index ba4b84f..0000000 --- a/charts/backend/charts/bff-app-k8s/values.yaml +++ /dev/null @@ -1,58 +0,0 @@ -image: - repository: registry.co-work.ru/bff-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -replicaCount: 1 - -service: - type: ClusterIP - port: 8081 - targetPort: 8080 - nodePort: 31754 - name: bff-app # Added service name - -ingress: - enabled: true - className: nginx - name: bff-app-ingress - host: api-p001.cw.ngcloud.ru - annotations: - nginx.ingress.kubernetes.io/ssl-redirect: "true" - nginx.ingress.kubernetes.io/force-ssl-redirect: "true" - nginx.ingress.kubernetes.io/backend-protocol: "HTTP" - path: / - pathType: Prefix - tlsSecret: co-work-secret - -env: - services: - auth: http://auth-app:9090 - chat: http://chat-app:9090 - user: http://user-app:9090 - deeplink: http://deeplink-app:9090 - gemCall: http://gem-call-app:9090 - message: http://message-app:9090 - notification: http://notification-app:9090 - realtime: http://realtime-app:9090 - search: http://search-app:9090 - sticker: http://sticker-app:9090 - upload: http://upload-app:9090 - workspace: http://workspace-app:9090 - -resources: - limits: - memory: 1Gi - requests: - cpu: 200m - memory: 512Mi - -podAnnotations: - kompose.cmd: kompose convert -f app/bff-app.yml -o k8s/bff-app-k8s - kompose.version: 1.33.0 (HEAD) - -podLabels: - io.kompose.network/app-default: "true" - io.kompose.service: bff-app - -fullnameOverride: "bff-app" \ No newline at end of file diff --git a/charts/backend/charts/bff-vcs-app-k8s/.helmignore b/charts/backend/charts/bff-vcs-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/bff-vcs-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/bff-vcs-app-k8s/Chart.yaml b/charts/backend/charts/bff-vcs-app-k8s/Chart.yaml deleted file mode 100755 index 4b2338f..0000000 --- a/charts/backend/charts/bff-vcs-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: bff-vcs-app -description: Helm chart for bff-vcs-app -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" \ No newline at end of file diff --git a/charts/backend/charts/bff-vcs-app-k8s/templates/_helpers.tpl b/charts/backend/charts/bff-vcs-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 723ae52..0000000 --- a/charts/backend/charts/bff-vcs-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,24 +0,0 @@ -{{/* Common labels */}} -{{- define "bff-vcs-app.labels" -}} -helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }} -app.kubernetes.io/name: {{ include "bff-vcs-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.AppVersion }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* Name */}} -{{- define "bff-vcs-app.name" -}} -{{- .Chart.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* Fullname */}} -{{- define "bff-vcs-app.fullname" -}} -{{- .Release.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* Selector labels */}} -{{- define "bff-vcs-app.selectorLabels" -}} -app.kubernetes.io/name: {{ include "bff-vcs-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} \ No newline at end of file diff --git a/charts/backend/charts/bff-vcs-app-k8s/templates/deployment.yaml b/charts/backend/charts/bff-vcs-app-k8s/templates/deployment.yaml deleted file mode 100755 index f8b5b2f..0000000 --- a/charts/backend/charts/bff-vcs-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,58 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "bff-vcs-app.fullname" . }} - labels: - {{- include "bff-vcs-app.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - {{- include "bff-vcs-app.selectorLabels" . | nindent 6 }} - template: - metadata: - labels: - {{- include "bff-vcs-app.selectorLabels" . | nindent 8 }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} -# initContainers: -# - name: import-ca -# image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" -# env: -# - name: CERT_ALIAS -# value: {{ .Values.env.cert_alias | quote }} -# volumeMounts: -# - name: ca-cert -# mountPath: /app/resources -# - name: cacerts-volume -# mountPath: /tmp/cacerts -# command: -# - sh -# - -c -# - | -# cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && -# keytool -import -trustcacerts -storepass changeit -noprompt \ -# -alias gemcert \ -# -file /app/resources/RootCA_${CERT_ALIAS}.crt \ -# -keystore /tmp/cacerts/cacerts - containers: - - name: bff-vcs-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: GRPC_CLIENT_CALL_URL - value: "{{ .Values.env.grpc_client_call_url }}" - - name: GRPC_CLIENT_CALL_REALTIME_URL - value: "{{ .Values.env.grpc_client_call_realtime_url }}" - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts diff --git a/charts/backend/charts/bff-vcs-app-k8s/templates/ingress.yaml b/charts/backend/charts/bff-vcs-app-k8s/templates/ingress.yaml deleted file mode 100755 index 9d1467b..0000000 --- a/charts/backend/charts/bff-vcs-app-k8s/templates/ingress.yaml +++ /dev/null @@ -1,28 +0,0 @@ -{{- if .Values.ingress.enabled }} -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: {{ include "bff-vcs-app.fullname" . }}-ingress - namespace: {{ .Release.Namespace }} - annotations: - {{- range $key, $value := .Values.ingress.annotations }} - {{ $key }}: {{ $value | quote }} - {{- end }} -spec: - ingressClassName: {{ .Values.ingress.ingressClassName }} - tls: - - hosts: - - {{ .Values.ingress.host }} - secretName: {{ .Values.ingress.tlsSecretName }} - rules: - - host: {{ .Values.ingress.host }} - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: {{ include "bff-vcs-app.fullname" . }} - port: - number: {{ .Values.service.port }} -{{- end }} diff --git a/charts/backend/charts/bff-vcs-app-k8s/templates/service.yaml b/charts/backend/charts/bff-vcs-app-k8s/templates/service.yaml deleted file mode 100755 index e27a234..0000000 --- a/charts/backend/charts/bff-vcs-app-k8s/templates/service.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "bff-vcs-app.fullname" . }} - labels: - {{- include "bff-vcs-app.labels" . | nindent 4 }} -spec: - type: {{ .Values.service.type }} - selector: - {{- include "bff-vcs-app.selectorLabels" . | nindent 4 }} - ports: - - name: http - port: {{ .Values.service.port }} - targetPort: {{ .Values.service.targetPort }} - protocol: TCP - diff --git a/charts/backend/charts/bff-vcs-app-k8s/values.yaml b/charts/backend/charts/bff-vcs-app-k8s/values.yaml deleted file mode 100755 index e3cffed..0000000 --- a/charts/backend/charts/bff-vcs-app-k8s/values.yaml +++ /dev/null @@ -1,25 +0,0 @@ -replicaCount: 1 - -image: - repository: pibff-vcs-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - grpc_client_call_url: http://call-realtime-app:9090 - grpc_client_call_realtime_url: http://call-realtime-app:9090 - -service: - type: ClusterIP - port: 8079 - targetPort: 8080 - -ingress: - enabled: true - ingressClassName: nginx - host: api-vcs-p001.cw.ngcloud.ru - tlsSecretName: co-work-secret - annotations: - nginx.ingress.kubernetes.io/ssl-redirect: "true" - nginx.ingress.kubernetes.io/force-ssl-redirect: "true" - nginx.ingress.kubernetes.io/backend-protocol: "HTTP" diff --git a/charts/backend/charts/big-chat-splitter-app-k8s/.helmignore b/charts/backend/charts/big-chat-splitter-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/big-chat-splitter-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/big-chat-splitter-app-k8s/Chart.yaml b/charts/backend/charts/big-chat-splitter-app-k8s/Chart.yaml deleted file mode 100755 index 636295e..0000000 --- a/charts/backend/charts/big-chat-splitter-app-k8s/Chart.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: v2 -name: big-chat-splitter-app-k8s -description: A Helm chart for Kubernetes - -# A chart can be either an 'application' or a 'library' chart. -# -# Application charts are a collection of templates that can be packaged into versioned archives -# to be deployed. -# -# Library charts provide useful utilities or functions for the chart developer. They're included as -# a dependency of application charts to inject those utilities and functions into the rendering -# pipeline. Library charts do not define any templates and therefore cannot be deployed. -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.1.0 - -# 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 -# follow Semantic Versioning. They should reflect the version the application is using. -# It is recommended to use it with quotes. -appVersion: "1.16.0" diff --git a/charts/backend/charts/big-chat-splitter-app-k8s/templates/_helpers.tpl b/charts/backend/charts/big-chat-splitter-app-k8s/templates/_helpers.tpl deleted file mode 100755 index cee27a1..0000000 --- a/charts/backend/charts/big-chat-splitter-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,22 +0,0 @@ -{{/* Common Name Definitions */}} -{{- define "big-chat-splitter-app-k8s.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- printf "%s-%s" .Release.Name .Chart.Name | trunc 63 | trimSuffix "-" }} -{{- end }} -{{- end }} - -{{/* Standard labels */}} -{{- define "big-chat-splitter-app-k8s.labels" -}} -helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} -app.kubernetes.io/name: {{ .Chart.Name }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* Selector labels */}} -{{- define "big-chat-splitter-app-k8s.selectorLabels" -}} -io.kompose.service: big-chat-splitter-app -{{- end }} \ No newline at end of file diff --git a/charts/backend/charts/big-chat-splitter-app-k8s/templates/deployment.yaml b/charts/backend/charts/big-chat-splitter-app-k8s/templates/deployment.yaml deleted file mode 100755 index f423e53..0000000 --- a/charts/backend/charts/big-chat-splitter-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,86 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "big-chat-splitter-app-k8s.fullname" . }} - labels: - {{- include "big-chat-splitter-app-k8s.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - {{- include "big-chat-splitter-app-k8s.selectorLabels" . | nindent 6 }} - template: - metadata: - annotations: - {{- toYaml .Values.podAnnotations | nindent 8 }} - labels: - {{- include "big-chat-splitter-app-k8s.selectorLabels" . | nindent 8 }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: big-chat-splitter-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: CASSANDRA_DC - value: {{ .Values.env.cassandra.dc | quote }} - - name: CASSANDRA_HOST - value: {{ .Values.env.cassandra.host | quote }} - - name: CASSANDRA_USERNAME - value: {{ .Values.secrets.cassandra.username | quote }} - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.cassandra.name }} - key: {{ .Values.secrets.cassandra.passwordKey }} - - name: CHAT_SERVICE_HOST - value: {{ .Values.env.services.chat.host | quote }} - - name: CHAT_SERVICE_PORT - value: {{ .Values.env.services.chat.port | quote }} - - name: KAFKA_USER - value: {{ .Values.secrets.kafka.username | quote }} - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka.name }} - key: {{ .Values.secrets.kafka.passwordKey }} - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.servers | quote }} - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - - name: USER_SERVICE_HOST - value: {{ .Values.env.services.user.host | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts diff --git a/charts/backend/charts/big-chat-splitter-app-k8s/values.yaml b/charts/backend/charts/big-chat-splitter-app-k8s/values.yaml deleted file mode 100755 index 3428318..0000000 --- a/charts/backend/charts/big-chat-splitter-app-k8s/values.yaml +++ /dev/null @@ -1,54 +0,0 @@ - -fullnameOverride: "big-chat-splitter-app" -image: - repository: registry.co-work.ru/big-chat-splitter-app - tag: 1.0.0-SNAPSHOT - pullPolicy: Always -replicaCount: 1 -env: - cassandra: - dc: datacenter1 - host: "cassandra.cassandra.svc.cluster.local" - services: - chat: - host: chat-app - port: 9090 - user: - host: user-app - port: 9090 - redis: - host: redis-master.redis.svc.cluster.local - port: 6379 - kafka: - servers: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - -secrets: - cassandra: - name: cassandra - passwordKey: cassandra-password - username: cassandra - - kafka: - name: kafka-password - passwordKey: client-passwords - username: admin - - -resources: - limits: - memory: 1Gi - requests: - cpu: 500m - memory: 512Mi - - -podAnnotations: - kompose.cmd: kompose convert -f app/big-chat-splitter-app.yml -o k8s/big-chat-splitter-app-k8s - kompose.version: 1.33.0 (HEAD) - -podLabels: - io.kompose.network/app-default: "true" - io.kompose.service: big-chat-splitter-app - - -fullnameOverride: "big-chat-splitter-app" \ No newline at end of file diff --git a/charts/backend/charts/call-app-k8s/.helmignore b/charts/backend/charts/call-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/call-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/call-app-k8s/Chart.yaml b/charts/backend/charts/call-app-k8s/Chart.yaml deleted file mode 100755 index 6bbb9e2..0000000 --- a/charts/backend/charts/call-app-k8s/Chart.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: v2 -name: call-app-k8s -description: A Helm chart for Kubernetes - -# A chart can be either an 'application' or a 'library' chart. -# -# Application charts are a collection of templates that can be packaged into versioned archives -# to be deployed. -# -# Library charts provide useful utilities or functions for the chart developer. They're included as -# a dependency of application charts to inject those utilities and functions into the rendering -# pipeline. Library charts do not define any templates and therefore cannot be deployed. -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.1.0 - -# 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 -# follow Semantic Versioning. They should reflect the version the application is using. -# It is recommended to use it with quotes. -appVersion: "1.16.0" diff --git a/charts/backend/charts/call-app-k8s/templates/_helpers.tpl b/charts/backend/charts/call-app-k8s/templates/_helpers.tpl deleted file mode 100755 index e543786..0000000 --- a/charts/backend/charts/call-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,22 +0,0 @@ -{{/* Common Name Definitions */}} -{{- define "call-app-k8s.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- printf "%s-%s" .Release.Name .Chart.Name | trunc 63 | trimSuffix "-" }} -{{- end }} -{{- end }} - -{{/* Standard labels */}} -{{- define "call-app-k8s.labels" -}} -helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} -app.kubernetes.io/name: {{ .Chart.Name }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* Selector labels */}} -{{- define "call-app-k8s.selectorLabels" -}} -io.kompose.service: call-app -{{- end }} \ No newline at end of file diff --git a/charts/backend/charts/call-app-k8s/templates/deployment.yaml b/charts/backend/charts/call-app-k8s/templates/deployment.yaml deleted file mode 100755 index ba4055c..0000000 --- a/charts/backend/charts/call-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,131 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "call-app-k8s.fullname" . }} - labels: - {{- include "call-app-k8s.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - {{- include "call-app-k8s.selectorLabels" . | nindent 6 }} - template: - metadata: - annotations: - {{- toYaml .Values.podAnnotations | nindent 8 }} - labels: - {{- include "call-app-k8s.selectorLabels" . | nindent 8 }} - {{- toYaml .Values.podLabels | nindent 8 }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: call-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: 5005 - protocol: TCP - targetPort: 5005 - - containerPort: 9090 - protocol: TCP - targetPort: 9090 - env: - - name: TENANT_ID - value: {{ .Values.env.TENANT_ID | quote }} - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.cassandra.name }} - key: {{ .Values.secrets.cassandra.usernameKey }} - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.cassandra.name }} - key: {{ .Values.secrets.cassandra.passwordKey }} - - name: KAFKA - value: {{ .Values.env.kafka.brokers | quote }} - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka.name }} - key: {{ .Values.secrets.kafka.usernameKey }} - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka.name }} - key: {{ .Values.secrets.kafka.passwordKey }} - - name: KEYCLOAK_URL - value: {{ .Values.env.keycloak.url | quote }} - - name: LIVEKIT_API_KEY - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.livekit.name }} - key: {{ .Values.secrets.livekit.apiKeyKey }} - - name: LIVEKIT_SECRET - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.livekit.name }} - key: {{ .Values.secrets.livekit.secretKey }} - - name: RECORDING_ACCESS_KEY - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.recording.name }} - key: {{ .Values.secrets.recording.accessKeyKey }} - - name: RECORDING_API_HOST - value: {{ .Values.env.livekit.apiHost | quote }} - - name: RECORDING_BUCKET - value: {{ .Values.env.recording.bucket | quote }} - - name: RECORDING_ENDPOINT - value: {{ .Values.env.recording.endpoint | quote }} - - name: RECORDING_REGION - value: {{ .Values.env.recording.region | quote }} - - name: RECORDING_SECRET - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.recording.name }} - key: {{ .Values.secrets.recording.secretKeyKey }} - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - - name: REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.redis.name }} - key: {{ .Values.secrets.redis.passwordKey }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts diff --git a/charts/backend/charts/call-app-k8s/templates/service.yaml b/charts/backend/charts/call-app-k8s/templates/service.yaml deleted file mode 100755 index 1aea5ec..0000000 --- a/charts/backend/charts/call-app-k8s/templates/service.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "call-app-k8s.fullname" . }} - labels: - {{- include "call-app-k8s.labels" . | nindent 4 }} -spec: - type: {{ .Values.service.type }} - ports: - {{- range .Values.service.ports }} - - name: {{ .name }} - port: {{ .port }} - targetPort: {{ .targetPort }} - protocol: TCP - {{- end }} - selector: - {{- include "call-app-k8s.selectorLabels" . | nindent 4 }} \ No newline at end of file diff --git a/charts/backend/charts/call-app-k8s/values.yaml b/charts/backend/charts/call-app-k8s/values.yaml deleted file mode 100755 index eeb9077..0000000 --- a/charts/backend/charts/call-app-k8s/values.yaml +++ /dev/null @@ -1,66 +0,0 @@ -image: - repository: registry.co-work.ru/call-app - tag: 1.0.0-SNAPSHOT - pullPolicy: Always - -replicaCount: 1 - -service: - type: ClusterIP - ports: - - name: main - port: 5005 - targetPort: 5005 - - name: metrics - port: 9090 - targetPort: 9090 -env: - cassandra: - contactPoint: cassandra.cassandra.svc.cluster.local - datacenter: datacenter1 - kafka: - brokers: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - redis: - host: redis-master.redis.svc.cluster.local - port: 6379 - keycloak: - url: https://iam.nubes.ru/realms/cowork - livekit: - apiHost: https://av-p001.cw.ngcloud.ru - recording: - endpoint: https://store-p001.cw.ngcloud.ru:9000 - region: us-east-2 - bucket: livekit - TENANT_ID: "412eb2e1-9660-4b74-a56a-6198f3b5338a" - -secrets: - cassandra: - name: cassandra - usernameKey: username - passwordKey: cassandra-password - kafka: - name: kafka-password - usernameKey: username - passwordKey: client-passwords - redis: - name: redis-kafka-user-passwords - passwordKey: client-passwords - livekit: - name: livekit-secret - apiKeyKey: api-key - secretKey: secret - recording: - name: recording-secret - accessKeyKey: access-key - secretKeyKey: secret - - -podAnnotations: - kompose.cmd: kompose convert -f app/call-app.yml -o k8s/call-app-k8s - kompose.version: 1.33.0 (HEAD) - -podLabels: - io.kompose.network/app-default: "true" - io.kompose.service: call-app - -fullnameOverride: "call-app" diff --git a/charts/backend/charts/call-event-handler-app-k8s/.helmignore b/charts/backend/charts/call-event-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/call-event-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/call-event-handler-app-k8s/Chart.yaml b/charts/backend/charts/call-event-handler-app-k8s/Chart.yaml deleted file mode 100755 index c2acbb2..0000000 --- a/charts/backend/charts/call-event-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: call-event-handler-app -description: Call Event Handler Application -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" \ No newline at end of file diff --git a/charts/backend/charts/call-event-handler-app-k8s/templates/_helpers.tpl b/charts/backend/charts/call-event-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 7fe9301..0000000 --- a/charts/backend/charts/call-event-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,46 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "call-event-handler-app.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{/* -Create a default fully qualified app name. -*/}} -{{- define "call-event-handler-app.fullname" -}} -{{- if .Values.fullnameOverride -}} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- $name := default .Chart.Name .Values.nameOverride -}} -{{- printf "%s" $name | trunc 63 | trimSuffix "-" -}} -{{- end -}} -{{- end -}} - -{{/* -Create chart name and version as used by the chart label. -*/}} -{{- define "call-event-handler-app.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{/* -Common labels -*/}} -{{- define "call-event-handler-app.labels" -}} -helm.sh/chart: {{ include "call-event-handler-app.chart" . }} -{{ include "call-event-handler-app.selectorLabels" . }} -{{- if .Chart.AppVersion }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -{{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end -}} - -{{/* -Selector labels -*/}} -{{- define "call-event-handler-app.selectorLabels" -}} -app.kubernetes.io/name: {{ include "call-event-handler-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end -}} \ No newline at end of file diff --git a/charts/backend/charts/call-event-handler-app-k8s/templates/deployment.yaml b/charts/backend/charts/call-event-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index 6000e35..0000000 --- a/charts/backend/charts/call-event-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,111 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "call-event-handler-app.fullname" . }} - labels: - {{- include "call-event-handler-app.labels" . | nindent 4 }} - annotations: - {{- toYaml .Values.podAnnotations | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - {{- include "call-event-handler-app.selectorLabels" . | nindent 6 }} - template: - metadata: - annotations: - {{- toYaml .Values.podAnnotations | nindent 8 }} - labels: - {{- include "call-event-handler-app.selectorLabels" . | nindent 8 }} - {{- toYaml .Values.podLabels | nindent 8 }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: {{ .Chart.Name }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: 5005 - protocol: TCP - - containerPort: 9090 - protocol: TCP - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.cassandra.name }} - key: {{ .Values.secrets.cassandra.usernameKey }} - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.cassandra.name }} - key: {{ .Values.secrets.cassandra.passwordKey }} - - name: KAFKA - value: {{ .Values.env.kafka.brokers | quote }} - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka.name }} - key: {{ .Values.secrets.kafka.usernameKey }} - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka.name }} - key: {{ .Values.secrets.kafka.passwordKey }} - - name: LIVEKIT_API_KEY - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.livekit.name }} - key: {{ .Values.secrets.livekit.apiKeyKey }} - - name: LIVEKIT_SECRET - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.livekit.name }} - key: {{ .Values.secrets.livekit.secretKey }} - - name: RECORDING_API_HOST - value: {{ .Values.env.recording.apiHost | quote }} - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - - name: REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.redis.name }} - key: {{ .Values.secrets.redis.passwordKey }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts diff --git a/charts/backend/charts/call-event-handler-app-k8s/templates/service.yaml b/charts/backend/charts/call-event-handler-app-k8s/templates/service.yaml deleted file mode 100755 index 4b73d84..0000000 --- a/charts/backend/charts/call-event-handler-app-k8s/templates/service.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "call-event-handler-app.fullname" . }} - labels: - {{- include "call-event-handler-app.labels" . | nindent 4 }} -spec: - type: {{ .Values.service.type }} - ports: - {{- range .Values.service.ports }} - - name: {{ .name }} - port: {{ .port }} - targetPort: {{ .targetPort }} - protocol: TCP - {{- end }} - selector: - {{- include "call-event-handler-app.selectorLabels" . | nindent 4 }} \ No newline at end of file diff --git a/charts/backend/charts/call-event-handler-app-k8s/values.yaml b/charts/backend/charts/call-event-handler-app-k8s/values.yaml deleted file mode 100755 index f66908f..0000000 --- a/charts/backend/charts/call-event-handler-app-k8s/values.yaml +++ /dev/null @@ -1,57 +0,0 @@ -image: - repository: registry.co-work.ru/call-event-handler-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -replicaCount: 1 - -service: - type: ClusterIP - ports: - - name: main - port: 5005 - targetPort: 5005 - - name: metrics - port: 9090 - targetPort: 9090 - -env: - cassandra: - contactPoint: cassandra.cassandra.svc.cluster.local - datacenter: datacenter1 - kafka: - brokers: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - redis: - host: redis-master.redis.svc.cluster.local - port: "6379" - recording: - apiHost: https://store-p001.cw.ngcloud.ru:9000 - -secrets: - cassandra: - name: cassandra - usernameKey: username - passwordKey: cassandra-password - kafka: - name: kafka-password - usernameKey: username - passwordKey: client-passwords - redis: - name: redis-kafka-user-passwords - passwordKey: client-passwords - livekit: - name: livekit-secret - apiKeyKey: api-key - secretKey: secret - -podAnnotations: - kompose.cmd: kompose convert -f app/call-event-handler-app.yml -o k8s/call-event-handler-app-k8s - kompose.version: 1.33.0 (HEAD) - -podLabels: - io.kompose.network/app-default: "true" - io.kompose.service: call-event-handler-app - - -nameOverride: "" -fullnameOverride: "" \ No newline at end of file diff --git a/charts/backend/charts/call-realtime-app-k8s/.helmignore b/charts/backend/charts/call-realtime-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/call-realtime-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/call-realtime-app-k8s/Chart.yaml b/charts/backend/charts/call-realtime-app-k8s/Chart.yaml deleted file mode 100755 index a844be6..0000000 --- a/charts/backend/charts/call-realtime-app-k8s/Chart.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: v2 -name: call-realtime-app-k8s -description: A Helm chart for Kubernetes - -# A chart can be either an 'application' or a 'library' chart. -# -# Application charts are a collection of templates that can be packaged into versioned archives -# to be deployed. -# -# Library charts provide useful utilities or functions for the chart developer. They're included as -# a dependency of application charts to inject those utilities and functions into the rendering -# pipeline. Library charts do not define any templates and therefore cannot be deployed. -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.1.0 - -# 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 -# follow Semantic Versioning. They should reflect the version the application is using. -# It is recommended to use it with quotes. -appVersion: "1.16.0" diff --git a/charts/backend/charts/call-realtime-app-k8s/templates/_helpers.tpl b/charts/backend/charts/call-realtime-app-k8s/templates/_helpers.tpl deleted file mode 100755 index e3e996e..0000000 --- a/charts/backend/charts/call-realtime-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,39 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "call-realtime-app.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{/* -Create a default fully qualified app name. -*/}} -{{- define "call-realtime-app.fullname" -}} -{{- if .Values.fullnameOverride -}} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- $name := default .Chart.Name .Values.nameOverride -}} -{{- printf "%s" $name | trunc 63 | trimSuffix "-" -}} -{{- end -}} -{{- end -}} - -{{/* -Common labels -*/}} -{{- define "call-realtime-app.labels" -}} -helm.sh/chart: {{ include "call-realtime-app.name" . }} -{{ include "call-realtime-app.selectorLabels" . }} -{{- if .Chart.AppVersion }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -{{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end -}} - -{{/* -Selector labels -*/}} -{{- define "call-realtime-app.selectorLabels" -}} -app.kubernetes.io/name: {{ include "call-realtime-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end -}} \ No newline at end of file diff --git a/charts/backend/charts/call-realtime-app-k8s/templates/deployment.yaml b/charts/backend/charts/call-realtime-app-k8s/templates/deployment.yaml deleted file mode 100755 index 263e3aa..0000000 --- a/charts/backend/charts/call-realtime-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,120 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "call-realtime-app.fullname" . }} - labels: - {{- include "call-realtime-app.labels" . | nindent 4 }} - annotations: - {{- toYaml .Values.podAnnotations | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - {{- include "call-realtime-app.selectorLabels" . | nindent 6 }} - template: - metadata: - annotations: - {{- toYaml .Values.podAnnotations | nindent 8 }} - labels: - {{- include "call-realtime-app.selectorLabels" . | nindent 8 }} - {{- toYaml .Values.podLabels | nindent 8 }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: {{ .Chart.Name }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: 5005 - protocol: TCP - - containerPort: 9090 - protocol: TCP - env: - - name: TENANT_ID - value: {{ .Values.env.TENANT_ID | quote }} - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.cassandra.name }} - key: {{ .Values.secrets.cassandra.usernameKey }} - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.cassandra.name }} - key: {{ .Values.secrets.cassandra.passwordKey }} - - name: KAFKA - value: {{ .Values.env.kafka.brokers | quote }} - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka.name }} - key: {{ .Values.secrets.kafka.usernameKey }} - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka.name }} - key: {{ .Values.secrets.kafka.passwordKey }} - - name: LIVEKIT_API_KEY - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.livekit.name }} - key: {{ .Values.secrets.livekit.apiKeyKey }} - - name: LIVEKIT_SECRET - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.livekit.name }} - key: {{ .Values.secrets.livekit.secretKey }} - - name: RECORDING_ACCESS_KEY - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.recording.name }} - key: {{ .Values.secrets.recording.accessKeyKey }} - - name: RECORDING_API_HOST - value: {{ .Values.env.recording.apiHost | quote }} - - name: RECORDING_BUCKET - value: {{ .Values.env.recording.bucket | quote }} - - name: RECORDING_SECRET - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.recording.name }} - key: {{ .Values.secrets.recording.secretKey }} - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts diff --git a/charts/backend/charts/call-realtime-app-k8s/templates/service.yaml b/charts/backend/charts/call-realtime-app-k8s/templates/service.yaml deleted file mode 100755 index c12d742..0000000 --- a/charts/backend/charts/call-realtime-app-k8s/templates/service.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "call-realtime-app.fullname" . }} - labels: - {{- include "call-realtime-app.labels" . | nindent 4 }} -spec: - type: {{ .Values.service.type }} - ports: - {{- range .Values.service.ports }} - - name: {{ .name }} - port: {{ .port }} - targetPort: {{ .targetPort }} - protocol: TCP - {{- end }} - selector: - {{- include "call-realtime-app.selectorLabels" . | nindent 4 }} \ No newline at end of file diff --git a/charts/backend/charts/call-realtime-app-k8s/values.yaml b/charts/backend/charts/call-realtime-app-k8s/values.yaml deleted file mode 100755 index b8d454a..0000000 --- a/charts/backend/charts/call-realtime-app-k8s/values.yaml +++ /dev/null @@ -1,66 +0,0 @@ -# Image Configuration -image: - repository: registry.co-work.ru/call-realtime-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -# Replica Configuration -replicaCount: 1 - -# Service Configuration -service: - type: ClusterIP - ports: - - name: main - port: 5096 - targetPort: 5005 - - name: metrics - port: 9090 - targetPort: 9090 - -# Environment Configuration -env: - cassandra: - contactPoint: cassandra.cassandra.svc.cluster.local - datacenter: datacenter1 - kafka: - brokers: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - redis: - host: redis-master.redis.svc.cluster.local - port: "6379" - recording: - apiHost: https://store-p001.cw.ngcloud.ru:9000 - bucket: livekit - TENANT_ID: "412eb2e1-9660-4b74-a56a-6198f3b5338a" - -# Secret References -secrets: - cassandra: - name: cassandra - usernameKey: username - passwordKey: cassandra-password - kafka: - name: kafka-password - usernameKey: username - passwordKey: client-passwords - livekit: - name: livekit-secret - apiKeyKey: api-key - secretKey: secret - recording: - name: recording-secret - accessKeyKey: access-key - secretKey: secret - -# Kompose Metadata -podAnnotations: - kompose.cmd: kompose convert -f app/call-realtime-app.yml -o k8s/call-realtime-app-k8s - kompose.version: 1.33.0 (HEAD) - -podLabels: - io.kompose.network/app-default: "true" - io.kompose.service: call-realtime-app - -# Chart Metadata -nameOverride: "" -fullnameOverride: call-realtime-app diff --git a/charts/backend/charts/chat-app-k8s/.helmignore b/charts/backend/charts/chat-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/chat-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/chat-app-k8s/Chart.yaml b/charts/backend/charts/chat-app-k8s/Chart.yaml deleted file mode 100755 index 2156ab6..0000000 --- a/charts/backend/charts/chat-app-k8s/Chart.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: v2 -name: chat-app -description: A Helm chart for Kubernetes - -# A chart can be either an 'application' or a 'library' chart. -# -# Application charts are a collection of templates that can be packaged into versioned archives -# to be deployed. -# -# Library charts provide useful utilities or functions for the chart developer. They're included as -# a dependency of application charts to inject those utilities and functions into the rendering -# pipeline. Library charts do not define any templates and therefore cannot be deployed. -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.1.0 - -# 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 -# follow Semantic Versioning. They should reflect the version the application is using. -# It is recommended to use it with quotes. -appVersion: "1.16.0" diff --git a/charts/backend/charts/chat-app-k8s/templates/_helpers.tpl b/charts/backend/charts/chat-app-k8s/templates/_helpers.tpl deleted file mode 100755 index a9e6dac..0000000 --- a/charts/backend/charts/chat-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,27 +0,0 @@ -{{/* -Return the name of the chart -*/}} -{{- define "chat-app.name" -}} -{{- .Chart.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* -Create a default fully qualified app name. -*/}} -{{- define "chat-app.fullname" -}} -{{- .Chart.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* -Common labels -*/}} -{{- define "chat-app.labels" -}} -helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }} -app.kubernetes.io/name: {{ include "chat-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.AppVersion }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} -{{- define "chat-app.quote" -}} -{{- . | quote }} -{{- end }} diff --git a/charts/backend/charts/chat-app-k8s/templates/deployment.yaml b/charts/backend/charts/chat-app-k8s/templates/deployment.yaml deleted file mode 100755 index e996ab0..0000000 --- a/charts/backend/charts/chat-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,131 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "chat-app.fullname" . }} - labels: - {{- include "chat-app.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "chat-app.name" . }} - template: - metadata: - labels: - app: {{ include "chat-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: {{ .Chart.Name }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - ports: - - containerPort: 9090 - hostPort: 8085 - - containerPort: 5005 - hostPort: 5085 - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.CASSANDRA_CONTACTPOINT }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.CASSANDRA_DATACENTER }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: KAFKA - value: {{ .Values.env.KAFKA | quote }} - - name: REDIS_HOST - value: {{ .Values.env.REDIS_HOST }} - - name: REDIS_PORT - value: {{ include "chat-app.quote" .Values.env.REDIS_PORT }} - - name: DEEPLINK_HOST - value: {{ .Values.env.DEEPLINK_HOST }} - - name: DEEPLINK_PORT - value: {{ include "chat-app.quote" .Values.env.DEEPLINK_PORT }} - - name: GEM_CALL_HOST - value: {{ .Values.env.GEM_CALL_HOST }} - - name: GEM_CALL_PORT - value: {{ include "chat-app.quote" .Values.env.GEM_CALL_PORT }} - - name: MESSAGE_HOST - value: {{ .Values.env.MESSAGE_HOST }} - - name: MESSAGE_PORT - value: {{ .Values.env.MESSAGE_PORT | quote }} - - name: SEARCH_HOST - value: {{ .Values.env.SEARCH_HOST }} - - name: SEARCH_PORT - value: {{ include "chat-app.quote" .Values.env.SEARCH_PORT }} - - name: USER_HOST - value: {{ .Values.env.USER_HOST }} - - name: USER_PORT - value: {{ include "chat-app.quote" .Values.env.USER_PORT }} - - name: KEYCLOAK_URL - value: {{ .Values.env.KEYCLOAK_URL }} - - name: LIVEKIT_API_KEY - valueFrom: - secretKeyRef: - name: livekit-secret - key: api-key - - name: LIVEKIT_SECRET - valueFrom: - secretKeyRef: - name: livekit-secret - key: secret - - name: RECORDING_ACCESS_KEY - valueFrom: - secretKeyRef: - name: recording-secret - key: access-key - - name: RECORDING_SECRET - valueFrom: - secretKeyRef: - name: recording-secret - key: secret - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/charts/backend/charts/chat-app-k8s/templates/service.yaml b/charts/backend/charts/chat-app-k8s/templates/service.yaml deleted file mode 100755 index 413533e..0000000 --- a/charts/backend/charts/chat-app-k8s/templates/service.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "chat-app.fullname" . }} - labels: - {{- include "chat-app.labels" . | nindent 4 }} -spec: - selector: - app: {{ include "chat-app.name" . }} - ports: - - name: http - port: 9090 - targetPort: 9090 - - name: debug - port: 5085 - targetPort: 5005 diff --git a/charts/backend/charts/chat-app-k8s/values.yaml b/charts/backend/charts/chat-app-k8s/values.yaml deleted file mode 100755 index bdaecfc..0000000 --- a/charts/backend/charts/chat-app-k8s/values.yaml +++ /dev/null @@ -1,23 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/chat-app - tag: 1.0.0-SNAPSHOT - -env: - CASSANDRA_CONTACTPOINT: cassandra.cassandra.svc.cluster.local - CASSANDRA_DATACENTER: datacenter1 - KAFKA: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - REDIS_HOST: redis-master.redis.svc.cluster.local - REDIS_PORT: "6379" - DEEPLINK_HOST: deeplink-app - DEEPLINK_PORT: "9090" - GEM_CALL_HOST: gem-call-app - GEM_CALL_PORT: "9090" - MESSAGE_HOST: message-app - MESSAGE_PORT: "9090" - SEARCH_HOST: search-app - SEARCH_PORT: "9090" - USER_HOST: user-app - USER_PORT: "9090" - KEYCLOAK_URL: https://iam.nubes.ru/realms/cowork diff --git a/charts/backend/charts/chat-event-handler-app-k8s/.helmignore b/charts/backend/charts/chat-event-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/chat-event-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/chat-event-handler-app-k8s/Chart.yaml b/charts/backend/charts/chat-event-handler-app-k8s/Chart.yaml deleted file mode 100755 index 9056195..0000000 --- a/charts/backend/charts/chat-event-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: chat-event-handler-app -description: A Helm chart for Kubernetes -type: application -version: 0.1.0 -appVersion: "1.16.0" diff --git a/charts/backend/charts/chat-event-handler-app-k8s/templates/_helpers.tpl b/charts/backend/charts/chat-event-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index a46e970..0000000 --- a/charts/backend/charts/chat-event-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,27 +0,0 @@ -{{/* -Return the name of the chart -*/}} -{{- define "chat-event-handler-app.name" -}} -{{- .Chart.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* -Create a default fully qualified app name. -*/}} -{{- define "chat-event-handler-app.fullname" -}} -{{- .Chart.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* -Common labels -*/}} -{{- define "chat-event-handler-app.labels" -}} -helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }} -app.kubernetes.io/name: {{ include "chat-event-handler-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.AppVersion }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} -{{- define "chat-event-handler-app.quote" -}} -{{- . | quote }} -{{- end }} diff --git a/charts/backend/charts/chat-event-handler-app-k8s/templates/deployment.yaml b/charts/backend/charts/chat-event-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index 5f575af..0000000 --- a/charts/backend/charts/chat-event-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,109 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "chat-event-handler-app.fullname" . }} - labels: - {{- include "chat-event-handler-app.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "chat-event-handler-app.name" . }} - template: - metadata: - labels: - app: {{ include "chat-event-handler-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: {{ .Chart.Name }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - ports: - - containerPort: 5005 - hostPort: 5086 - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.CASSANDRA_CONTACTPOINT }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.CASSANDRA_DATACENTER }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: KAFKA - value: {{ .Values.env.KAFKA | quote }} - - name: REDIS_HOST - value: {{ .Values.env.REDIS_HOST }} - - name: REDIS_PORT - value: {{ include "chat-event-handler-app.quote" .Values.env.REDIS_PORT }} - - name: DEEPLINK_HOST - value: {{ .Values.env.DEEPLINK_HOST }} - - name: DEEPLINK_PORT - value: {{ include "chat-event-handler-app.quote" .Values.env.DEEPLINK_PORT }} - - name: GEM_CALL_HOST - value: {{ .Values.env.GEM_CALL_HOST }} - - name: GEM_CALL_PORT - value: {{ include "chat-event-handler-app.quote" .Values.env.GEM_CALL_PORT }} - - name: MESSAGE_HOST - value: {{ .Values.env.MESSAGE_HOST }} - - name: MESSAGE_PORT - value: {{ .Values.env.MESSAGE_PORT | quote }} - - name: SEARCH_HOST - value: {{ .Values.env.SEARCH_HOST }} - - name: SEARCH_PORT - value: {{ include "chat-event-handler-app.quote" .Values.env.SEARCH_PORT }} - - name: USER_HOST - value: {{ .Values.env.USER_HOST }} - - name: USER_PORT - value: {{ include "chat-event-handler-app.quote" .Values.env.USER_PORT }} - - name: KEYCLOAK_URL - value: {{ .Values.env.KEYCLOAK_URL }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/charts/backend/charts/chat-event-handler-app-k8s/templates/service.yaml b/charts/backend/charts/chat-event-handler-app-k8s/templates/service.yaml deleted file mode 100755 index d6e58fa..0000000 --- a/charts/backend/charts/chat-event-handler-app-k8s/templates/service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "chat-event-handler-app.fullname" . }} - labels: - {{- include "chat-event-handler-app.labels" . | nindent 4 }} -spec: - selector: - app: {{ include "chat-event-handler-app.name" . }} - ports: - - name: debug - port: 5086 - targetPort: 5005 diff --git a/charts/backend/charts/chat-event-handler-app-k8s/values.yaml b/charts/backend/charts/chat-event-handler-app-k8s/values.yaml deleted file mode 100755 index 597b576..0000000 --- a/charts/backend/charts/chat-event-handler-app-k8s/values.yaml +++ /dev/null @@ -1,22 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/chat-event-handler-app - tag: 1.0.0-SNAPSHOT - -env: - CASSANDRA_CONTACTPOINT: cassandra.cassandra.svc.cluster.local - CASSANDRA_DATACENTER: datacenter1 - MESSAGE_HOST: message-app - MESSAGE_PORT: "9090" - USER_HOST: user-app - USER_PORT: "9090" - SEARCH_HOST: search-app - SEARCH_PORT: "9090" - GEM_CALL_HOST: gem-call-app - GEM_CALL_PORT: "9090" - DEEPLINK_HOST: deeplink-app - DEEPLINK_PORT: "9090" - REDIS_HOST: redis-master.redis.svc.cluster.local - REDIS_PORT: "6379" - KAFKA: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" diff --git a/charts/backend/charts/deeplink-app-k8s/.helmignore b/charts/backend/charts/deeplink-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/deeplink-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/deeplink-app-k8s/Chart.yaml b/charts/backend/charts/deeplink-app-k8s/Chart.yaml deleted file mode 100755 index 4030b3b..0000000 --- a/charts/backend/charts/deeplink-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: deeplink-app-k8s -description: A Helm chart for Kubernetes -type: application -version: 0.1.0 -appVersion: "1.16.0" diff --git a/charts/backend/charts/deeplink-app-k8s/templates/_helpers.tpl b/charts/backend/charts/deeplink-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 3040408..0000000 --- a/charts/backend/charts/deeplink-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,17 +0,0 @@ -{{/* Chart name */}} -{{- define "deeplink-app.name" -}} -{{- .Chart.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{- define "deeplink-app.fullname" -}} -{{- .Release.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* Common labels */}} -{{- define "deeplink-app.labels" -}} -helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }} -app.kubernetes.io/name: {{ include "deeplink-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.AppVersion }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} diff --git a/charts/backend/charts/deeplink-app-k8s/templates/deployment.yaml b/charts/backend/charts/deeplink-app-k8s/templates/deployment.yaml deleted file mode 100755 index ae35e20..0000000 --- a/charts/backend/charts/deeplink-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,70 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "deeplink-app.fullname" . }} - labels: - {{- include "deeplink-app.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "deeplink-app.name" . }} - template: - metadata: - labels: - app: {{ include "deeplink-app.name" . }} - spec: - containers: - - name: {{ include "deeplink-app.name" . }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - ports: - - containerPort: {{ .Values.container.port }} - protocol: TCP - env: - - name: CASSANDRA_PORT - value: {{ .Values.env.CASSANDRA_PORT | quote }} - - name: BRANCHIO_ACCESS - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.branchio }} - key: branchio-access - - name: BRANCHIO_APPID - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.branchio }} - key: branchio-appid - - name: BRANCHIO_DEFAULT_URL - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.branchio }} - key: branchio-default-url - - name: BRANCHIO_KEY - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.branchio }} - key: branchio-key - - name: BRANCHIO_SECRET - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.branchio }} - key: branchio-secret - - name: BRANCHIO_URL - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.branchio }} - key: branchio-url - - name: DEEPLINK_DOMAIN - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.branchio }} - key: deeplink-domain - - name: DEEPLINK_WEBDOMAIN - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.branchio }} - key: deeplink-webdomain - - name: DEEPLINK_TENANT - value: nubes.ru - - name: KEYCLOAK_URL - value: {{ .Values.keycloak.url | quote }} - restartPolicy: Always diff --git a/charts/backend/charts/deeplink-app-k8s/templates/service.yaml b/charts/backend/charts/deeplink-app-k8s/templates/service.yaml deleted file mode 100755 index b560b57..0000000 --- a/charts/backend/charts/deeplink-app-k8s/templates/service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "deeplink-app.fullname" . }} - labels: - {{- include "deeplink-app.labels" . | nindent 4 }} -spec: - selector: - app: {{ include "deeplink-app.name" . }} - ports: - - name: http - port: {{ .Values.service.port }} - targetPort: {{ .Values.container.port }} diff --git a/charts/backend/charts/deeplink-app-k8s/values.yaml b/charts/backend/charts/deeplink-app-k8s/values.yaml deleted file mode 100755 index 346add2..0000000 --- a/charts/backend/charts/deeplink-app-k8s/values.yaml +++ /dev/null @@ -1,20 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/deeplink-app - tag: 1.0.0-SNAPSHOT - -service: - port: 9090 - -container: - port: 9090 - -keycloak: - url: https://iam.nubes.ru/realms/cowork - -secrets: - branchio: deeplink-secret - -env: - CASSANDRA_PORT: "9042" diff --git a/charts/backend/charts/gem-call-app-k8s/.helmignore b/charts/backend/charts/gem-call-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/gem-call-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/gem-call-app-k8s/Chart.yaml b/charts/backend/charts/gem-call-app-k8s/Chart.yaml deleted file mode 100755 index 6dc33e2..0000000 --- a/charts/backend/charts/gem-call-app-k8s/Chart.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v2 -name: gem-call-app -description: A Helm chart for gem-call-app - -type: application - -version: 0.1.0 -appVersion: "1.0.0" \ No newline at end of file diff --git a/charts/backend/charts/gem-call-app-k8s/templates/_helpers.tpl b/charts/backend/charts/gem-call-app-k8s/templates/_helpers.tpl deleted file mode 100755 index b34d6b9..0000000 --- a/charts/backend/charts/gem-call-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,15 +0,0 @@ -{{- define "gem-call-app.name" -}} -{{- .Chart.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{- define "gem-call-app.fullname" -}} -{{ .Chart.Name }} -{{- end }} - -{{- define "gem-call-app.labels" -}} -helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }} -app.kubernetes.io/name: {{ include "gem-call-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.AppVersion }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} diff --git a/charts/backend/charts/gem-call-app-k8s/templates/deployment.yaml b/charts/backend/charts/gem-call-app-k8s/templates/deployment.yaml deleted file mode 100755 index e0d58a1..0000000 --- a/charts/backend/charts/gem-call-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,68 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "gem-call-app.fullname" . }} - labels: - {{- include "gem-call-app.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "gem-call-app.name" . }} - template: - metadata: - labels: - app: {{ include "gem-call-app.name" . }} - spec: - containers: - - name: {{ include "gem-call-app.name" . }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - ports: - - containerPort: 9090 - - containerPort: 5005 - env: - - name: CALL_HOST - value: {{ .Values.call.host | quote }} - - name: CALL_PORT - value: {{ .Values.call.port | quote }} - - name: CALL_REALTIME_HOST - value: {{ .Values.callRealtime.host | quote }} - - name: CALL_REALTIME_PORT - value: {{ .Values.callRealtime.port | quote }} - - name: CHAT_HOST - value: {{ .Values.chat.host | quote }} - - name: CHAT_PORT - value: {{ .Values.chat.port | quote }} - - name: DEEPLINK_HOST - value: {{ .Values.deeplink.host | quote }} - - name: DEEPLINK_PORT - value: {{ .Values.deeplink.port | quote }} - - name: KAFKA - value: {{ .Values.kafka.bootstrapServers | quote }} - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka }} - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka }} - key: client-passwords - - name: KEYCLOAK_URL - value: {{ .Values.keycloak.url | quote }} - - name: REDIS_HOST - value: {{ .Values.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.redis.port | quote }} - - name: REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.redis }} - key: client-passwords - - name: USER_HOST - value: {{ .Values.user.host | quote }} - - name: USER_PORT - value: {{ .Values.user.port | quote }} - - restartPolicy: Always diff --git a/charts/backend/charts/gem-call-app-k8s/templates/service.yaml b/charts/backend/charts/gem-call-app-k8s/templates/service.yaml deleted file mode 100755 index 39730a0..0000000 --- a/charts/backend/charts/gem-call-app-k8s/templates/service.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "gem-call-app.fullname" . }} - labels: - app: {{ .Release.Name }} - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -spec: - ports: - - name: "9090" - port: 9090 - targetPort: 9090 - - name: "5089" - port: 5089 - targetPort: 5005 - selector: - app: gem-call-app \ No newline at end of file diff --git a/charts/backend/charts/gem-call-app-k8s/values.yaml b/charts/backend/charts/gem-call-app-k8s/values.yaml deleted file mode 100755 index 701bf95..0000000 --- a/charts/backend/charts/gem-call-app-k8s/values.yaml +++ /dev/null @@ -1,40 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/gem-call-app - tag: 1.0.0-SNAPSHOT - -secrets: - kafka: kafka-password - redis: redis-kafka-user-passwords - -kafka: - bootstrapServers: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" -redis: - host: redis-master.redis.svc.cluster.local - port: "6379" - -keycloak: - url: https://iam.nubes.ru/realms/cowork -env: - cert_alias: nubes - -call: - host: call-app - port: "9090" - -callRealtime: - host: call-realtime-app - port: "9090" - -chat: - host: chat-app - port: "9090" - -deeplink: - host: deeplink-app - port: "9090" - -user: - host: user-app - port: "9090" diff --git a/charts/backend/charts/gem-call-events-handler-app-k8s/.helmignore b/charts/backend/charts/gem-call-events-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/gem-call-events-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/gem-call-events-handler-app-k8s/Chart.yaml b/charts/backend/charts/gem-call-events-handler-app-k8s/Chart.yaml deleted file mode 100755 index 1caeec0..0000000 --- a/charts/backend/charts/gem-call-events-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v2 -name: gem-call-events-handler-app -description: A Helm chart for gem-call-events-handler-app - -type: application - -version: 0.1.0 -appVersion: "1.0.0" diff --git a/charts/backend/charts/gem-call-events-handler-app-k8s/templates/_helpers.tpl b/charts/backend/charts/gem-call-events-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 3e98208..0000000 --- a/charts/backend/charts/gem-call-events-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,15 +0,0 @@ -{{- define "gem-call-events-handler-app.name" -}} -gem-call-events-handler-app -{{- end -}} - -{{- define "gem-call-events-handler-app.fullname" -}} -{{- .Release.Name }} -{{- end -}} - -{{- define "gem-call-events-handler-app.labels" -}} -app.kubernetes.io/name: {{ include "gem-call-events-handler-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.Version }} -app.kubernetes.io/component: gem-call-events-handler-app -app.kubernetes.io/part-of: gem-call-events-handler-app -{{- end -}} diff --git a/charts/backend/charts/gem-call-events-handler-app-k8s/templates/deployment.yaml b/charts/backend/charts/gem-call-events-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index 115f215..0000000 --- a/charts/backend/charts/gem-call-events-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,92 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "gem-call-events-handler-app.fullname" . }} - labels: - {{- include "gem-call-events-handler-app.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app.kubernetes.io/name: {{ include "gem-call-events-handler-app.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - template: - metadata: - labels: - app.kubernetes.io/name: {{ include "gem-call-events-handler-app.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: gem-call-events-handler-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.cassandra }} - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.cassandra }} - key: cassandra-password - - name: KAFKA - value: {{ .Values.env.kafka.brokers | quote }} - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka }} - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka }} - key: client-passwords - - name: KEYCLOAK_URL - value: {{ .Values.keycloak.url | quote }} - - name: REDIS_HOST - value: {{ .Values.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.redis.port | quote }} - - name: CHAT_HOST - value: {{ .Values.chat.host | quote }} - - name: CHAT_PORT - value: {{ .Values.chat.port | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/charts/backend/charts/gem-call-events-handler-app-k8s/templates/service.yaml b/charts/backend/charts/gem-call-events-handler-app-k8s/templates/service.yaml deleted file mode 100755 index de057a7..0000000 --- a/charts/backend/charts/gem-call-events-handler-app-k8s/templates/service.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "gem-call-events-handler-app.fullname" . }} - labels: - app: {{ .Release.Name }} - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -spec: - ports: - - name: "8089" - port: 8089 - targetPort: 9090 - - name: "5089" - port: 5089 - targetPort: 5005 - selector: - io.kompose.service: gem-call-events-handler-app diff --git a/charts/backend/charts/gem-call-events-handler-app-k8s/values.yaml b/charts/backend/charts/gem-call-events-handler-app-k8s/values.yaml deleted file mode 100755 index f18778a..0000000 --- a/charts/backend/charts/gem-call-events-handler-app-k8s/values.yaml +++ /dev/null @@ -1,32 +0,0 @@ -replicaCount: 1 - -image: - repository: "registry.co-work.ru/gem-call-events-handler-app" - tag: "1.0.0-SNAPSHOT" - pullPolicy: IfNotPresent - -env: - cassandra: - contactPoint: "cassandra.cassandra.svc.cluster.local" - datacenter: "datacenter1" - kafka: - brokers: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - -keycloak: - url: "https://iam.nubes.ru/realms/cowork" - -redis: - host: "redis-master.redis.svc.cluster.local" - port: "6379" - -secrets: - cassandra: cassandra - kafka: kafka-password -chat: - host: "chat-app" - port: "9090" - -additionalEnv: [] - -podAnnotations: {} -podLabels: {} \ No newline at end of file diff --git a/charts/backend/charts/huawei-app-k8s/.helmignore b/charts/backend/charts/huawei-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/huawei-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/huawei-app-k8s/Chart.yaml b/charts/backend/charts/huawei-app-k8s/Chart.yaml deleted file mode 100755 index 96796c5..0000000 --- a/charts/backend/charts/huawei-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: huawei-app-k8s -description: A Helm chart for Kubernetes -type: application -version: 0.1.0 -appVersion: "1.16.0" diff --git a/charts/backend/charts/huawei-app-k8s/templates/_helpers.tpl b/charts/backend/charts/huawei-app-k8s/templates/_helpers.tpl deleted file mode 100755 index e7f7b42..0000000 --- a/charts/backend/charts/huawei-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,11 +0,0 @@ -{{- define "huawei-sender-app.name" -}} -huawei-sender-app -{{- end }} - -{{- define "huawei-sender-app.fullname" -}} -huawei-sender-app -{{- end }} - -{{- define "huawei-sender-app.chart" -}} -{{ .Chart.Name }}-{{ .Chart.Version }} -{{- end }} diff --git a/charts/backend/charts/huawei-app-k8s/templates/deployment.yaml b/charts/backend/charts/huawei-app-k8s/templates/deployment.yaml deleted file mode 100755 index e5d2b36..0000000 --- a/charts/backend/charts/huawei-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,74 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "huawei-sender-app.fullname" . }} - labels: - app: {{ include "huawei-sender-app.name" . }} - chart: {{ include "huawei-sender-app.chart" . }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "huawei-sender-app.name" . }} - template: - metadata: - labels: - app: {{ include "huawei-sender-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: huawei-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: IfNotPresent - env: - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka }} - key: client-passwords - - name: KAFKA_USER - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka }} - key: username - - name: KAFKA_SERVER - value: {{ .Values.kafka.bootstrapServers | quote }} - - name: REDIS_HOST - value: {{ .Values.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.redis.port | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always \ No newline at end of file diff --git a/charts/backend/charts/huawei-app-k8s/templates/service.yaml b/charts/backend/charts/huawei-app-k8s/templates/service.yaml deleted file mode 100755 index 3ebf666..0000000 --- a/charts/backend/charts/huawei-app-k8s/templates/service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "huawei-sender-app.fullname" . }} - labels: - app: {{ include "huawei-sender-app.name" . }} -spec: - ports: - - port: 8080 - targetPort: 8080 - protocol: TCP - name: http - selector: - app: {{ include "huawei-sender-app.name" . }} diff --git a/charts/backend/charts/huawei-app-k8s/values.yaml b/charts/backend/charts/huawei-app-k8s/values.yaml deleted file mode 100755 index 6ed3177..0000000 --- a/charts/backend/charts/huawei-app-k8s/values.yaml +++ /dev/null @@ -1,14 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/huawei-sender-app - tag: 1.0.0-SNAPSHOT - -kafka: - bootstrapServers: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" -redis: - host: "redis-master.redis.svc.cluster.local" - port: "6379" - -secrets: - kafka: kafka-password diff --git a/charts/backend/charts/ios-app-k8s/.helmignore b/charts/backend/charts/ios-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/ios-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/ios-app-k8s/Chart.yaml b/charts/backend/charts/ios-app-k8s/Chart.yaml deleted file mode 100755 index c4b4dc9..0000000 --- a/charts/backend/charts/ios-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: ios-app -description: Helm chart for iOS sender app -type: application -version: 0.1.0 -appVersion: "1.0.0" \ No newline at end of file diff --git a/charts/backend/charts/ios-app-k8s/templates/_helpers.tpl b/charts/backend/charts/ios-app-k8s/templates/_helpers.tpl deleted file mode 100755 index c757be9..0000000 --- a/charts/backend/charts/ios-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "ios-app.name" -}} -ios-sender-app -{{- end }} - -{{- define "ios-app.fullname" -}} -{{ .Release.Name }} -{{- end }} \ No newline at end of file diff --git a/charts/backend/charts/ios-app-k8s/templates/deployment.yaml b/charts/backend/charts/ios-app-k8s/templates/deployment.yaml deleted file mode 100755 index bad6c7c..0000000 --- a/charts/backend/charts/ios-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,71 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "ios-app.fullname" . }} - labels: - app: {{ include "ios-app.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "ios-app.name" . }} - template: - metadata: - labels: - app: {{ include "ios-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: ios-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: KAFKA_USER - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/charts/backend/charts/ios-app-k8s/values.yaml b/charts/backend/charts/ios-app-k8s/values.yaml deleted file mode 100755 index d540455..0000000 --- a/charts/backend/charts/ios-app-k8s/values.yaml +++ /dev/null @@ -1,12 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/ios-sender-app - tag: "1.0.0-SNAPSHOT" - -env: - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - redis: - host: "redis-master.redis.svc.cluster.local" - port: "6379" diff --git a/charts/backend/charts/livekit-webhook-handler-app-k8s/.helmignore b/charts/backend/charts/livekit-webhook-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/livekit-webhook-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/livekit-webhook-handler-app-k8s/Chart.yaml b/charts/backend/charts/livekit-webhook-handler-app-k8s/Chart.yaml deleted file mode 100755 index 3e25d07..0000000 --- a/charts/backend/charts/livekit-webhook-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,5 +0,0 @@ -apiVersion: v2 -name: livekit-webhook-handler-app -description: A Helm chart for deploying livekit-webhook-handler-app -version: 0.1.0 -appVersion: "1.0.0" \ No newline at end of file diff --git a/charts/backend/charts/livekit-webhook-handler-app-k8s/templates/_helpers.tpl b/charts/backend/charts/livekit-webhook-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index edfaeb8..0000000 --- a/charts/backend/charts/livekit-webhook-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,13 +0,0 @@ -{{/* -Generate the name of the application -*/}} -{{- define "livekit-webhook-handler-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{/* -Generate a fullname for the application -*/}} -{{- define "livekit-webhook-handler-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/charts/backend/charts/livekit-webhook-handler-app-k8s/templates/deployment.yaml b/charts/backend/charts/livekit-webhook-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index 9490bd2..0000000 --- a/charts/backend/charts/livekit-webhook-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,78 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "livekit-webhook-handler-app.fullname" . }} - labels: - app: {{ include "livekit-webhook-handler-app.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "livekit-webhook-handler-app.name" . }} - template: - metadata: - labels: - app: {{ include "livekit-webhook-handler-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: livekit-webhook-handler-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - ports: - - containerPort: {{ .Values.service.targetPort }} - hostPort: {{ .Values.service.port }} - protocol: TCP - env: - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USERNAME - value: {{ .Values.env.kafka.username | quote }} - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: LIVEKIT_API_KEY - valueFrom: - secretKeyRef: - name: livekit-secret - key: api-key - - name: LIVEKIT_SECRET - valueFrom: - secretKeyRef: - name: livekit-secret - key: secret - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/charts/backend/charts/livekit-webhook-handler-app-k8s/templates/service.yaml b/charts/backend/charts/livekit-webhook-handler-app-k8s/templates/service.yaml deleted file mode 100755 index e50df5c..0000000 --- a/charts/backend/charts/livekit-webhook-handler-app-k8s/templates/service.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "livekit-webhook-handler-app.fullname" . }} - labels: - app: {{ include "livekit-webhook-handler-app.name" . }} -spec: - type: {{ .Values.service.type }} - ports: - - name: "http" - port: {{ .Values.service.port }} - targetPort: {{ .Values.service.targetPort }} - nodePort: {{ .Values.service.nodePort }} - selector: - app: {{ include "livekit-webhook-handler-app.name" . }} - diff --git a/charts/backend/charts/livekit-webhook-handler-app-k8s/values.yaml b/charts/backend/charts/livekit-webhook-handler-app-k8s/values.yaml deleted file mode 100755 index 04216fd..0000000 --- a/charts/backend/charts/livekit-webhook-handler-app-k8s/values.yaml +++ /dev/null @@ -1,16 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/livekit-webhook-handler-app - tag: "1.0.0-SNAPSHOT" - -env: - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - username: "admin" - -service: - port: 5098 - targetPort: 8080 - type: NodePort - nodePort: 31646 \ No newline at end of file diff --git a/charts/backend/charts/message-app-k8s/.helmignore b/charts/backend/charts/message-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/message-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/message-app-k8s/Chart.yaml b/charts/backend/charts/message-app-k8s/Chart.yaml deleted file mode 100755 index 94a5449..0000000 --- a/charts/backend/charts/message-app-k8s/Chart.yaml +++ /dev/null @@ -1,5 +0,0 @@ -apiVersion: v2 -name: message-app -description: A Helm chart for deploying the message-app -version: 0.1.0 -appVersion: "1.0.0" \ No newline at end of file diff --git a/charts/backend/charts/message-app-k8s/templates/_helpers.tpl b/charts/backend/charts/message-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 7feaa1a..0000000 --- a/charts/backend/charts/message-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,13 +0,0 @@ -{{/* -Generate the name of the application -*/}} -{{- define "message-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{/* -Generate a fullname for the application -*/}} -{{- define "message-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/charts/backend/charts/message-app-k8s/templates/deployment.yaml b/charts/backend/charts/message-app-k8s/templates/deployment.yaml deleted file mode 100755 index 027b1fc..0000000 --- a/charts/backend/charts/message-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,118 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "message-app.fullname" . }} - labels: - app: {{ include "message-app.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "message-app.name" . }} - template: - metadata: - labels: - app: {{ include "message-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: message-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - ports: - - containerPort: {{ .Values.service.targetPort }} - protocol: TCP - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_USERNAME - value: cassandra - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_PORT - value: {{ .Values.env.CASSANDRA_PORT | quote }} - - name: CHAT_HOST - value: {{ .Values.env.chat.host | quote }} - - name: CHAT_PORT - value: {{ .Values.env.chat.port | quote }} - - name: DEEPLINK_HOST - value: {{ .Values.env.deeplink.host | quote }} - - name: DEEPLINK_PORT - value: {{ .Values.env.deeplink.port | quote }} - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USERNAME - value: {{ .Values.env.kafka.username | quote }} - - name: LIVEKIT_API_KEY - value: {{ .Values.env.livekit.api_key | quote }} - - name: LIVEKIT_SECRET - value: {{ .Values.env.livekit.secret | quote }} - - name: KEYCLOAK_URL - value: {{ .Values.env.keycloak.url | quote }} - - name: KEYSPACE - value: {{ .Values.env.keyspace | quote }} - - name: REALTIME_REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - - name: SEARCH_HOST - value: {{ .Values.env.search.host | quote }} - - name: SEARCH_PORT - value: {{ .Values.env.search.port | quote }} - - name: STICKER_HOST - value: {{ .Values.env.sticker.host | quote }} - - name: STICKER_PORT - value: {{ .Values.env.sticker.port | quote }} - - name: UPLOAD_HOST - value: {{ .Values.env.upload.host | quote }} - - name: UPLOAD_PORT - value: {{ .Values.env.upload.port | quote }} - - name: USER_HOST - value: {{ .Values.env.user.host | quote }} - - name: USER_PORT - value: {{ .Values.env.user.port | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/charts/backend/charts/message-app-k8s/templates/service.yaml b/charts/backend/charts/message-app-k8s/templates/service.yaml deleted file mode 100755 index d20ed84..0000000 --- a/charts/backend/charts/message-app-k8s/templates/service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "message-app.fullname" . }} - labels: - app: {{ include "message-app.name" . }} -spec: - ports: - - name: "http" - port: {{ .Values.service.port }} - targetPort: {{ .Values.service.targetPort }} - selector: - app: {{ include "message-app.name" . }} diff --git a/charts/backend/charts/message-app-k8s/values.yaml b/charts/backend/charts/message-app-k8s/values.yaml deleted file mode 100755 index 8187d98..0000000 --- a/charts/backend/charts/message-app-k8s/values.yaml +++ /dev/null @@ -1,46 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/message-app - tag: "1.0.0-SNAPSHOT" - -env: - cassandra: - contactPoint: "cassandra.cassandra.svc.cluster.local" - datacenter: "datacenter1" - CASSANDRA_PORT: "9042" - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - username: "admin" - redis: - host: "redis-master.redis.svc.cluster.local" - port: "6379" - keycloak: - url: "https://iam.nubes.ru/realms/cowork" - chat: - host: "chat-app" - port: "9090" - deeplink: - host: "deeplink-app" - port: "9090" - livekit: - api_key: "APIXj3LbDJJPLHv" - secret: "eWWetAn7vlfgFQnXXHyyox8QceBYTnZcIMhDe4I16UeE" - search: - host: "search-app" - port: "9090" - sticker: - host: "sticker-app" - port: "9090" - upload: - host: "upload-app" - port: "9090" - user: - host: "user-app" - port: "9090" - keyspace: "messages" - - -service: - port: 9090 - targetPort: 9090 diff --git a/charts/backend/charts/message-call-event-handler-app-k8s/.helmignore b/charts/backend/charts/message-call-event-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/message-call-event-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/message-call-event-handler-app-k8s/Chart.yaml b/charts/backend/charts/message-call-event-handler-app-k8s/Chart.yaml deleted file mode 100755 index 5685548..0000000 --- a/charts/backend/charts/message-call-event-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,5 +0,0 @@ -apiVersion: v2 -name: message-call-event-handler-app -description: A Helm chart for deploying the message-call-event-handler-app -version: 0.1.0 -appVersion: "1.0.0" \ No newline at end of file diff --git a/charts/backend/charts/message-call-event-handler-app-k8s/templates/_helpers.tpl b/charts/backend/charts/message-call-event-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 6622f54..0000000 --- a/charts/backend/charts/message-call-event-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,13 +0,0 @@ -{{/* -Generate the name of the application -*/}} -{{- define "message-call-event-handler-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{/* -Generate a fullname for the application -*/}} -{{- define "message-call-event-handler-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/charts/backend/charts/message-call-event-handler-app-k8s/templates/deployment.yaml b/charts/backend/charts/message-call-event-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index de9107e..0000000 --- a/charts/backend/charts/message-call-event-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,114 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "message-call-event-handler-app.fullname" . }} - labels: - app: {{ include "message-call-event-handler-app.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "message-call-event-handler-app.name" . }} - template: - metadata: - labels: - app: {{ include "message-call-event-handler-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: message-call-event-handler-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - ports: - - containerPort: 9090 - hostPort: 8086 - protocol: TCP - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_USERNAME - value: cassandra - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CHAT_HOST - value: {{ .Values.env.chat.host | quote }} - - name: CHAT_PORT - value: {{ .Values.env.chat.port | quote }} - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USERNAME - value: {{ .Values.env.kafka.username | quote }} - - name: LIVEKIT_API_KEY - valueFrom: - secretKeyRef: - name: livekit-secret - key: api-key - - name: LIVEKIT_SECRET - valueFrom: - secretKeyRef: - name: livekit-secret - key: secret - - name: KEYCLOAK_URL - value: "https://iam.nubes.ru/realms/cowork" - - name: KEYSPACE - value: {{ .Values.env.keyspace | quote }} - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: redis-kafka-user-passwords - key: client-passwords - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - - name: UPLOAD_HOST - value: {{ .Values.env.upload.host | quote }} - - name: UPLOAD_PORT - value: {{ .Values.env.upload.port | quote }} - - name: USER_HOST - value: {{ .Values.env.user.host | quote }} - - name: USER_PORT - value: {{ .Values.env.user.port | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/charts/backend/charts/message-call-event-handler-app-k8s/values.yaml b/charts/backend/charts/message-call-event-handler-app-k8s/values.yaml deleted file mode 100755 index 25b9cc0..0000000 --- a/charts/backend/charts/message-call-event-handler-app-k8s/values.yaml +++ /dev/null @@ -1,26 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/message-call-event-handler-app - tag: "1.0.0-SNAPSHOT" - -env: - cassandra: - contactPoint: "cassandra.cassandra.svc.cluster.local" - datacenter: "datacenter1" - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - username: "admin" - redis: - host: "redis-master.redis.svc.cluster.local" - port: "6379" - keyspace: "messages" - chat: - host: "chat-app" - port: "9090" - upload: - host: "upload-app" - port: "9090" - user: - host: "user-app" - port: "9090" diff --git a/charts/backend/charts/message-chat-event-handler-app-k8s/.helmignore b/charts/backend/charts/message-chat-event-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/message-chat-event-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/message-chat-event-handler-app-k8s/Chart.yaml b/charts/backend/charts/message-chat-event-handler-app-k8s/Chart.yaml deleted file mode 100755 index 9d53019..0000000 --- a/charts/backend/charts/message-chat-event-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: message-chat-event-handler-app -description: A Helm chart for deploying message-chat-event-handler-app -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" \ No newline at end of file diff --git a/charts/backend/charts/message-chat-event-handler-app-k8s/templates/_helpers.tpl b/charts/backend/charts/message-chat-event-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index b7575fe..0000000 --- a/charts/backend/charts/message-chat-event-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,62 +0,0 @@ -{{/* -Expand the name of the chart. -*/}} -{{- define "message-chat-event-handler-app.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -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 "message-chat-event-handler-app.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- $name := default .Chart.Name .Values.nameOverride }} -{{- if contains $name .Release.Name }} -{{- .Release.Name | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} -{{- end }} -{{- end }} -{{- end }} - -{{/* -Create chart name and version as used by the chart label. -*/}} -{{- define "message-chat-event-handler-app.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Common labels -*/}} -{{- define "message-chat-event-handler-app.labels" -}} -helm.sh/chart: {{ include "message-chat-event-handler-app.chart" . }} -{{ include "message-chat-event-handler-app.selectorLabels" . }} -{{- if .Chart.AppVersion }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -{{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* -Selector labels -*/}} -{{- define "message-chat-event-handler-app.selectorLabels" -}} -app.kubernetes.io/name: {{ include "message-chat-event-handler-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} - -{{/* -Create the name of the service account to use -*/}} -{{- define "message-chat-event-handler-app.serviceAccountName" -}} -{{- if .Values.serviceAccount.create }} -{{- default (include "message-chat-event-handler-app.fullname" .) .Values.serviceAccount.name }} -{{- else }} -{{- default "default" .Values.serviceAccount.name }} -{{- end }} -{{- end }} diff --git a/charts/backend/charts/message-chat-event-handler-app-k8s/templates/deployment.yaml b/charts/backend/charts/message-chat-event-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index dc78313..0000000 --- a/charts/backend/charts/message-chat-event-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,102 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "message-chat-event-handler-app.fullname" . }} - labels: - app: {{ include "message-chat-event-handler-app.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "message-chat-event-handler-app.name" . }} - template: - metadata: - labels: - app: {{ include "message-chat-event-handler-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: message-chat-event-handler-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - ports: - - containerPort: 9090 - hostPort: 8086 - protocol: TCP - env: - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KEYSPACE - value: {{ .Values.env.keyspace | quote }} - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USERNAME - value: {{ .Values.env.kafka.username | quote }} - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: USER_HOST - value: {{ .Values.env.user.host | quote }} - - name: USER_PORT - value: {{ .Values.env.user.port | quote }} - - name: CHAT_HOST - value: {{ .Values.env.chat.host | quote }} - - name: CHAT_PORT - value: {{ .Values.env.chat.port | quote }} - - name: UPLOAD_HOST - value: {{ .Values.env.upload.host | quote }} - - name: UPLOAD_PORT - value: {{ .Values.env.upload.port | quote }} - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PASSWORD - value: "" - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/charts/backend/charts/message-chat-event-handler-app-k8s/values.yaml b/charts/backend/charts/message-chat-event-handler-app-k8s/values.yaml deleted file mode 100755 index e648d94..0000000 --- a/charts/backend/charts/message-chat-event-handler-app-k8s/values.yaml +++ /dev/null @@ -1,27 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/message-chat-event-handler-app - tag: "1.0.0-SNAPSHOT" - pullPolicy: IfNotPresent - -env: - cassandra: - contactPoint: "cassandra.cassandra.svc.cluster.local" - datacenter: "datacenter1" - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - username: "admin" - redis: - host: "redis-master.redis.svc.cluster.local" - port: "6379" - keyspace: "messages" - chat: - host: "chat-app" - port: "9090" - upload: - host: "upload-app" - port: "9090" - user: - host: "user-app" - port: "9090" \ No newline at end of file diff --git a/charts/backend/charts/message-event-handler-app-k8s/.helmignore b/charts/backend/charts/message-event-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/message-event-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/message-event-handler-app-k8s/Chart.yaml b/charts/backend/charts/message-event-handler-app-k8s/Chart.yaml deleted file mode 100755 index 4c59d1f..0000000 --- a/charts/backend/charts/message-event-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: message-event-handler-app -description: A Helm chart for the message-event-handler-app -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" \ No newline at end of file diff --git a/charts/backend/charts/message-event-handler-app-k8s/templates/_helpers.tpl b/charts/backend/charts/message-event-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index d763592..0000000 --- a/charts/backend/charts/message-event-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "message-event-handler-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "message-event-handler-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/charts/backend/charts/message-event-handler-app-k8s/templates/deployment.yaml b/charts/backend/charts/message-event-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index 57c52b1..0000000 --- a/charts/backend/charts/message-event-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,99 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "message-event-handler-app.fullname" . }} - labels: - app: {{ include "message-event-handler-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "message-event-handler-app.name" . }} - template: - metadata: - labels: - app: {{ include "message-event-handler-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: message-event-handler-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - - name: REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: redis-kafka-user-passwords - key: client-passwords - - name: REALTIME_REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REALTIME_REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: redis-kafka-user-passwords - key: client-passwords - - name: KEYSPACE - value: {{ .Values.env.cassandra.keyspace | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/charts/backend/charts/message-event-handler-app-k8s/values.yaml b/charts/backend/charts/message-event-handler-app-k8s/values.yaml deleted file mode 100755 index 3118b28..0000000 --- a/charts/backend/charts/message-event-handler-app-k8s/values.yaml +++ /dev/null @@ -1,17 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/message-event-handler-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - cassandra: - contactPoint: cassandra.cassandra.svc.cluster.local - datacenter: datacenter1 - keyspace: messages - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - redis: - host: redis-master.redis.svc.cluster.local - port: "6379" diff --git a/charts/backend/charts/message-link-preview-handler-app-k8s/.helmignore b/charts/backend/charts/message-link-preview-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/message-link-preview-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/message-link-preview-handler-app-k8s/Chart.yaml b/charts/backend/charts/message-link-preview-handler-app-k8s/Chart.yaml deleted file mode 100755 index 6550cd3..0000000 --- a/charts/backend/charts/message-link-preview-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: v2 -name: message-link-preview-handler-app-k8s -description: A Helm chart for Kubernetes - -# A chart can be either an 'application' or a 'library' chart. -# -# Application charts are a collection of templates that can be packaged into versioned archives -# to be deployed. -# -# Library charts provide useful utilities or functions for the chart developer. They're included as -# a dependency of application charts to inject those utilities and functions into the rendering -# pipeline. Library charts do not define any templates and therefore cannot be deployed. -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.1.0 - -# 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 -# follow Semantic Versioning. They should reflect the version the application is using. -# It is recommended to use it with quotes. -appVersion: "1.16.0" diff --git a/charts/backend/charts/message-link-preview-handler-app-k8s/templates/_helpers.tpl b/charts/backend/charts/message-link-preview-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 95b79fc..0000000 --- a/charts/backend/charts/message-link-preview-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "message-link-preview-handler-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "message-link-preview-handler-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/charts/backend/charts/message-link-preview-handler-app-k8s/templates/deployment.yaml b/charts/backend/charts/message-link-preview-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index 9446e49..0000000 --- a/charts/backend/charts/message-link-preview-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,103 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "message-link-preview-handler-app.fullname" . }} - labels: - app: {{ include "message-link-preview-handler-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "message-link-preview-handler-app.name" . }} - template: - metadata: - labels: - app: {{ include "message-link-preview-handler-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: message-link-preview-handler-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: KEYSPACE - value: {{ .Values.env.cassandra.keyspace | quote }} - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - - name: REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: redis-kafka-user-passwords - key: client-passwords - - name: REALTIME_REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REALTIME_REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: redis-kafka-user-passwords - key: client-passwords - - name: UPLOAD_HOST - value: {{ .Values.env.upload.host | quote }} - - name: UPLOAD_PORT - value: {{ .Values.env.upload.port | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/charts/backend/charts/message-link-preview-handler-app-k8s/values.yaml b/charts/backend/charts/message-link-preview-handler-app-k8s/values.yaml deleted file mode 100755 index 552470b..0000000 --- a/charts/backend/charts/message-link-preview-handler-app-k8s/values.yaml +++ /dev/null @@ -1,20 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/message-link-preview-handler-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - cassandra: - contactPoint: cassandra.cassandra.svc.cluster.local - datacenter: datacenter1 - keyspace: messages - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - redis: - host: redis-master.redis.svc.cluster.local - port: "6379" - upload: - host: upload-app - port: "9090" diff --git a/charts/backend/charts/message-user-event-handler-app-k8s/.helmignore b/charts/backend/charts/message-user-event-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/message-user-event-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/message-user-event-handler-app-k8s/Chart.yaml b/charts/backend/charts/message-user-event-handler-app-k8s/Chart.yaml deleted file mode 100755 index b756528..0000000 --- a/charts/backend/charts/message-user-event-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: message-user-event-handler-app -description: A Helm chart for the message-event-handler-app -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" \ No newline at end of file diff --git a/charts/backend/charts/message-user-event-handler-app-k8s/templates/_helpers.tpl b/charts/backend/charts/message-user-event-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 774ebcc..0000000 --- a/charts/backend/charts/message-user-event-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "message-user-event-handler-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "message-user-event-handler-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/charts/backend/charts/message-user-event-handler-app-k8s/templates/deployment.yaml b/charts/backend/charts/message-user-event-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index dd71286..0000000 --- a/charts/backend/charts/message-user-event-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,89 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "message-user-event-handler-app.fullname" . }} - labels: - app: {{ include "message-user-event-handler-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "message-user-event-handler-app.name" . }} - template: - metadata: - labels: - app: {{ include "message-user-event-handler-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: message-user-event-handler-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - - name: REDIS_PASSWORD - value: "" - - name: KEYSPACE - value: {{ .Values.env.cassandra.keyspace | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/charts/backend/charts/message-user-event-handler-app-k8s/values.yaml b/charts/backend/charts/message-user-event-handler-app-k8s/values.yaml deleted file mode 100755 index bae1763..0000000 --- a/charts/backend/charts/message-user-event-handler-app-k8s/values.yaml +++ /dev/null @@ -1,18 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/message-user-event-handler-app - pullPolicy: Always - tag: 1.0.0-SNAPSHOT - -env: - cassandra: - contactPoint: cassandra.cassandra.svc.cluster.local - datacenter: datacenter1 - keyspace: messages - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - redis: - host: redis-master.redis.svc.cluster.local - port: "6379" - kespace: messages diff --git a/charts/backend/charts/notification-app-k8s/.helmignore b/charts/backend/charts/notification-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/notification-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/notification-app-k8s/Chart.yaml b/charts/backend/charts/notification-app-k8s/Chart.yaml deleted file mode 100755 index dda62a6..0000000 --- a/charts/backend/charts/notification-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: notification-app -description: Helm chart for notification-app -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" \ No newline at end of file diff --git a/charts/backend/charts/notification-app-k8s/templates/_helpers.tpl b/charts/backend/charts/notification-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 52646a3..0000000 --- a/charts/backend/charts/notification-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "notification-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "notification-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/charts/backend/charts/notification-app-k8s/templates/deployment.yaml b/charts/backend/charts/notification-app-k8s/templates/deployment.yaml deleted file mode 100755 index f82e1b8..0000000 --- a/charts/backend/charts/notification-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,101 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "notification-app.fullname" . }} - labels: - app: {{ include "notification-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "notification-app.name" . }} - template: - metadata: - labels: - app: {{ include "notification-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: notification-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: {{ .Values.service.targetPort }} - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_HOST - value: {{ .Values.env.cassandra.host | quote }} - - name: CASSANDRA_PORT - value: {{ .Values.env.cassandra.port | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: KEYCLOAK_URL - value: {{ .Values.env.keycloak.url | quote }} - - name: KEYSPACE - value: {{ .Values.env.cassandra.keyspace | quote }} - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - - name: REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: redis-kafka-user-passwords - key: client-passwords - - name: REALTIME_REDIS_HOST - value: {{ .Values.env.redis.realtimeHost | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts diff --git a/charts/backend/charts/notification-app-k8s/templates/service.yaml b/charts/backend/charts/notification-app-k8s/templates/service.yaml deleted file mode 100755 index 5f5c29f..0000000 --- a/charts/backend/charts/notification-app-k8s/templates/service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "notification-app.fullname" . }} - labels: - app: {{ include "notification-app.name" . }} -spec: - selector: - app: {{ include "notification-app.name" . }} - ports: - - name: http - port: {{ .Values.service.port }} - targetPort: {{ .Values.service.targetPort }} diff --git a/charts/backend/charts/notification-app-k8s/values.yaml b/charts/backend/charts/notification-app-k8s/values.yaml deleted file mode 100755 index a9dc786..0000000 --- a/charts/backend/charts/notification-app-k8s/values.yaml +++ /dev/null @@ -1,26 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/notification-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - cassandra: - contactPoint: cassandra.cassandra.svc.cluster.local - datacenter: datacenter1 - host: cassandra.cassandra.svc.cluster.local - port: "9042" - keyspace: notifications - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - redis: - host: redis-master.redis.svc.cluster.local - realtimeHost: redis-master.redis.svc.cluster.local - port: "6379" - keycloak: - url: https://iam.nubes.ru/realms/cowork - -service: - port: 9090 - targetPort: 9090 diff --git a/charts/backend/charts/notification-event-handler-app-k8s/.helmignore b/charts/backend/charts/notification-event-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/notification-event-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/notification-event-handler-app-k8s/Chart.yaml b/charts/backend/charts/notification-event-handler-app-k8s/Chart.yaml deleted file mode 100755 index 13c746c..0000000 --- a/charts/backend/charts/notification-event-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: notification-event-handler-app -description: Helm chart for Notification Event Handler App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" diff --git a/charts/backend/charts/notification-event-handler-app-k8s/templates/_helpers.tpl b/charts/backend/charts/notification-event-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 0ecab1c..0000000 --- a/charts/backend/charts/notification-event-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "notification-event-handler-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "notification-event-handler-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/charts/backend/charts/notification-event-handler-app-k8s/templates/deployment.yaml b/charts/backend/charts/notification-event-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index 53af505..0000000 --- a/charts/backend/charts/notification-event-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,92 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "notification-event-handler-app.fullname" . }} - labels: - app: {{ include "notification-event-handler-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "notification-event-handler-app.name" . }} - template: - metadata: - labels: - app: {{ include "notification-event-handler-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: notification-event-handler-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_HOST - value: {{ .Values.env.cassandra.host | quote }} - - name: CASSANDRA_PORT - value: {{ .Values.env.cassandra.port | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: CHAT_SERVICE_HOST - value: {{ .Values.env.chat.host | quote }} - - name: CHAT_SERVICE_PORT - value: {{ .Values.env.chat.port | quote }} - - name: USER_SERVICE_HOST - value: {{ .Values.env.user.host | quote }} - - name: USER_SERVICE_PORT - value: {{ .Values.env.user.port | quote }} - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USER - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts diff --git a/charts/backend/charts/notification-event-handler-app-k8s/values.yaml b/charts/backend/charts/notification-event-handler-app-k8s/values.yaml deleted file mode 100755 index ea83acb..0000000 --- a/charts/backend/charts/notification-event-handler-app-k8s/values.yaml +++ /dev/null @@ -1,21 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/notification-event-handler-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - cassandra: - contactPoint: cassandra.cassandra.svc.cluster.local - datacenter: datacenter1 - host: cassandra.cassandra.svc.cluster.local - port: "9042" - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - chat: - host: chat-app - port: "9090" - user: - host: user-app - port: "9090" diff --git a/charts/backend/charts/realtime-app-k8s/.helmignore b/charts/backend/charts/realtime-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/realtime-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/realtime-app-k8s/Chart.yaml b/charts/backend/charts/realtime-app-k8s/Chart.yaml deleted file mode 100755 index 6609d57..0000000 --- a/charts/backend/charts/realtime-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: realtime-app -description: Helm chart for Realtime App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" diff --git a/charts/backend/charts/realtime-app-k8s/templates/_helpers.tpl b/charts/backend/charts/realtime-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 54865b6..0000000 --- a/charts/backend/charts/realtime-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "realtime-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "realtime-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/charts/backend/charts/realtime-app-k8s/templates/deployment.yaml b/charts/backend/charts/realtime-app-k8s/templates/deployment.yaml deleted file mode 100755 index 79c15dd..0000000 --- a/charts/backend/charts/realtime-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,106 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "realtime-app.fullname" . }} - labels: - app: {{ include "realtime-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "realtime-app.name" . }} - template: - metadata: - labels: - app: {{ include "realtime-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: realtime-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: CASSANDRA_PORT - value: {{ .Values.env.CASSANDRA_PORT | quote }} - - name: REALTIME_REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: KEYCLOAK_URL - value: {{ .Values.env.keycloakUrl | quote }} - - name: KAFKA - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USERNAME - value: "admin" - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: CHAT_HOST - value: {{ .Values.env.services.chat.host | quote }} - - name: CHAT_PORT - value: {{ .Values.env.services.chat.port | quote }} - - name: GEM_CALL_HOST - value: {{ .Values.env.services.gemCall.host | quote }} - - name: GEM_CALL_PORT - value: {{ .Values.env.services.gemCall.port | quote }} - - name: MESSAGE_HOST - value: {{ .Values.env.services.message.host | quote }} - - name: MESSAGE_PORT - value: {{ .Values.env.services.message.port | quote }} - - name: USER_HOST - value: {{ .Values.env.services.user.host | quote }} - - name: USER_PORT - value: {{ .Values.env.services.user.port | quote }} - ports: - {{- range .Values.ports }} - - name: {{ .name }} - containerPort: {{ .containerPort }} - protocol: TCP - {{- end }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/charts/backend/charts/realtime-app-k8s/templates/service.yaml b/charts/backend/charts/realtime-app-k8s/templates/service.yaml deleted file mode 100755 index 39da3e0..0000000 --- a/charts/backend/charts/realtime-app-k8s/templates/service.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "realtime-app.fullname" . }} - labels: - app: {{ include "realtime-app.name" . }} -spec: - selector: - app: {{ include "realtime-app.name" . }} - ports: - {{- range .Values.ports }} - - name: "{{ .servicePort }}" - port: {{ .servicePort }} - targetPort: {{ .containerPort }} - {{- end }} diff --git a/charts/backend/charts/realtime-app-k8s/values.yaml b/charts/backend/charts/realtime-app-k8s/values.yaml deleted file mode 100755 index f9930c3..0000000 --- a/charts/backend/charts/realtime-app-k8s/values.yaml +++ /dev/null @@ -1,41 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/realtime-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - cassandra: - contactPoint: cassandra.cassandra.svc.cluster.local - datacenter: datacenter1 - CASSANDRA_PORT: "9042" - redis: - host: redis-master.redis.svc.cluster.local - keycloakUrl: https://iam.nubes.ru/realms/cowork - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - services: - chat: - host: chat-app - port: "9090" - message: - host: message-app - port: "9090" - gemCall: - host: gem-call-app - port: "9090" - user: - host: user-app - port: "9090" - -ports: - - name: app - containerPort: 9090 - servicePort: 9090 - - name: debug - containerPort: 5005 - servicePort: 5091 - - name: metrics - containerPort: 9999 - servicePort: 9999 diff --git a/charts/backend/charts/regular-chat-splitter-app-k8s/.helmignore b/charts/backend/charts/regular-chat-splitter-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/regular-chat-splitter-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/regular-chat-splitter-app-k8s/Chart.yaml b/charts/backend/charts/regular-chat-splitter-app-k8s/Chart.yaml deleted file mode 100755 index eee0ca9..0000000 --- a/charts/backend/charts/regular-chat-splitter-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: regular-chat-splitter-app -description: Helm chart for Regular Chat Splitter App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" diff --git a/charts/backend/charts/regular-chat-splitter-app-k8s/templates/_helpers.tpl b/charts/backend/charts/regular-chat-splitter-app-k8s/templates/_helpers.tpl deleted file mode 100755 index f5429e7..0000000 --- a/charts/backend/charts/regular-chat-splitter-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "regular-chat-splitter-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "regular-chat-splitter-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/charts/backend/charts/regular-chat-splitter-app-k8s/templates/deployment.yaml b/charts/backend/charts/regular-chat-splitter-app-k8s/templates/deployment.yaml deleted file mode 100755 index c97e452..0000000 --- a/charts/backend/charts/regular-chat-splitter-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,93 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "regular-chat-splitter-app.fullname" . }} - labels: - app: {{ include "regular-chat-splitter-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "regular-chat-splitter-app.name" . }} - template: - metadata: - labels: - app: {{ include "regular-chat-splitter-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: regular-chat-splitter-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: CASSANDRA_HOST - value: {{ .Values.env.cassandra.host | quote }} - - name: CASSANDRA_DC - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USER - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - - name: CHAT_SERVICE_HOST - value: {{ .Values.env.chat.host | quote }} - - name: CHAT_SERVICE_PORT - value: {{ .Values.env.chat.port | quote }} - - name: USER_SERVICE_HOST - value: {{ .Values.env.user.host | quote }} - - name: USER_SERVICE_PORT - value: {{ .Values.env.user.port | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/charts/backend/charts/regular-chat-splitter-app-k8s/values.yaml b/charts/backend/charts/regular-chat-splitter-app-k8s/values.yaml deleted file mode 100755 index 33c38c4..0000000 --- a/charts/backend/charts/regular-chat-splitter-app-k8s/values.yaml +++ /dev/null @@ -1,22 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/regular-chat-splitter-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - cassandra: - host: cassandra.cassandra.svc.cluster.local - datacenter: datacenter1 - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - redis: - host: redis-master.redis.svc.cluster.local - port: "6379" - chat: - host: chat-app - port: "9090" - user: - host: user-app - port: "9090" diff --git a/charts/backend/charts/search-app-k8s/.helmignore b/charts/backend/charts/search-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/search-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/search-app-k8s/Chart.yaml b/charts/backend/charts/search-app-k8s/Chart.yaml deleted file mode 100755 index 6733dc0..0000000 --- a/charts/backend/charts/search-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: search-app -description: Helm chart for Search App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" diff --git a/charts/backend/charts/search-app-k8s/templates/_helpers.tpl b/charts/backend/charts/search-app-k8s/templates/_helpers.tpl deleted file mode 100755 index b800219..0000000 --- a/charts/backend/charts/search-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "search-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "search-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/charts/backend/charts/search-app-k8s/templates/deployment.yaml b/charts/backend/charts/search-app-k8s/templates/deployment.yaml deleted file mode 100755 index 9aed519..0000000 --- a/charts/backend/charts/search-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,56 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "search-app.fullname" . }} - labels: - app: {{ include "search-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "search-app.name" . }} - template: - metadata: - labels: - app: {{ include "search-app.name" . }} - spec: - containers: - - name: search-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: 9090 - hostPort: 8088 - protocol: TCP - env: - - name: CHAT_HOST - value: {{ .Values.env.chat.host | quote }} - - name: CHAT_PORT - value: {{ .Values.env.chat.port | quote }} - - name: CASSANDRA_PORT - value: {{ .Values.env.CASSANDRA_PORT | quote }} - - name: ELASTIC_HOST - value: {{ .Values.env.elastic.host | quote }} - - name: ELASTIC_PORT - value: {{ .Values.env.elastic.port | quote }} - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USERNAME - value: "admin" - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: POSTGRES_USERNAME - value: {{ .Values.env.postgres.username | quote }} - - name: POSTGRES_PASSWORD - valueFrom: - secretKeyRef: - name: postgres-postgresql - key: postgres-password - - name: POSTGRES_URL - value: {{ .Values.env.postgres.url | quote }} - - name: KEYCLOAK_URL - value: {{ .Values.env.keycloak.url | quote }} - restartPolicy: Always diff --git a/charts/backend/charts/search-app-k8s/templates/service.yaml b/charts/backend/charts/search-app-k8s/templates/service.yaml deleted file mode 100755 index e85b387..0000000 --- a/charts/backend/charts/search-app-k8s/templates/service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "search-app.fullname" . }} - labels: - app: {{ include "search-app.name" . }} -spec: - selector: - app: {{ include "search-app.name" . }} - ports: - - name: http - port: 9090 - targetPort: 9090 diff --git a/charts/backend/charts/search-app-k8s/values.yaml b/charts/backend/charts/search-app-k8s/values.yaml deleted file mode 100755 index e148286..0000000 --- a/charts/backend/charts/search-app-k8s/values.yaml +++ /dev/null @@ -1,22 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/search-app - tag: 1.0.0-SNAPSHOT - pullPolicy: Always - -env: - chat: - host: chat-app - port: "9090" - elastic: - host: elasticsearch-master.elasticsearch.svc.cluster.local - port: "9200" - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - keycloak: - url: https://iam.nubes.ru/realms/cowork - postgres: - url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha.svc.cluster.local:5432/search_db - username: postgres - CASSANDRA_PORT: "9042" \ No newline at end of file diff --git a/charts/backend/charts/search-event-handler-app-k8s/.helmignore b/charts/backend/charts/search-event-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/search-event-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/search-event-handler-app-k8s/Chart.yaml b/charts/backend/charts/search-event-handler-app-k8s/Chart.yaml deleted file mode 100755 index 4267149..0000000 --- a/charts/backend/charts/search-event-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: search-event-handler-app -description: Helm chart for Search Event Handler App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" \ No newline at end of file diff --git a/charts/backend/charts/search-event-handler-app-k8s/templates/_helpers.tpl b/charts/backend/charts/search-event-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 1fe0050..0000000 --- a/charts/backend/charts/search-event-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "search-event-handler-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "search-event-handler-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/charts/backend/charts/search-event-handler-app-k8s/templates/deployment.yaml b/charts/backend/charts/search-event-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index 1835163..0000000 --- a/charts/backend/charts/search-event-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,57 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "search-event-handler-app.fullname" . }} - labels: - app: {{ include "search-event-handler-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "search-event-handler-app.name" . }} - template: - metadata: - labels: - app: {{ include "search-event-handler-app.name" . }} - spec: - volumes: - - - name: cacerts-volume - emptyDir: {} - - - containers: - - name: search-event-handler-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: ELASTIC_HOST - value: {{ .Values.env.elastic.host | quote }} - - name: ELASTIC_PORT - value: {{ .Values.env.elastic.port | quote }} - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: POSTGRES_USERNAME - value: postgres - - name: POSTGRES_PASSWORD - valueFrom: - secretKeyRef: - name: postgres-postgresql - key: postgres-password - - name: POSTGRES_URL - value: {{ .Values.env.postgres.url | quote }} - - name: KEYCLOAK_URL - value: {{ .Values.env.keycloak.url | quote }} - - - restartPolicy: Always diff --git a/charts/backend/charts/search-event-handler-app-k8s/values.yaml b/charts/backend/charts/search-event-handler-app-k8s/values.yaml deleted file mode 100755 index e0b107c..0000000 --- a/charts/backend/charts/search-event-handler-app-k8s/values.yaml +++ /dev/null @@ -1,17 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/search-event-handler-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - elastic: - host: elasticsearch-master.elasticsearch.svc.cluster.local - port: "9200" - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - keycloak: - url: https://iam.nubes.ru/realms/cowork - postgres: - url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha.svc.cluster.local:5432/search_db diff --git a/charts/backend/charts/sticker-app-k8s/.helmignore b/charts/backend/charts/sticker-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/sticker-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/sticker-app-k8s/Chart.yaml b/charts/backend/charts/sticker-app-k8s/Chart.yaml deleted file mode 100755 index d4c926a..0000000 --- a/charts/backend/charts/sticker-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: sticker-app -description: Helm chart for Sticker App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" diff --git a/charts/backend/charts/sticker-app-k8s/templates/_helpers.tpl b/charts/backend/charts/sticker-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 0df4671..0000000 --- a/charts/backend/charts/sticker-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "sticker-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "sticker-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/charts/backend/charts/sticker-app-k8s/templates/deployment.yaml b/charts/backend/charts/sticker-app-k8s/templates/deployment.yaml deleted file mode 100755 index 8f9fcf3..0000000 --- a/charts/backend/charts/sticker-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,95 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "sticker-app.fullname" . }} - labels: - app: {{ include "sticker-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "sticker-app.name" . }} - template: - metadata: - labels: - app: {{ include "sticker-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: sticker-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: 9090 - hostPort: 8092 - protocol: TCP - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_PORT - value: {{ .Values.env.cassandra.port | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: KEYCLOAK_URL - value: {{ .Values.env.keycloak.url | quote }} - - name: KEYSPACE - value: {{ .Values.env.keyspace | quote }} - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/charts/backend/charts/sticker-app-k8s/templates/service.yaml b/charts/backend/charts/sticker-app-k8s/templates/service.yaml deleted file mode 100755 index 13ede05..0000000 --- a/charts/backend/charts/sticker-app-k8s/templates/service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "sticker-app.fullname" . }} - labels: - app: {{ include "sticker-app.name" . }} -spec: - ports: - - name: "8092" - port: 9090 - targetPort: 9090 - selector: - app: {{ include "sticker-app.name" . }} diff --git a/charts/backend/charts/sticker-app-k8s/values.yaml b/charts/backend/charts/sticker-app-k8s/values.yaml deleted file mode 100755 index 11bb873..0000000 --- a/charts/backend/charts/sticker-app-k8s/values.yaml +++ /dev/null @@ -1,20 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/sticker-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - cassandra: - contactPoint: cassandra.cassandra.svc.cluster.local - port: "9042" - datacenter: datacenter1 - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - keycloak: - url: https://iam.nubes.ru/realms/cowork - redis: - host: redis-master.redis.svc.cluster.local - port: "6379" - keyspace: stickers diff --git a/charts/backend/charts/unregister-tokens-app-k8s/.helmignore b/charts/backend/charts/unregister-tokens-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/unregister-tokens-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/unregister-tokens-app-k8s/Chart.yaml b/charts/backend/charts/unregister-tokens-app-k8s/Chart.yaml deleted file mode 100755 index 040cc3f..0000000 --- a/charts/backend/charts/unregister-tokens-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: unregister-tokens-app -description: Helm chart for Unregister Tokens App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" diff --git a/charts/backend/charts/unregister-tokens-app-k8s/templates/_helpers.tpl b/charts/backend/charts/unregister-tokens-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 4e67291..0000000 --- a/charts/backend/charts/unregister-tokens-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "unregister-tokens-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "unregister-tokens-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/charts/backend/charts/unregister-tokens-app-k8s/templates/deployment.yaml b/charts/backend/charts/unregister-tokens-app-k8s/templates/deployment.yaml deleted file mode 100755 index 32fc4c2..0000000 --- a/charts/backend/charts/unregister-tokens-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,85 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "unregister-tokens-app.fullname" . }} - labels: - app: {{ include "unregister-tokens-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "unregister-tokens-app.name" . }} - template: - metadata: - labels: - app: {{ include "unregister-tokens-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: unregister-tokens-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: 9090 - env: - - name: CASSANDRA_HOST - value: {{ .Values.env.cassandra.host | quote }} - - name: CASSANDRA_DC - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KAFKA_USER - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KEYSPACE - value: {{ .Values.env.cassandra.keyspace | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/charts/backend/charts/unregister-tokens-app-k8s/values.yaml b/charts/backend/charts/unregister-tokens-app-k8s/values.yaml deleted file mode 100755 index 6f44206..0000000 --- a/charts/backend/charts/unregister-tokens-app-k8s/values.yaml +++ /dev/null @@ -1,15 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/unregister-tokens-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - cassandra: - host: cassandra.cassandra.svc.cluster.local - datacenter: datacenter1 - keyspace: notifications - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - user: admin diff --git a/charts/backend/charts/upload-app-k8s/.helmignore b/charts/backend/charts/upload-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/upload-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/upload-app-k8s/Chart.yaml b/charts/backend/charts/upload-app-k8s/Chart.yaml deleted file mode 100755 index c090d24..0000000 --- a/charts/backend/charts/upload-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: upload-app -description: Helm chart for the Upload App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" diff --git a/charts/backend/charts/upload-app-k8s/templates/_helpers.tpl b/charts/backend/charts/upload-app-k8s/templates/_helpers.tpl deleted file mode 100755 index a5bd2b2..0000000 --- a/charts/backend/charts/upload-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "upload-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "upload-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/charts/backend/charts/upload-app-k8s/templates/deployment.yaml b/charts/backend/charts/upload-app-k8s/templates/deployment.yaml deleted file mode 100755 index 42da07c..0000000 --- a/charts/backend/charts/upload-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,73 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "upload-app.fullname" . }} - labels: - app: {{ include "upload-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "upload-app.name" . }} - template: - metadata: - labels: - app: {{ include "upload-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: upload-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: 9090 - env: - - name: TENANT_ID - value: {{ .Values.env.TENANT_ID | quote }} - - name: KEYCLOAK_URL - value: {{ .Values.env.keycloakUrl | quote }} - - name: S3_ENDPOINT - value: {{ .Values.env.s3.endpoint | quote }} - - name: S3_ACCESS_KEY - valueFrom: - secretKeyRef: - name: {{ include "upload-app.fullname" . }}-s3 - key: access-key - - name: S3_SECRET_KEY - valueFrom: - secretKeyRef: - name: {{ include "upload-app.fullname" . }}-s3 - key: secret-key - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/charts/backend/charts/upload-app-k8s/templates/s3-secret.yaml b/charts/backend/charts/upload-app-k8s/templates/s3-secret.yaml deleted file mode 100755 index 6416eeb..0000000 --- a/charts/backend/charts/upload-app-k8s/templates/s3-secret.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: {{ include "upload-app.fullname" . }}-s3 -type: Opaque -stringData: - access-key: {{ .Values.env.s3.accessKey | quote }} - secret-key: {{ .Values.env.s3.secretKey | quote }} diff --git a/charts/backend/charts/upload-app-k8s/templates/service.yaml b/charts/backend/charts/upload-app-k8s/templates/service.yaml deleted file mode 100755 index 9deb96d..0000000 --- a/charts/backend/charts/upload-app-k8s/templates/service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "upload-app.fullname" . }} - labels: - app: {{ include "upload-app.name" . }} -spec: - ports: - - name: "http" - port: 9090 - targetPort: 9090 - selector: - app: {{ include "upload-app.name" . }} diff --git a/charts/backend/charts/upload-app-k8s/values.yaml b/charts/backend/charts/upload-app-k8s/values.yaml deleted file mode 100755 index aef07b5..0000000 --- a/charts/backend/charts/upload-app-k8s/values.yaml +++ /dev/null @@ -1,14 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/upload-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - keycloakUrl: https://iam.nubes.ru/realms/cowork - s3: - endpoint: https://store-p001.cw.ngcloud.ru:9000 - accessKey: minio-admin - secretKey: AoYmJ7vetogVdgtmP3KT - TENANT_ID: "412eb2e1-9660-4b74-a56a-6198f3b5338a" diff --git a/charts/backend/charts/user-app-k8s/.helmignore b/charts/backend/charts/user-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/user-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/user-app-k8s/Chart.yaml b/charts/backend/charts/user-app-k8s/Chart.yaml deleted file mode 100755 index a6fe370..0000000 --- a/charts/backend/charts/user-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: user-app -description: Helm chart for the User App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" diff --git a/charts/backend/charts/user-app-k8s/templates/_helpers.tpl b/charts/backend/charts/user-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 05d3c40..0000000 --- a/charts/backend/charts/user-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "user-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "user-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/charts/backend/charts/user-app-k8s/templates/deployment.yaml b/charts/backend/charts/user-app-k8s/templates/deployment.yaml deleted file mode 100755 index 9e2d390..0000000 --- a/charts/backend/charts/user-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,97 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "user-app.fullname" . }} - labels: - app: {{ include "user-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "user-app.name" . }} - template: - metadata: - labels: - app: {{ include "user-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: user-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: 9090 - targetPort: 9090 - env: - - name: KEYCLOAK_URL - value: {{ .Values.env.keycloakUrl | quote }} - - name: REDIS_HOST - value: {{ .Values.env.redisHost | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redisPort | quote }} - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandraContactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandraDatacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: KAFKA_SERVER - value: {{ .Values.env.kafkaServer | quote }} - - name: KEYSPACE - value: {{ .Values.env.keyspace | quote }} - - name: REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: redis-kafka-user-passwords - key: client-passwords - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/charts/backend/charts/user-app-k8s/templates/s3-secret.yaml b/charts/backend/charts/user-app-k8s/templates/s3-secret.yaml deleted file mode 100755 index 3ea4f51..0000000 --- a/charts/backend/charts/user-app-k8s/templates/s3-secret.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: {{ include "user-app.fullname" . }}-s3 -type: Opaque -stringData: - access-key: {{ .Values.s3.accessKey | quote }} - secret-key: {{ .Values.s3.secretKey | quote }} diff --git a/charts/backend/charts/user-app-k8s/templates/service.yaml b/charts/backend/charts/user-app-k8s/templates/service.yaml deleted file mode 100755 index d85664d..0000000 --- a/charts/backend/charts/user-app-k8s/templates/service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "user-app.fullname" . }} - labels: - app: {{ include "user-app.name" . }} -spec: - ports: - - name: http - port: 9090 - targetPort: 9090 - selector: - app: {{ include "user-app.name" . }} diff --git a/charts/backend/charts/user-app-k8s/values.yaml b/charts/backend/charts/user-app-k8s/values.yaml deleted file mode 100755 index 4c777b1..0000000 --- a/charts/backend/charts/user-app-k8s/values.yaml +++ /dev/null @@ -1,19 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/user-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - keycloakUrl: https://iam.nubes.ru/realms/cowork - redisHost: redis-master.redis.svc.cluster.local - redisPort: "6379" - cassandraContactPoint: cassandra.cassandra.svc.cluster.local - cassandraDatacenter: datacenter1 - kafkaServer: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - keyspace: users - -s3: - accessKey: minio-admin - secretKey: X5hqry5cLVDMxzBHvtrE diff --git a/charts/backend/charts/voip-splitter-app-k8s/.helmignore b/charts/backend/charts/voip-splitter-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/voip-splitter-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/voip-splitter-app-k8s/Chart.yaml b/charts/backend/charts/voip-splitter-app-k8s/Chart.yaml deleted file mode 100755 index 33f7985..0000000 --- a/charts/backend/charts/voip-splitter-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: voip-splitter-app -description: Helm chart for the VoIP Splitter App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" diff --git a/charts/backend/charts/voip-splitter-app-k8s/templates/_helpers.tpl b/charts/backend/charts/voip-splitter-app-k8s/templates/_helpers.tpl deleted file mode 100755 index cbea2e8..0000000 --- a/charts/backend/charts/voip-splitter-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "voip-splitter-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "voip-splitter-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/charts/backend/charts/voip-splitter-app-k8s/templates/deployment.yaml b/charts/backend/charts/voip-splitter-app-k8s/templates/deployment.yaml deleted file mode 100755 index a304808..0000000 --- a/charts/backend/charts/voip-splitter-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,93 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "voip-splitter-app.fullname" . }} - labels: - app: {{ include "voip-splitter-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "voip-splitter-app.name" . }} - template: - metadata: - labels: - app: {{ include "voip-splitter-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: voip-splitter-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: CASSANDRA_HOST - value: {{ .Values.env.cassandraHost | quote }} - - name: CASSANDRA_DC - value: {{ .Values.env.cassandraDatacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: CHAT_SERVICE_HOST - value: {{ .Values.env.chatServiceHost | quote }} - - name: CHAT_SERVICE_PORT - value: {{ .Values.env.chatServicePort | quote }} - - name: USER_SERVICE_HOST - value: {{ .Values.env.userServiceHost | quote }} - - name: USER_SERVICE_PORT - value: {{ .Values.env.userServicePort | quote }} - - name: KAFKA_USER - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: KAFKA_SERVER - value: {{ .Values.env.kafkaServer | quote }} - - name: REDIS_HOST - value: {{ .Values.env.redisHost | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redisPort | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/charts/backend/charts/voip-splitter-app-k8s/templates/s3-secret.yaml b/charts/backend/charts/voip-splitter-app-k8s/templates/s3-secret.yaml deleted file mode 100755 index d6abc95..0000000 --- a/charts/backend/charts/voip-splitter-app-k8s/templates/s3-secret.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: {{ include "voip-splitter-app.fullname" . }}-s3 -type: Opaque -stringData: - access-key: {{ .Values.s3.accessKey | quote }} - secret-key: {{ .Values.s3.secretKey | quote }} diff --git a/charts/backend/charts/voip-splitter-app-k8s/values.yaml b/charts/backend/charts/voip-splitter-app-k8s/values.yaml deleted file mode 100755 index 24c2bbe..0000000 --- a/charts/backend/charts/voip-splitter-app-k8s/values.yaml +++ /dev/null @@ -1,21 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/voip-splitter-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - cassandraHost: cassandra.cassandra.svc.cluster.local - cassandraDatacenter: datacenter1 - chatServiceHost: chat-app - chatServicePort: "9090" - userServiceHost: user-app - userServicePort: "9090" - kafkaServer: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - redisHost: redis-master.redis.svc.cluster.local - redisPort: "6379" - -s3: - accessKey: minio-admin - secretKey: X5hqry5cLVDMxzBHvtrE diff --git a/charts/backend/charts/web-sender-app-k8s/.helmignore b/charts/backend/charts/web-sender-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/web-sender-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/web-sender-app-k8s/Chart.yaml b/charts/backend/charts/web-sender-app-k8s/Chart.yaml deleted file mode 100755 index fe79f87..0000000 --- a/charts/backend/charts/web-sender-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: web-sender-app -description: Helm chart for Web Sender App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" diff --git a/charts/backend/charts/web-sender-app-k8s/templates/_helpers.tpl b/charts/backend/charts/web-sender-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 9be7455..0000000 --- a/charts/backend/charts/web-sender-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "web-sender-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "web-sender-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/charts/backend/charts/web-sender-app-k8s/templates/deployment.yaml b/charts/backend/charts/web-sender-app-k8s/templates/deployment.yaml deleted file mode 100755 index ba40fad..0000000 --- a/charts/backend/charts/web-sender-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,71 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "web-sender-app.fullname" . }} - labels: - app: {{ include "web-sender-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "web-sender-app.name" . }} - template: - metadata: - labels: - app: {{ include "web-sender-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: web-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: KAFKA_USER - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: KAFKA_SERVER - value: {{ .Values.env.kafkaServer | quote }} - - name: REDIS_HOST - value: {{ .Values.env.redisHost | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redisPort | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/charts/backend/charts/web-sender-app-k8s/templates/s3-secret.yaml b/charts/backend/charts/web-sender-app-k8s/templates/s3-secret.yaml deleted file mode 100755 index cf5ca44..0000000 --- a/charts/backend/charts/web-sender-app-k8s/templates/s3-secret.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: {{ include "web-sender-app.fullname" . }}-s3 -type: Opaque -stringData: - access-key: {{ .Values.s3.accessKey | quote }} - secret-key: {{ .Values.s3.secretKey | quote }} diff --git a/charts/backend/charts/web-sender-app-k8s/values.yaml b/charts/backend/charts/web-sender-app-k8s/values.yaml deleted file mode 100755 index 3d5ec92..0000000 --- a/charts/backend/charts/web-sender-app-k8s/values.yaml +++ /dev/null @@ -1,15 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/web-sender-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - kafkaServer: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - redisHost: redis-master.redis.svc.cluster.local - redisPort: "6379" - -s3: - accessKey: minio-admin - secretKey: X5hqry5cLVDMxzBHvtrE diff --git a/charts/backend/charts/workspace-app-k8s/.helmignore b/charts/backend/charts/workspace-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/workspace-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/workspace-app-k8s/Chart.yaml b/charts/backend/charts/workspace-app-k8s/Chart.yaml deleted file mode 100755 index 22f38a4..0000000 --- a/charts/backend/charts/workspace-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: workspace-app -description: Helm chart for Workspace App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" diff --git a/charts/backend/charts/workspace-app-k8s/templates/_helpers.tpl b/charts/backend/charts/workspace-app-k8s/templates/_helpers.tpl deleted file mode 100755 index e9acca2..0000000 --- a/charts/backend/charts/workspace-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "workspace-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "workspace-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/charts/backend/charts/workspace-app-k8s/templates/deployment.yaml b/charts/backend/charts/workspace-app-k8s/templates/deployment.yaml deleted file mode 100755 index 21d8b7a..0000000 --- a/charts/backend/charts/workspace-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,74 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "workspace-app.fullname" . }} - labels: - app: {{ include "workspace-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "workspace-app.name" . }} - template: - metadata: - labels: - app: {{ include "workspace-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: workspace-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandraContactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandraDatacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KEYCLOAK_URL - value: {{ .Values.env.keycloakUrl | quote }} - ports: - - containerPort: 9090 - protocol: TCP - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/charts/backend/charts/workspace-app-k8s/templates/s3-secret.yaml b/charts/backend/charts/workspace-app-k8s/templates/s3-secret.yaml deleted file mode 100755 index e49701b..0000000 --- a/charts/backend/charts/workspace-app-k8s/templates/s3-secret.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: {{ include "workspace-app.fullname" . }}-s3 -type: Opaque -stringData: - access-key: {{ .Values.s3.accessKey | quote }} - secret-key: {{ .Values.s3.secretKey | quote }} diff --git a/charts/backend/charts/workspace-app-k8s/templates/service.yaml b/charts/backend/charts/workspace-app-k8s/templates/service.yaml deleted file mode 100755 index 8382d46..0000000 --- a/charts/backend/charts/workspace-app-k8s/templates/service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "workspace-app.fullname" . }} - labels: - app: {{ include "workspace-app.name" . }} -spec: - selector: - app: {{ include "workspace-app.name" . }} - ports: - - name: http - port: 9090 - targetPort: 9090 - protocol: TCP diff --git a/charts/backend/charts/workspace-app-k8s/values.yaml b/charts/backend/charts/workspace-app-k8s/values.yaml deleted file mode 100755 index f527904..0000000 --- a/charts/backend/charts/workspace-app-k8s/values.yaml +++ /dev/null @@ -1,15 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/workspace-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - cassandraContactPoint: cassandra.cassandra.svc.cluster.local - cassandraDatacenter: datacenter1 - keycloakUrl: https://iam.nubes.ru/realms/cowork - -s3: - accessKey: minio-admin - secretKey: X5hqry5cLVDMxzBHvtrE diff --git a/charts/backend/charts/workspace-event-handler-app-k8s/.helmignore b/charts/backend/charts/workspace-event-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/charts/backend/charts/workspace-event-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/backend/charts/workspace-event-handler-app-k8s/Chart.yaml b/charts/backend/charts/workspace-event-handler-app-k8s/Chart.yaml deleted file mode 100755 index bcb3803..0000000 --- a/charts/backend/charts/workspace-event-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: workspace-event-handler-app -description: Helm chart for Workspace Event Handler App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" diff --git a/charts/backend/charts/workspace-event-handler-app-k8s/templates/_helpers.tpl b/charts/backend/charts/workspace-event-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index bb9e3be..0000000 --- a/charts/backend/charts/workspace-event-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "weh-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "weh-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/charts/backend/charts/workspace-event-handler-app-k8s/templates/deployment.yaml b/charts/backend/charts/workspace-event-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index 6ab791d..0000000 --- a/charts/backend/charts/workspace-event-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,84 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "weh-app.fullname" . }} - labels: - app: {{ include "weh-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "weh-app.name" . }} - template: - metadata: - labels: - app: {{ include "weh-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: workspace-event-handler-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: 9090 - protocol: TCP - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandraContactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandraDatacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KAFKA - value: {{ .Values.env.kafkaHost | quote }} - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/charts/backend/charts/workspace-event-handler-app-k8s/templates/s3-secret.yaml b/charts/backend/charts/workspace-event-handler-app-k8s/templates/s3-secret.yaml deleted file mode 100755 index b51cbbf..0000000 --- a/charts/backend/charts/workspace-event-handler-app-k8s/templates/s3-secret.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: {{ include "weh-app.fullname" . }}-s3 -type: Opaque -stringData: - access-key: {{ .Values.s3.accessKey | quote }} - secret-key: {{ .Values.s3.secretKey | quote }} diff --git a/charts/backend/charts/workspace-event-handler-app-k8s/templates/service.yaml b/charts/backend/charts/workspace-event-handler-app-k8s/templates/service.yaml deleted file mode 100755 index c33ed9c..0000000 --- a/charts/backend/charts/workspace-event-handler-app-k8s/templates/service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "weh-app.fullname" . }} - labels: - app: {{ include "weh-app.name" . }} -spec: - selector: - app: {{ include "weh-app.name" . }} - ports: - - name: http - port: 8095 - targetPort: 9090 - protocol: TCP diff --git a/charts/backend/charts/workspace-event-handler-app-k8s/values.yaml b/charts/backend/charts/workspace-event-handler-app-k8s/values.yaml deleted file mode 100755 index fe1d7f8..0000000 --- a/charts/backend/charts/workspace-event-handler-app-k8s/values.yaml +++ /dev/null @@ -1,14 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/workspace-event-handler-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - cassandraContactPoint: cassandra.cassandra.svc.cluster.local - cassandraDatacenter: datacenter1 - kafkaHost: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" -s3: - accessKey: minio-access - secretKey: s3cr3t-minio diff --git a/charts/backend/templates/.helmignore b/charts/backend/templates/.helmignore deleted file mode 100755 index e69de29..0000000 diff --git a/charts/backend/templates/templates/_globals.tpl b/charts/backend/templates/templates/_globals.tpl deleted file mode 100755 index 900cfe8..0000000 --- a/charts/backend/templates/templates/_globals.tpl +++ /dev/null @@ -1,18 +0,0 @@ -{{/* Global Environment Templates */}} -{{- define "global.env.kafka" -}} -{{- if .Values.globalComponents.kafka -}} -{{- .Values.global.envTemplates.kafka | toYaml | nindent 0 -}} -{{- end -}} -{{- end -}} - -{{- define "global.env.redis" -}} -{{- if .Values.globalComponents.redis -}} -{{- .Values.global.envTemplates.redis | toYaml | nindent 0 -}} -{{- end -}} -{{- end -}} - -{{- define "global.env.cassandra" -}} -{{- if .Values.globalComponents.cassandra -}} -{{- .Values.global.envTemplates.cassandra | toYaml | nindent 0 -}} -{{- end -}} -{{- end -}} \ No newline at end of file diff --git a/charts/backend/values.yaml b/charts/backend/values.yaml deleted file mode 100755 index 944c926..0000000 --- a/charts/backend/values.yaml +++ /dev/null @@ -1,116 +0,0 @@ -global: - infrastructure: - kafka: - enabled: true - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - port: 9092 - secret: "kafka-password" - usernameKey: "username" - passwordKey: "client-passwords" - - redis: - enabled: true - host: "redis-master.redis.svc.cluster.local" - port: 6379 - passwordSecret: "redis-kafka-user-passwords" - passwordKey: "client-passwords" - - cassandra: - enabled: true - contactPoint: "cassandra.cassandra.svc.cluster.local" - datacenter: "dc1" - secret: "cassandra" - usernameKey: "username" - passwordKey: "cassandra-password" - - keycloak: - url: "https://iam.nubes.ru/realms/cowork" - - livekit: - secret: "livekit-secret" - apiKeyKey: "api-key" - secretKey: "secret" - - postgres: - host: "postgres-postgresql.postgresql.svc.cluster.local" - port: 5432 - - services: - chat: - host: "chat-app" - port: 9090 - user: - host: "user-app" - port: 9090 - message: - host: "message-app" - port: 9090 - deeplink: - host: "deeplink-app" - port: 9090 - - secrets: - branchio: - secret: "deeplink-secret" - keys: &branchio-keys - access: "branchio-access" - appid: "branchio-appid" - defaultUrl: "branchio-default-url" - key: "branchio-key" - secret: "branchio-secret" - url: "branchio-url" - - recording: - secret: "recording-secret" - keys: - access: "access-key" - secret: "secret" - - upload: - secret: "upload-app-s3" - keys: - access: "access-key" - secret: "secret-key" - - - envTemplates: - kafka: &kafka-env - - name: KAFKA_SERVER - value: "{{ .Values.global.infrastructure.kafka.server }}:{{ .Values.global.infrastructure.kafka.port }}" - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: {{ .Values.global.infrastructure.kafka.secret }} - key: {{ .Values.global.infrastructure.kafka.usernameKey }} - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.global.infrastructure.kafka.secret }} - key: {{ .Values.global.infrastructure.kafka.passwordKey }} - - redis: &redis-env - - name: REDIS_HOST - value: {{ .Values.global.infrastructure.redis.host }} - - name: REDIS_PORT - value: {{ .Values.global.infrastructure.redis.port | quote }} - - name: REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.global.infrastructure.redis.passwordSecret }} - key: {{ .Values.global.infrastructure.redis.passwordKey }} - - cassandra: &cassandra-env - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.global.infrastructure.cassandra.contactPoint }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.global.infrastructure.cassandra.datacenter }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: {{ .Values.global.infrastructure.cassandra.secret }} - key: {{ .Values.global.infrastructure.cassandra.usernameKey }} - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.global.infrastructure.cassandra.secret }} - key: {{ .Values.global.infrastructure.cassandra.passwordKey }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/cassandra/.helmignore b/cw-infra-apps-nubes/cassandra/.helmignore deleted file mode 100755 index 207983f..0000000 --- a/cw-infra-apps-nubes/cassandra/.helmignore +++ /dev/null @@ -1,25 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*~ -# Various IDEs -.project -.idea/ -*.tmproj -# img folder -img/ -# Changelog -CHANGELOG.md diff --git a/cw-infra-apps-nubes/cassandra/Chart.lock b/cw-infra-apps-nubes/cassandra/Chart.lock deleted file mode 100755 index ea9df4f..0000000 --- a/cw-infra-apps-nubes/cassandra/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: common - repository: oci://registry-1.docker.io/bitnamicharts - version: 2.30.0 -digest: sha256:46afdf79eae69065904d430f03f7e5b79a148afed20aa45ee83ba88adc036169 -generated: "2025-03-05T09:18:46.745709854Z" diff --git a/cw-infra-apps-nubes/cassandra/Chart.yaml b/cw-infra-apps-nubes/cassandra/Chart.yaml deleted file mode 100755 index ca48e94..0000000 --- a/cw-infra-apps-nubes/cassandra/Chart.yaml +++ /dev/null @@ -1,34 +0,0 @@ -annotations: - category: Database - images: | - - name: cassandra - image: docker.io/bitnami/cassandra:5.0.3-debian-12-r6 - - name: cassandra-exporter - image: docker.io/bitnami/cassandra-exporter:2.3.8-debian-12-r41 - - name: os-shell - image: docker.io/bitnami/os-shell:12-debian-12-r39 - licenses: Apache-2.0 -apiVersion: v2 -appVersion: 5.0.3 -dependencies: -- name: common - repository: oci://registry-1.docker.io/bitnamicharts - tags: - - bitnami-common - version: 2.x.x -description: Apache Cassandra is an open source distributed database management system - designed to handle large amounts of data across many servers, providing high availability - with no single point of failure. And lets test it. Now. -home: https://bitnami.com -icon: https://dyltqmyl993wv.cloudfront.net/assets/stacks/cassandra/img/cassandra-stack-220x234.png -keywords: -- cassandra -- database -- nosql -maintainers: -- name: Broadcom, Inc. All Rights Reserved. - url: https://github.com/bitnami/charts -name: cassandra -sources: -- https://github.com/bitnami/charts/tree/main/bitnami/cassandra -version: 12.2.1 diff --git a/cw-infra-apps-nubes/cassandra/README.md b/cw-infra-apps-nubes/cassandra/README.md deleted file mode 100755 index 77f6e20..0000000 --- a/cw-infra-apps-nubes/cassandra/README.md +++ /dev/null @@ -1,574 +0,0 @@ - - -console.sql has a big size and must be used as init script for our database. Due to a huge size it can't be placed inside configmap, and must be compresseed - -gzip -c console.sql > init.cql.gz -after compression it must be placed in init_cm.yaml configmap as a binary data with -kubectl create configmap cassandra-init-script --from-file=init.cql.gz -n cassandra or in helm chart template - -https://gemspacepro.atlassian.net/wiki/spaces/GEMB2B/pages/224657714 files are here; - - - -# Bitnami package for Apache Cassandra - -Apache Cassandra is an open source distributed database management system designed to handle large amounts of data across many servers, providing high availability with no single point of failure. - -[Overview of Apache Cassandra](http://cassandra.apache.org/) - -Trademarks: This software listing is packaged by Bitnami. The respective trademarks mentioned in the offering are owned by the respective companies, and use of them does not imply any affiliation or endorsement. - -## TL;DR - -```console -helm install my-release oci://registry-1.docker.io/bitnamicharts/cassandra -``` - -Looking to use Apache Cassandra in production? Try [VMware Tanzu Application Catalog](https://bitnami.com/enterprise), the commercial edition of the Bitnami catalog. - -## Introduction - -This chart bootstraps an [Apache Cassandra](https://github.com/bitnami/containers/tree/main/bitnami/cassandra) deployment on a [Kubernetes](https://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager. - -Bitnami charts can be used with [Kubeapps](https://kubeapps.dev/) for deployment and management of Helm Charts in clusters. - -## Prerequisites - -- Kubernetes 1.23+ -- Helm 3.8.0+ -- PV provisioner support in the underlying infrastructure - -## Installing the Chart - -To install the chart with the release name `my-release`: - -```console -helm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/cassandra -``` - -> Note: You need to substitute the placeholders `REGISTRY_NAME` and `REPOSITORY_NAME` with a reference to your Helm chart registry and repository. For example, in the case of Bitnami, you need to use `REGISTRY_NAME=registry-1.docker.io` and `REPOSITORY_NAME=bitnamicharts`. - -These commands deploy one node with Apache Cassandra on the Kubernetes cluster in the default configuration. The [Parameters](#parameters) section lists the parameters that can be configured during installation. - -> **Tip**: List all releases using `helm list` - -## Configuration and installation details - -### Resource requests and limits - -Bitnami charts allow setting resource requests and limits for all containers inside the chart deployment. These are inside the `resources` value (check parameter table). Setting requests is essential for production workloads and these should be adapted to your specific use case. - -To make this process easier, the chart contains the `resourcesPreset` values, which automatically sets the `resources` section according to different presets. Check these presets in [the bitnami/common chart](https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15). However, in production workloads using `resourcesPreset` is discouraged as it may not fully adapt to your specific needs. Find more information on container resource management in the [official Kubernetes documentation](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/). - -### Update credentials - -Bitnami charts configure credentials at first boot. Any further change in the secrets or credentials require manual intervention. Follow these instructions: - -- Update the user password following [the upstream documentation](https://docs.datastax.com/en/cql-oss/3.x/cql/cql_reference/cqlAlterUser.html) -- Update the password secret with the new values (replace the SECRET_NAME and PASSWORD placeholders) - -```shell -kubectl create secret generic SECRET_NAME --from-literal=cassandra-password=PASSWORD --dry-run -o yaml | kubectl apply -f - -``` - -### [Rolling vs Immutable tags](https://techdocs.broadcom.com/us/en/vmware-tanzu/application-catalog/tanzu-application-catalog/services/tac-doc/apps-tutorials-understand-rolling-tags-containers-index.html) - -It is strongly recommended to use immutable tags in a production environment. This ensures your deployment does not change automatically if the same tag is updated with a different image. - -Bitnami will release a new chart updating its containers if a new version of the main container, significant changes, or critical vulnerabilities exist. - -### Prometheus metrics - -This chart can be integrated with Prometheus by setting `metrics.enabled` to `true`. This will deploy a sidecar container with [cassandra_exporter](https://github.com/criteo/cassandra_exporter) in all pods and will expose it via the Cassandra service. This service will have the necessary annotations to be automatically scraped by Prometheus. - -#### Prometheus requirements - -It is necessary to have a working installation of Prometheus or Prometheus Operator for the integration to work. Install the [Bitnami Prometheus helm chart](https://github.com/bitnami/charts/tree/main/bitnami/prometheus) or the [Bitnami Kube Prometheus helm chart](https://github.com/bitnami/charts/tree/main/bitnami/kube-prometheus) to easily have a working Prometheus in your cluster. - -#### Integration with Prometheus Operator - -The chart can deploy `ServiceMonitor` objects for integration with Prometheus Operator installations. To do so, set the value `metrics.serviceMonitor.enabled=true`. Ensure that the Prometheus Operator `CustomResourceDefinitions` are installed in the cluster or it will fail with the following error: - -```text -no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1" -``` - -Install the [Bitnami Kube Prometheus helm chart](https://github.com/bitnami/charts/tree/main/bitnami/kube-prometheus) for having the necessary CRDs and the Prometheus Operator. - -### Enable TLS - -This chart supports TLS between client and server and between nodes, as explained below: - -- For internode cluster encryption, set the `tls.internodeEncryption` chart parameter to a value different from `none`. Available values are `all`, `dc` or `rack`. -- For client-server encryption, set the `tls.clientEncryption` chart parameter to `true`. - -In both cases, it is also necessary to create a secret containing the keystore and truststore certificates and their corresponding protection passwords. This secret is to be passed to the chart via the `tls.existingSecret` parameter at deployment-time, as shown below: - -```text -tls.internodeEncryption=all -tls.clientEncryption=true -tls.existingSecret=my-exisiting-stores -tls.passwordsSecret=my-stores-password -``` - -> TIP: The secret may be created in the standard way with the `--from-file=./keystore`, `--from-file=./truststore`, `--from-literal=keystore-password=KEYSTORE_PASSWORD` and `--from-literal=truststore-password=TRUSTSTORE_PASSWORD` options. This assumes that the stores are in the current working directory and the KEYSTORE_PASSWORD and TRUSTSTORE_PASSWORD placeholders are replaced with the correct keystore and truststore passwords respectively. Example: - -```console -kubectl create secret generic my-exisiting-stores --from-file=./keystore --from-file=./truststore -kubectl create secret generic my-stores-password --from-literal=keystore-password=KEYSTORE_PASSWORD --from-literal=truststore-password=TRUSTSTORE_PASSWORD -``` - -Keystore and Truststore files can be dynamically created from the certificates files. In this case a secret with the tls.crt, tls.key and ca.crt in pem format is required. The following example shows how the secret can be created and assumes that all certificate files are in the working directory: - -```console -kubectl create secret tls my-certs --cert ./tls.crt --key ./tls.key -kubectl patch secret my-certs -p="{\"data\":{\"ca.crt\": \"$(cat ./ca.crt | base64 )\"}}" -``` - -To enable this feature `tls.autoGenerated` must be set and the new secret should be set in `tls.certificateSecret`: - -```text -tls.internodeEncryption=all -tls.clientEncryption=true -tls.autoGenerated=true -tls.certificatesSecret=my-certs -tls.passwordsSecret=my-stores-password -``` - -### Initialize the database - -The [Apache Cassandra](https://github.com/bitnami/containers/tree/main/bitnami/cassandra) image supports the use of custom scripts to initialize a fresh instance. This may be done by creating a Kubernetes ConfigMap that includes the necessary `.sh` or `.cql` scripts and passing this ConfigMap to the chart via the `initDBConfigMap` parameter. - -### Use a custom configuration file - -This chart also supports mounting custom configuration file(s) for Apache Cassandra. This is achieved by setting the `existingConfiguration` parameter with the name of a ConfigMap that includes the custom configuration file(s). Here is an example of deploying the chart with a custom configuration file stored in a ConfigMap named `cassandra-configuration`: - -```text -existingConfiguration=cassandra-configuration -``` - -> NOTE: This ConfigMap will override other Apache Cassandra configuration variables set in the chart. - -### Backup and restore - -Refer to our detailed tutorial on [backing up and restoring Bitnami Apache Cassandra deployments on Kubernetes](https://techdocs.broadcom.com/us/en/vmware-tanzu/application-catalog/tanzu-application-catalog/services/tac-doc/apps-tutorials-backup-restore-data-cassandra-kubernetes-index.html). - -### Set pod affinity - -This chart allows you to set custom pod affinity using the `XXX.affinity` parameter(s). Find more information about pod affinity in the [Kubernetes documentation](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity). - -As an alternative, you can use the preset configurations for pod affinity, pod anti-affinity, and node affinity available at the [bitnami/common](https://github.com/bitnami/charts/tree/main/bitnami/common#affinities) chart. To do so, set the `XXX.podAffinityPreset`, `XXX.podAntiAffinityPreset`, or `XXX.nodeAffinityPreset` parameters. - -## Persistence - -The [Bitnami Apache Cassandra](https://github.com/bitnami/containers/tree/main/bitnami/cassandra) image stores the Apache Cassandra data at the `/bitnami/cassandra` path of the container. - -Persistent Volume Claims are used to keep the data across deployments. This is known to work in GCE, AWS, and minikube. -See the [Parameters](#parameters) section to configure the PVC or to disable persistence. - -If you encounter errors when working with persistent volumes, refer to our [troubleshooting guide for persistent volumes](https://docs.bitnami.com/kubernetes/faq/troubleshooting/troubleshooting-persistence-volumes/). - -### Adjust permissions of persistent volume mountpoint - -As the image run as non-root by default, it is necessary to adjust the ownership of the persistent volume so that the container can write data into it. There are two approaches to achieve this: - -- Use Kubernetes SecurityContexts by setting the `podSecurityContext.enabled` and `containerSecurityContext.enabled` to `true`. This option is enabled by default in the chart. However, this feature does not work in all Kubernetes distributions. -- Use an init container to change the ownership of the volume before mounting it in the final destination. Enable this container by setting the `volumePermissions.enabled` parameter to `true`. - -## Parameters - -### Global parameters - -| Name | Description | Value | -| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | -| `global.imageRegistry` | Global Docker image registry | `""` | -| `global.imagePullSecrets` | Global Docker registry secret names as an array | `[]` | -| `global.defaultStorageClass` | Global default StorageClass for Persistent Volume(s) | `""` | -| `global.security.allowInsecureImages` | Allows skipping image verification | `false` | -| `global.compatibility.openshift.adaptSecurityContext` | Adapt the securityContext sections of the deployment to make them compatible with Openshift restricted-v2 SCC: remove runAsUser, runAsGroup and fsGroup and let the platform use their allowed default IDs. Possible values: auto (apply if the detected running cluster is Openshift), force (perform the adaptation always), disabled (do not perform adaptation) | `auto` | - -### Common parameters - -| Name | Description | Value | -| ------------------------ | --------------------------------------------------------------------------------------- | --------------- | -| `nameOverride` | String to partially override common.names.fullname | `""` | -| `fullnameOverride` | String to fully override common.names.fullname | `""` | -| `kubeVersion` | Force target Kubernetes version (using Helm capabilities if not set) | `""` | -| `commonLabels` | Labels to add to all deployed objects (sub-charts are not considered) | `{}` | -| `commonAnnotations` | Annotations to add to all deployed objects | `{}` | -| `clusterDomain` | Kubernetes cluster domain name | `cluster.local` | -| `extraDeploy` | Array of extra objects to deploy with the release | `[]` | -| `usePasswordFiles` | Mount credentials as files instead of using environment variables | `true` | -| `diagnosticMode.enabled` | Enable diagnostic mode (all probes will be disabled and the command will be overridden) | `false` | -| `diagnosticMode.command` | Command to override all containers in the deployment | `["sleep"]` | -| `diagnosticMode.args` | Args to override all containers in the deployment | `["infinity"]` | - -### Cassandra parameters - -| Name | Description | Value | -| -------------------------- | ---------------------------------------------------------------------------------------------------------------------- | --------------------------- | -| `image.registry` | Cassandra image registry | `REGISTRY_NAME` | -| `image.repository` | Cassandra image repository | `REPOSITORY_NAME/cassandra` | -| `image.digest` | Cassandra image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | -| `image.pullPolicy` | image pull policy | `IfNotPresent` | -| `image.pullSecrets` | Cassandra image pull secrets | `[]` | -| `image.debug` | Enable image debug mode | `false` | -| `dbUser.user` | Cassandra admin user | `cassandra` | -| `dbUser.forcePassword` | Force the user to provide a non | `false` | -| `dbUser.password` | Password for `dbUser.user`. Randomly generated if empty | `""` | -| `dbUser.existingSecret` | Use an existing secret object for `dbUser.user` password (will ignore `dbUser.password`) | `""` | -| `initDB` | Object with cql scripts. Useful for creating a keyspace and pre-populating data | `{}` | -| `initDBConfigMap` | ConfigMap with cql scripts. Useful for creating a keyspace and pre-populating data | `""` | -| `initDBSecret` | Secret with cql script (with sensitive data). Useful for creating a keyspace and pre-populating data | `""` | -| `existingConfiguration` | ConfigMap with custom cassandra configuration files. This overrides any other Cassandra configuration set in the chart | `""` | -| `cluster.name` | Cassandra cluster name | `cassandra` | -| `cluster.seedCount` | Number of seed nodes | `1` | -| `cluster.numTokens` | Number of tokens for each node | `256` | -| `cluster.datacenter` | Datacenter name | `dc1` | -| `cluster.rack` | Rack name | `rack1` | -| `cluster.endpointSnitch` | Endpoint Snitch | `SimpleSnitch` | -| `cluster.clientEncryption` | Client Encryption | `false` | -| `cluster.extraSeeds` | For an external/second cassandra ring. | `[]` | -| `cluster.enableUDF` | Enable User defined functions | `false` | -| `jvm.extraOpts` | Set the value for Java Virtual Machine extra options | `""` | -| `jvm.maxHeapSize` | Set Java Virtual Machine maximum heap size (MAX_HEAP_SIZE). Calculated automatically if `nil` | `""` | -| `jvm.newHeapSize` | Set Java Virtual Machine new heap size (HEAP_NEWSIZE). Calculated automatically if `nil` | `""` | -| `command` | Command for running the container (set to default if not set). Use array form | `[]` | -| `args` | Args for running the container (set to default if not set). Use array form | `[]` | -| `extraEnvVars` | Extra environment variables to be set on cassandra container | `[]` | -| `extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars | `""` | -| `extraEnvVarsSecret` | Name of existing Secret containing extra env vars | `""` | - -### Statefulset parameters - -| Name | Description | Value | -| --------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | -| `replicaCount` | Number of Cassandra replicas | `1` | -| `updateStrategy.type` | updateStrategy for Cassandra statefulset | `RollingUpdate` | -| `automountServiceAccountToken` | Mount Service Account token in pod | `false` | -| `hostAliases` | Add deployment host aliases | `[]` | -| `podManagementPolicy` | StatefulSet pod management policy | `OrderedReady` | -| `priorityClassName` | Cassandra pods' priority. | `""` | -| `podAnnotations` | Additional pod annotations | `{}` | -| `podLabels` | Additional pod labels | `{}` | -| `podAffinityPreset` | Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` | -| `podAntiAffinityPreset` | Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` | -| `nodeAffinityPreset.type` | Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` | -| `nodeAffinityPreset.key` | Node label key to match. Ignored if `affinity` is set | `""` | -| `nodeAffinityPreset.values` | Node label values to match. Ignored if `affinity` is set | `[]` | -| `affinity` | Affinity for pod assignment | `{}` | -| `nodeSelector` | Node labels for pod assignment | `{}` | -| `tolerations` | Tolerations for pod assignment | `[]` | -| `topologySpreadConstraints` | Topology Spread Constraints for pod assignment | `[]` | -| `podSecurityContext.enabled` | Enabled Cassandra pods' Security Context | `true` | -| `podSecurityContext.fsGroupChangePolicy` | Set filesystem group change policy | `Always` | -| `podSecurityContext.sysctls` | Set kernel settings using the sysctl interface | `[]` | -| `podSecurityContext.supplementalGroups` | Set filesystem extra groups | `[]` | -| `podSecurityContext.fsGroup` | Set Cassandra pod's Security Context fsGroup | `1001` | -| `containerSecurityContext.enabled` | Enabled Cassandra containers' Security Context | `true` | -| `containerSecurityContext.seLinuxOptions` | Set SELinux options in container | `{}` | -| `containerSecurityContext.runAsUser` | Set Cassandra containers' Security Context runAsUser | `1001` | -| `containerSecurityContext.runAsGroup` | Set Cassandra containers' Security Context runAsGroup | `1001` | -| `containerSecurityContext.allowPrivilegeEscalation` | Set Cassandra containers' Security Context allowPrivilegeEscalation | `false` | -| `containerSecurityContext.capabilities.drop` | Set Cassandra containers' Security Context capabilities to be dropped | `["ALL"]` | -| `containerSecurityContext.readOnlyRootFilesystem` | Set Cassandra containers' Security Context readOnlyRootFilesystem | `true` | -| `containerSecurityContext.runAsNonRoot` | Set Cassandra containers' Security Context runAsNonRoot | `true` | -| `containerSecurityContext.privileged` | Set container's Security Context privileged | `false` | -| `containerSecurityContext.seccompProfile.type` | Set container's Security Context seccomp profile | `RuntimeDefault` | -| `resourcesPreset` | Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if resources is set (resources is recommended for production). | `large` | -| `resources` | Set container requests and limits for different resources like CPU or memory (essential for production workloads) | `{}` | -| `livenessProbe.enabled` | Enable livenessProbe | `true` | -| `livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `60` | -| `livenessProbe.periodSeconds` | Period seconds for livenessProbe | `30` | -| `livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `30` | -| `livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `5` | -| `livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` | -| `readinessProbe.enabled` | Enable readinessProbe | `true` | -| `readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `60` | -| `readinessProbe.periodSeconds` | Period seconds for readinessProbe | `10` | -| `readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `30` | -| `readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `5` | -| `readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` | -| `startupProbe.enabled` | Enable startupProbe | `false` | -| `startupProbe.initialDelaySeconds` | Initial delay seconds for startupProbe | `0` | -| `startupProbe.periodSeconds` | Period seconds for startupProbe | `10` | -| `startupProbe.timeoutSeconds` | Timeout seconds for startupProbe | `5` | -| `startupProbe.failureThreshold` | Failure threshold for startupProbe | `60` | -| `startupProbe.successThreshold` | Success threshold for startupProbe | `1` | -| `customLivenessProbe` | Custom livenessProbe that overrides the default one | `{}` | -| `customReadinessProbe` | Custom readinessProbe that overrides the default one | `{}` | -| `customStartupProbe` | Override default startup probe | `{}` | -| `lifecycleHooks` | Override default etcd container hooks | `{}` | -| `schedulerName` | Alternative scheduler | `""` | -| `terminationGracePeriodSeconds` | In seconds, time the given to the Cassandra pod needs to terminate gracefully | `""` | -| `extraVolumes` | Optionally specify extra list of additional volumes for cassandra container | `[]` | -| `extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for cassandra container | `[]` | -| `initContainers` | Add additional init containers to the cassandra pods | `[]` | -| `sidecars` | Add additional sidecar containers to the cassandra pods | `[]` | -| `pdb.create` | Enable/disable a Pod Disruption Budget creation | `true` | -| `pdb.minAvailable` | Mininimum number of pods that must still be available after the eviction | `""` | -| `pdb.maxUnavailable` | Max number of pods that can be unavailable after the eviction | `""` | -| `hostNetwork` | Enable HOST Network | `false` | -| `containerPorts.intra` | Intra Port on the Host and Container | `7000` | -| `containerPorts.tls` | TLS Port on the Host and Container | `7001` | -| `containerPorts.jmx` | JMX Port on the Host and Container | `7199` | -| `containerPorts.cql` | CQL Port on the Host and Container | `9042` | -| `hostPorts.intra` | Intra Port on the Host | `""` | -| `hostPorts.tls` | TLS Port on the Host | `""` | -| `hostPorts.jmx` | JMX Port on the Host | `""` | -| `hostPorts.cql` | CQL Port on the Host | `""` | - -### RBAC parameters - -| Name | Description | Value | -| --------------------------------------------- | ---------------------------------------------------------- | ------- | -| `serviceAccount.create` | Enable the creation of a ServiceAccount for Cassandra pods | `true` | -| `serviceAccount.name` | The name of the ServiceAccount to use. | `""` | -| `serviceAccount.annotations` | Annotations for Cassandra Service Account | `{}` | -| `serviceAccount.automountServiceAccountToken` | Automount API credentials for a service account. | `false` | - -### Traffic Exposure Parameters - -| Name | Description | Value | -| --------------------------------------- | ---------------------------------------------------------------------------------- | ----------- | -| `service.type` | Cassandra service type | `ClusterIP` | -| `service.ports.cql` | Cassandra service CQL Port | `9042` | -| `service.ports.metrics` | Cassandra service metrics port | `8080` | -| `service.nodePorts.cql` | Node port for CQL | `""` | -| `service.nodePorts.metrics` | Node port for metrics | `""` | -| `service.extraPorts` | Extra ports to expose in the service (normally used with the `sidecar` value) | `[]` | -| `service.loadBalancerIP` | LoadBalancerIP if service type is `LoadBalancer` | `""` | -| `service.loadBalancerSourceRanges` | Service Load Balancer sources | `[]` | -| `service.clusterIP` | Service Cluster IP | `""` | -| `service.externalTrafficPolicy` | Service external traffic policy | `Cluster` | -| `service.annotations` | Provide any additional annotations which may be required. | `{}` | -| `service.sessionAffinity` | Session Affinity for Kubernetes service, can be "None" or "ClientIP" | `None` | -| `service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` | -| `service.headless.annotations` | Annotations for the headless service. | `{}` | -| `networkPolicy.enabled` | Specifies whether a NetworkPolicy should be created | `true` | -| `networkPolicy.allowExternal` | Don't require server label for connections | `true` | -| `networkPolicy.allowExternalEgress` | Allow the pod to access any range of port and all destinations. | `true` | -| `networkPolicy.extraIngress` | Add extra ingress rules to the NetworkPolicy | `[]` | -| `networkPolicy.extraEgress` | Add extra ingress rules to the NetworkPolicy (ignored if allowExternalEgress=true) | `[]` | -| `networkPolicy.ingressNSMatchLabels` | Labels to match to allow traffic from other namespaces | `{}` | -| `networkPolicy.ingressNSPodMatchLabels` | Pod labels to match to allow traffic from other namespaces | `{}` | - -### Persistence parameters - -| Name | Description | Value | -| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- | -| `persistence.enabled` | Enable Cassandra data persistence using PVC, use a Persistent Volume Claim, If false, use emptyDir | `true` | -| `persistence.existingClaim` | Name of an existing PVC to use | `""` | -| `persistence.storageClass` | PVC Storage Class for Cassandra data volume | `""` | -| `persistence.commitStorageClass` | PVC Storage Class for Cassandra Commit Log volume | `""` | -| `persistence.annotations` | Persistent Volume Claim annotations | `{}` | -| `persistence.accessModes` | Persistent Volume Access Mode | `["ReadWriteOnce"]` | -| `persistence.size` | PVC Storage Request for Cassandra data volume | `8Gi` | -| `persistence.commitLogsize` | PVC Storage Request for Cassandra commit log volume. Unset by default | `2Gi` | -| `persistence.mountPath` | The path the data volume will be mounted at | `/bitnami/cassandra` | -| `persistence.commitLogMountPath` | The path the commit log volume will be mounted at. Unset by default. Set it to '/bitnami/cassandra/commitlog' to enable a separate commit log volume | `""` | - -### Volume Permissions parameters - -| Name | Description | Value | -| -------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------- | -| `volumePermissions.enabled` | Enable init container that changes the owner and group of the persistent volume | `false` | -| `volumePermissions.image.registry` | Init container volume image registry | `REGISTRY_NAME` | -| `volumePermissions.image.repository` | Init container volume image repository | `REPOSITORY_NAME/os-shell` | -| `volumePermissions.image.digest` | Init container volume image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | -| `volumePermissions.image.pullPolicy` | Init container volume pull policy | `IfNotPresent` | -| `volumePermissions.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` | -| `volumePermissions.resourcesPreset` | Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if volumePermissions.resources is set (volumePermissions.resources is recommended for production). | `nano` | -| `volumePermissions.resources` | Set container requests and limits for different resources like CPU or memory (essential for production workloads) | `{}` | -| `volumePermissions.securityContext.seLinuxOptions` | Set SELinux options in container | `{}` | -| `volumePermissions.securityContext.runAsUser` | User ID for the init container | `0` | - -### Metrics parameters - -| Name | Description | Value | -| -------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ | -| `metrics.enabled` | Start a side-car prometheus exporter | `false` | -| `metrics.image.registry` | Cassandra exporter image registry | `REGISTRY_NAME` | -| `metrics.image.repository` | Cassandra exporter image name | `REPOSITORY_NAME/cassandra-exporter` | -| `metrics.image.digest` | Cassandra exporter image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | -| `metrics.image.pullPolicy` | image pull policy | `IfNotPresent` | -| `metrics.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` | -| `metrics.resourcesPreset` | Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if metrics.resources is set (metrics.resources is recommended for production). | `nano` | -| `metrics.resources` | Set container requests and limits for different resources like CPU or memory (essential for production workloads) | `{}` | -| `metrics.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `20` | -| `metrics.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `10` | -| `metrics.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `45` | -| `metrics.readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `3` | -| `metrics.readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` | -| `metrics.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for cassandra-exporter container | `[]` | -| `metrics.podAnnotations` | Metrics exporter pod Annotation and Labels | `{}` | -| `metrics.serviceMonitor.enabled` | If `true`, creates a Prometheus Operator ServiceMonitor (also requires `metrics.enabled` to be `true`) | `false` | -| `metrics.serviceMonitor.namespace` | Namespace in which Prometheus is running | `monitoring` | -| `metrics.serviceMonitor.interval` | Interval at which metrics should be scraped. | `""` | -| `metrics.serviceMonitor.scrapeTimeout` | Timeout after which the scrape is ended | `""` | -| `metrics.serviceMonitor.selector` | Prometheus instance selector labels | `{}` | -| `metrics.serviceMonitor.metricRelabelings` | Specify Metric Relabelings to add to the scrape endpoint | `[]` | -| `metrics.serviceMonitor.relabelings` | RelabelConfigs to apply to samples before scraping | `[]` | -| `metrics.serviceMonitor.honorLabels` | Specify honorLabels parameter to add the scrape endpoint | `false` | -| `metrics.serviceMonitor.jobLabel` | The name of the label on the target service to use as the job name in prometheus. | `""` | -| `metrics.serviceMonitor.labels` | Used to pass Labels that are required by the installed Prometheus Operator | `{}` | -| `metrics.containerPorts.http` | HTTP Port on the Host and Container | `8080` | -| `metrics.containerPorts.jmx` | JMX Port on the Host and Container | `5555` | -| `metrics.hostPorts.http` | HTTP Port on the Host | `""` | -| `metrics.hostPorts.jmx` | JMX Port on the Host | `""` | -| `metrics.configuration` | Configure Cassandra-exporter with a custom config.yml file | `""` | - -### TLS/SSL parameters - -| Name | Description | Value | -| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | -| `tls.internodeEncryption` | Set internode encryption | `none` | -| `tls.clientEncryption` | Set client-server encryption | `false` | -| `tls.autoGenerated` | Generate automatically self-signed TLS certificates. Currently only supports PEM certificates | `false` | -| `tls.existingSecret` | Existing secret that contains Cassandra Keystore and truststore | `""` | -| `tls.passwordsSecret` | Secret containing the Keystore and Truststore passwords if needed | `""` | -| `tls.keystorePassword` | Password for the keystore, if needed. | `""` | -| `tls.truststorePassword` | Password for the truststore, if needed. | `""` | -| `tls.resourcesPreset` | Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if tls.resources is set (tls.resources is recommended for production). | `nano` | -| `tls.resources` | Set container requests and limits for different resources like CPU or memory (essential for production workloads) | `{}` | -| `tls.certificatesSecret` | Secret with the TLS certificates. | `""` | -| `tls.tlsEncryptionSecretName` | Secret with the encryption of the TLS certificates | `""` | - -The above parameters map to the env variables defined in [bitnami/cassandra](https://github.com/bitnami/containers/tree/main/bitnami/cassandra). For more information please refer to the [bitnami/cassandra](https://github.com/bitnami/containers/tree/main/bitnami/cassandra) image documentation. - -Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, - -```console -helm install my-release \ - --set dbUser.user=admin,dbUser.password=password \ - oci://REGISTRY_NAME/REPOSITORY_NAME/cassandra -``` - -> Note: You need to substitute the placeholders `REGISTRY_NAME` and `REPOSITORY_NAME` with a reference to your Helm chart registry and repository. For example, in the case of Bitnami, you need to use `REGISTRY_NAME=registry-1.docker.io` and `REPOSITORY_NAME=bitnamicharts`. - -Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, - -```console -helm install my-release -f values.yaml oci://REGISTRY_NAME/REPOSITORY_NAME/cassandra -``` - -> Note: You need to substitute the placeholders `REGISTRY_NAME` and `REPOSITORY_NAME` with a reference to your Helm chart registry and repository. For example, in the case of Bitnami, you need to use `REGISTRY_NAME=registry-1.docker.io` and `REPOSITORY_NAME=bitnamicharts`. -> **Tip**: You can use the default [values.yaml](https://github.com/bitnami/charts/tree/main/bitnami/cassandra/values.yaml) - -## Troubleshooting - -Find more information about how to deal with common errors related to Bitnami's Helm charts in [this troubleshooting guide](https://docs.bitnami.com/general/how-to/troubleshoot-helm-chart-issues). - -## Upgrading - -It's necessary to set the `dbUser.password` parameter when upgrading for readiness/liveness probes to work properly. When you install this chart for the first time, some notes will be displayed providing the credentials you must use. Please note down the password and run the command below to upgrade your chart: - -```console -helm upgrade my-release oci://REGISTRY_NAME/REPOSITORY_NAME/cassandra --set dbUser.password=[PASSWORD] -``` - -> Note: You need to substitute the placeholders `REGISTRY_NAME` and `REPOSITORY_NAME` with a reference to your Helm chart registry and repository. For example, in the case of Bitnami, you need to use `REGISTRY_NAME=registry-1.docker.io` and `REPOSITORY_NAME=bitnamicharts`. - -| Note: you need to substitute the placeholder *[PASSWORD]* with the value obtained in the installation notes. - -### To 12.1.0 - -This version introduces image verification for security purposes. To disable it, set `global.security.allowInsecureImages` to `true`. More details at [GitHub issue](https://github.com/bitnami/charts/issues/30850). - -### To 12.0.0 - -Cassandra's version was bumped to `5.0`, [the latest GA version](https://cassandra.apache.org/_/blog/Apache-Cassandra-5.0-Announcement.html). Users can upgrade from version 4 to 5.0 through an online upgrade, minimizing downtime for applications. Nevertheless, a backup creation prior to undergoing the upgrade process is recommended. Please, refer to the [official guide](https://cassandra.apache.org/doc/latest/operating/backups.html#snapshots) for further information. - -### To 10.0.0 - -This major bump changes the following security defaults: - -- `runAsGroup` is changed from `0` to `1001` -- `readOnlyRootFilesystem` is set to `true` -- `resourcesPreset` is changed from `none` to the minimum size working in our test suites (NOTE: `resourcesPreset` is not meant for production usage, but `resources` adapted to your use case). -- `global.compatibility.openshift.adaptSecurityContext` is changed from `disabled` to `auto`. - -This could potentially break any customization or init scripts used in your deployment. If this is the case, change the default values to the previous ones. - -### To 9.0.0 - -This major release renames several values in this chart and adds missing features, in order to be inline with the rest of assets in the Bitnami charts repository. - -Affected values: - -- `serviceMonitor.labels` renamed as `serviceMonitor.selector`. -- `service.port` renamed as `service.ports.cql`. -- `service.metricsPort` renamed as `service.ports.metrics`. -- `service.nodePort` renamed as `service.nodePorts.cql`. -- `updateStrategy` changed from String type (previously default to 'rollingUpdate') to Object type, allowing users to configure other updateStrategy parameters, similar to other charts. -- Removed value `rollingUpdatePartition`, now configured using `updateStrategy` setting `updateStrategy.rollingUpdate.partition`. - -### To 8.0.0 - -Cassandra's version was bumped to `4.0`, [the new major](https://cassandra.apache.org/_/blog/Apache-Cassandra-4.0-is-Here.html) considered LTS. Among other features, this release removes support for [Thrift](https://issues.apache.org/jira/browse/CASSANDRA-11115), which means that the following properties of the chart will no longer be available: - -- `cluster.enableRPC` -- `service.thriftPort` -- `service.nodePorts.thrift` -- `containerPorts.thrift` - -For this version, there have been [intensive efforts](https://cwiki.apache.org/confluence/display/CASSANDRA/4.0+Quality%3A+Components+and+Test+Plans) from Apache to ensure that a safe cluster upgrade can be performed. Nevertheless, a backup creation prior to undergoing the upgrade process is recommended. Please, refer to the [official guide](https://cassandra.apache.org/doc/latest/operating/backups.html#snapshots) for further information. - -### To 7.0.0 - -[On November 13, 2020, Helm v2 support was formally finished](https://github.com/helm/charts#status-of-the-project), this major version is the result of the required changes applied to the Helm Chart to be able to incorporate the different features added in Helm v3 and to be consistent with the Helm project itself regarding the Helm v2 EOL. - -### To 6.0.0 - -- Several parameters were renamed or disappeared in favor of new ones on this major version: - - `securityContext.*` is deprecated in favor of `podSecurityContext` and `containerSecurityContext`. - - Parameters prefixed with `statefulset.` were renamed removing the prefix. E.g. `statefulset.rollingUpdatePartition` -> renamed to `rollingUpdatePartition`. - - `cluster.replicaCount` is renamed to `replicaCount`. - - `cluster.domain` is renamed to `clusterDomain`. -- Chart labels were adapted to follow the [Helm charts standard labels](https://helm.sh/docs/chart_best_practices/labels/#standard-labels). -- This version also introduces `bitnami/common`, a [library chart](https://helm.sh/docs/topics/library_charts/#helm) as a dependency. More documentation about this new utility could be found [here](https://github.com/bitnami/charts/tree/main/bitnami/common#bitnami-common-library-chart). Please, make sure that you have updated the chart dependencies before executing any upgrade. - -Consequences: - -- Backwards compatibility is not guaranteed. To upgrade to `6.0.0`, install a new release of the Cassandra chart, and migrate the data from your previous release. To do so, create an snapshot of the database, and restore it on the new database. Check [this guide](https://cassandra.apache.org/doc/latest/operating/backups.html#snapshots) for more information. - -### To 5.4.0 - -The `minimumAvailable` option has been renamed to `minAvailable` for consistency with other charts. This is not a breaking change as `minimumAvailable` never worked before because of an error in chart templates. - -### To 5.0.0 - -An issue in StatefulSet manifest of the 4.x chart series rendered chart upgrades to be broken. The 5.0.0 series fixes this issue. To upgrade to the 5.x series you need to manually delete the Cassandra StatefulSet before executing the `helm upgrade` command. - -```console -kubectl delete sts -l release= -helm upgrade ... -``` - -### To 4.0.0 - -This release changes uses Bitnami Cassandra container `3.11.4-debian-9-r188`, based on Bash. - -### To 2.0.0 - -This release make it possible to specify custom initialization scripts in both cql and sh files. - -#### Breaking changes - -- `startupCQL` has been removed. Instead, for initializing the database, see [this section](#initialize-the-database). - -## License - -Copyright © 2025 Broadcom. The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. \ No newline at end of file diff --git a/cw-infra-apps-nubes/cassandra/charts/common/.helmignore b/cw-infra-apps-nubes/cassandra/charts/common/.helmignore deleted file mode 100755 index d0e1084..0000000 --- a/cw-infra-apps-nubes/cassandra/charts/common/.helmignore +++ /dev/null @@ -1,26 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ -# img folder -img/ -# Changelog -CHANGELOG.md diff --git a/cw-infra-apps-nubes/cassandra/charts/common/Chart.yaml b/cw-infra-apps-nubes/cassandra/charts/common/Chart.yaml deleted file mode 100755 index 10fc86a..0000000 --- a/cw-infra-apps-nubes/cassandra/charts/common/Chart.yaml +++ /dev/null @@ -1,23 +0,0 @@ -annotations: - category: Infrastructure - licenses: Apache-2.0 -apiVersion: v2 -appVersion: 2.30.0 -description: A Library Helm Chart for grouping common logic between bitnami charts. - This chart is not deployable by itself. -home: https://bitnami.com -icon: https://dyltqmyl993wv.cloudfront.net/downloads/logos/bitnami-mark.png -keywords: -- common -- helper -- template -- function -- bitnami -maintainers: -- name: Broadcom, Inc. All Rights Reserved. - url: https://github.com/bitnami/charts -name: common -sources: -- https://github.com/bitnami/charts/tree/main/bitnami/common -type: library -version: 2.30.0 diff --git a/cw-infra-apps-nubes/cassandra/charts/common/README.md b/cw-infra-apps-nubes/cassandra/charts/common/README.md deleted file mode 100755 index 0e5f649..0000000 --- a/cw-infra-apps-nubes/cassandra/charts/common/README.md +++ /dev/null @@ -1,235 +0,0 @@ -# Bitnami Common Library Chart - -A [Helm Library Chart](https://helm.sh/docs/topics/library_charts/#helm) for grouping common logic between Bitnami charts. - -## TL;DR - -```yaml -dependencies: - - name: common - version: 2.x.x - repository: oci://registry-1.docker.io/bitnamicharts -``` - -```console -helm dependency update -``` - -```yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ include "common.names.fullname" . }} -data: - myvalue: "Hello World" -``` - -Looking to use our applications in production? Try [VMware Tanzu Application Catalog](https://bitnami.com/enterprise), the commercial edition of the Bitnami catalog. - -## Introduction - -This chart provides a common template helpers which can be used to develop new charts using [Helm](https://helm.sh) package manager. - -Bitnami charts can be used with [Kubeapps](https://kubeapps.dev/) for deployment and management of Helm Charts in clusters. - -## Prerequisites - -- Kubernetes 1.23+ -- Helm 3.8.0+ - -## Parameters - -## Special input schemas - -### ImageRoot - -```yaml -registry: - type: string - description: Docker registry where the image is located - example: docker.io - -repository: - type: string - description: Repository and image name - example: bitnami/nginx - -tag: - type: string - description: image tag - example: 1.16.1-debian-10-r63 - -pullPolicy: - type: string - description: Specify a imagePullPolicy.' - -pullSecrets: - type: array - items: - type: string - description: Optionally specify an array of imagePullSecrets (evaluated as templates). - -debug: - type: boolean - description: Set to true if you would like to see extra information on logs - example: false - -## An instance would be: -# registry: docker.io -# repository: bitnami/nginx -# tag: 1.16.1-debian-10-r63 -# pullPolicy: IfNotPresent -# debug: false -``` - -### Persistence - -```yaml -enabled: - type: boolean - description: Whether enable persistence. - example: true - -storageClass: - type: string - description: Ghost data Persistent Volume Storage Class, If set to "-", storageClassName: "" which disables dynamic provisioning. - example: "-" - -accessMode: - type: string - description: Access mode for the Persistent Volume Storage. - example: ReadWriteOnce - -size: - type: string - description: Size the Persistent Volume Storage. - example: 8Gi - -path: - type: string - description: Path to be persisted. - example: /bitnami - -## An instance would be: -# enabled: true -# storageClass: "-" -# accessMode: ReadWriteOnce -# size: 8Gi -# path: /bitnami -``` - -### ExistingSecret - -```yaml -name: - type: string - description: Name of the existing secret. - example: mySecret -keyMapping: - description: Mapping between the expected key name and the name of the key in the existing secret. - type: object - -## An instance would be: -# name: mySecret -# keyMapping: -# password: myPasswordKey -``` - -#### Example of use - -When we store sensitive data for a deployment in a secret, some times we want to give to users the possibility of using theirs existing secrets. - -```yaml -# templates/secret.yaml ---- -apiVersion: v1 -kind: Secret -metadata: - name: {{ include "common.names.fullname" . }} - labels: - app: {{ include "common.names.fullname" . }} -type: Opaque -data: - password: {{ .Values.password | b64enc | quote }} - -# templates/dpl.yaml ---- -... - env: - - name: PASSWORD - valueFrom: - secretKeyRef: - name: {{ include "common.secrets.name" (dict "existingSecret" .Values.existingSecret "context" $) }} - key: {{ include "common.secrets.key" (dict "existingSecret" .Values.existingSecret "key" "password") }} -... - -# values.yaml ---- -name: mySecret -keyMapping: - password: myPasswordKey -``` - -### ValidateValue - -#### NOTES.txt - -```console -{{- $validateValueConf00 := (dict "valueKey" "path.to.value00" "secret" "secretName" "field" "password-00") -}} -{{- $validateValueConf01 := (dict "valueKey" "path.to.value01" "secret" "secretName" "field" "password-01") -}} - -{{ include "common.validations.values.multiple.empty" (dict "required" (list $validateValueConf00 $validateValueConf01) "context" $) }} -``` - -If we force those values to be empty we will see some alerts - -```console -helm install test mychart --set path.to.value00="",path.to.value01="" - 'path.to.value00' must not be empty, please add '--set path.to.value00=$PASSWORD_00' to the command. To get the current value: - - export PASSWORD_00=$(kubectl get secret --namespace default secretName -o jsonpath="{.data.password-00}" | base64 -d) - - 'path.to.value01' must not be empty, please add '--set path.to.value01=$PASSWORD_01' to the command. To get the current value: - - export PASSWORD_01=$(kubectl get secret --namespace default secretName -o jsonpath="{.data.password-01}" | base64 -d) -``` - -## Upgrading - -### To 1.0.0 - -[On November 13, 2020, Helm v2 support was formally finished](https://github.com/helm/charts#status-of-the-project), this major version is the result of the required changes applied to the Helm Chart to be able to incorporate the different features added in Helm v3 and to be consistent with the Helm project itself regarding the Helm v2 EOL. - -#### What changes were introduced in this major version? - -- Previous versions of this Helm Chart use `apiVersion: v1` (installable by both Helm 2 and 3), this Helm Chart was updated to `apiVersion: v2` (installable by Helm 3 only). [Here](https://helm.sh/docs/topics/charts/#the-apiversion-field) you can find more information about the `apiVersion` field. -- Use `type: library`. [Here](https://v3.helm.sh/docs/faq/#library-chart-support) you can find more information. -- The different fields present in the *Chart.yaml* file has been ordered alphabetically in a homogeneous way for all the Bitnami Helm Charts - -#### Considerations when upgrading to this version - -- If you want to upgrade to this version from a previous one installed with Helm v3, you shouldn't face any issues -- If you want to upgrade to this version using Helm v2, this scenario is not supported as this version doesn't support Helm v2 anymore -- If you installed the previous version with Helm v2 and wants to upgrade to this version with Helm v3, please refer to the [official Helm documentation](https://helm.sh/docs/topics/v2_v3_migration/#migration-use-cases) about migrating from Helm v2 to v3 - -#### Useful links - -- -- -- - -## License - -Copyright © 2025 Broadcom. The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/cw-infra-apps-nubes/cassandra/charts/common/templates/_affinities.tpl b/cw-infra-apps-nubes/cassandra/charts/common/templates/_affinities.tpl deleted file mode 100755 index d387dbe..0000000 --- a/cw-infra-apps-nubes/cassandra/charts/common/templates/_affinities.tpl +++ /dev/null @@ -1,155 +0,0 @@ -{{/* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{/* vim: set filetype=mustache: */}} - -{{/* -Return a soft nodeAffinity definition -{{ include "common.affinities.nodes.soft" (dict "key" "FOO" "values" (list "BAR" "BAZ")) -}} -*/}} -{{- define "common.affinities.nodes.soft" -}} -preferredDuringSchedulingIgnoredDuringExecution: - - preference: - matchExpressions: - - key: {{ .key }} - operator: In - values: - {{- range .values }} - - {{ . | quote }} - {{- end }} - weight: 1 -{{- end -}} - -{{/* -Return a hard nodeAffinity definition -{{ include "common.affinities.nodes.hard" (dict "key" "FOO" "values" (list "BAR" "BAZ")) -}} -*/}} -{{- define "common.affinities.nodes.hard" -}} -requiredDuringSchedulingIgnoredDuringExecution: - nodeSelectorTerms: - - matchExpressions: - - key: {{ .key }} - operator: In - values: - {{- range .values }} - - {{ . | quote }} - {{- end }} -{{- end -}} - -{{/* -Return a nodeAffinity definition -{{ include "common.affinities.nodes" (dict "type" "soft" "key" "FOO" "values" (list "BAR" "BAZ")) -}} -*/}} -{{- define "common.affinities.nodes" -}} - {{- if eq .type "soft" }} - {{- include "common.affinities.nodes.soft" . -}} - {{- else if eq .type "hard" }} - {{- include "common.affinities.nodes.hard" . -}} - {{- end -}} -{{- end -}} - -{{/* -Return a topologyKey definition -{{ include "common.affinities.topologyKey" (dict "topologyKey" "BAR") -}} -*/}} -{{- define "common.affinities.topologyKey" -}} -{{ .topologyKey | default "kubernetes.io/hostname" -}} -{{- end -}} - -{{/* -Return a soft podAffinity/podAntiAffinity definition -{{ include "common.affinities.pods.soft" (dict "component" "FOO" "customLabels" .Values.podLabels "extraMatchLabels" .Values.extraMatchLabels "topologyKey" "BAR" "extraPodAffinityTerms" .Values.extraPodAffinityTerms "extraNamespaces" (list "namespace1" "namespace2") "context" $) -}} -*/}} -{{- define "common.affinities.pods.soft" -}} -{{- $component := default "" .component -}} -{{- $customLabels := default (dict) .customLabels -}} -{{- $extraMatchLabels := default (dict) .extraMatchLabels -}} -{{- $extraPodAffinityTerms := default (list) .extraPodAffinityTerms -}} -{{- $extraNamespaces := default (list) .extraNamespaces -}} -preferredDuringSchedulingIgnoredDuringExecution: - - podAffinityTerm: - labelSelector: - matchLabels: {{- (include "common.labels.matchLabels" ( dict "customLabels" $customLabels "context" .context )) | nindent 10 }} - {{- if not (empty $component) }} - {{ printf "app.kubernetes.io/component: %s" $component }} - {{- end }} - {{- range $key, $value := $extraMatchLabels }} - {{ $key }}: {{ $value | quote }} - {{- end }} - {{- if $extraNamespaces }} - namespaces: - - {{ .context.Release.Namespace }} - {{- with $extraNamespaces }} - {{ include "common.tplvalues.render" (dict "value" . "context" $) | nindent 8 }} - {{- end }} - {{- end }} - topologyKey: {{ include "common.affinities.topologyKey" (dict "topologyKey" .topologyKey) }} - weight: 1 - {{- range $extraPodAffinityTerms }} - - podAffinityTerm: - labelSelector: - matchLabels: {{- (include "common.labels.matchLabels" ( dict "customLabels" $customLabels "context" $.context )) | nindent 10 }} - {{- if not (empty $component) }} - {{ printf "app.kubernetes.io/component: %s" $component }} - {{- end }} - {{- range $key, $value := .extraMatchLabels }} - {{ $key }}: {{ $value | quote }} - {{- end }} - topologyKey: {{ include "common.affinities.topologyKey" (dict "topologyKey" .topologyKey) }} - weight: {{ .weight | default 1 -}} - {{- end -}} -{{- end -}} - -{{/* -Return a hard podAffinity/podAntiAffinity definition -{{ include "common.affinities.pods.hard" (dict "component" "FOO" "customLabels" .Values.podLabels "extraMatchLabels" .Values.extraMatchLabels "topologyKey" "BAR" "extraPodAffinityTerms" .Values.extraPodAffinityTerms "extraNamespaces" (list "namespace1" "namespace2") "context" $) -}} -*/}} -{{- define "common.affinities.pods.hard" -}} -{{- $component := default "" .component -}} -{{- $customLabels := default (dict) .customLabels -}} -{{- $extraMatchLabels := default (dict) .extraMatchLabels -}} -{{- $extraPodAffinityTerms := default (list) .extraPodAffinityTerms -}} -{{- $extraNamespaces := default (list) .extraNamespaces -}} -requiredDuringSchedulingIgnoredDuringExecution: - - labelSelector: - matchLabels: {{- (include "common.labels.matchLabels" ( dict "customLabels" $customLabels "context" .context )) | nindent 8 }} - {{- if not (empty $component) }} - {{ printf "app.kubernetes.io/component: %s" $component }} - {{- end }} - {{- range $key, $value := $extraMatchLabels }} - {{ $key }}: {{ $value | quote }} - {{- end }} - {{- if $extraNamespaces }} - namespaces: - - {{ .context.Release.Namespace }} - {{- with $extraNamespaces }} - {{ include "common.tplvalues.render" (dict "value" . "context" $) | nindent 8 }} - {{- end }} - {{- end }} - topologyKey: {{ include "common.affinities.topologyKey" (dict "topologyKey" .topologyKey) }} - {{- range $extraPodAffinityTerms }} - - labelSelector: - matchLabels: {{- (include "common.labels.matchLabels" ( dict "customLabels" $customLabels "context" $.context )) | nindent 8 }} - {{- if not (empty $component) }} - {{ printf "app.kubernetes.io/component: %s" $component }} - {{- end }} - {{- range $key, $value := .extraMatchLabels }} - {{ $key }}: {{ $value | quote }} - {{- end }} - topologyKey: {{ include "common.affinities.topologyKey" (dict "topologyKey" .topologyKey) }} - {{- end -}} -{{- end -}} - -{{/* -Return a podAffinity/podAntiAffinity definition -{{ include "common.affinities.pods" (dict "type" "soft" "key" "FOO" "values" (list "BAR" "BAZ")) -}} -*/}} -{{- define "common.affinities.pods" -}} - {{- if eq .type "soft" }} - {{- include "common.affinities.pods.soft" . -}} - {{- else if eq .type "hard" }} - {{- include "common.affinities.pods.hard" . -}} - {{- end -}} -{{- end -}} diff --git a/cw-infra-apps-nubes/cassandra/charts/common/templates/_capabilities.tpl b/cw-infra-apps-nubes/cassandra/charts/common/templates/_capabilities.tpl deleted file mode 100755 index 6423fb1..0000000 --- a/cw-infra-apps-nubes/cassandra/charts/common/templates/_capabilities.tpl +++ /dev/null @@ -1,253 +0,0 @@ -{{/* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{/* vim: set filetype=mustache: */}} - -{{/* -Return the target Kubernetes version -*/}} -{{- define "common.capabilities.kubeVersion" -}} -{{- default (default .Capabilities.KubeVersion.Version .Values.kubeVersion) ((.Values.global).kubeVersion) -}} -{{- end -}} - -{{/* -Return true if the apiVersion is supported -Usage: -{{ include "common.capabilities.apiVersions.has" (dict "version" "batch/v1" "context" $) }} -*/}} -{{- define "common.capabilities.apiVersions.has" -}} -{{- $providedAPIVersions := default .context.Values.apiVersions ((.context.Values.global).apiVersions) -}} -{{- if and (empty $providedAPIVersions) (.context.Capabilities.APIVersions.Has .version) -}} - {{- true -}} -{{- else if has .version $providedAPIVersions -}} - {{- true -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for poddisruptionbudget. -*/}} -{{- define "common.capabilities.policy.apiVersion" -}} -{{- $kubeVersion := include "common.capabilities.kubeVersion" . -}} -{{- if and (not (empty $kubeVersion)) (semverCompare "<1.21-0" $kubeVersion) -}} -{{- print "policy/v1beta1" -}} -{{- else -}} -{{- print "policy/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for networkpolicy. -*/}} -{{- define "common.capabilities.networkPolicy.apiVersion" -}} -{{- $kubeVersion := include "common.capabilities.kubeVersion" . -}} -{{- if and (not (empty $kubeVersion)) (semverCompare "<1.7-0" $kubeVersion) -}} -{{- print "extensions/v1beta1" -}} -{{- else -}} -{{- print "networking.k8s.io/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for job. -*/}} -{{- define "common.capabilities.job.apiVersion" -}} -{{- $kubeVersion := include "common.capabilities.kubeVersion" . -}} -{{- if and (not (empty $kubeVersion)) (semverCompare "<1.21-0" $kubeVersion) -}} -{{- print "batch/v1beta1" -}} -{{- else -}} -{{- print "batch/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for cronjob. -*/}} -{{- define "common.capabilities.cronjob.apiVersion" -}} -{{- $kubeVersion := include "common.capabilities.kubeVersion" . -}} -{{- if and (not (empty $kubeVersion)) (semverCompare "<1.21-0" $kubeVersion) -}} -{{- print "batch/v1beta1" -}} -{{- else -}} -{{- print "batch/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for daemonset. -*/}} -{{- define "common.capabilities.daemonset.apiVersion" -}} -{{- $kubeVersion := include "common.capabilities.kubeVersion" . -}} -{{- if and (not (empty $kubeVersion)) (semverCompare "<1.14-0" $kubeVersion) -}} -{{- print "extensions/v1beta1" -}} -{{- else -}} -{{- print "apps/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for deployment. -*/}} -{{- define "common.capabilities.deployment.apiVersion" -}} -{{- $kubeVersion := include "common.capabilities.kubeVersion" . -}} -{{- if and (not (empty $kubeVersion)) (semverCompare "<1.14-0" $kubeVersion) -}} -{{- print "extensions/v1beta1" -}} -{{- else -}} -{{- print "apps/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for statefulset. -*/}} -{{- define "common.capabilities.statefulset.apiVersion" -}} -{{- $kubeVersion := include "common.capabilities.kubeVersion" . -}} -{{- if and (not (empty $kubeVersion)) (semverCompare "<1.14-0" $kubeVersion) -}} -{{- print "apps/v1beta1" -}} -{{- else -}} -{{- print "apps/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for ingress. -*/}} -{{- define "common.capabilities.ingress.apiVersion" -}} -{{- $kubeVersion := include "common.capabilities.kubeVersion" . -}} -{{- if (.Values.ingress).apiVersion -}} -{{- .Values.ingress.apiVersion -}} -{{- else if and (not (empty $kubeVersion)) (semverCompare "<1.14-0" $kubeVersion) -}} -{{- print "extensions/v1beta1" -}} -{{- else if and (not (empty $kubeVersion)) (semverCompare "<1.19-0" $kubeVersion) -}} -{{- print "networking.k8s.io/v1beta1" -}} -{{- else -}} -{{- print "networking.k8s.io/v1" -}} -{{- end }} -{{- end -}} - -{{/* -Return the appropriate apiVersion for RBAC resources. -*/}} -{{- define "common.capabilities.rbac.apiVersion" -}} -{{- $kubeVersion := include "common.capabilities.kubeVersion" . -}} -{{- if and (not (empty $kubeVersion)) (semverCompare "<1.17-0" $kubeVersion) -}} -{{- print "rbac.authorization.k8s.io/v1beta1" -}} -{{- else -}} -{{- print "rbac.authorization.k8s.io/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for CRDs. -*/}} -{{- define "common.capabilities.crd.apiVersion" -}} -{{- $kubeVersion := include "common.capabilities.kubeVersion" . -}} -{{- if and (not (empty $kubeVersion)) (semverCompare "<1.19-0" $kubeVersion) -}} -{{- print "apiextensions.k8s.io/v1beta1" -}} -{{- else -}} -{{- print "apiextensions.k8s.io/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for APIService. -*/}} -{{- define "common.capabilities.apiService.apiVersion" -}} -{{- $kubeVersion := include "common.capabilities.kubeVersion" . -}} -{{- if and (not (empty $kubeVersion)) (semverCompare "<1.10-0" $kubeVersion) -}} -{{- print "apiregistration.k8s.io/v1beta1" -}} -{{- else -}} -{{- print "apiregistration.k8s.io/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for Horizontal Pod Autoscaler. -*/}} -{{- define "common.capabilities.hpa.apiVersion" -}} -{{- $kubeVersion := include "common.capabilities.kubeVersion" .context -}} -{{- if and (not (empty $kubeVersion)) (semverCompare "<1.23-0" $kubeVersion) -}} -{{- if .beta2 -}} -{{- print "autoscaling/v2beta2" -}} -{{- else -}} -{{- print "autoscaling/v2beta1" -}} -{{- end -}} -{{- else -}} -{{- print "autoscaling/v2" -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for Vertical Pod Autoscaler. -*/}} -{{- define "common.capabilities.vpa.apiVersion" -}} -{{- $kubeVersion := include "common.capabilities.kubeVersion" .context -}} -{{- if and (not (empty $kubeVersion)) (semverCompare "<1.11-0" $kubeVersion) -}} -{{- print "autoscaling/v1beta1" -}} -{{- else if and (not (empty $kubeVersion)) (semverCompare "<1.25-0" $kubeVersion) -}} -{{- print "autoscaling/v1beta2" -}} -{{- else -}} -{{- print "autoscaling/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Returns true if PodSecurityPolicy is supported -*/}} -{{- define "common.capabilities.psp.supported" -}} -{{- $kubeVersion := include "common.capabilities.kubeVersion" . -}} -{{- if or (empty $kubeVersion) (semverCompare "<1.25-0" $kubeVersion) -}} - {{- true -}} -{{- end -}} -{{- end -}} - -{{/* -Returns true if AdmissionConfiguration is supported -*/}} -{{- define "common.capabilities.admissionConfiguration.supported" -}} -{{- $kubeVersion := include "common.capabilities.kubeVersion" . -}} -{{- if or (empty $kubeVersion) (not (semverCompare "<1.23-0" $kubeVersion)) -}} - {{- true -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for AdmissionConfiguration. -*/}} -{{- define "common.capabilities.admissionConfiguration.apiVersion" -}} -{{- $kubeVersion := include "common.capabilities.kubeVersion" . -}} -{{- if and (not (empty $kubeVersion)) (semverCompare "<1.23-0" $kubeVersion) -}} -{{- print "apiserver.config.k8s.io/v1alpha1" -}} -{{- else if and (not (empty $kubeVersion)) (semverCompare "<1.25-0" $kubeVersion) -}} -{{- print "apiserver.config.k8s.io/v1beta1" -}} -{{- else -}} -{{- print "apiserver.config.k8s.io/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Return the appropriate apiVersion for PodSecurityConfiguration. -*/}} -{{- define "common.capabilities.podSecurityConfiguration.apiVersion" -}} -{{- $kubeVersion := include "common.capabilities.kubeVersion" . -}} -{{- if and (not (empty $kubeVersion)) (semverCompare "<1.23-0" $kubeVersion) -}} -{{- print "pod-security.admission.config.k8s.io/v1alpha1" -}} -{{- else if and (not (empty $kubeVersion)) (semverCompare "<1.25-0" $kubeVersion) -}} -{{- print "pod-security.admission.config.k8s.io/v1beta1" -}} -{{- else -}} -{{- print "pod-security.admission.config.k8s.io/v1" -}} -{{- end -}} -{{- end -}} - -{{/* -Returns true if the used Helm version is 3.3+. -A way to check the used Helm version was not introduced until version 3.3.0 with .Capabilities.HelmVersion, which contains an additional "{}}" structure. -This check is introduced as a regexMatch instead of {{ if .Capabilities.HelmVersion }} because checking for the key HelmVersion in <3.3 results in a "interface not found" error. -**To be removed when the catalog's minimun Helm version is 3.3** -*/}} -{{- define "common.capabilities.supportsHelmVersion" -}} -{{- if regexMatch "{(v[0-9])*[^}]*}}$" (.Capabilities | toString ) }} - {{- true -}} -{{- end -}} -{{- end -}} diff --git a/cw-infra-apps-nubes/cassandra/charts/common/templates/_compatibility.tpl b/cw-infra-apps-nubes/cassandra/charts/common/templates/_compatibility.tpl deleted file mode 100755 index 19c26db..0000000 --- a/cw-infra-apps-nubes/cassandra/charts/common/templates/_compatibility.tpl +++ /dev/null @@ -1,46 +0,0 @@ -{{/* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{/* vim: set filetype=mustache: */}} - -{{/* -Return true if the detected platform is Openshift -Usage: -{{- include "common.compatibility.isOpenshift" . -}} -*/}} -{{- define "common.compatibility.isOpenshift" -}} -{{- if .Capabilities.APIVersions.Has "security.openshift.io/v1" -}} -{{- true -}} -{{- end -}} -{{- end -}} - -{{/* -Render a compatible securityContext depending on the platform. By default it is maintained as it is. In other platforms like Openshift we remove default user/group values that do not work out of the box with the restricted-v1 SCC -Usage: -{{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.containerSecurityContext "context" $) -}} -*/}} -{{- define "common.compatibility.renderSecurityContext" -}} -{{- $adaptedContext := .secContext -}} - -{{- if (((.context.Values.global).compatibility).openshift) -}} - {{- if or (eq .context.Values.global.compatibility.openshift.adaptSecurityContext "force") (and (eq .context.Values.global.compatibility.openshift.adaptSecurityContext "auto") (include "common.compatibility.isOpenshift" .context)) -}} - {{/* Remove incompatible user/group values that do not work in Openshift out of the box */}} - {{- $adaptedContext = omit $adaptedContext "fsGroup" "runAsUser" "runAsGroup" -}} - {{- if not .secContext.seLinuxOptions -}} - {{/* If it is an empty object, we remove it from the resulting context because it causes validation issues */}} - {{- $adaptedContext = omit $adaptedContext "seLinuxOptions" -}} - {{- end -}} - {{- end -}} -{{- end -}} -{{/* Remove empty seLinuxOptions object if global.compatibility.omitEmptySeLinuxOptions is set to true */}} -{{- if and (((.context.Values.global).compatibility).omitEmptySeLinuxOptions) (not .secContext.seLinuxOptions) -}} - {{- $adaptedContext = omit $adaptedContext "seLinuxOptions" -}} -{{- end -}} -{{/* Remove fields that are disregarded when running the container in privileged mode */}} -{{- if $adaptedContext.privileged -}} - {{- $adaptedContext = omit $adaptedContext "capabilities" -}} -{{- end -}} -{{- omit $adaptedContext "enabled" | toYaml -}} -{{- end -}} diff --git a/cw-infra-apps-nubes/cassandra/charts/common/templates/_errors.tpl b/cw-infra-apps-nubes/cassandra/charts/common/templates/_errors.tpl deleted file mode 100755 index 93f3ffc..0000000 --- a/cw-infra-apps-nubes/cassandra/charts/common/templates/_errors.tpl +++ /dev/null @@ -1,85 +0,0 @@ -{{/* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{/* vim: set filetype=mustache: */}} -{{/* -Throw error when upgrading using empty passwords values that must not be empty. - -Usage: -{{- $validationError00 := include "common.validations.values.single.empty" (dict "valueKey" "path.to.password00" "secret" "secretName" "field" "password-00") -}} -{{- $validationError01 := include "common.validations.values.single.empty" (dict "valueKey" "path.to.password01" "secret" "secretName" "field" "password-01") -}} -{{ include "common.errors.upgrade.passwords.empty" (dict "validationErrors" (list $validationError00 $validationError01) "context" $) }} - -Required password params: - - validationErrors - String - Required. List of validation strings to be return, if it is empty it won't throw error. - - context - Context - Required. Parent context. -*/}} -{{- define "common.errors.upgrade.passwords.empty" -}} - {{- $validationErrors := join "" .validationErrors -}} - {{- if and $validationErrors .context.Release.IsUpgrade -}} - {{- $errorString := "\nPASSWORDS ERROR: You must provide your current passwords when upgrading the release." -}} - {{- $errorString = print $errorString "\n Note that even after reinstallation, old credentials may be needed as they may be kept in persistent volume claims." -}} - {{- $errorString = print $errorString "\n Further information can be obtained at https://docs.bitnami.com/general/how-to/troubleshoot-helm-chart-issues/#credential-errors-while-upgrading-chart-releases" -}} - {{- $errorString = print $errorString "\n%s" -}} - {{- printf $errorString $validationErrors | fail -}} - {{- end -}} -{{- end -}} - -{{/* -Throw error when original container images are replaced. -The error can be bypassed by setting the "global.security.allowInsecureImages" to true. In this case, -a warning message will be shown instead. - -Usage: -{{ include "common.errors.insecureImages" (dict "images" (list .Values.path.to.the.imageRoot) "context" $) }} -*/}} -{{- define "common.errors.insecureImages" -}} -{{- $relocatedImages := list -}} -{{- $replacedImages := list -}} -{{- $retaggedImages := list -}} -{{- $globalRegistry := ((.context.Values.global).imageRegistry) -}} -{{- $originalImages := .context.Chart.Annotations.images -}} -{{- range .images -}} - {{- $registryName := default .registry $globalRegistry -}} - {{- $fullImageNameNoTag := printf "%s/%s" $registryName .repository -}} - {{- $fullImageName := printf "%s:%s" $fullImageNameNoTag .tag -}} - {{- if not (contains $fullImageNameNoTag $originalImages) -}} - {{- if not (contains $registryName $originalImages) -}} - {{- $relocatedImages = append $relocatedImages $fullImageName -}} - {{- else if not (contains .repository $originalImages) -}} - {{- $replacedImages = append $replacedImages $fullImageName -}} - {{- end -}} - {{- end -}} - {{- if not (contains (printf "%s:%s" .repository .tag) $originalImages) -}} - {{- $retaggedImages = append $retaggedImages $fullImageName -}} - {{- end -}} -{{- end -}} - -{{- if and (or (gt (len $relocatedImages) 0) (gt (len $replacedImages) 0)) (((.context.Values.global).security).allowInsecureImages) -}} - {{- print "\n\n⚠ SECURITY WARNING: Verifying original container images was skipped. Please note this Helm chart was designed, tested, and validated on multiple platforms using a specific set of Bitnami and Tanzu Application Catalog containers. Substituting other containers is likely to cause degraded security and performance, broken chart features, and missing environment variables.\n" -}} -{{- else if (or (gt (len $relocatedImages) 0) (gt (len $replacedImages) 0)) -}} - {{- $errorString := "Original containers have been substituted for unrecognized ones. Deploying this chart with non-standard containers is likely to cause degraded security and performance, broken chart features, and missing environment variables." -}} - {{- $errorString = print $errorString "\n\nUnrecognized images:" -}} - {{- range (concat $relocatedImages $replacedImages) -}} - {{- $errorString = print $errorString "\n - " . -}} - {{- end -}} - {{- if or (contains "docker.io/bitnami/" $originalImages) (contains "docker.io/bitnamiprem/" $originalImages) -}} - {{- $errorString = print "\n\n⚠ ERROR: " $errorString -}} - {{- $errorString = print $errorString "\n\nIf you are sure you want to proceed with non-standard containers, you can skip container image verification by setting the global parameter 'global.security.allowInsecureImages' to true." -}} - {{- $errorString = print $errorString "\nFurther information can be obtained at https://github.com/bitnami/charts/issues/30850" -}} - {{- print $errorString | fail -}} - {{- else if gt (len $replacedImages) 0 -}} - {{- $errorString = print "\n\n⚠ WARNING: " $errorString -}} - {{- print $errorString -}} - {{- end -}} -{{- else if gt (len $retaggedImages) 0 -}} - {{- $warnString := "\n\n⚠ WARNING: Original containers have been retagged. Please note this Helm chart was tested, and validated on multiple platforms using a specific set of Tanzu Application Catalog containers. Substituting original image tags could cause unexpected behavior." -}} - {{- $warnString = print $warnString "\n\nRetagged images:" -}} - {{- range $retaggedImages -}} - {{- $warnString = print $warnString "\n - " . -}} - {{- end -}} - {{- print $warnString -}} -{{- end -}} -{{- end -}} \ No newline at end of file diff --git a/cw-infra-apps-nubes/cassandra/charts/common/templates/_images.tpl b/cw-infra-apps-nubes/cassandra/charts/common/templates/_images.tpl deleted file mode 100755 index d1250b7..0000000 --- a/cw-infra-apps-nubes/cassandra/charts/common/templates/_images.tpl +++ /dev/null @@ -1,115 +0,0 @@ -{{/* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{/* vim: set filetype=mustache: */}} -{{/* -Return the proper image name. -If image tag and digest are not defined, termination fallbacks to chart appVersion. -{{ include "common.images.image" ( dict "imageRoot" .Values.path.to.the.image "global" .Values.global "chart" .Chart ) }} -*/}} -{{- define "common.images.image" -}} -{{- $registryName := default .imageRoot.registry ((.global).imageRegistry) -}} -{{- $repositoryName := .imageRoot.repository -}} -{{- $separator := ":" -}} -{{- $termination := .imageRoot.tag | toString -}} - -{{- if not .imageRoot.tag }} - {{- if .chart }} - {{- $termination = .chart.AppVersion | toString -}} - {{- end -}} -{{- end -}} -{{- if .imageRoot.digest }} - {{- $separator = "@" -}} - {{- $termination = .imageRoot.digest | toString -}} -{{- end -}} -{{- if $registryName }} - {{- printf "%s/%s%s%s" $registryName $repositoryName $separator $termination -}} -{{- else -}} - {{- printf "%s%s%s" $repositoryName $separator $termination -}} -{{- end -}} -{{- end -}} - -{{/* -Return the proper Docker Image Registry Secret Names (deprecated: use common.images.renderPullSecrets instead) -{{ include "common.images.pullSecrets" ( dict "images" (list .Values.path.to.the.image1, .Values.path.to.the.image2) "global" .Values.global) }} -*/}} -{{- define "common.images.pullSecrets" -}} - {{- $pullSecrets := list }} - - {{- range ((.global).imagePullSecrets) -}} - {{- if kindIs "map" . -}} - {{- $pullSecrets = append $pullSecrets .name -}} - {{- else -}} - {{- $pullSecrets = append $pullSecrets . -}} - {{- end }} - {{- end -}} - - {{- range .images -}} - {{- range .pullSecrets -}} - {{- if kindIs "map" . -}} - {{- $pullSecrets = append $pullSecrets .name -}} - {{- else -}} - {{- $pullSecrets = append $pullSecrets . -}} - {{- end -}} - {{- end -}} - {{- end -}} - - {{- if (not (empty $pullSecrets)) -}} -imagePullSecrets: - {{- range $pullSecrets | uniq }} - - name: {{ . }} - {{- end }} - {{- end }} -{{- end -}} - -{{/* -Return the proper Docker Image Registry Secret Names evaluating values as templates -{{ include "common.images.renderPullSecrets" ( dict "images" (list .Values.path.to.the.image1, .Values.path.to.the.image2) "context" $) }} -*/}} -{{- define "common.images.renderPullSecrets" -}} - {{- $pullSecrets := list }} - {{- $context := .context }} - - {{- range (($context.Values.global).imagePullSecrets) -}} - {{- if kindIs "map" . -}} - {{- $pullSecrets = append $pullSecrets (include "common.tplvalues.render" (dict "value" .name "context" $context)) -}} - {{- else -}} - {{- $pullSecrets = append $pullSecrets (include "common.tplvalues.render" (dict "value" . "context" $context)) -}} - {{- end -}} - {{- end -}} - - {{- range .images -}} - {{- range .pullSecrets -}} - {{- if kindIs "map" . -}} - {{- $pullSecrets = append $pullSecrets (include "common.tplvalues.render" (dict "value" .name "context" $context)) -}} - {{- else -}} - {{- $pullSecrets = append $pullSecrets (include "common.tplvalues.render" (dict "value" . "context" $context)) -}} - {{- end -}} - {{- end -}} - {{- end -}} - - {{- if (not (empty $pullSecrets)) -}} -imagePullSecrets: - {{- range $pullSecrets | uniq }} - - name: {{ . }} - {{- end }} - {{- end }} -{{- end -}} - -{{/* -Return the proper image version (ingores image revision/prerelease info & fallbacks to chart appVersion) -{{ include "common.images.version" ( dict "imageRoot" .Values.path.to.the.image "chart" .Chart ) }} -*/}} -{{- define "common.images.version" -}} -{{- $imageTag := .imageRoot.tag | toString -}} -{{/* regexp from https://github.com/mainminds/semver/blob/23f51de38a0866c5ef0bfc42b3f735c73107b700/version.go#L41-L44 */}} -{{- if regexMatch `^([0-9]+)(\.[0-9]+)?(\.[0-9]+)?(-([0-9A-Za-z\-]+(\.[0-9A-Za-z\-]+)*))?(\+([0-9A-Za-z\-]+(\.[0-9A-Za-z\-]+)*))?$` $imageTag -}} - {{- $version := semver $imageTag -}} - {{- printf "%d.%d.%d" $version.Major $version.Minor $version.Patch -}} -{{- else -}} - {{- print .chart.AppVersion -}} -{{- end -}} -{{- end -}} - diff --git a/cw-infra-apps-nubes/cassandra/charts/common/templates/_ingress.tpl b/cw-infra-apps-nubes/cassandra/charts/common/templates/_ingress.tpl deleted file mode 100755 index 7d2b879..0000000 --- a/cw-infra-apps-nubes/cassandra/charts/common/templates/_ingress.tpl +++ /dev/null @@ -1,73 +0,0 @@ -{{/* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{/* vim: set filetype=mustache: */}} - -{{/* -Generate backend entry that is compatible with all Kubernetes API versions. - -Usage: -{{ include "common.ingress.backend" (dict "serviceName" "backendName" "servicePort" "backendPort" "context" $) }} - -Params: - - serviceName - String. Name of an existing service backend - - servicePort - String/Int. Port name (or number) of the service. It will be translated to different yaml depending if it is a string or an integer. - - context - Dict - Required. The context for the template evaluation. -*/}} -{{- define "common.ingress.backend" -}} -{{- $apiVersion := (include "common.capabilities.ingress.apiVersion" .context) -}} -{{- if or (eq $apiVersion "extensions/v1beta1") (eq $apiVersion "networking.k8s.io/v1beta1") -}} -serviceName: {{ .serviceName }} -servicePort: {{ .servicePort }} -{{- else -}} -service: - name: {{ .serviceName }} - port: - {{- if typeIs "string" .servicePort }} - name: {{ .servicePort }} - {{- else if or (typeIs "int" .servicePort) (typeIs "float64" .servicePort) }} - number: {{ .servicePort | int }} - {{- end }} -{{- end -}} -{{- end -}} - -{{/* -Print "true" if the API pathType field is supported -Usage: -{{ include "common.ingress.supportsPathType" . }} -*/}} -{{- define "common.ingress.supportsPathType" -}} -{{- if (semverCompare "<1.18-0" (include "common.capabilities.kubeVersion" .)) -}} -{{- print "false" -}} -{{- else -}} -{{- print "true" -}} -{{- end -}} -{{- end -}} - -{{/* -Returns true if the ingressClassname field is supported -Usage: -{{ include "common.ingress.supportsIngressClassname" . }} -*/}} -{{- define "common.ingress.supportsIngressClassname" -}} -{{- if semverCompare "<1.18-0" (include "common.capabilities.kubeVersion" .) -}} -{{- print "false" -}} -{{- else -}} -{{- print "true" -}} -{{- end -}} -{{- end -}} - -{{/* -Return true if cert-manager required annotations for TLS signed -certificates are set in the Ingress annotations -Ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations -Usage: -{{ include "common.ingress.certManagerRequest" ( dict "annotations" .Values.path.to.the.ingress.annotations ) }} -*/}} -{{- define "common.ingress.certManagerRequest" -}} -{{ if or (hasKey .annotations "cert-manager.io/cluster-issuer") (hasKey .annotations "cert-manager.io/issuer") (hasKey .annotations "kubernetes.io/tls-acme") }} - {{- true -}} -{{- end -}} -{{- end -}} diff --git a/cw-infra-apps-nubes/cassandra/charts/common/templates/_labels.tpl b/cw-infra-apps-nubes/cassandra/charts/common/templates/_labels.tpl deleted file mode 100755 index 0a0cc54..0000000 --- a/cw-infra-apps-nubes/cassandra/charts/common/templates/_labels.tpl +++ /dev/null @@ -1,46 +0,0 @@ -{{/* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{/* vim: set filetype=mustache: */}} - -{{/* -Kubernetes standard labels -{{ include "common.labels.standard" (dict "customLabels" .Values.commonLabels "context" $) -}} -*/}} -{{- define "common.labels.standard" -}} -{{- if and (hasKey . "customLabels") (hasKey . "context") -}} -{{- $default := dict "app.kubernetes.io/name" (include "common.names.name" .context) "helm.sh/chart" (include "common.names.chart" .context) "app.kubernetes.io/instance" .context.Release.Name "app.kubernetes.io/managed-by" .context.Release.Service -}} -{{- with .context.Chart.AppVersion -}} -{{- $_ := set $default "app.kubernetes.io/version" . -}} -{{- end -}} -{{ template "common.tplvalues.merge" (dict "values" (list .customLabels $default) "context" .context) }} -{{- else -}} -app.kubernetes.io/name: {{ include "common.names.name" . }} -helm.sh/chart: {{ include "common.names.chart" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- with .Chart.AppVersion }} -app.kubernetes.io/version: {{ . | quote }} -{{- end -}} -{{- end -}} -{{- end -}} - -{{/* -Labels used on immutable fields such as deploy.spec.selector.matchLabels or svc.spec.selector -{{ include "common.labels.matchLabels" (dict "customLabels" .Values.podLabels "context" $) -}} - -We don't want to loop over custom labels appending them to the selector -since it's very likely that it will break deployments, services, etc. -However, it's important to overwrite the standard labels if the user -overwrote them on metadata.labels fields. -*/}} -{{- define "common.labels.matchLabels" -}} -{{- if and (hasKey . "customLabels") (hasKey . "context") -}} -{{ merge (pick (include "common.tplvalues.render" (dict "value" .customLabels "context" .context) | fromYaml) "app.kubernetes.io/name" "app.kubernetes.io/instance") (dict "app.kubernetes.io/name" (include "common.names.name" .context) "app.kubernetes.io/instance" .context.Release.Name ) | toYaml }} -{{- else -}} -app.kubernetes.io/name: {{ include "common.names.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end -}} -{{- end -}} diff --git a/cw-infra-apps-nubes/cassandra/charts/common/templates/_names.tpl b/cw-infra-apps-nubes/cassandra/charts/common/templates/_names.tpl deleted file mode 100755 index ba83956..0000000 --- a/cw-infra-apps-nubes/cassandra/charts/common/templates/_names.tpl +++ /dev/null @@ -1,71 +0,0 @@ -{{/* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "common.names.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{/* -Create chart name and version as used by the chart label. -*/}} -{{- define "common.names.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{/* -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 "common.names.fullname" -}} -{{- if .Values.fullnameOverride -}} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- $name := default .Chart.Name .Values.nameOverride -}} -{{- if contains $name .Release.Name -}} -{{- .Release.Name | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} -{{- end -}} -{{- end -}} -{{- end -}} - -{{/* -Create a default fully qualified dependency 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. -Usage: -{{ include "common.names.dependency.fullname" (dict "chartName" "dependency-chart-name" "chartValues" .Values.dependency-chart "context" $) }} -*/}} -{{- define "common.names.dependency.fullname" -}} -{{- if .chartValues.fullnameOverride -}} -{{- .chartValues.fullnameOverride | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- $name := default .chartName .chartValues.nameOverride -}} -{{- if contains $name .context.Release.Name -}} -{{- .context.Release.Name | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- printf "%s-%s" .context.Release.Name $name | trunc 63 | trimSuffix "-" -}} -{{- end -}} -{{- end -}} -{{- end -}} - -{{/* -Allow the release namespace to be overridden for multi-namespace deployments in combined charts. -*/}} -{{- define "common.names.namespace" -}} -{{- default .Release.Namespace .Values.namespaceOverride | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{/* -Create a fully qualified app name adding the installation's namespace. -*/}} -{{- define "common.names.fullname.namespace" -}} -{{- printf "%s-%s" (include "common.names.fullname" .) (include "common.names.namespace" .) | trunc 63 | trimSuffix "-" -}} -{{- end -}} diff --git a/cw-infra-apps-nubes/cassandra/charts/common/templates/_resources.tpl b/cw-infra-apps-nubes/cassandra/charts/common/templates/_resources.tpl deleted file mode 100755 index d8a43e1..0000000 --- a/cw-infra-apps-nubes/cassandra/charts/common/templates/_resources.tpl +++ /dev/null @@ -1,50 +0,0 @@ -{{/* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{/* vim: set filetype=mustache: */}} - -{{/* -Return a resource request/limit object based on a given preset. -These presets are for basic testing and not meant to be used in production -{{ include "common.resources.preset" (dict "type" "nano") -}} -*/}} -{{- define "common.resources.preset" -}} -{{/* The limits are the requests increased by 50% (except ephemeral-storage and xlarge/2xlarge sizes)*/}} -{{- $presets := dict - "nano" (dict - "requests" (dict "cpu" "100m" "memory" "128Mi" "ephemeral-storage" "50Mi") - "limits" (dict "cpu" "150m" "memory" "192Mi" "ephemeral-storage" "2Gi") - ) - "micro" (dict - "requests" (dict "cpu" "250m" "memory" "256Mi" "ephemeral-storage" "50Mi") - "limits" (dict "cpu" "375m" "memory" "384Mi" "ephemeral-storage" "2Gi") - ) - "small" (dict - "requests" (dict "cpu" "500m" "memory" "512Mi" "ephemeral-storage" "50Mi") - "limits" (dict "cpu" "750m" "memory" "768Mi" "ephemeral-storage" "2Gi") - ) - "medium" (dict - "requests" (dict "cpu" "500m" "memory" "1024Mi" "ephemeral-storage" "50Mi") - "limits" (dict "cpu" "750m" "memory" "1536Mi" "ephemeral-storage" "2Gi") - ) - "large" (dict - "requests" (dict "cpu" "1.0" "memory" "2048Mi" "ephemeral-storage" "50Mi") - "limits" (dict "cpu" "1.5" "memory" "3072Mi" "ephemeral-storage" "2Gi") - ) - "xlarge" (dict - "requests" (dict "cpu" "1.0" "memory" "3072Mi" "ephemeral-storage" "50Mi") - "limits" (dict "cpu" "3.0" "memory" "6144Mi" "ephemeral-storage" "2Gi") - ) - "2xlarge" (dict - "requests" (dict "cpu" "1.0" "memory" "3072Mi" "ephemeral-storage" "50Mi") - "limits" (dict "cpu" "6.0" "memory" "12288Mi" "ephemeral-storage" "2Gi") - ) - }} -{{- if hasKey $presets .type -}} -{{- index $presets .type | toYaml -}} -{{- else -}} -{{- printf "ERROR: Preset key '%s' invalid. Allowed values are %s" .type (join "," (keys $presets)) | fail -}} -{{- end -}} -{{- end -}} diff --git a/cw-infra-apps-nubes/cassandra/charts/common/templates/_secrets.tpl b/cw-infra-apps-nubes/cassandra/charts/common/templates/_secrets.tpl deleted file mode 100755 index bfef469..0000000 --- a/cw-infra-apps-nubes/cassandra/charts/common/templates/_secrets.tpl +++ /dev/null @@ -1,192 +0,0 @@ -{{/* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{/* vim: set filetype=mustache: */}} -{{/* -Generate secret name. - -Usage: -{{ include "common.secrets.name" (dict "existingSecret" .Values.path.to.the.existingSecret "defaultNameSuffix" "mySuffix" "context" $) }} - -Params: - - existingSecret - ExistingSecret/String - Optional. The path to the existing secrets in the values.yaml given by the user - to be used instead of the default one. Allows for it to be of type String (just the secret name) for backwards compatibility. - +info: https://github.com/bitnami/charts/tree/main/bitnami/common#existingsecret - - defaultNameSuffix - String - Optional. It is used only if we have several secrets in the same deployment. - - context - Dict - Required. The context for the template evaluation. -*/}} -{{- define "common.secrets.name" -}} -{{- $name := (include "common.names.fullname" .context) -}} - -{{- if .defaultNameSuffix -}} -{{- $name = printf "%s-%s" $name .defaultNameSuffix | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{- with .existingSecret -}} -{{- if not (typeIs "string" .) -}} -{{- with .name -}} -{{- $name = . -}} -{{- end -}} -{{- else -}} -{{- $name = . -}} -{{- end -}} -{{- end -}} - -{{- printf "%s" $name -}} -{{- end -}} - -{{/* -Generate secret key. - -Usage: -{{ include "common.secrets.key" (dict "existingSecret" .Values.path.to.the.existingSecret "key" "keyName") }} - -Params: - - existingSecret - ExistingSecret/String - Optional. The path to the existing secrets in the values.yaml given by the user - to be used instead of the default one. Allows for it to be of type String (just the secret name) for backwards compatibility. - +info: https://github.com/bitnami/charts/tree/main/bitnami/common#existingsecret - - key - String - Required. Name of the key in the secret. -*/}} -{{- define "common.secrets.key" -}} -{{- $key := .key -}} - -{{- if .existingSecret -}} - {{- if not (typeIs "string" .existingSecret) -}} - {{- if .existingSecret.keyMapping -}} - {{- $key = index .existingSecret.keyMapping $.key -}} - {{- end -}} - {{- end }} -{{- end -}} - -{{- printf "%s" $key -}} -{{- end -}} - -{{/* -Generate secret password or retrieve one if already created. - -Usage: -{{ include "common.secrets.passwords.manage" (dict "secret" "secret-name" "key" "keyName" "providedValues" (list "path.to.password1" "path.to.password2") "length" 10 "strong" false "chartName" "chartName" "honorProvidedValues" false "context" $) }} - -Params: - - secret - String - Required - Name of the 'Secret' resource where the password is stored. - - key - String - Required - Name of the key in the secret. - - providedValues - List - Required - The path to the validating value in the values.yaml, e.g: "mysql.password". Will pick first parameter with a defined value. - - length - int - Optional - Length of the generated random password. - - strong - Boolean - Optional - Whether to add symbols to the generated random password. - - chartName - String - Optional - Name of the chart used when said chart is deployed as a subchart. - - context - Context - Required - Parent context. - - failOnNew - Boolean - Optional - Default to true. If set to false, skip errors adding new keys to existing secrets. - - skipB64enc - Boolean - Optional - Default to false. If set to true, no the secret will not be base64 encrypted. - - skipQuote - Boolean - Optional - Default to false. If set to true, no quotes will be added around the secret. - - honorProvidedValues - Boolean - Optional - Default to false. If set to true, the values in providedValues have higher priority than an existing secret -The order in which this function returns a secret password: - 1. Password provided via the values.yaml if honorProvidedValues = true - (If one of the keys passed to the 'providedValues' parameter to this function is a valid path to a key in the values.yaml and has a value, the value of the first key with a value will be returned) - 2. Already existing 'Secret' resource - (If a 'Secret' resource is found under the name provided to the 'secret' parameter to this function and that 'Secret' resource contains a key with the name passed as the 'key' parameter to this function then the value of this existing secret password will be returned) - 3. Password provided via the values.yaml if honorProvidedValues = false - (If one of the keys passed to the 'providedValues' parameter to this function is a valid path to a key in the values.yaml and has a value, the value of the first key with a value will be returned) - 4. Randomly generated secret password - (A new random secret password with the length specified in the 'length' parameter will be generated and returned) - -*/}} -{{- define "common.secrets.passwords.manage" -}} - -{{- $password := "" }} -{{- $subchart := "" }} -{{- $chartName := default "" .chartName }} -{{- $passwordLength := default 10 .length }} -{{- $providedPasswordKey := include "common.utils.getKeyFromList" (dict "keys" .providedValues "context" $.context) }} -{{- $providedPasswordValue := include "common.utils.getValueFromKey" (dict "key" $providedPasswordKey "context" $.context) }} -{{- $secretData := (lookup "v1" "Secret" (include "common.names.namespace" .context) .secret).data }} -{{- if $secretData }} - {{- if hasKey $secretData .key }} - {{- $password = index $secretData .key | b64dec }} - {{- else if not (eq .failOnNew false) }} - {{- printf "\nPASSWORDS ERROR: The secret \"%s\" does not contain the key \"%s\"\n" .secret .key | fail -}} - {{- end -}} -{{- end }} - -{{- if and $providedPasswordValue .honorProvidedValues }} - {{- $password = $providedPasswordValue | toString }} -{{- end }} - -{{- if not $password }} - {{- if $providedPasswordValue }} - {{- $password = $providedPasswordValue | toString }} - {{- else }} - {{- if .context.Values.enabled }} - {{- $subchart = $chartName }} - {{- end -}} - - {{- if not (eq .failOnNew false) }} - {{- $requiredPassword := dict "valueKey" $providedPasswordKey "secret" .secret "field" .key "subchart" $subchart "context" $.context -}} - {{- $requiredPasswordError := include "common.validations.values.single.empty" $requiredPassword -}} - {{- $passwordValidationErrors := list $requiredPasswordError -}} - {{- include "common.errors.upgrade.passwords.empty" (dict "validationErrors" $passwordValidationErrors "context" $.context) -}} - {{- end }} - - {{- if .strong }} - {{- $subStr := list (lower (randAlpha 1)) (randNumeric 1) (upper (randAlpha 1)) | join "_" }} - {{- $password = randAscii $passwordLength }} - {{- $password = regexReplaceAllLiteral "\\W" $password "@" | substr 5 $passwordLength }} - {{- $password = printf "%s%s" $subStr $password | toString | shuffle }} - {{- else }} - {{- $password = randAlphaNum $passwordLength }} - {{- end }} - {{- end -}} -{{- end -}} -{{- if not .skipB64enc }} -{{- $password = $password | b64enc }} -{{- end -}} -{{- if .skipQuote -}} -{{- printf "%s" $password -}} -{{- else -}} -{{- printf "%s" $password | quote -}} -{{- end -}} -{{- end -}} - -{{/* -Reuses the value from an existing secret, otherwise sets its value to a default value. - -Usage: -{{ include "common.secrets.lookup" (dict "secret" "secret-name" "key" "keyName" "defaultValue" .Values.myValue "context" $) }} - -Params: - - secret - String - Required - Name of the 'Secret' resource where the password is stored. - - key - String - Required - Name of the key in the secret. - - defaultValue - String - Required - The path to the validating value in the values.yaml, e.g: "mysql.password". Will pick first parameter with a defined value. - - context - Context - Required - Parent context. - -*/}} -{{- define "common.secrets.lookup" -}} -{{- $value := "" -}} -{{- $secretData := (lookup "v1" "Secret" (include "common.names.namespace" .context) .secret).data -}} -{{- if and $secretData (hasKey $secretData .key) -}} - {{- $value = index $secretData .key -}} -{{- else if .defaultValue -}} - {{- $value = .defaultValue | toString | b64enc -}} -{{- end -}} -{{- if $value -}} -{{- printf "%s" $value -}} -{{- end -}} -{{- end -}} - -{{/* -Returns whether a previous generated secret already exists - -Usage: -{{ include "common.secrets.exists" (dict "secret" "secret-name" "context" $) }} - -Params: - - secret - String - Required - Name of the 'Secret' resource where the password is stored. - - context - Context - Required - Parent context. -*/}} -{{- define "common.secrets.exists" -}} -{{- $secret := (lookup "v1" "Secret" (include "common.names.namespace" .context) .secret) }} -{{- if $secret }} - {{- true -}} -{{- end -}} -{{- end -}} diff --git a/cw-infra-apps-nubes/cassandra/charts/common/templates/_storage.tpl b/cw-infra-apps-nubes/cassandra/charts/common/templates/_storage.tpl deleted file mode 100755 index aa75856..0000000 --- a/cw-infra-apps-nubes/cassandra/charts/common/templates/_storage.tpl +++ /dev/null @@ -1,21 +0,0 @@ -{{/* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{/* vim: set filetype=mustache: */}} - -{{/* -Return the proper Storage Class -{{ include "common.storage.class" ( dict "persistence" .Values.path.to.the.persistence "global" $) }} -*/}} -{{- define "common.storage.class" -}} -{{- $storageClass := (.global).storageClass | default .persistence.storageClass | default (.global).defaultStorageClass | default "" -}} -{{- if $storageClass -}} - {{- if (eq "-" $storageClass) -}} - {{- printf "storageClassName: \"\"" -}} - {{- else -}} - {{- printf "storageClassName: %s" $storageClass -}} - {{- end -}} -{{- end -}} -{{- end -}} diff --git a/cw-infra-apps-nubes/cassandra/charts/common/templates/_tplvalues.tpl b/cw-infra-apps-nubes/cassandra/charts/common/templates/_tplvalues.tpl deleted file mode 100755 index 06bd1ac..0000000 --- a/cw-infra-apps-nubes/cassandra/charts/common/templates/_tplvalues.tpl +++ /dev/null @@ -1,52 +0,0 @@ -{{/* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{/* vim: set filetype=mustache: */}} -{{/* -Renders a value that contains template perhaps with scope if the scope is present. -Usage: -{{ include "common.tplvalues.render" ( dict "value" .Values.path.to.the.Value "context" $ ) }} -{{ include "common.tplvalues.render" ( dict "value" .Values.path.to.the.Value "context" $ "scope" $app ) }} -*/}} -{{- define "common.tplvalues.render" -}} -{{- $value := typeIs "string" .value | ternary .value (.value | toYaml) }} -{{- if contains "{{" (toJson .value) }} - {{- if .scope }} - {{- tpl (cat "{{- with $.RelativeScope -}}" $value "{{- end }}") (merge (dict "RelativeScope" .scope) .context) }} - {{- else }} - {{- tpl $value .context }} - {{- end }} -{{- else }} - {{- $value }} -{{- end }} -{{- end -}} - -{{/* -Merge a list of values that contains template after rendering them. -Merge precedence is consistent with http://mainminds.github.io/sprig/dicts.html#merge-mustmerge -Usage: -{{ include "common.tplvalues.merge" ( dict "values" (list .Values.path.to.the.Value1 .Values.path.to.the.Value2) "context" $ ) }} -*/}} -{{- define "common.tplvalues.merge" -}} -{{- $dst := dict -}} -{{- range .values -}} -{{- $dst = include "common.tplvalues.render" (dict "value" . "context" $.context "scope" $.scope) | fromYaml | merge $dst -}} -{{- end -}} -{{ $dst | toYaml }} -{{- end -}} - -{{/* -Merge a list of values that contains template after rendering them. -Merge precedence is consistent with https://mainminds.github.io/sprig/dicts.html#mergeoverwrite-mustmergeoverwrite -Usage: -{{ include "common.tplvalues.merge-overwrite" ( dict "values" (list .Values.path.to.the.Value1 .Values.path.to.the.Value2) "context" $ ) }} -*/}} -{{- define "common.tplvalues.merge-overwrite" -}} -{{- $dst := dict -}} -{{- range .values -}} -{{- $dst = include "common.tplvalues.render" (dict "value" . "context" $.context "scope" $.scope) | fromYaml | mergeOverwrite $dst -}} -{{- end -}} -{{ $dst | toYaml }} -{{- end -}} diff --git a/cw-infra-apps-nubes/cassandra/charts/common/templates/_utils.tpl b/cw-infra-apps-nubes/cassandra/charts/common/templates/_utils.tpl deleted file mode 100755 index d53c74a..0000000 --- a/cw-infra-apps-nubes/cassandra/charts/common/templates/_utils.tpl +++ /dev/null @@ -1,77 +0,0 @@ -{{/* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{/* vim: set filetype=mustache: */}} -{{/* -Print instructions to get a secret value. -Usage: -{{ include "common.utils.secret.getvalue" (dict "secret" "secret-name" "field" "secret-value-field" "context" $) }} -*/}} -{{- define "common.utils.secret.getvalue" -}} -{{- $varname := include "common.utils.fieldToEnvVar" . -}} -export {{ $varname }}=$(kubectl get secret --namespace {{ include "common.names.namespace" .context | quote }} {{ .secret }} -o jsonpath="{.data.{{ .field }}}" | base64 -d) -{{- end -}} - -{{/* -Build env var name given a field -Usage: -{{ include "common.utils.fieldToEnvVar" dict "field" "my-password" }} -*/}} -{{- define "common.utils.fieldToEnvVar" -}} - {{- $fieldNameSplit := splitList "-" .field -}} - {{- $upperCaseFieldNameSplit := list -}} - - {{- range $fieldNameSplit -}} - {{- $upperCaseFieldNameSplit = append $upperCaseFieldNameSplit ( upper . ) -}} - {{- end -}} - - {{ join "_" $upperCaseFieldNameSplit }} -{{- end -}} - -{{/* -Gets a value from .Values given -Usage: -{{ include "common.utils.getValueFromKey" (dict "key" "path.to.key" "context" $) }} -*/}} -{{- define "common.utils.getValueFromKey" -}} -{{- $splitKey := splitList "." .key -}} -{{- $value := "" -}} -{{- $latestObj := $.context.Values -}} -{{- range $splitKey -}} - {{- if not $latestObj -}} - {{- printf "please review the entire path of '%s' exists in values" $.key | fail -}} - {{- end -}} - {{- $value = ( index $latestObj . ) -}} - {{- $latestObj = $value -}} -{{- end -}} -{{- printf "%v" (default "" $value) -}} -{{- end -}} - -{{/* -Returns first .Values key with a defined value or first of the list if all non-defined -Usage: -{{ include "common.utils.getKeyFromList" (dict "keys" (list "path.to.key1" "path.to.key2") "context" $) }} -*/}} -{{- define "common.utils.getKeyFromList" -}} -{{- $key := first .keys -}} -{{- $reverseKeys := reverse .keys }} -{{- range $reverseKeys }} - {{- $value := include "common.utils.getValueFromKey" (dict "key" . "context" $.context ) }} - {{- if $value -}} - {{- $key = . }} - {{- end -}} -{{- end -}} -{{- printf "%s" $key -}} -{{- end -}} - -{{/* -Checksum a template at "path" containing a *single* resource (ConfigMap,Secret) for use in pod annotations, excluding the metadata (see #18376). -Usage: -{{ include "common.utils.checksumTemplate" (dict "path" "/configmap.yaml" "context" $) }} -*/}} -{{- define "common.utils.checksumTemplate" -}} -{{- $obj := include (print .context.Template.BasePath .path) .context | fromYaml -}} -{{ omit $obj "apiVersion" "kind" "metadata" | toYaml | sha256sum }} -{{- end -}} diff --git a/cw-infra-apps-nubes/cassandra/charts/common/templates/_warnings.tpl b/cw-infra-apps-nubes/cassandra/charts/common/templates/_warnings.tpl deleted file mode 100755 index 62c44df..0000000 --- a/cw-infra-apps-nubes/cassandra/charts/common/templates/_warnings.tpl +++ /dev/null @@ -1,109 +0,0 @@ -{{/* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{/* vim: set filetype=mustache: */}} -{{/* -Warning about using rolling tag. -Usage: -{{ include "common.warnings.rollingTag" .Values.path.to.the.imageRoot }} -*/}} -{{- define "common.warnings.rollingTag" -}} - -{{- if and (contains "bitnami/" .repository) (not (.tag | toString | regexFind "-r\\d+$|sha256:")) }} -WARNING: Rolling tag detected ({{ .repository }}:{{ .tag }}), please note that it is strongly recommended to avoid using rolling tags in a production environment. -+info https://techdocs.broadcom.com/us/en/vmware-tanzu/application-catalog/tanzu-application-catalog/services/tac-doc/apps-tutorials-understand-rolling-tags-containers-index.html -{{- end }} -{{- end -}} - -{{/* -Warning about replaced images from the original. -Usage: -{{ include "common.warnings.modifiedImages" (dict "images" (list .Values.path.to.the.imageRoot) "context" $) }} -*/}} -{{- define "common.warnings.modifiedImages" -}} -{{- $affectedImages := list -}} -{{- $printMessage := false -}} -{{- $originalImages := .context.Chart.Annotations.images -}} -{{- range .images -}} - {{- $fullImageName := printf (printf "%s/%s:%s" .registry .repository .tag) -}} - {{- if not (contains $fullImageName $originalImages) }} - {{- $affectedImages = append $affectedImages (printf "%s/%s:%s" .registry .repository .tag) -}} - {{- $printMessage = true -}} - {{- end -}} -{{- end -}} -{{- if $printMessage }} - -⚠ SECURITY WARNING: Original containers have been substituted. This Helm chart was designed, tested, and validated on multiple platforms using a specific set of Bitnami and Tanzu Application Catalog containers. Substituting other containers is likely to cause degraded security and performance, broken chart features, and missing environment variables. - -Substituted images detected: -{{- range $affectedImages }} - - {{ . }} -{{- end }} -{{- end -}} -{{- end -}} - -{{/* -Warning about not setting the resource object in all deployments. -Usage: -{{ include "common.warnings.resources" (dict "sections" (list "path1" "path2") context $) }} -Example: -{{- include "common.warnings.resources" (dict "sections" (list "csiProvider.provider" "server" "volumePermissions" "") "context" $) }} -The list in the example assumes that the following values exist: - - csiProvider.provider.resources - - server.resources - - volumePermissions.resources - - resources -*/}} -{{- define "common.warnings.resources" -}} -{{- $values := .context.Values -}} -{{- $printMessage := false -}} -{{ $affectedSections := list -}} -{{- range .sections -}} - {{- if eq . "" -}} - {{/* Case where the resources section is at the root (one main deployment in the chart) */}} - {{- if not (index $values "resources") -}} - {{- $affectedSections = append $affectedSections "resources" -}} - {{- $printMessage = true -}} - {{- end -}} - {{- else -}} - {{/* Case where the are multiple resources sections (more than one main deployment in the chart) */}} - {{- $keys := split "." . -}} - {{/* We iterate through the different levels until arriving to the resource section. Example: a.b.c.resources */}} - {{- $section := $values -}} - {{- range $keys -}} - {{- $section = index $section . -}} - {{- end -}} - {{- if not (index $section "resources") -}} - {{/* If the section has enabled=false or replicaCount=0, do not include it */}} - {{- if and (hasKey $section "enabled") -}} - {{- if index $section "enabled" -}} - {{/* enabled=true */}} - {{- $affectedSections = append $affectedSections (printf "%s.resources" .) -}} - {{- $printMessage = true -}} - {{- end -}} - {{- else if and (hasKey $section "replicaCount") -}} - {{/* We need a casting to int because number 0 is not treated as an int by default */}} - {{- if (gt (index $section "replicaCount" | int) 0) -}} - {{/* replicaCount > 0 */}} - {{- $affectedSections = append $affectedSections (printf "%s.resources" .) -}} - {{- $printMessage = true -}} - {{- end -}} - {{- else -}} - {{/* Default case, add it to the affected sections */}} - {{- $affectedSections = append $affectedSections (printf "%s.resources" .) -}} - {{- $printMessage = true -}} - {{- end -}} - {{- end -}} - {{- end -}} -{{- end -}} -{{- if $printMessage }} - -WARNING: There are "resources" sections in the chart not set. Using "resourcesPreset" is not recommended for production. For production installations, please set the following values according to your workload needs: -{{- range $affectedSections }} - - {{ . }} -{{- end }} -+info https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ -{{- end -}} -{{- end -}} diff --git a/cw-infra-apps-nubes/cassandra/charts/common/templates/validations/_cassandra.tpl b/cw-infra-apps-nubes/cassandra/charts/common/templates/validations/_cassandra.tpl deleted file mode 100755 index f8fd213..0000000 --- a/cw-infra-apps-nubes/cassandra/charts/common/templates/validations/_cassandra.tpl +++ /dev/null @@ -1,51 +0,0 @@ -{{/* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{/* vim: set filetype=mustache: */}} -{{/* -Auxiliary function to get the right value for existingSecret. - -Usage: -{{ include "common.cassandra.values.existingSecret" (dict "context" $) }} -Params: - - subchart - Boolean - Optional. Whether Cassandra is used as subchart or not. Default: false -*/}} -{{- define "common.cassandra.values.existingSecret" -}} - {{- if .subchart -}} - {{- .context.Values.cassandra.dbUser.existingSecret | quote -}} - {{- else -}} - {{- .context.Values.dbUser.existingSecret | quote -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for enabled cassandra. - -Usage: -{{ include "common.cassandra.values.enabled" (dict "context" $) }} -*/}} -{{- define "common.cassandra.values.enabled" -}} - {{- if .subchart -}} - {{- printf "%v" .context.Values.cassandra.enabled -}} - {{- else -}} - {{- printf "%v" (not .context.Values.enabled) -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for the key dbUser - -Usage: -{{ include "common.cassandra.values.key.dbUser" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether Cassandra is used as subchart or not. Default: false -*/}} -{{- define "common.cassandra.values.key.dbUser" -}} - {{- if .subchart -}} - cassandra.dbUser - {{- else -}} - dbUser - {{- end -}} -{{- end -}} diff --git a/cw-infra-apps-nubes/cassandra/charts/common/templates/validations/_mariadb.tpl b/cw-infra-apps-nubes/cassandra/charts/common/templates/validations/_mariadb.tpl deleted file mode 100755 index 6ea8c0f..0000000 --- a/cw-infra-apps-nubes/cassandra/charts/common/templates/validations/_mariadb.tpl +++ /dev/null @@ -1,108 +0,0 @@ -{{/* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{/* vim: set filetype=mustache: */}} -{{/* -Validate MariaDB required passwords are not empty. - -Usage: -{{ include "common.validations.values.mariadb.passwords" (dict "secret" "secretName" "subchart" false "context" $) }} -Params: - - secret - String - Required. Name of the secret where MariaDB values are stored, e.g: "mysql-passwords-secret" - - subchart - Boolean - Optional. Whether MariaDB is used as subchart or not. Default: false -*/}} -{{- define "common.validations.values.mariadb.passwords" -}} - {{- $existingSecret := include "common.mariadb.values.auth.existingSecret" . -}} - {{- $enabled := include "common.mariadb.values.enabled" . -}} - {{- $architecture := include "common.mariadb.values.architecture" . -}} - {{- $authPrefix := include "common.mariadb.values.key.auth" . -}} - {{- $valueKeyRootPassword := printf "%s.rootPassword" $authPrefix -}} - {{- $valueKeyUsername := printf "%s.username" $authPrefix -}} - {{- $valueKeyPassword := printf "%s.password" $authPrefix -}} - {{- $valueKeyReplicationPassword := printf "%s.replicationPassword" $authPrefix -}} - - {{- if and (or (not $existingSecret) (eq $existingSecret "\"\"")) (eq $enabled "true") -}} - {{- $requiredPasswords := list -}} - - {{- $requiredRootPassword := dict "valueKey" $valueKeyRootPassword "secret" .secret "field" "mariadb-root-password" -}} - {{- $requiredPasswords = append $requiredPasswords $requiredRootPassword -}} - - {{- $valueUsername := include "common.utils.getValueFromKey" (dict "key" $valueKeyUsername "context" .context) }} - {{- if not (empty $valueUsername) -}} - {{- $requiredPassword := dict "valueKey" $valueKeyPassword "secret" .secret "field" "mariadb-password" -}} - {{- $requiredPasswords = append $requiredPasswords $requiredPassword -}} - {{- end -}} - - {{- if (eq $architecture "replication") -}} - {{- $requiredReplicationPassword := dict "valueKey" $valueKeyReplicationPassword "secret" .secret "field" "mariadb-replication-password" -}} - {{- $requiredPasswords = append $requiredPasswords $requiredReplicationPassword -}} - {{- end -}} - - {{- include "common.validations.values.multiple.empty" (dict "required" $requiredPasswords "context" .context) -}} - - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for existingSecret. - -Usage: -{{ include "common.mariadb.values.auth.existingSecret" (dict "context" $) }} -Params: - - subchart - Boolean - Optional. Whether MariaDB is used as subchart or not. Default: false -*/}} -{{- define "common.mariadb.values.auth.existingSecret" -}} - {{- if .subchart -}} - {{- .context.Values.mariadb.auth.existingSecret | quote -}} - {{- else -}} - {{- .context.Values.auth.existingSecret | quote -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for enabled mariadb. - -Usage: -{{ include "common.mariadb.values.enabled" (dict "context" $) }} -*/}} -{{- define "common.mariadb.values.enabled" -}} - {{- if .subchart -}} - {{- printf "%v" .context.Values.mariadb.enabled -}} - {{- else -}} - {{- printf "%v" (not .context.Values.enabled) -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for architecture - -Usage: -{{ include "common.mariadb.values.architecture" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether MariaDB is used as subchart or not. Default: false -*/}} -{{- define "common.mariadb.values.architecture" -}} - {{- if .subchart -}} - {{- .context.Values.mariadb.architecture -}} - {{- else -}} - {{- .context.Values.architecture -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for the key auth - -Usage: -{{ include "common.mariadb.values.key.auth" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether MariaDB is used as subchart or not. Default: false -*/}} -{{- define "common.mariadb.values.key.auth" -}} - {{- if .subchart -}} - mariadb.auth - {{- else -}} - auth - {{- end -}} -{{- end -}} diff --git a/cw-infra-apps-nubes/cassandra/charts/common/templates/validations/_mongodb.tpl b/cw-infra-apps-nubes/cassandra/charts/common/templates/validations/_mongodb.tpl deleted file mode 100755 index e678a6d..0000000 --- a/cw-infra-apps-nubes/cassandra/charts/common/templates/validations/_mongodb.tpl +++ /dev/null @@ -1,67 +0,0 @@ -{{/* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{/* vim: set filetype=mustache: */}} -{{/* -Auxiliary function to get the right value for existingSecret. - -Usage: -{{ include "common.mongodb.values.auth.existingSecret" (dict "context" $) }} -Params: - - subchart - Boolean - Optional. Whether MongoDb is used as subchart or not. Default: false -*/}} -{{- define "common.mongodb.values.auth.existingSecret" -}} - {{- if .subchart -}} - {{- .context.Values.mongodb.auth.existingSecret | quote -}} - {{- else -}} - {{- .context.Values.auth.existingSecret | quote -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for enabled mongodb. - -Usage: -{{ include "common.mongodb.values.enabled" (dict "context" $) }} -*/}} -{{- define "common.mongodb.values.enabled" -}} - {{- if .subchart -}} - {{- printf "%v" .context.Values.mongodb.enabled -}} - {{- else -}} - {{- printf "%v" (not .context.Values.enabled) -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for the key auth - -Usage: -{{ include "common.mongodb.values.key.auth" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether MongoDB® is used as subchart or not. Default: false -*/}} -{{- define "common.mongodb.values.key.auth" -}} - {{- if .subchart -}} - mongodb.auth - {{- else -}} - auth - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for architecture - -Usage: -{{ include "common.mongodb.values.architecture" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether MongoDB® is used as subchart or not. Default: false -*/}} -{{- define "common.mongodb.values.architecture" -}} - {{- if .subchart -}} - {{- .context.Values.mongodb.architecture -}} - {{- else -}} - {{- .context.Values.architecture -}} - {{- end -}} -{{- end -}} diff --git a/cw-infra-apps-nubes/cassandra/charts/common/templates/validations/_mysql.tpl b/cw-infra-apps-nubes/cassandra/charts/common/templates/validations/_mysql.tpl deleted file mode 100755 index fbb65c3..0000000 --- a/cw-infra-apps-nubes/cassandra/charts/common/templates/validations/_mysql.tpl +++ /dev/null @@ -1,67 +0,0 @@ -{{/* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{/* vim: set filetype=mustache: */}} -{{/* -Auxiliary function to get the right value for existingSecret. - -Usage: -{{ include "common.mysql.values.auth.existingSecret" (dict "context" $) }} -Params: - - subchart - Boolean - Optional. Whether MySQL is used as subchart or not. Default: false -*/}} -{{- define "common.mysql.values.auth.existingSecret" -}} - {{- if .subchart -}} - {{- .context.Values.mysql.auth.existingSecret | quote -}} - {{- else -}} - {{- .context.Values.auth.existingSecret | quote -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for enabled mysql. - -Usage: -{{ include "common.mysql.values.enabled" (dict "context" $) }} -*/}} -{{- define "common.mysql.values.enabled" -}} - {{- if .subchart -}} - {{- printf "%v" .context.Values.mysql.enabled -}} - {{- else -}} - {{- printf "%v" (not .context.Values.enabled) -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for architecture - -Usage: -{{ include "common.mysql.values.architecture" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether MySQL is used as subchart or not. Default: false -*/}} -{{- define "common.mysql.values.architecture" -}} - {{- if .subchart -}} - {{- .context.Values.mysql.architecture -}} - {{- else -}} - {{- .context.Values.architecture -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for the key auth - -Usage: -{{ include "common.mysql.values.key.auth" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether MySQL is used as subchart or not. Default: false -*/}} -{{- define "common.mysql.values.key.auth" -}} - {{- if .subchart -}} - mysql.auth - {{- else -}} - auth - {{- end -}} -{{- end -}} diff --git a/cw-infra-apps-nubes/cassandra/charts/common/templates/validations/_postgresql.tpl b/cw-infra-apps-nubes/cassandra/charts/common/templates/validations/_postgresql.tpl deleted file mode 100755 index 51d4716..0000000 --- a/cw-infra-apps-nubes/cassandra/charts/common/templates/validations/_postgresql.tpl +++ /dev/null @@ -1,105 +0,0 @@ -{{/* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{/* vim: set filetype=mustache: */}} -{{/* -Auxiliary function to decide whether evaluate global values. - -Usage: -{{ include "common.postgresql.values.use.global" (dict "key" "key-of-global" "context" $) }} -Params: - - key - String - Required. Field to be evaluated within global, e.g: "existingSecret" -*/}} -{{- define "common.postgresql.values.use.global" -}} - {{- if .context.Values.global -}} - {{- if .context.Values.global.postgresql -}} - {{- index .context.Values.global.postgresql .key | quote -}} - {{- end -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for existingSecret. - -Usage: -{{ include "common.postgresql.values.existingSecret" (dict "context" $) }} -*/}} -{{- define "common.postgresql.values.existingSecret" -}} - {{- $globalValue := include "common.postgresql.values.use.global" (dict "key" "existingSecret" "context" .context) -}} - - {{- if .subchart -}} - {{- default (.context.Values.postgresql.existingSecret | quote) $globalValue -}} - {{- else -}} - {{- default (.context.Values.existingSecret | quote) $globalValue -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for enabled postgresql. - -Usage: -{{ include "common.postgresql.values.enabled" (dict "context" $) }} -*/}} -{{- define "common.postgresql.values.enabled" -}} - {{- if .subchart -}} - {{- printf "%v" .context.Values.postgresql.enabled -}} - {{- else -}} - {{- printf "%v" (not .context.Values.enabled) -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for the key postgressPassword. - -Usage: -{{ include "common.postgresql.values.key.postgressPassword" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether postgresql is used as subchart or not. Default: false -*/}} -{{- define "common.postgresql.values.key.postgressPassword" -}} - {{- $globalValue := include "common.postgresql.values.use.global" (dict "key" "postgresqlUsername" "context" .context) -}} - - {{- if not $globalValue -}} - {{- if .subchart -}} - postgresql.postgresqlPassword - {{- else -}} - postgresqlPassword - {{- end -}} - {{- else -}} - global.postgresql.postgresqlPassword - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for enabled.replication. - -Usage: -{{ include "common.postgresql.values.enabled.replication" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether postgresql is used as subchart or not. Default: false -*/}} -{{- define "common.postgresql.values.enabled.replication" -}} - {{- if .subchart -}} - {{- printf "%v" .context.Values.postgresql.replication.enabled -}} - {{- else -}} - {{- printf "%v" .context.Values.replication.enabled -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right value for the key replication.password. - -Usage: -{{ include "common.postgresql.values.key.replicationPassword" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether postgresql is used as subchart or not. Default: false -*/}} -{{- define "common.postgresql.values.key.replicationPassword" -}} - {{- if .subchart -}} - postgresql.replication.password - {{- else -}} - replication.password - {{- end -}} -{{- end -}} diff --git a/cw-infra-apps-nubes/cassandra/charts/common/templates/validations/_redis.tpl b/cw-infra-apps-nubes/cassandra/charts/common/templates/validations/_redis.tpl deleted file mode 100755 index 9fedfef..0000000 --- a/cw-infra-apps-nubes/cassandra/charts/common/templates/validations/_redis.tpl +++ /dev/null @@ -1,48 +0,0 @@ -{{/* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - - -{{/* vim: set filetype=mustache: */}} -{{/* -Auxiliary function to get the right value for enabled redis. - -Usage: -{{ include "common.redis.values.enabled" (dict "context" $) }} -*/}} -{{- define "common.redis.values.enabled" -}} - {{- if .subchart -}} - {{- printf "%v" .context.Values.redis.enabled -}} - {{- else -}} - {{- printf "%v" (not .context.Values.enabled) -}} - {{- end -}} -{{- end -}} - -{{/* -Auxiliary function to get the right prefix path for the values - -Usage: -{{ include "common.redis.values.key.prefix" (dict "subchart" "true" "context" $) }} -Params: - - subchart - Boolean - Optional. Whether redis is used as subchart or not. Default: false -*/}} -{{- define "common.redis.values.keys.prefix" -}} - {{- if .subchart -}}redis.{{- else -}}{{- end -}} -{{- end -}} - -{{/* -Checks whether the redis chart's includes the standarizations (version >= 14) - -Usage: -{{ include "common.redis.values.standarized.version" (dict "context" $) }} -*/}} -{{- define "common.redis.values.standarized.version" -}} - - {{- $standarizedAuth := printf "%s%s" (include "common.redis.values.keys.prefix" .) "auth" -}} - {{- $standarizedAuthValues := include "common.utils.getValueFromKey" (dict "key" $standarizedAuth "context" .context) }} - - {{- if $standarizedAuthValues -}} - {{- true -}} - {{- end -}} -{{- end -}} diff --git a/cw-infra-apps-nubes/cassandra/charts/common/templates/validations/_validations.tpl b/cw-infra-apps-nubes/cassandra/charts/common/templates/validations/_validations.tpl deleted file mode 100755 index 7cdee61..0000000 --- a/cw-infra-apps-nubes/cassandra/charts/common/templates/validations/_validations.tpl +++ /dev/null @@ -1,51 +0,0 @@ -{{/* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{/* vim: set filetype=mustache: */}} -{{/* -Validate values must not be empty. - -Usage: -{{- $validateValueConf00 := (dict "valueKey" "path.to.value" "secret" "secretName" "field" "password-00") -}} -{{- $validateValueConf01 := (dict "valueKey" "path.to.value" "secret" "secretName" "field" "password-01") -}} -{{ include "common.validations.values.empty" (dict "required" (list $validateValueConf00 $validateValueConf01) "context" $) }} - -Validate value params: - - valueKey - String - Required. The path to the validating value in the values.yaml, e.g: "mysql.password" - - secret - String - Optional. Name of the secret where the validating value is generated/stored, e.g: "mysql-passwords-secret" - - field - String - Optional. Name of the field in the secret data, e.g: "mysql-password" -*/}} -{{- define "common.validations.values.multiple.empty" -}} - {{- range .required -}} - {{- include "common.validations.values.single.empty" (dict "valueKey" .valueKey "secret" .secret "field" .field "context" $.context) -}} - {{- end -}} -{{- end -}} - -{{/* -Validate a value must not be empty. - -Usage: -{{ include "common.validations.value.empty" (dict "valueKey" "mariadb.password" "secret" "secretName" "field" "my-password" "subchart" "subchart" "context" $) }} - -Validate value params: - - valueKey - String - Required. The path to the validating value in the values.yaml, e.g: "mysql.password" - - secret - String - Optional. Name of the secret where the validating value is generated/stored, e.g: "mysql-passwords-secret" - - field - String - Optional. Name of the field in the secret data, e.g: "mysql-password" - - subchart - String - Optional - Name of the subchart that the validated password is part of. -*/}} -{{- define "common.validations.values.single.empty" -}} - {{- $value := include "common.utils.getValueFromKey" (dict "key" .valueKey "context" .context) }} - {{- $subchart := ternary "" (printf "%s." .subchart) (empty .subchart) }} - - {{- if not $value -}} - {{- $varname := "my-value" -}} - {{- $getCurrentValue := "" -}} - {{- if and .secret .field -}} - {{- $varname = include "common.utils.fieldToEnvVar" . -}} - {{- $getCurrentValue = printf " To get the current value:\n\n %s\n" (include "common.utils.secret.getvalue" .) -}} - {{- end -}} - {{- printf "\n '%s' must not be empty, please add '--set %s%s=$%s' to the command.%s" .valueKey $subchart .valueKey $varname $getCurrentValue -}} - {{- end -}} -{{- end -}} diff --git a/cw-infra-apps-nubes/cassandra/charts/common/values.yaml b/cw-infra-apps-nubes/cassandra/charts/common/values.yaml deleted file mode 100755 index de2cac5..0000000 --- a/cw-infra-apps-nubes/cassandra/charts/common/values.yaml +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -## bitnami/common -## It is required by CI/CD tools and processes. -## @skip exampleValue -## -exampleValue: common-chart diff --git a/cw-infra-apps-nubes/cassandra/templates/NOTES.txt b/cw-infra-apps-nubes/cassandra/templates/NOTES.txt deleted file mode 100755 index b4765ef..0000000 --- a/cw-infra-apps-nubes/cassandra/templates/NOTES.txt +++ /dev/null @@ -1,96 +0,0 @@ -CHART NAME: {{ .Chart.Name }} -CHART VERSION: {{ .Chart.Version }} -APP VERSION: {{ .Chart.AppVersion }} - -Did you know there are enterprise versions of the Bitnami catalog? For enhanced secure software supply chain features, unlimited pulls from Docker, LTS support, or application customization, see Bitnami Premium or Tanzu Application Catalog. See https://www.arrow.com/globalecs/na/vendors/bitnami for more information. - -{{- $cassandraPasswordKey := ( include "common.secrets.key" (dict "existingSecret" .Values.dbUser.existingSecret "key" "cassandra-password") ) -}} -{{- $cassandraSecretName := ( include "common.secrets.name" (dict "existingSecret" .Values.dbUser.existingSecret "context" $) ) -}} - -** Please be patient while the chart is being deployed ** - -{{- if .Values.diagnosticMode.enabled }} -The chart has been deployed in diagnostic mode. All probes have been disabled and the command has been overwritten with: - - command: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.command "context" $) | nindent 4 }} - args: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.args "context" $) | nindent 4 }} - -Get the list of pods by executing: - - kubectl get pods --namespace {{ include "common.names.namespace" . }} -l app.kubernetes.io/instance={{ .Release.Name }} - -Access the pod you want to debug by executing - - kubectl exec --namespace {{ include "common.names.namespace" . }} -ti -- bash - -In order to replicate the container startup scripts execute this command: - - /opt/bitnami/scripts/cassandra/entrypoint.sh /opt/bitnami/scripts/cassandra/run.sh - -{{- else }} - -Cassandra can be accessed through the following URLs from within the cluster: - - - CQL: {{ include "common.names.fullname" . }}.{{ include "common.names.namespace" . }}.svc.{{ .Values.clusterDomain }}:{{ .Values.service.ports.cql }} - -To get your password run: - - {{ include "common.utils.secret.getvalue" (dict "secret" $cassandraSecretName "field" $cassandraPasswordKey "context" $) }} - -Check the cluster status by running: - - kubectl exec -it --namespace {{ include "common.names.namespace" . }} $(kubectl get pods --namespace {{ include "common.names.namespace" . }} -l app.kubernetes.io/name={{ include "common.names.name" . }},app.kubernetes.io/instance={{ .Release.Name }} -o jsonpath='{.items[0].metadata.name}') nodetool status - -To connect to your Cassandra cluster using CQL: - -1. Run a Cassandra pod that you can use as a client: - - kubectl run --namespace {{ include "common.names.namespace" . }} {{ include "common.names.fullname" . }}-client --rm --tty -i --restart='Never' \ - --env CASSANDRA_PASSWORD=$CASSANDRA_PASSWORD \ - {{ if and (.Values.networkPolicy.enabled) (not .Values.networkPolicy.allowExternal) }}--labels="{{ include "common.names.name" . }}-client=true"{{ end }} \ - --image {{ include "cassandra.image" . }} -- bash - -2. Connect using the cqlsh client: - - cqlsh -u {{ .Values.dbUser.user }} -p $CASSANDRA_PASSWORD {{ include "common.names.fullname" . }} - -{{ if and (.Values.networkPolicy.enabled) (not .Values.networkPolicy.allowExternal) }} -Note: Since NetworkPolicy is enabled, only pods with the label below will be able to connect to Cassandra: - - "{{ include "common.names.fullname" . }}-client=true" - -{{- else -}} - -To connect to your database from outside the cluster execute the following commands: - -{{- if contains "NodePort" .Values.service.type }} - - export NODE_IP=$(kubectl get nodes --namespace {{ include "common.names.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}") - export NODE_PORT=$(kubectl get --namespace {{ include "common.names.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.names.fullname" . }}) - - cqlsh -u {{ .Values.dbUser.user }} -p $CASSANDRA_PASSWORD $NODE_IP $NODE_PORT - -{{- else if contains "LoadBalancer" .Values.service.type }} - - NOTE: It may take a few minutes for the LoadBalancer IP to be available. - Watch the status with: 'kubectl get svc --namespace {{ include "common.names.namespace" . }} -w {{ include "common.names.fullname" . }}' - - export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.names.namespace" . }} {{ include "common.names.fullname" . }} --template "{{ "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}" }}") - cqlsh -u {{ .Values.dbUser.user }} -p $CASSANDRA_PASSWORD $SERVICE_IP - -{{- else if contains "ClusterIP" .Values.service.type }} - - kubectl port-forward --namespace {{ include "common.names.namespace" . }} svc/{{ include "common.names.fullname" . }} {{ .Values.service.ports.cql }}:{{ .Values.service.ports.cql }} & - cqlsh -u {{ .Values.dbUser.user }} -p $CASSANDRA_PASSWORD 127.0.0.1 {{ .Values.service.ports.cql }} - -{{- end }} -{{- end }} -{{- end }} - -{{- include "common.warnings.rollingTag" .Values.image }} -{{- include "common.warnings.rollingTag" .Values.metrics.image }} -{{- include "common.warnings.rollingTag" .Values.volumePermissions.image }} -{{- include "cassandra.validateValues" . }} -{{- include "common.warnings.resources" (dict "sections" (list "metrics" "" "tls" "volumePermissions") "context" $) }} -{{- include "cassandra.warnings.jvm" . }}{{- include "common.warnings.modifiedImages" (dict "images" (list .Values.image .Values.volumePermissions.image .Values.metrics.image) "context" $) }} -{{- include "common.errors.insecureImages" (dict "images" (list .Values.image .Values.volumePermissions.image .Values.metrics.image) "context" $) }} diff --git a/cw-infra-apps-nubes/cassandra/templates/_helpers.tpl b/cw-infra-apps-nubes/cassandra/templates/_helpers.tpl deleted file mode 100755 index 0d271d9..0000000 --- a/cw-infra-apps-nubes/cassandra/templates/_helpers.tpl +++ /dev/null @@ -1,282 +0,0 @@ -{{/* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{/* vim: set filetype=mustache: */}} - -{{/* -Return the proper Cassandra image name -*/}} -{{- define "cassandra.image" -}} -{{ include "common.images.image" (dict "imageRoot" .Values.image "global" .Values.global) }} -{{- end -}} - -{{/* -Return the proper metrics image name -*/}} -{{- define "cassandra.metrics.image" -}} -{{ include "common.images.image" (dict "imageRoot" .Values.metrics.image "global" .Values.global) }} -{{- end -}} - -{{/* -Return the proper image name (for the init container volume-permissions image) -*/}} -{{- define "cassandra.volumePermissions.image" -}} -{{ include "common.images.image" (dict "imageRoot" .Values.volumePermissions.image "global" .Values.global) }} -{{- end -}} - -{{/* -Return the proper Docker Image Registry Secret Names -*/}} -{{- define "cassandra.imagePullSecrets" -}} -{{ include "common.images.pullSecrets" (dict "images" (list .Values.image .Values.metrics.image .Values.volumePermissions.image) "global" .Values.global) }} -{{- end -}} - -{{/* -Create the name of the service account to use -*/}} -{{- define "cassandra.serviceAccountName" -}} -{{- if .Values.serviceAccount.create -}} - {{ default (include "common.names.fullname" .) .Values.serviceAccount.name }} -{{- else -}} - {{ default "default" .Values.serviceAccount.name }} -{{- end -}} -{{- end -}} - -{{/* -Return the list of Cassandra seed nodes -*/}} -{{- define "cassandra.seeds" -}} -{{- $seeds := list }} -{{- $fullname := include "common.names.fullname" . }} -{{- $releaseNamespace := include "common.names.namespace" . }} -{{- $clusterDomain := .Values.clusterDomain }} -{{- $seedCount := .Values.cluster.seedCount | int }} -{{- range $e, $i := until $seedCount }} -{{- $seeds = append $seeds (printf "%s-%d.%s-headless.%s.svc.%s" $fullname $i $fullname $releaseNamespace $clusterDomain) }} -{{- end }} -{{- range .Values.cluster.extraSeeds }} -{{- $seeds = append $seeds . }} -{{- end }} -{{- join "," $seeds }} -{{- end -}} - -{{/* -Compile all warnings into a single message, and call fail. -*/}} -{{- define "cassandra.validateValues" -}} -{{- $messages := list -}} -{{- $messages := append $messages (include "cassandra.validateValues.seedCount" .) -}} -{{- $messages := append $messages (include "cassandra.validateValues.tls" .) -}} -{{- $messages := without $messages "" -}} -{{- $message := join "\n" $messages -}} - -{{- if $message -}} -{{- printf "\nVALUES VALIDATION:\n%s" $message | fail -}} -{{- end -}} -{{- end -}} - -{{/* Validate values of Cassandra - Number of seed nodes */}} -{{- define "cassandra.validateValues.seedCount" -}} -{{- $replicaCount := int .Values.replicaCount }} -{{- $seedCount := int .Values.cluster.seedCount }} -{{- if or (lt $seedCount 1) (gt $seedCount $replicaCount) }} -cassandra: cluster.seedCount - - Number of seed nodes must be greater or equal than 1 and less or - equal to `replicaCount`. -{{- end -}} -{{- end -}} - -{{/* Validate values of Cassandra - Tls enabled */}} -{{- define "cassandra.validateValues.tls" -}} -{{- if and (include "cassandra.tlsEncryption" .) (not .Values.tls.autoGenerated) (not .Values.tls.existingSecret) (not .Values.tls.certificatesSecret) }} -cassandra: tls.enabled - In order to enable TLS, you also need to provide - an existing secret containing the Keystore and Truststore or - enable auto-generated certificates. -{{- end -}} -{{- end -}} - -{{/* vim: set filetype=mustache: */}} -{{/* -Return the proper Commit Storage Class -{{ include "cassandra.commitstorage.class" ( dict "persistence" .Values.path.to.the.persistence "global" $) }} -*/}} -{{- define "cassandra.commitstorage.class" -}} -{{- $storageClass := default .persistence.commitStorageClass | default (.global).defaultStorageClass | default "" -}} - -{{- if $storageClass -}} - {{- if (eq "-" $storageClass) -}} - {{- printf "storageClassName: \"\"" -}} - {{- else }} - {{- printf "storageClassName: %s" $storageClass -}} - {{- end -}} -{{- end -}} -{{- end -}} - -{{/* -Return true if encryption via TLS for client connections should be configured -*/}} -{{- define "cassandra.client.tlsEncryption" -}} -{{- if (or .Values.tls.clientEncryption .Values.cluster.clientEncryption) -}} - {{- true -}} -{{- end -}} -{{- end -}} - -{{/* -Return true if encryption via TLS for internode communication connections should be configured -*/}} -{{- define "cassandra.internode.tlsEncryption" -}} -{{- if (ne .Values.tls.internodeEncryption "none") -}} - {{- printf "%s" .Values.tls.internodeEncryption -}} -{{- else -}} - {{- printf "none" -}} -{{- end -}} -{{- end -}} - -{{/* -Return true if encryption via TLS should be configured -*/}} -{{- define "cassandra.tlsEncryption" -}} -{{- if or (include "cassandra.client.tlsEncryption" . ) ( ne "none" (include "cassandra.internode.tlsEncryption" . )) -}} - {{- true -}} -{{- end -}} -{{- end -}} - -{{/* -Convert memory to M -Usage: -{{ include "cassandra.memory.convertToM" (dict "value" "3Gi") }} -*/}} -{{- define "cassandra.memory.convertToM" -}} -{{- $res := 0 -}} -{{- if regexMatch "G" .value -}} -{{- /* Multiply by 1000 if it is Gigabytes */ -}} -{{- $res = regexFind "[0-9.]+" .value | float64 | mulf 1000 | int -}} -{{- else -}} -{{- /* Assume M for the rest, so simply extract the number and convert to int */ -}} -{{- $res = regexFind "[0-9]+" .value | int -}} -{{- end -}} -{{- $res -}} -{{- end -}} - -{{/* -Return memory limit if resources or resourcesPreset has been set (in M) -*/}} -{{- define "cassandra.memory.getLimitInM" -}} -{{- $res := "" -}} -{{- if .Values.resources -}} - {{- /* We need to go step by step to avoid nil pointer exceptions */ -}} - {{- if .Values.resources.limits -}} - {{- if .Values.resources.limits.memory -}} - {{- $res = .Values.resources.limits.memory -}} - {{- end -}} - {{- end }} -{{- else if (ne .Values.resourcesPreset "none") -}} - {{- $preset := include "common.resources.preset" (dict "type" .Values.resourcesPreset) | fromYaml -}} - {{- $res = $preset.limits.memory -}} -{{- end -}} -{{- if $res -}} - {{- /* Convert to M */ -}} - {{- include "cassandra.memory.convertToM" (dict "value" $res) -}} -{{- end -}} -{{- end -}} - -{{/* -Calculate Max Heap Size based on the given values -*/}} -{{- define "cassandra.memory.calculateMaxHeapSize" -}} -{{- if .Values.jvm.maxHeapSize -}} -{{- /* Honor value explicitly set */ -}} -{{- print .Values.jvm.maxHeapSize -}} -{{- else -}} -{{- /* Calculate based on resources set */ -}} -{{- /* Reference: https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gc-ergonomics.html */ -}} -{{- $res := include "cassandra.memory.getLimitInM" . -}} -{{- $res = div $res 4 | min 1000 -}} -{{- printf "%vM" $res -}} -{{- end -}} -{{- end -}} - -{{/* -Calculate New Heap Size based on the given values -*/}} -{{- define "cassandra.memory.calculateNewHeapSize" -}} -{{- if .Values.jvm.newHeapSize -}} -{{- /* Honor value explicitly set */ -}} -{{- print .Values.jvm.newHeapSize -}} -{{- else -}} -{{- /* Calculate based on resources set */ -}} -{{- /* Reference: https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gc-ergonomics.html */ -}} -{{- $res := include "cassandra.memory.getLimitInM" . -}} -{{- $res = div $res 64 | max 256 -}} -{{- printf "%vM" $res -}} -{{- end -}} -{{- end -}} - -{{/* -Return the Cassandra TLS credentials secret -*/}} -{{- define "cassandra.tlsSecretName" -}} -{{- $secretName := coalesce .Values.tls.existingSecret .Values.tls.tlsEncryptionSecretName -}} -{{- if $secretName -}} - {{- printf "%s" (tpl $secretName $) -}} -{{- else -}} - {{- printf "%s-crt" (include "common.names.fullname" .) | trunc 63 | trimSuffix "-" -}} -{{- end -}} -{{- end -}} - -{{/* -Return true if a TLS credentials secret object should be created -*/}} -{{- define "cassandra.createTlsSecret" -}} -{{- if and (include "cassandra.tlsEncryption" .) .Values.tls.autoGenerated (not .Values.tls.existingSecret) (not .Values.tls.tlsEncryptionSecretName) }} - {{- true -}} -{{- end -}} -{{- end -}} - -{{/* -Return true if a TLS credentials secret object should be created -*/}} -{{- define "cassandra.tlsPasswordsSecret" -}} -{{- $secretName := coalesce .Values.tls.passwordsSecret .Values.tls.tlsEncryptionSecretName -}} -{{- if $secretName -}} - {{- printf "%s" (tpl $secretName $) -}} -{{- else -}} - {{- printf "%s-tls-pass" (include "common.names.fullname" .) | trunc 63 | trimSuffix "-" -}} -{{- end -}} -{{- end -}} - -{{/* -Get the password to use to access Cassandra -*/}} -{{- define "cassandra.password" -}} - {{- if (and (empty .Values.dbUser.password) .Values.dbUser.forcePassword) }} - {{ required "A Cassandra Password is required!" .Values.dbUser.password }} - {{- else }} - {{- include "common.secrets.passwords.manage" (dict "secret" (include "common.names.fullname" .) "key" "cassandra-password" "providedValues" (list "dbUser.password") "context" $) -}} - {{- end }} -{{- end -}} - -{{/* -Get the metrics config map name. -*/}} -{{- define "cassandra.metricsConfConfigMap" -}} - {{- printf "%s-metrics-conf" (include "common.names.fullname" . ) | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{/* -Print warning if jvm memory not set -*/}} -{{- define "cassandra.warnings.jvm" -}} -{{- if not .Values.jvm.maxHeapSize }} -WARNING: JVM Max Heap Size not set in value jvm.maxHeapSize. When not set, the chart will calculate the following size: - MIN(Memory Limit (if set) / 4, 1024M) -{{- end }} -{{- if not .Values.jvm.maxHeapSize }} -WARNING: JVM New Heap Size not set in value jvm.newHeapSize. When not set, the chart will calculate the following size: - MAX(Memory Limit (if set) / 64, 256M) -{{- end }} -{{- end -}} diff --git a/cw-infra-apps-nubes/cassandra/templates/cassandra-secret.yaml b/cw-infra-apps-nubes/cassandra/templates/cassandra-secret.yaml deleted file mode 100755 index 1ad025b..0000000 --- a/cw-infra-apps-nubes/cassandra/templates/cassandra-secret.yaml +++ /dev/null @@ -1,39 +0,0 @@ -{{- /* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{- if (not .Values.dbUser.existingSecret) -}} -apiVersion: v1 -kind: Secret -metadata: - name: {{ include "common.names.fullname" . }} - namespace: {{ include "common.names.namespace" . | quote }} - labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} - {{- if .Values.commonAnnotations }} - annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} - {{- end }} -type: Opaque -data: - cassandra-password: {{ include "cassandra.password" . }} -{{ end }} -{{- if and (or .Values.tls.keystorePassword .Values.tls.truststorePassword .Values.tls.autoGenerated) (not .Values.tls.passwordsSecret) (not .Values.tls.tlsEncryptionSecretName) }} ---- -apiVersion: v1 -kind: Secret -metadata: - name: {{ printf "%s-tls-pass" (include "common.names.fullname" .) | trunc 63 | trimSuffix "-" }} - namespace: {{ include "common.names.namespace" . | quote }} - labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} - {{- if .Values.commonAnnotations }} - annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} - {{- end }} -type: Opaque -data: - {{- if or .Values.tls.keystorePassword .Values.tls.autoGenerated }} - keystore-password: {{ include "common.secrets.passwords.manage" (dict "secret" (printf "%s-%s" (include "common.names.fullname" .) "tls-pass" | trunc 63 | trimSuffix "-") "key" "keystore-password" "providedValues" (list "tls.keystorePassword") "context" $) }} - {{- end }} - {{- if or .Values.tls.truststorePassword .Values.tls.autoGenerated }} - truststore-password: {{ include "common.secrets.passwords.manage" (dict "secret" (printf "%s-%s" (include "common.names.fullname" .) "tls-pass" | trunc 63 | trimSuffix "-") "key" "truststore-password" "providedValues" (list "tls.truststorePassword") "context" $) }} - {{- end }} -{{- end }} diff --git a/cw-infra-apps-nubes/cassandra/templates/extra-list.yaml b/cw-infra-apps-nubes/cassandra/templates/extra-list.yaml deleted file mode 100755 index 329f5c6..0000000 --- a/cw-infra-apps-nubes/cassandra/templates/extra-list.yaml +++ /dev/null @@ -1,9 +0,0 @@ -{{- /* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{- range .Values.extraDeploy }} ---- -{{ include "common.tplvalues.render" (dict "value" . "context" $) }} -{{- end }} diff --git a/cw-infra-apps-nubes/cassandra/templates/headless-svc.yaml b/cw-infra-apps-nubes/cassandra/templates/headless-svc.yaml deleted file mode 100755 index fb2c555..0000000 --- a/cw-infra-apps-nubes/cassandra/templates/headless-svc.yaml +++ /dev/null @@ -1,33 +0,0 @@ -{{- /* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -apiVersion: v1 -kind: Service -metadata: - name: {{ printf "%s-headless" (include "common.names.fullname" .) | trunc 63 | trimSuffix "-" }} - namespace: {{ include "common.names.namespace" . | quote }} - labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} - {{- if or .Values.service.headless.annotations .Values.commonAnnotations }} - {{- $annotations := include "common.tplvalues.merge" ( dict "values" ( list .Values.service.headless.annotations .Values.commonAnnotations ) "context" . ) }} - annotations: {{- include "common.tplvalues.render" ( dict "value" $annotations "context" $) | nindent 4 }} - {{- end }} -spec: - clusterIP: None - publishNotReadyAddresses: true - ports: - - name: intra - port: 7000 - targetPort: intra - - name: tls - port: 7001 - targetPort: tls - - name: jmx - port: 7199 - targetPort: jmx - - name: cql - port: {{ .Values.service.ports.cql }} - targetPort: cql - {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.podLabels .Values.commonLabels ) "context" . ) }} - selector: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 4 }} diff --git a/cw-infra-apps-nubes/cassandra/templates/init_cm.yaml b/cw-infra-apps-nubes/cassandra/templates/init_cm.yaml deleted file mode 100755 index ff477b3..0000000 --- a/cw-infra-apps-nubes/cassandra/templates/init_cm.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: v1 -binaryData: - init.cql.gz: H4sICIWQC2gAA2Nvd29ya19pbml0LnNxbADtvV2PnDlyJnrfvyIxN1IDNS0y+BVs2wOou9UewT3qRkuzM7M3iVRVSkqrqrJOZVVr5IGB8e7i4Cx8sTj350d4P7w7wNo+f0H9j07Em/kyk8xkSaoifbjNzR7LUn5E8OVDBuOLEV9+/+jhs0eTv3r0u6ffPfzy0eTx15Mn3z6bPPrt46fPnk6uV/PL1eQ3j5/9cnI5vzhdHM+uFsvzyV9M/nDv+HS2Wt2bfD6593RxdnE6f3p1Obuav3x772hyb+e70xez46vlJX9R/e2fffLJl2t+zx5+8c1BZp8Nf35y/5MJvRYnk+3r+eLl4vxq8t33j3/18Pvf8YiPhi/xD6bns7M5/+Nq/vur9dvni+PXB96e/TC7ml1Ory9Po7cvXi3P5yOn7dvzs9nidP/ti+VqMUxE/Pbx5Zym4GQ6u+K3F2fz1dXs7GIzyouTg599SnPy66eP1g9Pf3/4zbNH32+mZ3dCmMbDr76a0KxfTZfnpwsabiBDvxsnNgPkm+Xl69XF7HheFs2b4Nyy/Gz71wPA5nAdsYvn+GS+Or5cXAwDP4wqvztM64eN7WJ2ebU4XlzMzq+i0eWGdbk8nW84M5PHT54++v7Z5PGTZ98efuLJ/cXJ0fAwR7uDP9oZ86ef/JuH3/z60dPJfXl078vlb+i3947uvft/3v3jj3/349+9+8d3//zuv7377/SvP07oL//zx/80efef3/3p3f+g9+kb7/7haPLjH9/9A733Lz/+ux//fvLuT5N3/+XdP//47+lffxx+Td9791/f/cvk3b+8+88//sfhrT8RlR//bvLu/6X3/suPf//j/7X+4o9//+6fJvTLP/Lbw+/+aUKM/oF+9acNcfrSfyBOf3z3T/T2/0n//hMvkldXVxerzx88WNHymH92vPw5z8Bnl9efeyHEA1pc86vVg9Ply+VnF+cv7336/hVLS3s1ezlfr/xDa/aTcXFsFu+Btbv9SmYNhy/siqbffZcby2cvlpdvZpcntI83bw0E7gcyq/n5CUmj7fJer6LtQI5fza6m+6t/+4UN3e130i8sL/mN2el0JJV+4WcvLpdnP9tyWG8I/sunH/aQ/8f18ir7hDvjSxnvPHz60cXs7elydpIdzYEtGoYTFsJ6EHszGDF7fn38en41PV8e/HRvcsOnw8dXby/mk+i1lTB7yEaEL+fH88UPu5/vfnp8upifX02vVlu6NxwOh76woXB9HejzX9efbdfk8fL8ir52w3Jd/2ID8Pj17cSk2G9Ouy14e9NyMp9fTOkwen3gs1ez1fDR9rGfL0l4zs7XH8cfrd9ZXf05//4X62/syN7J/fsb4I+2GH96tIPop5988ulaTnz5za+f0iH6+MlfTr79/is6Tb+gn+9A/9Wjp1/uLL7HT7569NvM4pvuTDz99PeTb5/sL8zJ/Z1vEeEPoRuW0w1Uw3c+dKf8sJi/ObBNMjtg9+1Bh9r/9o5CkyzIDDQ7cByNRD9932Ecxk/0rzLb/IY9fsMG3/1omBxa89frFT/8ZX55q4V2u3X2IUJuShN+zIfUoWnIPWgGyERAremmwO+qrHeE+P3Lfvt0053x5HbA9tuT+ztf/9AZDT+5YVXdeHTcdHDkpjb32bjwbr/qjnb51FyCq+nzt1M+Cauet/z3m47bsE/DK/zsA6aNKX/4lh3GwTO1+5OPmrphG5zREXB4536ApM3I5cyzjtuuulhKxRFZNFujegeueA9EIC+uTrco75jQl3OWyHuG+Ox8cbZW0/mT7fvXZM8vT+Z7dH62JP3mclR3MxMXhv1puo0+cB6Gmc8LkvyOiPTL2enz67NwBEWyYDBCT+eHxMTs+mSxPPyrF4vwk/QjmsWX88O/YsUr86sfFifzDK8flovjDMGDq/TT3S1549rcztjDD1+ZsaJKZ8XpLHdu7mOU/DjZdDdLrdzD7tH88M25P5ysNBp8ReMkJO6H/V072a78aOEfxdvsaNxFR7vb8mi9d4/Grbf1UtyjnXB+QoYFGf4SvDfCSmeUF8ZYafecAfTtl1uXwOnyeHa69grw8l09CKN9EAb1QOL0xYJ++ter5TkzuT3NzQMFiux9IGpf09/5/4vfy68NmHupK+f/z7kEoYyz4LzQJeZSWNodJ9NXc5Ix44TC3Sc0IruZ1e/nJ5Nf8hvrqQVndVszq6QxAGjdHSZgZ2YV+5Lm0zeLq1fTK3ru1Ti/qsD87hMf1y69PfkNvT15xm+Py9gKaGuyjddolZGqiEgQero6Xbx8dXX6dro6W9Ah9nKc7TtskzDbB6hvpvvp5v3J0/X7m/l+YXVj841Og9DSClFEBLvp1avrs+er6fXFONGmgBzeJbuZ4WfDG5NfX4xLWeuvmppaEhvKaI3ClpHIMJ2/JUMrEsl32CRhEUd0N5P7iN7ZFcq0cMVJW7OrlVJCI6oyUtlPZ+cvL98O4nOcXVdgdiO6m9l9yO9MWCKH2QXR1uw6CVbTsefLiGHkWbherF7R4b87w1hghvdob2d5/W4y066tmfZeeiRV2BYRwMJNX13vTbMvMM0x4c0c//L6wAS/aGqCNTipwCJAETEsxfTidD47oTM9mmJ5B/jCMZfS3szyd5s3o3n2btbWPBsjBVr0vohAlnJ6Pr+Ml7EsYdLt0t3M7xN6I55bqdqaW6SjDpzRpoyhDKO6umMtDOd/sEVkAWPvJjajmrz+fLK1TgalI5gn3rV1LtIS986i9FBGXVak1y7OX+8JkwKm4B7toDev30wWfFs2t1HoDSCJ7TtoCDvzrNcrcMWRqzOekcX59AWttDDhBazBPJNdE/zp+OlkcT75mj4N56aSbUFgafJJnEtTRp4b0h9evtxb6SWsw4R00E2G93bX+ddetqX9sbcDhC/mAbXT1cXs8jV9Hia4gIm4S3YU3Jt/jz47wKbm1QI4b71VWMb2NqQ0XF9dzk7jxVvCQExIB5VkeC/WrGVbh6E1wikpAHURIS3k9CXn5HECzXJ5Gia5hI2YkN5M8l+u35t8Se9tHaKP2ppkhzzRXt1FI9uREH56fDq7uGBh+Yp4beVEARtxn/hmor/cvDv5Jb+7ddh93dRUO5bHdN45V0QYg5i+WJ5yHl000XfRHMeJTkmPCsbwXjzJtrVJVto4I63RRSQzyOnVm2VivEABOzEmPOrOb5aJgaJ9W2FAZ4GEBSghishkgCmnur9N1TYoYB7u0R69HZs3Y8XNtWWRc5xVK/C6TFAQNnG7H5Zni6udIBUUMAT3aO+aI/9m82aYZ2jr+EOJyjllfJl4IOi1xHw1e71dywVsv4juaH+Mb2yNj7YCVKitMkrRuVdGFJvpy8vF+fmerChg4u3RHjW4zZuRrLCiLT2ZQ6z0f0raMjLZTk+X1yenb6fHl/uCuYC5d5jBqMpd7slmC22tay8AQGqy/srIZnfAjXm14zyCAmZgnskhT+mbMY9jezy2lVbglZDGGCs+Pn64M/F4yH88O12GiS9gGuaZ5F3U9OlW1rTlUPIGpZLGYpmkA/A7s7J6e/Z8ebqa0mDPltdXrwIMBUzHmxnt5TA9XX9jsjyf/Iq/sVVfvmwLDrTsSVXqLkt1C4cSvFgv9+IFqoBNuUd7u/4v03gBLfumrEonpPLeW+/KBB+VpIW4H5ZRBezKlPRmln+zH5ShSfZtTbKW3hknTJlUBQXT41fz49fPl78PE1zArNwlO+osm3+PzmrRlM3uSEx44Z0TZTIUlCLBOZ++uj4/uZyfhKktYEkmlDez++35fLJ5K3hFHjYmHrxDrVDpMuFEpafPl8uzMLUFDMiR5GZOv6C/byezreUqgXQMjxrKJCMoMu0WL1/upuaqAhbjLtnRWNz8e6ssNGW3OGnUcCHClUkuUHZ6sQy68l38J2FO1xRHP91yuV2ibZ1UEsnWdp7+fxmJ6naV04sFB+s4ZzbMbQEDMMtjV/cd7L6nw4cTTtENmoJqS0QA2X1WkTZWJndA4dpTHOa7gN0XaO56ncf5VNjWegYSDB6F1mXSBJSfns2Gkibzi9np2a7kLWDKHaC+meNfzc4HBXfz9lYO27Zm2xqjQArEInJYi+ny9eAeDldPCphrO1RHPeyvhsjfNrralCnswCsjUEpbJltAy+mL0/nv5yfT5wtaUUEW6wI22h7tUQYPb06+GN7cnn0Pm5pnWrlaA52AZRIGNEwvFufHQ+I37dn59rqaLmCsHaA+yuP125Ov128HWSHaWtVKe+UsaFMmZ0Cr8aLTyfLNeZjpArZbQjm+RPUVvbWVG01FAN0Q/gMwqkzCgCZD63L5en4eX6S6C/EwxQnp0ZYb3pu82rlN9bX2TeXbOi0MoFUSy6QNaLNWZp+fLt+wp2s2fb1YbQVHAfMuw2FXWf5i/dFkNvkr+iioyrKpTEWnlQIQCqFMIoG202N67vPIb6kL2H4x4ZDXRe/EeRrQVBaz01ZKT6aIuIvOtTO9Lo5Db8y1N/PZVpIUMAZvYnMo8r0JivDnW+dxWyahRi+V0MaUSTbQOP2b2Xl8XfMuimWY+V26m6n+t/RGssjXKt+D97/eW7FydbU4fl2rXu5+vcaR3WcvL2cXrxbH09Xib9JqjW8WJ7SatmVx+PVqzvfZt++9p+JKYLP5y5SX2U0FevdLpkY1egLfk8Xq4nT2dl1OaFvQh9bf+aYqUInauh/xZAcf6qbn2p2RtIhMXJco99jRI6b1sHaKT24Y7U9LXC5p95PdVbFDI14uB+b2PdN7pxnm0mKbydrM9U1TOH52GI/3jo3/uVush1/37ycMPz3aYfPeelDhedYFuM6J0+kpcT+0NXYr8UXr6MZltKKfrNaFMNdf/8VhiD6uhOhYZHoc/yDwOFdivopOlcN7fShgvLtsj8Im3TlNtiM82hnM9iCxpPrzXXTgi9IwxF8fDouXLMNHZ8u/Xqx9oB8l9Mfxbp5lFP0bac8sQID5uZA/BzER4vPhf/cyb6dH7J54GOYhWT/pxKwrz+3s1/zxG+3D90zffW3YZSiQHYhasGJyYD7BOX64h09ogT179FWp6XyQMh9P0zsR3zUxEvIhGYse8w/rM+xzI+FofXLxXyd/e/SR0DaNrLGOrwYrqfEwskpjNWR3mVdANiIfwqzYB7JeCSHZJreY27NoayEbMS+PbEw+5PHZLpCVXLRGOlrdqDPIShSVkI2ZF0c2IR8u74kukFVIB5F3xjjh2Vt7aM/6WudszLw4sgn5kPTZxzlLi9l6zYm1RojMnvW+ErIx8+LIJuTDTVDfCbKcKi2lFWAzGpT0UA3ZXeYVkI3IB2ShC2S5XKdDJzTH5cxhaWxqIRszL45sQj7cseoEWbIJyMKzhCfYzDnraunGMfPyyMbkgz3bh25snHLorSQVUsjDexZrmbMx7/LAxuTH0od9WLPGWy+NNGgEcHbZoVNW1LJ5YublgY3Jh0qAfdg8lle0I5lF0spm9Kdqp2zMvDiyCflQrKqPU9ahpmdH4aWWGf1Jy0rAxryLA5uQ30ka7ABXFELS2gb0dBId3rG2liiOeRfHNSE/lsfuQxIjaFrOnEuExsvDWrFVtYCNmJcHNiYfyhyoHpDly8NCWg0euU/K4TNW6zrIJsxLI5uSD5U4dRfIEobWSWsRJGa8TwCmErIx8+LIJuRDzSjTCbIe+O4ZF0Z0hy0eJSsdswnzCshG5MO9+C7OWSuNNUqBl4IvE2eQrXTOJszLIxuTD8j2cc5KFFKSBqk9nUgZW7bWMRvzLg9sTH6n4HUHuIISUllvhBc5SxZUJbdiwrw4sAn5UDGwC78iWXrgHUqlkU6jjCwWtWRxzLw8sjH5UOSnD1mspGV/qnWIALkYT609GzMvjmxCPsR4+tizBCQ6hRYIy4xmXClHJmFdHteY/LZ/WAeoakEYemEF0tAz3uJa5k7MuzisCfmd6/s94Gqtt8ZqmgAnM3asqBTfSZiXBzYmH07YLuI7VnvQZBaQqDI5awegUhZFwrw8sjH54HvqIouCnp6td0KR/sxoxXRQVUN2l3kFZCPyIXe8j1PWKGtQodPsoMnFeGr5i2PmxZFNyIcYTx/+YqON8qQ6Ki79dhhZKWtJ45h5eWRj8qGPYx/S2DilhTfgrPM+FwmoBWzEuzywMfmdArk94OqdIR3DyOH5M3fvarmLY+blgY3Jh7t3ffiLrVUaCUorIHePR0It/SlmXhzZhHxo9NqH/uSUBQIQpfYyY81KV0sYx8yLI5uQD90J+5DGzmmSVAhoJWb8xbIasBHv8sDG5HfaYHeAK4LxpD1qAeBlRi/2tYCNmRcHNiEf7md1gqymR7eolBLZqhSi1ikbMy+PbEw+NH3s45RFrRVqJ9EqzGQYA9byUsTMKyAbkQ/+pz68FF56IYXXHmVOf6rmfop5Fwc2IT/mjneBq6MnN4Zr9AmbvQVtKkXbE+algU3Jh1s8XUTbnUAjpSM8jctlGNdSnxLe5YGNyW+A7UN7clKCBe1ACLLlMzsWKlWkSJgXBzYhH3wUXVSkcLSkkQQVSSvrTMbiEZUiAQnz8sjG5MNd2S4iAQ7oqT04hV6pXB6qq+QxTpgXRzYhH3LauvAYO+6JRyYf4Si9ytzQqnWPJ2FeHNmEfJDGfWjGlrtxoXRs+WUqUkCtxLaEeXFkE/KhE3oXmW3OkaWnlZVSgclFebCWBhUzL45sQj7U4etDg6KnJ9OAzh7wNpclU6umV8K8BrK75EMdvi5yFh0q74zQyngyDDLxu1rAxryLA5uQD8dsH7hqklOOTAMvcxW9lKilGcfMywMbkw9Zxn1oxujJIDDC6MFbk/EsVrqhlTAvj2xMPngWu7ihxdnVNE9aAhdgz3igat29S5iXRjYlH/wUnSCrLCquCOu9yFVrg0pO44R5eWRj8uGY7cJrjMIpT0YBShQ2F5kV1ZCNmJdHNiYfYu59ICut1UbTYQQWMsi6Sm6KhHdxYBPy47XKLrwUKMkw0CCt1yp3w136SpHZhHl5YGPyIf+pi8gsghDeAqJ3NltHplKYJ+FdHNiE/GjydBHloYcnu8BzaNpBxmNcSxDHrCvAGpHfwNqHHGaDwIKzEl2+NlC97brLvAKuEflQHKiT/eq8IyPPWgXZPgG17gQkzMsjG5MPUdk+dGLNFWG1o4XsTO62Ry2vYsK8OLIJ+eCh6MKriMajBq2sBpftAFHrkI15Fwc2IR/M2C5wtVJaNMaRIW8yuU9Qqzh1wrw4sAn5cL+9E2S5wK+nP4zJyWKlKoXuEublkY3Jj+aO6iJ2R9qF8lI4b0lmZWKyuhawMe/iwCbkx8pPfeCKDpwSRnB1yUxOm5KVctoS5sWBTciHwgVd5LQhrWkQWnDwEvxhZE2lxKeEd3FgE/IbYE0XeU/oSZkwjjt1WpfxKEKtzrIJ8/LAxuTDvbsutCcvrBSKrAJP1kEmuqNq3ZVNmJdGNiUf8mO6uCvrJXL3C657hbn77aqSiyLhXRzYhHwoItMFriBRW2QHnMjhCrWyixPmxYFNyAdZ3MUpSwcRiSlDFoElJSNXz6uSwZMwL49sTD7oxV1YPN7SgjacWe20znkVVa1TNmZeHNmEfOgT0McpS9JKgyAkucnU4T0LrpItmzAvj2xMPsR4urBl6em9EyS4QIpc5QKsFJZNeFcANiI/dgzuIirrnR86hxljXO4Oj62lF8e8i+OakB8rjfShFyMtZm5BBApy9wFqlQZKeBfHNSE/7tc+5LAH0iscTYK3Mtd9VFTyPSXMiwObkA8h2T58T95YMeRUA0LmhFWyUgZqwrw8sjH5YO90kYHqeTmT6ugNGMjltLlalmzMvDyyMflQDbUPS9Y7J8jkQ2u9ynkVayUXJ8zLIxuTD9H2HvRiI4RR1pHqKMDmOkDYOsmKKe/CwO6RH/XiHnIV6eHRcK1Qpa3JZY37Ohs25V0e15j8WKetj/0qlUPugy3AuYwktnXCACnv4rgm5Mf92kMUgNs3esXJ1SC0zHgUK4V3Ut7FcU3Ij3ZsH7gqcNLRKeQcZOs9VTtgY+bFgU3IhwzUPk5YpZ1xgiwC77N9eColjafMyyMbkx914i6yxunpucmfFCgk33TJVPKqU4kiZV4e2Zh8qOTVQyUKzs/UwimlBd9PO6w9mTre4pR3eWBj8mOmYg/eYnp4NKQyOqOVxwyuWO2QjXiXxzUmP2pPnZyxXlqjtQThcnmK0lWTxBHz8sDG5INHsQ9JrJU1pGOwFQ+ZmkCmTjw25V0c2IT8KIl7iMfSw2srPNnxpF/kbnlAtSM2Zl4e2Jj8aO90csYaKwWgBdRKZSKyUtRCNmZeHNmEfLj93Auy3CVZG1rXKlO52NQJ26W8KwAbkR9lcQ9RO3p4Lx1oYehveVlcSy2OmZcHNiYfZHEferElawCktNKJnPYkK8VjU+bFkU3Ij7K4k3isk1qgRpoAn+vD42vpxTHv4sAm5Me4XR96MVdCEtw8zNlBYTxYd6+W9hQzLw9sTD7U3etDe3KeWyMYKSWZ9Jm7AHXS2VLe5YGNyYeLWV3g6snYkwKRm9XktKdqKRQx8+LAJuRD14cuzlhazsZ7MF5pzFUYgUpnbMK7NLAp+dCCpw9cDdkE6DgxKGfHQi0PRcK8PLAx+ZAz3sUZKxVaS2qj8tbLTB0vX+ciZcq7OLAJ+VEr7uEepZFacm06WtDK6Nxtu1qSOOZdHNeE/Bi360MSGyEkjZojW7leaFCpUmbKvDiwCfkgiXtBFjRIo9Dk89kq9d9JmVdANiIffIpdRGSlJUNPAdIfnNR3uO5erS0b8y4ObEJ+rLvXx461aNABd+XUmLnhYSqlKSa8y+Makx+jO11kKUouOaicR8t9ajJWrKwFbMy8OLAJ+VESy06QtQ610IZ7hWU8T77SXYCEd3lgY/KjtdPFXQCJCpRRXE5SylxXb1vLPxEzLw5sQn6MAdgu/BMgpHYOSVM0PlfDS/pKsjhhXhrZlHyI7nQhi2nATmlA7rqKGXtH+kr2TsK8PLIx+YBsF/YOCCRZpQlHVDl7B+rt2Yh5eWRj8iG+08eelQpJezSsaIhMPWo6oyohGzMvjmxCPmTH9HHOSkPPTrYeF4DNxNppgmohGzEvj2xMPiDbRbQdhp5h0jmhuF195jZlrT0bMy+ObEI+3KbsY88CSK2k1sqTJpmJBdhaezZmXh7ZmHy4Ad3JnuWrpNwKzqpcLQr6Ry1kI+blkY3Jh77eXWSOA/vJ6dGlU1Lk7lPWUo1j3sWBTciPcdk+NGOlLf9nwHHmV0Z/qrVjY+blgY3JB/2pjx2rJaGolROepitzU7ZSIdSUeXFkE/KhZkEf+pM2aLw1ErnxaiZHphauEevyuMbkR1HcBapGWa+Ekcr7nL0DvtLdrIR5cVwT8sH71MXdLDDekNKorHB5ewcqhe8S5uWRjcmPyEIX8TtwAtEQmoZOoUz8rlbqU8K7OLAJ+TGToo9IgONkTU9iC7KRgFrlnhLe5XGNyY9HbCe4GpJTSBaB8rnuzxIq3eBJmJcHNiYf/BNd3OABniQtUJDymNuxUla6EJAwL45sQn5EVnZxIwA8F+CwFr3P9mmp1Fgp5V0e2Jj8Btgu+ipxZpAnE15rQUdRpjeAqrVjE+algU3Jh64PXexYJRwXbZZa++wdHqjU9SFlXh7ZmHzohdaFT1EpQ3a8UuhIaGX2LEAlxThhXhzZhHywZLvQjPlWGkjJ1WABsxkytZCNmRdHNiEf4gCdIKstAHvKPfhcN9lK+lPCuzywMfnxmO1Df6JnpzPIGqO4LFKmZkE1YCPm5YGNyYeiBZ0g60Bop4WSYDK2rKpVpS1hXh7ZmHzYsl1EAkjFEI7VDNIXs8jqWppxzLw4sgn5EVndh2ZsCUSHNAGcPn/4lLW11KeYd3FgE/JjF54+tCdryJRHKR1Arq4ivV8L2Ih5eWBj8qFjexexO+UsmfJk6pHcylk8tQrJJ7yLA5uQH/2KfexYenjjtKPDCHJ1FVUtt2LMuwauu+THI7YPryIKp6w1DhCdyGWNVypHkTAvDmxCPmSNd1GPQqGiB7cKESXkbnrUOmJj3uWBjcmPO7aPExZRIJCdJwUdRoe9xa5SsD3hXR7XmPx4wnYRa9fCCE3P7cnOy3WSlbU6GCbMSwObkg9VC7rwT9DTO6VIdYRBXmWqtFVSihPmFZCNyIcqbV1oxVqSuQd8r59gzGQ+2UqOp4R3cWAT8qN/ogu/k6b1yz2ltLUih6uSlZSnhHlxYBPyIYuiC+2JazVY4bRCD7ma1NJVuueRMK+AbEQ+dLrr4qaHVgqtdtbQLIic/lQriyJhXhzZhHzIQu3jlFVOeYPWoMn2upO1TJ6EeXlkY/Jhz/Zh83ArXUFQCi995s6dErVsnph5cWQT8uM5K/qweYzyjhUNZ/hMykR4KvkVE+bFkU3IhwhPF35F0iyE1NpyVW6TsWYV1NqzMfPiyCbkQwWZPvYsOq8BAK2leTgcC3CVYjwJ7+LAJuRHz2IXMR7tlVSOK614latGQQZDJWBj5sWBTciHnLZOkHUgnEPpNEImW9HWUoxj3uWBjcmP/qcu9GIjAPkAIqOPzILMjq0Da8K6NKwp+XG/doEqEHYehfdcdj1TCVXUwjVmXhzXhHyIA3SCrBEOtWUHnMzdk9WVfE8J8/LIxuRHD4XuwvdkwEoFzoOlB7OHT1iJlXSnhHl5ZGPyod5TF7oT1y8DSceQUigzVRVrXfRIeJcHNiY/9uHp4p6HUQDeWy46qEymdnEtYyfhXRzXhPyIax/7VSlHtjsYy1ddDuPqKoVkE97lcY3Jj96JLiKyRmvpCEdEDyJTiQKwUkQ2YV4c2IR8aOzdRUTWaKeAtAlvEHNZFFBty8bMyyMbkw8VC/rYs/TUBpUEvnKYQRZrGbIx7+LAJuTHSl592LHGK6vAC1Iesx6KWtfaE+blgY3Jh6hdH1qxBatBOuSraZmoXSVHccK6OK4J+dFR3AeqtKo9GjLylMdcDdRKsdiEeXlcY/KhckwXsVhjETQYlFpwC8fMnfZakjhmXh7ZmHy4096HJCaDwAsNAo1VuX6ytRoFJ8yLI5uQD529u+j6YNB6BM7SBGcyyMpaV+4S5sWRTciHak992DveG6VRC8ctdTOWbLX4Tsy8OLIJ+ZBB0UV8xwoy9LQmcaWVyOXG1OqtlDAvjWxKPmhQXdiyViirPaKXXGoll4Fa6ZxNmJdHNiYfbNkuzlkrrbekPILI13sCrJRbnDAvjmxCPniMu8gtJlMeLLdKxnyMB2wlDSphXhzZhHyoRtGFBmU59ZZTqwnRbN+sWrhGrMvjGpMfNeMuUKX1TBhK4TyXbs5YPJVgjXkXhzUhHwyePnDlms0CpZbZvpRQK8CTMC8PbEw+nLB9aMVaKr6OJo3J932oFGxPeBcHNiE/ZlF0EWu3RlpJq1o4Z6XPVCyohWvMuziuCfnRXdwJrpabmgvhjc91fZC1jNiYd3lcY/LjCduHDWu43wWZel5l84p1tf0a8a6Aa0R+zFLsY79aJ7RHq7kmUqZOZi1HccK7OK4J+RHXPjRix+XL+K5hvl8WmFo+p5h5cWAT8iFq14fPyYEw0rFdYLP5p7qWzylmXh7ZmHyI7fThc0LpLMHorBfZKuOulvIUMy+ObEI+5J/2oT15Kbyy3gD4/I32Wv6JmHlxZBPyYc/24Z/wmivTka5hvc9lx+hKmYoJ8/LIxuQDsl3kKlqPaLSnhW3RZWo91QM24l0e2Jj8qBl3gasTZOuhRqOkFrmOo1BJM06YlwY2JR/qAXWhGTsALdEZ5bkqUq4XWiUnRcK8OLIJ+SCLu/BSONDOamlQGwOZuB2oSvpTwrw8sjH5kBvThf7kNJkEAqQwQsqM/uQr+Z8S3sWBTchvgPVd+J8ctwkDIaQxItsjGGsBGzMvDmxCPkRkO0EWBYCRRstsRepaaYoJ7/LAxuRDCdQucKWnt8ZL6byRmToUspK9k/AujmtCPrTz6ANXbwyC12CUyHVCg0oFRhLm5YGNyQd7p4sKIyiERuE8N+bM1T+tBWzCuzSwKfngLu4EVyv44hIq9Jl88Uo3KRPWFWCNyG9g7eIeJT07Gj9UVmEYD5+vplLcLmFeAdeI/HjAmi7idii0UoYmgIvmZG61y1ptnxPm5ZGNyQfVqQtbB6VA6z1K4yDXFUDV6tGSMC+ObEI+6E6dIIusPEq+v+Qyt+1krY5ZCfPyyMbkxz3bR8csJAteWECvvdQZe0fWuuSRMC+ObEI+INvHngWtrAVlEbJ3n6WvZfDEzMsjG5MfkfV9WDxgUbMpP8CYqYFaC9eIdXlcY/JjqL0PVOkcMgqltpDrvAO1gjsJ8/K4xuRHB0Uf0R3UTtIMCLL5LGZ6F/pKgfaEd3FgE/Jj1K6LODtaDeCFQ0mGQc7ekZXuPSfMiwObkA99ZLu4+YzWodPgnXakOGbyFOshGzEvj2xMfpTFnSDrhFLgNGmO2QwKqWppxTHz4sgm5MOl9j60YqfpGOIrhxJzpyzIWnpxzLw8sjH5sGf70IydJyPees/BrUzdYqVrSeOYeXlkY/KhWmYf0pjMAqtpBrgebCYH1VfKjkl4Fwc2IT9qxl1kxyB6p5S1znE3uMwpW6vCSMK8PLAx+dBXqYsMVPSICg1fTjMyG72rpT/FzIsjm5AP0bsu9CcvDLdH0MKBzlZn05X0p4R5aWRT8uE+QBf6E5nxHLW0pFRw1avD+lMlx2LCuzywMflRferCr+iFF7SkjXIi26dF1rJ4EublgY3Jh9hdJzuWnl5pPo5szv8kZaWstoR5FWR3yAdku8hr8wCD6w1gaGmeqTRSCdiYd3FgE/Kh0EgXuCrp6KGNBuNzeRSqVqXxhHlxYBPyIfepC4vHa+WsElZrVCoTl1XVTtmYeXFkE/IhytPHKas1aEsIGrA+1/fB1VKMY+blkY3JhysBfWjGBjy3CwMYChBmOrZX8hgnzIsjm5APHdu78Bh7bvQHg/5os1ULsBqyEfPyyMbkw03ZPpC13hlw1t1U9alWmkzCvDiyCfmQ/9RFnox3yimJApwTPrdna9WQSZgXRzYhH7rw9KFBeWPlYMm7bN0CWatSW8K8OLIJ+XDO9mH1kMDy3mvgQFfmVqWv5aeIeZcHNiY/RmZ78FOwyojcHgGVpldmx2KdUzZlXhjYPfIhMtvDKcupQSBRWhSGlMhcT9k6kdmUeXFkE/IhS6aHyKwVoIzWyionspULpKy1Z2PmxZFNyIdoQB97VnHrCwdGGJ2rXSB1nQSolHlxZBPyQX/qIQOKnl5LqZTiS8O5DhCyUmuPlHl5ZGPyYc/2gizX9wXntXW5qLutJY1j5hWQjciHDKhOpLHxRnDzeqDHz+TJiGrIRszLIxuTD8XaOkEWDaLW4K3K3nLXdczZlHl5ZGPy4Zztw57VUktgR42WJlOHr05dipR1cVwT8qObog9U6Zm1F/RYmPVSiDp+xZR5eVxj8qExWg9+Ra5nJqwUyDVhVaZPANg6hTNT5sWRTciHHtA9VM60hJ+RpGKQWaDyVcdrIRszL45sQj5UHe8EWaeUG/rCgc9kQJlajsWYd3lgY/JjicU+/IoW6QySyhnCMVcRtdYhG/Muj2tMPoRlO8HVSaeMUgoADuOqVC1rJ2ZeAdiIfLjw0Ye1wx43wcXMhLS5vLZqHoqYeXlkY/JBL+7DQ+EEegta8Y3hTCQAKpWnTpkXRzYhH4RxH6csIjf781IoLjN5ENlKF2ZT3sWBTchvgO3ivqwVXOOXlrYGI7KWrKkli2PmxYFNyIerPH3IYu6QAM6CBaUx433ytSzZmHl5ZGPyoXJmH5asN5whxH06vcrc+HC1LJ6Yd3lgY/IbYF0XFo8UoDUSfoqsvpxe7CrFARLmpYFNyY871nURCZCSFrYXmswCne3yXak+dcq8OLIJ+VDVq4c7WvT02iHJK6fJEMhU4quVRpHwLg9sTH7Ui7vQniQIMuQlIvJfMlkUUAvYmHlxYBPy4SZ0J8iCU1w0VPtsfw9p69zjSZmXRzYmHzKferjHY9lR7rTgeHS2orwSlbIVE+bFkU3Ih8ynLrIVpRZg0Sj00mZrBLlK7qeEeXFkE/JBM+7C/yQ1QeilUWTJmyyylaI8CfPyyMbkA7JdRHmkVorLhpJ54HN375SpJY1j5uWRjcmP0tj0IY0NSLYJnPd8PyIT5amFbMy8OLIJ+RDl6QNZJ4zwliwDK2SuY4Cp5DNOmBdHNiEfogFd+Iyls4rsPs7XdDZXy7iaPRszL49sTH48ZzuxZ8mKF/TgtLR5YWd6QdSyZ2PmxZFNyIdeEH3Ys+suYkMGmM7c5Kl1YTbhXR7YmHy45N4DriA0WE4l8Q5zlWRIs6wDbMK8NLAp+ZD/1EWcByQpjfTkpEW6bLfKWknGCfPiyCbkQ7/vLvwUACyuvKLlnb0XoEQlP0XCvDiyCfngW+zCTwHg2Y7nOs6YzR83taRxzLw8sjH5YPP0IY21FA4cchKYz97SqpQokzAvjmxCPtzS6iJThovCAiJInc9GBV/J5kmYl0c2Jh+qLHZh84ARQoEywtAk5PwUteo/JcyLI5uQD3fc+9CgjEWDzmpUrHBkKntV8honzMsjG5MPlb268BoDGQZkxVvj0avcrQ9ZyWucMC+ObEI+ZLd14TUGrqmvnRIedK6zodS1dOOYeXlkY/JBGvehG9tBWtGattnaFFCptnzKvDyyMfnQJ62HCuQWUBnUnsctc3UWoZYwjnkXBzYhH4yePnA13kkBfAVR5KIBtfIpEublgY3JB99iH/qTB35uwtHRws7lGlcCNuZdHNiEfEg17gRXLZX00jutMlW9XK0jNuZdAdeI/HhPq48T1pPmSDCyrMrW4avUCSJlXh7YmHzIpejC+6QEJxogGXzcaDdTc8RUEsUJ89LIpuRDzmIXslhJRTJLSiTNMVvXq1b+U8K8OLIJ+ZCz2EU2hQKFUilvkDNyM/d5TCVpnDAvjmxCPujFfUhjcI5MeaUdd07ISGOo5H1KmJdHNiYfFOMuvE9KAToBWiiPuY5L9NdKyMbMiyObkB+lsejCS6GUUQBeSCtIaOVq3laK3yXMyyMbkw+5bV3E75SW4IzywimVk8ZQqZt7yrw4sgn5EOXpIgNKaTCO23U6TqTP3Jut5TJOmJdHNiYfztk+pLEx3lmrtTL8+Jn+LZVcUAnz4sgm5EP/li58UAqF0iSrgPtOZTwVIGt5KmLmxZFNyAdp3IenwjslOZFEWpvzGstatysT5sWRTcgH72IXcR4tgCUWkjkvc56KSjWgEtalcU3Jj6dsH6iSfkH/aW9JiczV9qrkWUyYl8c1Jh8kcReeRU1mgfDa00nE9kGmNkUlz2LCvDiyCflQm6ILz6IeLHlhNNl7uQqata65J7zLAxuTH3tBdGHvkLooHCpuiQ1O5bq31MI14l0e15h8aN7SBa7aGi24aTJ3JsrVbKsUCUiYFwc2IR9qtnURCdBGWqe50ZRWMqcT18owTpgXRzYhH24F9IKsR22tMU5gpi6Fr+SgSHhXADYiPzY17MI/oemhvdaSziKJmeynakpxzLs8rjH5MautD53YcrFfNvOc8TndqZKrOOFdHNeEfDBju8DVGe6sa5UlOHMVFqsZOzHz4sAm5EN+TB/WjkMEQxgajybjn1C1Kj8lzMsjG5MPHdL6kMXoleLKoWTs5Sosqlr5MQnz4sgm5EO1kT72rJcEoCP1gibC5qqNVMqPSZgXRzYhH6qNdJEfo71yQgznEa/vTE2KWpZszLw8sjH5UJOiD0vWK5RWA4B3We8T1pLGMfMKyEbkQyG+LqSx4SuH1nipBamPmVh7rSyKhHlpZFPyIT+mCy8FPbFy3NXReYmZ27KqVo3FhHlxZBPyQYPqQhobMCCN5oIrImfPYiUFKuFdHNiE/AZY7EJ/MrR+jUbpvbG5ft9SVXJAJcyLA5uQD3WMu/BAGSWtkIrx9JCJBNRqMZvwLg9sTH6MtneRH2MU30/zILTTMpNFIUW1HRsxLw9sTD7c9ehkx3I3Im21QZvrVymxGrIR8/LIxuSDxdMHsprv9nu+DsHVGzLRgErAxryLA5uQD8GALnA1ypHW6DitWmaqPilVKWs8YV4c2IR8iAV0kTVuDMkrAVpyz86MX5GUkFrIRszLIxuTD7lPfSBrpUXF90kd+Ey3JVnLko15Fwc2IR/Si/vAFZTgS0wCbLa/h63kL06Ylwc2Jh92bB/+YqeNF0hyy/MroxdXirgnzIsjm5APenEXEXfjSLfw2jnpSNnI3IFWtYRxzLw8sjH5oD/1IY3RgNFGySFnM6cZV7oUkDAvjmxCPiDbxa0AgyhJZCmr0OYyjGuljie8ywMbk98A20fmuOV6oaBRCYMyV0++VuwuYV4a2JR8qA7UB7JK00kkOOHACZGp+1QL2Jh3cWAT8iFFpgtcuWWyEOhQGZnLHfeV3IoJ8+LAJuQDsF34Fa3mOr9gpJE6149H6Uq2bMK8PLIx+XA/qwtb1hoQiox4zylgmaw2pSvpxQnz4sgm5AOyXejFlu9DWNTKk2GQvclT65iNmRdHNiEfrvL0cc464MpI0nktdK7WiK3kpUiYF0c2IR+ae3ThpbDOcZ8ppfmCWnbPVkM2Yl4e2Zh82LN9IIsCEQXpjt6KXOXxWnltCfPiyCbkQ1GKLnIprHcgDSA3/8v5jKWpZfXEzIsjm5APyRRdWD1OAOuOaMHabGabrpSymDAvjWxKPvS96yJn0QlnjJD0H51HGQ+UdJWyKRLm5ZGNyYegexfZFE5q6QhNjcJlO3yIWns2Zl4c2YR88Br3sWeldgBSeDAmWyNIVbJnE+YVkI3IhwheF/asUwKFFlZYbX3unDWVdOOEeXFkE/JBg+pCN3ZKEYaaE0o8ZDp8yFr5qAnz8sjG5MNtnj7OWb5Nqp0H8BJzdwN8pRyohHl5ZGPyI7K+ixwox7dKkb00vLoz97SqCeOId3lgY/LjPa1OZDFyH2zBt4WznYNrqU8x7/K4xuTDhu0CV00PZBC95BB15o67qmXxxMyLA5uQD3pxHxYPqYzGC2dRapWJBqhaPuOEeXlkY/IB2T5kMWkXwjiUxnBGSeZuQKWKIwnz8sjG5MPdgC4qjjijOfGLRZbHjGdRyUqZMgnz4sgm5Mc9K7vIlOGnlygM0N9y+hPUyiBPmNdAdpd8iOAVzJS5Edrp87cjoPf3AB7f4L/vIDNZIzO5vw+ENkJrKdhPqjiP4HbrrcKgDE+w1dz+qJlBkTXEwQItLDYzU1KRViBJ/bOs2DcyKLIyBBcPHupDq0YGRdNjPWHnjRlyqRsZFEolpbQCbDML3RiyIchA1KAN3ydoY1AkDLgJNH0CtpU1ZZxy6K2kDShkMzPlrZdGGjRiKEbSxKA4eO4cQUjg2VYWuiM5zo1iPMcLW4EP6ZCh+QL0TjcjpxA0zZHg2TJetjEoK6wZLpB4JDuqEfgs/cs6aS2CxFYkOg3KczV/KQCHPNg2BmWGslFeinVL1jYGhUJK2oCaix61Ah8oLprmSQMVzcgpElDgHWkvpKAPFXSaGBSZ2HzqWS6HD80MygA6hRbo3WZ2nxb0jheWbD9oRnhqa70lTY8G5mQzM+Xp8KNZEs60IxK0Z6FJ/6Y/m9l9RlmDCp1mkd6KlsAX/jl9Uyk/eKPaGBSnHHoDzrqhMEobgyKTnZ1bchhXI4Pim8JIb5KF3IwvwTrFdWklSlITmpFTZF4RbAhISkwzZx+C8bT/tOAckVZ2H9+Hoz+VUqIZnyf77xSyd9kqbMXus8Md/aHxsWxmoTsakTFk0pD20ozTzAk0ckg6Nq4Zu89JCRa0A0EnXysS3dEsIeFG4FlnGhEJDmgwZCMr7rbUiolFepR3JKroHTm0GGxiUJbmh++dssRqxefpnOf0CCulAtOKlsCDIqEAToO3rajDDhVpeaSeG08SoRWJjppgcyQVvGzGue/QkywwwuhBtLcxKDZDPSktEvS6s3cbg1KkTHFojY7kViIOpEMp0jhJUqGwrehTKK3VZJByAgG0MygSChokFyhtxpOHpLN4C4ieDpxWvMM0KBIKnhU9B62cfcgSwZLFLtE1459CDjeQgCLrHZqJIZOFZZAMPqlZ8WxFThlPpx/pLhpcM2cfkiZlkUwZkqCmFR0dLQf6PP1hTDvwcZl9KRxpeLaZ0BoZoGTKCCM4aNSK4TCUrhdasFI1XDhuY1BgheFrEcK6Vo4ZEud0DnNzDuObcQV5OTS+ZPc+NuPJ8yCRu9XTaSMaGpQl1AzJA0tLvRGR4O2QbE6mqNO6lWPGE3QaBL3HCRzNzBTpnIJQBCmacS96OmA4pYROPteML8EjzRCnSQApec3sPg+0wB0NzlvZSqoSNzIUgyEKCM2sKZ4g2n6e+2i2Yjh47xwZfg6t5ZKFTQzKCEHS3NHeE2BbCWzToNBw/Eppa1oxRo2QyiEnwAlwrhn4QHnF9iipn7KRY4Z0c3DScY68g1b86DQo7YwTJBI2DVvaGBTn3fAlFcn+hFYGZbVwSmnBvpdWFrpCQ7vOGTIdsJ1BeWmN1hKEa8Wa4QCINbTUWXq2kiTPV7Gs8CQ/OcuzEbPdCGM5bdgCaqUa0ad4UJxlpum8caqReB8NykuS5WTJ0P+agY8UFrKSpZWumdsgfHNSC9Rkz0jfSl4CDYpOGcHZJc62khFLg/Ic1ybrSpIcbQU+rl5L5zFyckIrC51miJQWMF7pZu440KAMiQR0rKM3I6ekQr6N5dX6nlgjgyJpDnTCcI2LVq78GklGFqktg+LSSloJDwo0GXyk67VjOEhLMkoB0h9s1LQyKDTogFOVNLZitksOzZA1ipbzE1qRU5w4rIU2nFTSjERHBcooDhmt+3K0MCjSzbUjFZ0UPN+Kc58GRWtK0zmD9EcrIgHEcLGW3kHVjEgAOvw4wZMXu2gkCMneOxoSiSgOrLWi5MGQVkLCXKhmEgVpUCC5JggnxcpWDmQAdk9xootVzfg8gc9hGhHZx7KVa0/0b77ix/5qLgXQyprSkv6tlRPet1IYhAZl0HjL17GwlbtYhg4969XQvsS3IxKMN7TxlBWuIZHgyDomFQG41EwzqguXxddkIpNa1c6BzHW0uI06KN9KppkBLgamSX+hDdjOTHn2v1qL3jeTAsDauSfZqbWgVdVIDJkG5TgEyUUc2vElKGVIeCrFObGtlA9jn5QCKTnEBtiKOkyryXIPWe89+FZMLI4T0WqyhlR10cjtWhqUA6GdFtyWtRU5ReucKyV4Ba6hQXFdHodcwQGwFdVFWUPSE6V0ZNe0og4rUjeBRRTB2I5IoEEZp7ljEzQTm+Fr2spa4wDRNXJvhgalaDxWIaKEZhY6khkD3Dq6nRvbhlQW7jdjSSFu5jIPD4rbpVi++UT4NTIoSaIK2LlIb7Sio2sQilM3tLWipUHRcLhKHne6aWT3kY6HVnPlTGFbqVJJg3Jk8JHdx/0yW7GQNad0cV0s4aVvxevC5Yscr3VSXlq5yGq4dD3ZV5bjoqYZOUWanSZVCrmWQysHsvZKcjcdS39pxuepPRkOznEVh2bq5HF2NfJiImG17g/cxKDoiAGPZIxy3LYROcV+RTqOLZ82rRSEpEFZSTafB2uaKeJgONIAkhYUnYGyldiMUQB8+UI4qUwr8T6aIUdSE4xll0Irg9JaOnoPSZ8Srfg86fBTIOmsMYjNaJ6GBmNQcbWZdtRhY7yyCjxXaW5HeFo6i0E6ZNdLK6qLsTRXnuvMSOUbuYdMg0LQYFBq0UyxmaHkvhdkaKHhsliNDIprEwCbWNBMZQleUIaTYYXjxK5GRIIVJKG0Juy0aqVWEA1KkXrO7ZrYT9zIQrfSko6gOfu0HT86yU7S7TQgNqQlWLb42Bqlz5rJ4OBZone4NIjWrfjR6S9c9JQkumwnK8hqqdjdIhu6207nsSRzhhtjuWaukdOgLCflDfczmwls06CclHyXXLVj91nLJRyQewZZ20rAyHLN08Ed1FAGh3UgjHQsGmwzJpZFvoRFJ5/17dxas14KzxWVgCuRNzMozSEQWu/WN3OdwHLhU+1pqmw72YtOkJBCjUbJZjodGgfcW8IZ5RtKaHagHR3KBrVpplKX4WZYZDxIYUQzpchJXyFVGIQg1UU0k9TlLAoAIw1XiW1FR3dc9Nt4KZ03zdxxcDQYgyTNwahWOohx/zcuXus5YamZKBYNyoqhLaRC34oxilwCxw++YX6zlUHxFVbku8iilcK1BqVA0g9QkmxvJoaMdPCxNGBHh2vF64IkOQU3X9Re6mZEAteHtaAsQjtOMwTSplh+Dm80MyhaU9yeQFtoJi9h6OoCKEhW2WauZ5JtzGUXHdJp3ExZHrQO1zUqnW6lIKTh5E4F3O8C2tE8aZpoPbEzSGI7a8p5kpx00LDi0kq8D0kicA8/5CBbKyYW17VXJNOd44yXVtYU6VIKDTte+PJ9G4PiyrCG72uTVdqMNUNykzUpq7hqSSt+dC+80Fx42Il2UgCGQSnNC8s2I9E9wHDGAAxJeY0MSg21zAwZo74ZzdNr5awSVmvkM7CVQWngsn3SgG2l6rfxBjznkwAM8ZlWBkXLCob9Z5txL5KC4IYOoy350ek4doq7/HL54WZmyhsrB9Hp2nEvknbH1WE1d8xr5XI0bznkuDYqTa82ZopVc+CuCdjQ5WgrgI4YrSxpCc24FznwSOg54G5rrbgXaVBaSr6xTQZNK4FtHhTH+chm0M10z+QLWH6oSmfoXG5EHbZcDBlRD80XW9GnrCCDQQILda5E3sbZR4OiwWgytCRgO8KTr6tJwRXNQDUSQ7b0t6H+IskE1UpklAbFBQWHRBfwjejoNChShlEqZ+i9Zo4Zi46MLENCHVq59mS5bSZXFTRGSNvMmiKF01tuQQXYSvKp5ZpKfHNGCsVxo0YGxXE+TrEG7gnQyu7jkDaZWEBWciuJgjQowzo6pys109qFa9trTSeMVLKZCjhWSs7wpGPZGN1K+hsNSjsk9JwGcI2EQawE4bkJHOej+0bSdIdSM4oDWNwKrpHQmuWj2HHVfW7X1Qx8WoBFw4VPbSsuazvUrPVDzQvVSkk69t4pjmBJvoncyoEsDUiWBs63kzvMjS64QwGJBK520cpC54RvEGxiuVZKZ5IVSiOi8dBkNVMYhAY1JJUMtoNuxZcApN5Z1oe9w1a8wxYkbToakORyo61oCVyeC8ErmrB2LGQyGlhwcggSmzFGQUvhwCFbD60Um7EcV+PLfXTctGNicRVdbgXACaitFO+jQQ3dJbizRDMl6cjeEyw1rfHoVStaAnD0WDtFlrJuJQGHBjVAR7Nk2/F5AipDxx+PRDYTmwE0nvt5sjeolTujFjyXbBf0jmum9TAParjKKj1Xt29FTnnaffQWg9dMGEQJVjmRRBXndjWy0JUkjQWkRNp8zagudO6RJsyl8tj6a0ROKTL5SH4qbpaHrfjRlSLlQIAmVRhbSZagQQ3FngSp6pyI2sigNFmhRnnuX9sOfBqM4zwl55qp60Lv0NlnSX9R7ZQmsIpMBq34ogqNqxnh6Z2SrAtLa5s5+7QAhg9JespmhKemcxjpP+1tMxWarSaZILz2yPeRW4kh60F4Cq63ppoJGGku+41D6n4zBSFJQFlDBx/f226mUpfVRlqnOXlDq1a6/PKgPGquCeJEK/dmuN4pbT4taVmR9tnKoCxH+1hEOdNKl1/LBgNpd1Zxw6BW/FMcFwXSp8B4bOXSodU49AsyiuRUM7EZ7SX91dEip/G1klKpPd+YGdZVMx3ueVAo+YomaTDNSHTDXiCu4jDUGG1EdaGBcH1tvnQosRX/lAHu6qnZRdzMXSxrlOCGWJKvFTST/mZINxBS8Se+lTYcNCj2u/ihuVIrZaPtOk1Ck7aAtpmsoKHIjPJ2XSavlUFxP11S09kSla340emA8ZxtJjlhqZVjhquMIjfTta6ZXms0KC5zwYFRsM1E243TxovhEiu/WhkUXwbRjrOaW2mZwC1dgLuWyMHSagU+rpLgBZ0z7dTgsJYDWKBRCYOt9HHgS+20prhkO7hWqula1oRpNOi44n4rxqjVHO7jSmtSN5OXwG2eFMlNzxZEK4aDZYPdkn3Fid/NwOeA/ejSed1MLWt2K3IGh9Lsc2lmplAg4tD427Zyt91y0TBpADkPp5mzzwngnUcKurXNGA7cNtMISf/RumpFonMzclLQDdc6bCbaToNyAFJ4MKYZl7XjMuRaWEG2XyvlLvjKIf1Ls0bsm7nb7tgrRaIcwEtsxUJ27J1Cluc8X60sdMVXo51gl1kzSV1kYZE2xW04hitGrQzK8l0sR1aDbqWmGQ3KeWE49duwStzIoIxmg4Hxa6ai4DAoSaoL0N9uXOifPHjwanZ+cvPgeCSr+8z+ZLG6OJ29nZ7PzuZHk8Xx8nx6fXl6NPnZ8vJkfvmzo8nx5Xwzvmisn4xjNbT/+Nqa5pDf+qLDL4n/Pfr/r66uLlafP3iwulpezon37OX8s+Plz98sL19/dro8np1+7oUQD14sTuerB+MYh9E/uLic/7CYv/ns4vwlUYLM494wCzc9/vrJ91CJp+Lq7cV8+6VhTmbni7PZ1WJvil5ezi5eLY6nq8XfzN83Yfe14Y6xgiPc3FreD3U10xnU/GgPnzz+1cNnj74qM5UPUsabub0L6TAh+8T/erU8J+riaPKHyZvFydWrz0kmHr2aL16+uuK/Tv726CMhbRdRh3zZwJFeavXQQP0AolLUgDThXBbSlHhPkKKWXE9dGS7Wz8rOAUhVDUQTxmURTYn3hKi3nHsluAe8H1K1DyDqaiCaMC6LaEq8I0SNFOiHDlJCKplB1FRANGVcFNE94j0h6jh8px3HPHG4DXMAUaiBaMK4LKIp8Z4Q9WQIKysM3+KTOdWoBqIJ47KIpsQ7QtQO6bkClLIehhp5BxC1FRBNGRdFdI94eUTreQv2Adi3Mf/VXRgHBrVnJrUwqD1Fv4VB7emqDQxqX91qYVB7GkMLg9o79BoY1L7cvsGB+IaOgFfzy389H6LzGul/wLdp10nev1kP4fYSfvMMiScxB8b/kp5EElxWaCFIrK6vRB+Yx+Prq/l0db4cJ+De02cPnz3+sti8PkhHseFzfn1KD6YPnp9aip+QRqS9Edxx3ZPUXl+bOADDu//73T+++x+Td39690/0l39+96efy2qAJOOJAOGMsQOIKOF+QogY1nwU0rI0CoZqegcQqbkn0gHEEMgONgVXyzVaewGSExD8QQguZ4vz5zVRiMcQo3BYtQfUPyUUgAtUGLR8qVllRNPq+vz8bTUMkhHEGKgODGajJF8dFbQSjRiSYw9g8Px09npZDYNkBBEGh7eBAvtTgkAby1dSyaYinZgvDGWEUTUEkgFECPjMifyTOg74Xrfj2xAO3XDj7gACp/zg54vzl/VgiEcRwWB7kEWWK9AJoHlHN9yFPmQxnC6vT6ZvFlevpnQ0VMMiGUp8MBzeElr+pLDgC7FyKHYghqqlOSxWazDOlsuKaMSDidCAw2ig+Smh4ZClg+XscK8yJsObxflJNQSSAcT74bAd/RPbEGiddRoFF29xmTOCN8FGNl3NLq9W1eBIBhPB4To4KoYqiYIVFuDWNYdNh+HErgVBOoIIgh7cGBYQDP9PcxsMcRiCs+X1+VVF1TUdRIQCHrah/U9qI3DRNOORI2pWZzwZx5dvSW+dVnZopEOJsDhsS/+0vEqkvmuUXHHaKLtOEDngz6A5PqsGQTKC+Jje0ZS0ta2Gi/embD+Q8K8fsNof1J5bvYFB7XuWmxhU6mttYVB7rscWBrXni2thUHveqSYGlTpsWhjUnvuiiUGldnwLg9ozZ1sY1J6B18Cg9u2cJgaVav4tDGpPEW5hUHsaYVah+uTB5vXJJ19+/+jhs0eTv3r0u6ffPfzy0eTx15Mn3z6bPPrt46fPnk5IFzxdfTKh128eP/vl5HJ+cbo4HnTXyV9M/nDv+HS2Wt37nHTLxdnF6fzp1SWN8+Vb1uV2vjp9MTsmTfPe5POJ+ts/Cyyf/e67R2sGn10ul2fTi/nl2WK1oh+s7g8s3/9avVlcHb+aEotjUrYvZ5Or+e+vjj76x2eL44/75avZ5Xy6Ig19fj788AN+9+nBB5+fPZ+fnBC0F7NLAnxxMTu/mp6Qfn08/9A52Hmtf0hL5qOeZp8AWy63JfFqQc9zPnm+XJ7OZ+cf9/vdOXr4xTcHF+OwVlaTj5odmpDra/rju+8f/+rh97/jxf5RT0aLfHm8oKV9q6ldnC+u6MfLy1v9evDtTa9Wk6vF2Zz+cXbxUT+fn5/c/sf0i6vr1cePedjObPh+/E9f0GytXk3vNmckbq5np9PL+TGZ1uyMuA2Rs9nvp88vl7OT49nqiqQ24fhxBH5YrBbPT+fTk+vLtRikZft88fJjyeyIxYy0/Chy27Pkloticf7DgnbC6eL89Vr2HZZsuwJt9xE+VqzdScTvE2FRT69bEdmV+iORj6DxQdJtZ9o+fq74NSyOjcC7hfie7OJ2+4Nkcr2aX97lGJnMfpiR5GMP2a1JrE+z1eTpo2d//vX33/7bR0/+/L2n7i9+cRtOtxWUm9clnZW3/vEdD4jN607nxOa1uJjOTk4u56vbz8TF6ezqxfLy7PYE9qRlRhDdalHfVXZuXjt6yOT+ZsMeJTvv0125+vjJV49+OzzP7pJdsQGxXnr0g99Pvn1yQIjcX3/hY4XPdNw8t5FBm9ddRdHmdWetdnwVEm3xsO4k5Davw+shPPeNS+M9ivL01YK9/G9vh2OpGSshXe6+nO6mxo+vMvL2Ljry+Lqbkjy+7nh2xYs3XjBHG+CPRuxo5a4dCV9+8+unzx59//jJX06+/f6rR99PvqAfb1bJV4+efvlBC5zU/MUP8+l6nZMoHPFlXZtm5A6Sa+eVEOVpurUdmX0VkpQ7r230cLtOP0xsDKdMMJ0+2BUTv+hZbniVmcRo+R/kcTu6IxiHX7eHaP6SVaMc5duP9/n18ev5Ve7T29O9mF29yn96e7ocVp5mid+e7kaQZV53orsW+Ifp3ukUGE/GzOuOxIfjJf/prWfkanF1mid8h5kebOspG9rstSmmr/2wOJkvp0MywoFPP9Yhk5BdZzYUJLtjZRx4xdL8fe77V7OrHff994++++bxlw+fPSZL4S8mfwij2/jxJwcc+dvvZBz64Qvs2f/100drnsPV2clLEkuRQ+P527Wtuzgfvpb7Dn82mZ2fDF4EOktWB75INF4sx/cHnpPli+EH45vny6vJ2TXN5EH6Nx6ETC6yoj5ZH4P8QSTAv3j8l4+fPFvPEvPOfjg89u7r2aPfbj5aj3Hn9cW3337z6OGT9afHp/PZ5ajFs6h49vhXj54+e/ir79afr3jH7EqQ5PO91ZR8Hqlv9zcP+OnR+DQHzNB4riJ7dPOjYI3uzePk/kj3zz6Y6DA/N5EcvvARBBmLm+jx5+9TlYafnSxWs+ensR/pfy+Vj9hW02NO2ZxfZidtnJl9bXGfzOTLb3/9hIyKDxzG4vycnnX4BxsPg+S4fxM6B8awS4PE1OQbYvDn62//4n1zuuc3v2GUJPJXs5e3CQlONj/l59ldZLcjsrumPpLMhzztyXx+MQQWPvJB2Um83SQf/JqdLmar4Ycf/rsPeYxh/ZzNz/mo/HjIxtV3W7TOF8ev116pj3uyyfrhdk5UPioXJ/vvDCfryfx0Tgs7/ZQhnDCE6Qc8ovfvyrXCsp60g4ZSbisOD5y+tmviZE665eJiSFw48PFBRXn78U4s4uCvZy+ne/y3Hx+0U3fRjTf5Rj4PomSMWhyQBWOgIuyZXebR78I3frE3F+MqjWMke4t4y2vAPEEkOoK2boedqXjPMXPgO3tHWfSd9+kka4G8GW180q81xfubz25WGtZkeG0cpMEffBCBzfI4TGTz4YcQCkDySsw81uYbnybK+AdtvOn8h/kNCkwUvF47Habny4OfDoSiH4+fbs7ut6fL2S7prW13UMk42vIjfWOk/h5v4jiG0Z+4Ox8Pv6Hvb6bjgLbPA3n41VeT5cXF8pzJjKpTWIK3oBFk+sHfHtYlbzmQDyS2O6KbZ2drSO4SWCs9LDo2Os/7LVI6OhYvNmbkv6ZlesMGiIa0lns/LBcX06vl6/n56madcEedX82HwOLwpd2DZwjiDLTWQix8NMY6p+Pps/erLb/1R/sbZDOso3QI79XFDzx0UPL+l3/u/w/zzvlPOhcEAA== -kind: ConfigMap -metadata: - name: cassandra-init-script - namespace: cassandra diff --git a/cw-infra-apps-nubes/cassandra/templates/initdb-configmap.yaml b/cw-infra-apps-nubes/cassandra/templates/initdb-configmap.yaml deleted file mode 100755 index 53f5817..0000000 --- a/cw-infra-apps-nubes/cassandra/templates/initdb-configmap.yaml +++ /dev/null @@ -1,19 +0,0 @@ -{{- /* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{- if and .Values.initDB (not .Values.initDBConfigMap) }} -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ printf "%s-init-scripts" (include "common.names.fullname" .) }} - namespace: {{ .Release.Namespace | quote }} - labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} - app.kubernetes.io/part-of: cassandra - {{- if .Values.commonAnnotations }} - annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} - {{- end }} -data: -{{- include "common.tplvalues.render" (dict "value" .Values.initDB "context" .) | nindent 2 }} -{{ end }} diff --git a/cw-infra-apps-nubes/cassandra/templates/metrics-configmap.yaml b/cw-infra-apps-nubes/cassandra/templates/metrics-configmap.yaml deleted file mode 100755 index d999d2f..0000000 --- a/cw-infra-apps-nubes/cassandra/templates/metrics-configmap.yaml +++ /dev/null @@ -1,19 +0,0 @@ -{{- /* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ printf "%s-metrics-conf" (include "common.names.fullname" .) | trunc 63 | trimSuffix "-" }} - namespace: {{ include "common.names.namespace" . | quote }} - labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} - app.kubernetes.io/part-of: cassandra - app.kubernetes.io/component: cassandra-exporter - {{- if .Values.commonAnnotations }} - annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} - {{- end }} -data: - config.yml: |- - {{- include "common.tplvalues.render" (dict "value" .Values.metrics.configuration "context" $) | nindent 4 }} diff --git a/cw-infra-apps-nubes/cassandra/templates/networkpolicy.yaml b/cw-infra-apps-nubes/cassandra/templates/networkpolicy.yaml deleted file mode 100755 index 894474d..0000000 --- a/cw-infra-apps-nubes/cassandra/templates/networkpolicy.yaml +++ /dev/null @@ -1,82 +0,0 @@ -{{- /* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{- if .Values.networkPolicy.enabled }} -kind: NetworkPolicy -apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }} -metadata: - name: {{ include "common.names.fullname" . }} - namespace: {{ include "common.names.namespace" . | quote }} - labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} - {{- if .Values.commonAnnotations }} - annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} - {{- end }} -spec: - {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.podLabels .Values.commonLabels ) "context" . ) }} - podSelector: - matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }} - policyTypes: - - Ingress - - Egress - {{- if .Values.networkPolicy.allowExternalEgress }} - egress: - - {} - {{- else }} - egress: - # Allow dns resolution - - ports: - - port: 53 - protocol: UDP - - port: 53 - protocol: TCP - # Allow connection to other cluster pods - - ports: - - port: {{ .Values.containerPorts.cql }} - - port: {{ .Values.containerPorts.jmx }} - - port: {{ .Values.containerPorts.tls }} - - port: {{ .Values.containerPorts.intra }} - to: - - podSelector: - matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 14 }} - {{- if .Values.networkPolicy.extraEgress }} - {{- include "common.tplvalues.render" ( dict "value" .Values.rts.networkPolicy.extraEgress "context" $ ) | nindent 4 }} - {{- end }} - {{- end }} - ingress: - - ports: - - port: {{ .Values.containerPorts.cql }} - - port: {{ .Values.containerPorts.jmx }} - - port: {{ .Values.containerPorts.tls }} - - port: {{ .Values.containerPorts.intra }} - {{- if .Values.metrics.enabled }} - - port: {{ .Values.metrics.containerPorts.http }} - - port: {{ .Values.metrics.containerPorts.jmx }} - {{- end }} - {{- if not .Values.networkPolicy.allowExternal }} - from: - - podSelector: - matchLabels: - {{ template "common.names.fullname" . }}-client: "true" - - podSelector: - matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 14 }} - {{- if .Values.networkPolicy.ingressNSMatchLabels }} - - namespaceSelector: - matchLabels: - {{- range $key, $value := .Values.networkPolicy.ingressNSMatchLabels }} - {{ $key | quote }}: {{ $value | quote }} - {{- end }} - {{- if .Values.networkPolicy.ingressNSPodMatchLabels }} - podSelector: - matchLabels: - {{- range $key, $value := .Values.networkPolicy.ingressNSPodMatchLabels }} - {{ $key | quote }}: {{ $value | quote }} - {{- end }} - {{- end }} - {{- end }} - {{- end }} - {{- if .Values.networkPolicy.extraIngress }} - {{- include "common.tplvalues.render" ( dict "value" .Values.networkPolicy.extraIngress "context" $ ) | nindent 4 }} - {{- end }} -{{- end }} diff --git a/cw-infra-apps-nubes/cassandra/templates/pdb.yaml b/cw-infra-apps-nubes/cassandra/templates/pdb.yaml deleted file mode 100755 index e34aa45..0000000 --- a/cw-infra-apps-nubes/cassandra/templates/pdb.yaml +++ /dev/null @@ -1,26 +0,0 @@ -{{- /* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{- if .Values.pdb.create }} -apiVersion: {{ include "common.capabilities.policy.apiVersion" . }} -kind: PodDisruptionBudget -metadata: - name: {{ include "common.names.fullname" . }} - namespace: {{ include "common.names.namespace" . | quote }} - labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} - {{- if .Values.commonAnnotations }} - annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} - {{- end }} -spec: - {{- if .Values.pdb.minAvailable }} - minAvailable: {{ .Values.pdb.minAvailable }} - {{- end }} - {{- if or .Values.pdb.maxUnavailable ( not .Values.pdb.minAvailable ) }} - maxUnavailable: {{ .Values.pdb.maxUnavailable | default 1 }} - {{- end }} - {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.podLabels .Values.commonLabels ) "context" . ) }} - selector: - matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }} -{{- end }} diff --git a/cw-infra-apps-nubes/cassandra/templates/service.yaml b/cw-infra-apps-nubes/cassandra/templates/service.yaml deleted file mode 100755 index d2f5bc6..0000000 --- a/cw-infra-apps-nubes/cassandra/templates/service.yaml +++ /dev/null @@ -1,59 +0,0 @@ -{{- /* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -apiVersion: v1 -kind: Service -metadata: - name: {{ include "common.names.fullname" . }} - namespace: {{ include "common.names.namespace" . | quote }} - labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} - {{- if or .Values.service.annotations .Values.commonAnnotations }} - {{- $annotations := include "common.tplvalues.merge" ( dict "values" ( list .Values.service.annotations .Values.commonAnnotations ) "context" . ) }} - annotations: {{- include "common.tplvalues.render" ( dict "value" $annotations "context" $) | nindent 4 }} - {{- end }} -spec: - type: {{ .Values.service.type }} - {{- if and (eq .Values.service.type "LoadBalancer") (not (empty .Values.service.loadBalancerIP)) }} - loadBalancerIP: {{ .Values.service.loadBalancerIP }} - {{- end }} - {{- if and (eq .Values.service.type "LoadBalancer") (not (empty .Values.service.loadBalancerSourceRanges)) }} - loadBalancerSourceRanges: {{- toYaml .Values.service.loadBalancerSourceRanges | nindent 4 }} - {{- end }} - {{- if and .Values.service.clusterIP (eq .Values.service.type "ClusterIP") }} - clusterIP: {{ .Values.service.clusterIP }} - {{- end }} - {{- if .Values.service.sessionAffinity }} - sessionAffinity: {{ .Values.service.sessionAffinity }} - {{- end }} - {{- if .Values.service.sessionAffinityConfig }} - sessionAffinityConfig: {{- include "common.tplvalues.render" (dict "value" .Values.service.sessionAffinityConfig "context" $) | nindent 4 }} - {{- end }} - {{- if or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort") }} - externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy | quote }} - {{- end }} - ports: - - name: cql - port: {{ .Values.service.ports.cql }} - targetPort: cql - {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.cql)) }} - nodePort: {{ .Values.service.nodePorts.cql }} - {{- else if eq .Values.service.type "ClusterIP" }} - nodePort: null - {{- end }} - {{- if .Values.metrics.enabled }} - - name: metrics - port: {{ .Values.service.ports.metrics }} - targetPort: metrics - {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.metrics)) }} - nodePort: {{ .Values.service.nodePorts.metrics }} - {{- else if eq .Values.service.type "ClusterIP" }} - nodePort: null - {{- end }} - {{- end }} - {{- if .Values.service.extraPorts }} - {{- include "common.tplvalues.render" (dict "value" .Values.service.extraPorts "context" $) | nindent 4 }} - {{- end }} - {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.podLabels .Values.commonLabels ) "context" . ) }} - selector: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 4 }} diff --git a/cw-infra-apps-nubes/cassandra/templates/serviceaccount.yaml b/cw-infra-apps-nubes/cassandra/templates/serviceaccount.yaml deleted file mode 100755 index 9ae54f5..0000000 --- a/cw-infra-apps-nubes/cassandra/templates/serviceaccount.yaml +++ /dev/null @@ -1,18 +0,0 @@ -{{- /* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{- if .Values.serviceAccount.create }} -apiVersion: v1 -kind: ServiceAccount -metadata: - name: {{ include "cassandra.serviceAccountName" . }} - namespace: {{ include "common.names.namespace" . | quote }} - labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} - {{- if or .Values.serviceAccount.annotations .Values.commonAnnotations }} - {{- $annotations := include "common.tplvalues.merge" ( dict "values" ( list .Values.serviceAccount.annotations .Values.commonAnnotations ) "context" . ) }} - annotations: {{- include "common.tplvalues.render" ( dict "value" $annotations "context" $) | nindent 4 }} - {{- end }} -automountServiceAccountToken: {{ .Values.serviceAccount.automountServiceAccountToken }} -{{- end }} diff --git a/cw-infra-apps-nubes/cassandra/templates/servicemonitor.yaml b/cw-infra-apps-nubes/cassandra/templates/servicemonitor.yaml deleted file mode 100755 index 0c12f54..0000000 --- a/cw-infra-apps-nubes/cassandra/templates/servicemonitor.yaml +++ /dev/null @@ -1,46 +0,0 @@ -{{- /* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{- if and .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }} -apiVersion: monitoring.coreos.com/v1 -kind: ServiceMonitor -metadata: - name: {{ include "common.names.fullname" . }} - namespace: {{ default ( include "common.names.namespace" . ) .Values.metrics.serviceMonitor.namespace | quote }} - {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.metrics.serviceMonitor.labels .Values.commonLabels ) "context" . ) }} - labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} - {{- if .Values.commonAnnotations }} - annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} - {{- end }} -spec: - {{- if .Values.metrics.serviceMonitor.jobLabel }} - jobLabel: {{ .Values.metrics.serviceMonitor.jobLabel }} - {{- end }} - selector: - matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 6 }} - {{- if .Values.metrics.serviceMonitor.selector }} - {{- include "common.tplvalues.render" (dict "value" .Values.metrics.serviceMonitor.selector "context" $) | nindent 6 }} - {{- end }} - endpoints: - - port: metrics - {{- if .Values.metrics.serviceMonitor.interval }} - interval: {{ .Values.metrics.serviceMonitor.interval }} - {{- end }} - {{- if .Values.metrics.serviceMonitor.scrapeTimeout }} - scrapeTimeout: {{ .Values.metrics.serviceMonitor.scrapeTimeout }} - {{- end }} - {{- if .Values.metrics.serviceMonitor.honorLabels }} - honorLabels: {{ .Values.metrics.serviceMonitor.honorLabels }} - {{- end }} - {{- if .Values.metrics.serviceMonitor.metricRelabelings }} - metricRelabelings: {{- toYaml .Values.metrics.serviceMonitor.metricRelabelings | nindent 6 }} - {{- end }} - {{- if .Values.metrics.serviceMonitor.relabelings }} - relabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.metrics.serviceMonitor.relabelings "context" $) | nindent 8 }} - {{- end }} - namespaceSelector: - matchNames: - - {{ include "common.names.namespace" . }} -{{- end }} diff --git a/cw-infra-apps-nubes/cassandra/templates/statefulset.yaml b/cw-infra-apps-nubes/cassandra/templates/statefulset.yaml deleted file mode 100755 index 7b9b7b2..0000000 --- a/cw-infra-apps-nubes/cassandra/templates/statefulset.yaml +++ /dev/null @@ -1,690 +0,0 @@ -{{- /* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -apiVersion: {{ include "common.capabilities.statefulset.apiVersion" . }} -kind: StatefulSet -metadata: - name: {{ include "common.names.fullname" . }} - namespace: {{ include "common.names.namespace" . | quote }} - labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} - {{- if .Values.commonAnnotations }} - annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} - {{- end }} -spec: - {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.podLabels .Values.commonLabels ) "context" . ) }} - selector: - matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }} - serviceName: {{ printf "%s-headless" (include "common.names.fullname" .) | trunc 63 | trimSuffix "-" }} - podManagementPolicy: {{ .Values.podManagementPolicy }} - replicas: {{ .Values.replicaCount }} - updateStrategy: {{- include "common.tplvalues.render" (dict "value" .Values.updateStrategy "context" $ ) | nindent 4 }} - template: - metadata: - labels: {{- include "common.labels.standard" ( dict "customLabels" $podLabels "context" $ ) | nindent 8 }} - {{- if or .Values.podAnnotations (and .Values.metrics.enabled .Values.metrics.podAnnotations) }} - annotations: - {{- if .Values.podAnnotations }} - {{- toYaml .Values.podAnnotations | nindent 8 }} - {{- end }} - {{- if .Values.metrics.podAnnotations }} - {{- toYaml .Values.metrics.podAnnotations | nindent 8 }} - {{- end }} - {{- end }} - spec: - {{- include "cassandra.imagePullSecrets" . | nindent 6 }} - automountServiceAccountToken: {{ .Values.automountServiceAccountToken }} - {{- if .Values.hostAliases }} - hostAliases: {{- include "common.tplvalues.render" (dict "value" .Values.hostAliases "context" $) | nindent 8 }} - {{- end }} - serviceAccountName: {{ template "cassandra.serviceAccountName" . }} - {{- if .Values.affinity }} - affinity: {{- include "common.tplvalues.render" (dict "value" .Values.affinity "context" $) | nindent 8 }} - {{- else }} - affinity: - podAffinity: {{- include "common.affinities.pods" (dict "type" .Values.podAffinityPreset "customLabels" $podLabels "context" $) | nindent 10 }} - podAntiAffinity: {{- include "common.affinities.pods" (dict "type" .Values.podAntiAffinityPreset "customLabels" $podLabels "context" $) | nindent 10 }} - nodeAffinity: {{- include "common.affinities.nodes" (dict "type" .Values.nodeAffinityPreset.type "key" .Values.nodeAffinityPreset.key "values" .Values.nodeAffinityPreset.values) | nindent 10 }} - {{- end }} - {{- if .Values.nodeSelector }} - nodeSelector: {{- include "common.tplvalues.render" (dict "value" .Values.nodeSelector "context" $) | nindent 8 }} - {{- end }} - {{- if .Values.tolerations }} - tolerations: {{- include "common.tplvalues.render" (dict "value" .Values.tolerations "context" $) | nindent 8 }} - {{- end }} - {{- if .Values.schedulerName }} - schedulerName: {{ .Values.schedulerName | quote }} - {{- end }} - {{- if .Values.priorityClassName }} - priorityClassName: {{ .Values.priorityClassName | quote }} - {{- end }} - {{- if .Values.podSecurityContext.enabled }} - securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.podSecurityContext "context" $) | nindent 8 }} - {{- end }} - {{- if .Values.topologySpreadConstraints }} - topologySpreadConstraints: {{- include "common.tplvalues.render" (dict "value" .Values.topologySpreadConstraints "context" $) | nindent 8 }} - {{- end }} - {{- if .Values.terminationGracePeriodSeconds }} - terminationGracePeriodSeconds: {{ .Values.terminationGracePeriodSeconds }} - {{- end }} - {{- if or .Values.initContainers (include "cassandra.tlsEncryption" . ) (and .Values.podSecurityContext.enabled .Values.volumePermissions.enabled .Values.persistence.enabled) }} - initContainers: - {{- if and .Values.podSecurityContext.enabled .Values.volumePermissions.enabled .Values.persistence.enabled }} - - name: volume-permissions - image: {{ include "cassandra.volumePermissions.image" . }} - imagePullPolicy: {{ .Values.volumePermissions.image.pullPolicy | quote }} - {{- if .Values.diagnosticMode.enabled }} - command: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.command "context" $) | nindent 12 }} - {{- else }} - command: - - /bin/sh - - -cx - - | - {{- if .Values.persistence.enabled }} - {{- if eq ( toString ( .Values.volumePermissions.securityContext.runAsUser )) "auto" }} - chown `id -u`:`id -G | cut -d " " -f2` {{ .Values.persistence.mountPath }} - {{- else }} - chown {{ .Values.containerSecurityContext.runAsUser }}:{{ .Values.podSecurityContext.fsGroup }} {{ .Values.persistence.mountPath }} - {{- end }} - mkdir -p {{ .Values.persistence.mountPath }}/data - chmod 700 {{ .Values.persistence.mountPath }}/data - find {{ .Values.persistence.mountPath }} -mindepth 1 -maxdepth 1 -not -name ".snapshot" -not -name "lost+found" | \ - {{- if eq ( toString ( .Values.volumePermissions.securityContext.runAsUser )) "auto" }} - xargs chown -R `id -u`:`id -G | cut -d " " -f2` - {{- else }} - xargs chown -R {{ .Values.containerSecurityContext.runAsUser }}:{{ .Values.podSecurityContext.fsGroup }} - {{- end }} - {{- end }} - {{- if .Values.persistence.commitLogMountPath }} - - /bin/sh - - -cx - - | - {{- if .Values.persistence.enabled }} - {{- if eq ( toString ( .Values.volumePermissions.securityContext.runAsUser )) "auto" }} - chown `id -u`:`id -G | cut -d " " -f2` {{ .Values.persistence.mountPath }} - {{- else }} - chown {{ .Values.containerSecurityContext.runAsUser }}:{{ .Values.podSecurityContext.fsGroup }} {{ .Values.persistence.mountPath }} - {{- end }} - mkdir -p {{ .Values.persistence.commitLogMountPath }}/commitlog - chmod 700 {{ .Values.persistence.commitLogMountPath }}/commitlog - find {{ .Values.persistence.mountPath }} -mindepth 1 -maxdepth 1 -not -name ".snapshot" -not -name "lost+found" | \ - {{- if eq ( toString ( .Values.volumePermissions.securityContext.runAsUser )) "auto" }} - xargs -r chown -R `id -u`:`id -G | cut -d " " -f2` - {{- else }} - xargs -r chown -R {{ .Values.containerSecurityContext.runAsUser }}:{{ .Values.podSecurityContext.fsGroup }} - {{- end }} - {{- end }} - {{- end }} - {{- end }} - {{- if eq ( toString ( .Values.volumePermissions.securityContext.runAsUser )) "auto" }} - securityContext: {{- omit .Values.volumePermissions.securityContext "runAsUser" | toYaml | nindent 12 }} - {{- else }} - securityContext: {{- .Values.volumePermissions.securityContext | toYaml | nindent 12 }} - {{- end }} - {{- if .Values.volumePermissions.resources }} - resources: {{- toYaml .Values.volumePermissions.resources | nindent 12 }} - {{- else if ne .Values.volumePermissions.resourcesPreset "none" }} - resources: {{- include "common.resources.preset" (dict "type" .Values.volumePermissions.resourcesPreset) | nindent 12 }} - {{- end }} - volumeMounts: - - name: data - mountPath: {{ .Values.persistence.mountPath }} - - name: empty-dir - mountPath: /tmp - subPath: tmp-dir - {{- if .Values.persistence.commitLogMountPath }} - - name: commitlog - mountPath: {{ .Values.persistence.commitLogMountPath }} - {{- end }} - {{- end }} - {{- if (include "cassandra.tlsEncryption" . ) }} - - name: init-certs - image: {{ include "cassandra.image" . }} - imagePullPolicy: {{ .Values.image.pullPolicy | quote }} - {{- if .Values.containerSecurityContext.enabled }} - securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.containerSecurityContext "context" $) | nindent 12 }} - {{- end }} - command: - - /bin/bash - - -ec - - |- - {{- if .Values.tls.autoGenerated }} - if [[ -f "/certs/tls.key" ]] && [[ -f "/certs/tls.crt" ]] && [[ -f "/certs/ca.crt" ]]; then - openssl pkcs12 -export -in "/certs/tls.crt" \ - -passout pass:"${CASSANDRA_KEYSTORE_PASSWORD}" \ - -inkey "/certs/tls.key" \ - -out "/tmp/keystore.p12" - keytool -importkeystore -srckeystore "/tmp/keystore.p12" \ - -srcstoretype PKCS12 \ - -srcstorepass "${CASSANDRA_KEYSTORE_PASSWORD}" \ - -deststorepass "${CASSANDRA_KEYSTORE_PASSWORD}" \ - -destkeystore "/opt/bitnami/cassandra/certs/keystore" \ - -noprompt - rm "/tmp/keystore.p12" - keytool -import -file "/certs/ca.crt" \ - -keystore "/opt/bitnami/cassandra/certs/truststore" \ - -storepass "${CASSANDRA_TRUSTSTORE_PASSWORD}" \ - -noprompt - else - echo "Couldn't find the expected PEM certificates! They are mandatory when encryption via TLS is enabled." - exit 1 - fi - {{- else }} - if [[ -f "/certs/truststore" ]] && [[ -f "/certs/keystore" ]]; then - cp "/certs/truststore" "/opt/bitnami/cassandra/certs/truststore" - cp "/certs/keystore" "/opt/bitnami/cassandra/certs/keystore" - else - echo "Couldn't find the expected Java Key Stores (JKS) files! They are mandatory when encryption via TLS is enabled." - exit 1 - fi - {{- end }} - env: - - name: MY_POD_NAME - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.name - {{- if or .Values.tls.passwordsSecret .Values.tls.tlsEncryptionSecretName .Values.tls.truststorePassword .Values.tls.autoGenerated }} - {{- if .Values.usePasswordFiles }} - - name: CASSANDRA_TRUSTSTORE_PASSWORD_FILE - value: "/opt/bitnami/cassandra/secrets/truststore-password" - {{- else }} - - name: CASSANDRA_TRUSTSTORE_PASSWORD - valueFrom: - secretKeyRef: - name: {{ include "cassandra.tlsPasswordsSecret" . }} - key: truststore-password - {{- end }} - {{- end }} - {{- if or .Values.tls.passwordsSecret .Values.tls.tlsEncryptionSecretName .Values.tls.keystorePassword .Values.tls.autoGenerated }} - {{- if .Values.usePasswordFiles }} - - name: CASSANDRA_KEYSTORE_PASSWORD_FILE - value: "/opt/bitnami/cassandra/secrets/keystore-password" - {{- else }} - - name: CASSANDRA_KEYSTORE_PASSWORD - valueFrom: - secretKeyRef: - name: {{ include "cassandra.tlsPasswordsSecret" . }} - key: keystore-password - {{- end }} - {{- end }} - {{- if .Values.tls.resources }} - resources: {{- toYaml .Values.tls.resources | nindent 12 }} - {{- else if ne .Values.tls.resourcesPreset "none" }} - resources: {{- include "common.resources.preset" (dict "type" .Values.tls.resourcesPreset) | nindent 12 }} - {{- end }} - volumeMounts: - - name: script-volume - mountPath: /scripts - - name: certs - mountPath: /certs - - name: certs-shared - mountPath: /opt/bitnami/cassandra/certs - - name: empty-dir - mountPath: /tmp - subPath: tmp-dir - {{- if .Values.usePasswordFiles }} - - name: cassandra-secrets - mountPath: /opt/bitnami/cassandra/secrets - {{- end }} - {{- end }} - {{- if .Values.initContainers }} - {{- include "common.tplvalues.render" (dict "value" .Values.initContainers "context" $) | nindent 8 }} - {{- end }} - {{- end }} - {{- if .Values.hostNetwork }} - hostNetwork: true - dnsPolicy: ClusterFirstWithHostNet - {{- end }} - containers: - - name: cassandra - command: - {{- if .Values.command }} - {{- include "common.tplvalues.render" (dict "value" .Values.command "context" $) | nindent 12 }} - {{- else }} - - bash - - -ec - - | - # Node 0 is the password seeder - if [[ $POD_NAME =~ (.*)-0$ ]]; then - echo "Setting node as password seeder" - export CASSANDRA_PASSWORD_SEEDER=yes - else - # Only node 0 will execute the startup initdb scripts - export CASSANDRA_IGNORE_INITDB_SCRIPTS=1 - fi - /opt/bitnami/scripts/cassandra/entrypoint.sh /opt/bitnami/scripts/cassandra/run.sh - {{- end }} - {{- if .Values.diagnosticMode.enabled }} - args: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.args "context" $) | nindent 12 }} - {{- else if .Values.args }} - args: {{- include "common.tplvalues.render" (dict "value" .Values.args "context" $) | nindent 12 }} - {{- end }} - image: {{ include "cassandra.image" . }} - imagePullPolicy: {{ .Values.image.pullPolicy | quote }} - {{- if .Values.containerSecurityContext.enabled }} - securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.containerSecurityContext "context" $) | nindent 12 }} - {{- end }} - env: - - name: BITNAMI_DEBUG - value: {{ ternary "true" "false" (or .Values.image.debug .Values.diagnosticMode.enabled) | quote }} - - name: CASSANDRA_CLUSTER_NAME - value: {{ .Values.cluster.name }} - - name: CASSANDRA_SEEDS - value: {{ (include "cassandra.seeds" .) | quote }} - {{- if .Values.usePasswordFiles }} - - name: CASSANDRA_PASSWORD_FILE - value: {{ printf "/opt/bitnami/cassandra/secrets/%s" (include "common.secrets.key" (dict "existingSecret" .Values.dbUser.existingSecret "key" "cassandra-password")) }} - {{- else }} - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ include "common.secrets.name" (dict "existingSecret" .Values.dbUser.existingSecret "context" $) }} - key: {{ include "common.secrets.key" (dict "existingSecret" .Values.dbUser.existingSecret "key" "cassandra-password") }} - {{- end }} - - name: POD_IP - valueFrom: - fieldRef: - fieldPath: status.podIP - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: CASSANDRA_USER - value: {{ .Values.dbUser.user | quote }} - - name: CASSANDRA_NUM_TOKENS - value: {{ .Values.cluster.numTokens | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.cluster.datacenter }} - - name: CASSANDRA_ENDPOINT_SNITCH - value: {{ .Values.cluster.endpointSnitch }} - - name: CASSANDRA_KEYSTORE_LOCATION - value: "/opt/bitnami/cassandra/certs/keystore" - - name: CASSANDRA_TRUSTSTORE_LOCATION - value: "/opt/bitnami/cassandra/certs/truststore" - {{- if ne "none" (include "cassandra.internode.tlsEncryption" .) }} - - name: CASSANDRA_INTERNODE_ENCRYPTION - value: {{ (include "cassandra.internode.tlsEncryption" .) | quote }} - {{- end }} - {{- if (include "cassandra.client.tlsEncryption" .) }} - - name: CASSANDRA_CLIENT_ENCRYPTION - value: "true" - {{- end }} - {{- if or .Values.tls.passwordsSecret .Values.tls.tlsEncryptionSecretName .Values.tls.truststorePassword .Values.tls.autoGenerated }} - {{- if .Values.usePasswordFiles }} - - name: CASSANDRA_TRUSTSTORE_PASSWORD_FILE - value: "/opt/bitnami/cassandra/secrets/truststore-password" - {{- else }} - - name: CASSANDRA_TRUSTSTORE_PASSWORD - valueFrom: - secretKeyRef: - name: {{ include "cassandra.tlsPasswordsSecret" . }} - key: truststore-password - {{- end }} - {{- end }} - {{- if or .Values.tls.passwordsSecret .Values.tls.tlsEncryptionSecretName .Values.tls.keystorePassword .Values.tls.autoGenerated }} - {{- if .Values.usePasswordFiles }} - - name: CASSANDRA_KEYSTORE_PASSWORD_FILE - value: "/opt/bitnami/cassandra/secrets/keystore-password" - {{- else }} - - name: CASSANDRA_KEYSTORE_PASSWORD - valueFrom: - secretKeyRef: - name: {{ include "cassandra.tlsPasswordsSecret" . }} - key: keystore-password - {{- end }} - {{- end }} - - name: CASSANDRA_RACK - value: {{ .Values.cluster.rack }} - {{- if or .Values.jvm.maxHeapSize (include "cassandra.memory.getLimitInM" .) }} - - name: MAX_HEAP_SIZE - value: {{ include "cassandra.memory.calculateMaxHeapSize" . | quote }} - {{- end }} - {{- if or .Values.jvm.newHeapSize (include "cassandra.memory.getLimitInM" .) }} - - name: HEAP_NEWSIZE - value: {{ include "cassandra.memory.calculateNewHeapSize" . | quote }} - {{- end }} - {{- if .Values.jvm.extraOpts }} - - name: JVM_EXTRA_OPTS - value: {{ .Values.jvm.extraOpts | quote }} - {{- end }} - {{- if .Values.cluster.enableUDF }} - - name: CASSANDRA_ENABLE_USER_DEFINED_FUNCTIONS - value: {{ .Values.cluster.enableUDF | quote }} - {{- end }} - {{- if .Values.containerPorts.intra }} - - name: CASSANDRA_TRANSPORT_PORT_NUMBER - value: {{ .Values.containerPorts.intra | quote }} - {{- end }} - {{- if .Values.containerPorts.jmx }} - - name: CASSANDRA_JMX_PORT_NUMBER - value: {{ .Values.containerPorts.jmx | quote }} - {{- end }} - {{- if .Values.containerPorts.cql }} - - name: CASSANDRA_CQL_PORT_NUMBER - value: {{ .Values.containerPorts.cql | quote }} - {{- end }} - {{- if .Values.persistence.commitLogMountPath }} - - name: CASSANDRA_COMMITLOG_DIR - value: {{ .Values.persistence.commitLogMountPath | quote }} - {{- end }} - {{- if .Values.extraEnvVars }} - {{- include "common.tplvalues.render" (dict "value" .Values.extraEnvVars "context" $) | nindent 12 }} - {{- end }} - envFrom: - {{- if .Values.extraEnvVarsCM }} - - configMapRef: - name: {{ include "common.tplvalues.render" (dict "value" .Values.extraEnvVarsCM "context" $) }} - {{- end }} - {{- if .Values.extraEnvVarsSecret }} - - secretRef: - name: {{ include "common.tplvalues.render" (dict "value" .Values.extraEnvVarsSecret "context" $) }} - {{- end }} - {{- if not .Values.diagnosticMode.enabled }} - {{- if .Values.customLivenessProbe }} - livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.customLivenessProbe "context" $) | nindent 12 }} - {{- else if .Values.livenessProbe.enabled }} - livenessProbe: - exec: - command: - - /bin/bash - - -ec - - | - nodetool info | grep "Native Transport active: true" - initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }} - periodSeconds: {{ .Values.livenessProbe.periodSeconds }} - timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }} - successThreshold: {{ .Values.livenessProbe.successThreshold }} - failureThreshold: {{ .Values.livenessProbe.failureThreshold }} - {{- end }} - {{- if .Values.customReadinessProbe }} - readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.customReadinessProbe "context" $) | nindent 12 }} - {{- else if .Values.readinessProbe.enabled }} - readinessProbe: - exec: - command: - - /bin/bash - - -ec - - | - nodetool status | grep -E "^UN\\s+${POD_IP}" - initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }} - periodSeconds: {{ .Values.readinessProbe.periodSeconds }} - timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }} - successThreshold: {{ .Values.readinessProbe.successThreshold }} - failureThreshold: {{ .Values.readinessProbe.failureThreshold }} - {{- end }} - {{- if .Values.customStartupProbe }} - startupProbe: {{- include "common.tplvalues.render" (dict "value" .Values.customStartupProbe "context" $) | nindent 12 }} - {{- else if .Values.startupProbe.enabled }} - startupProbe: - exec: - command: - - /bin/bash - - -ec - - | - nodetool status | grep -E "^UN\\s+${POD_IP}" - initialDelaySeconds: {{ .Values.startupProbe.initialDelaySeconds }} - periodSeconds: {{ .Values.startupProbe.periodSeconds }} - timeoutSeconds: {{ .Values.startupProbe.timeoutSeconds }} - successThreshold: {{ .Values.startupProbe.successThreshold }} - failureThreshold: {{ .Values.startupProbe.failureThreshold }} - {{- end }} - {{- if not .Values.lifecycleHooks }} - lifecycle: - postStart: - exec: - command: - - /bin/bash - - -c - - set -euo pipefail - - mkdir -p /tmp/scripts - - cp /scripts/init.cql.gz /tmp/scripts/ - - cd /tmp/scripts && gzip -d init.cql.gz - until cqlsh -u cassandra -p "$(cat /opt/bitnami/cassandra/secrets/cassandra-password)" -e "DESCRIBE KEYSPACES" | grep -q 'system_schema'; do - echo "Waiting for Cassandra to fully start..." - sleep 5 - done - - cqlsh -u cassandra -p "$(cat /opt/bitnami/cassandra/secrets/cassandra-password)" -f /tmp/scripts/init.cql - preStop: - exec: - command: - - bash - - -ec - {{- if not .Values.persistence.enabled }} - - nodetool decommission - {{- else }} - - nodetool drain - {{- end }} - {{- else if .Values.lifecycleHooks }} - lifecycle: {{- include "common.tplvalues.render" (dict "value" .Values.lifecycleHooks "context" $) | nindent 12 }} - {{- end }} - {{- end }} - ports: - - name: intra - containerPort: {{ .Values.containerPorts.intra | default "7000" }} - {{- if .Values.hostNetwork }} - hostPort: {{ .Values.containerPorts.intra }} - {{- else if .Values.hostPorts.intra }} - hostPort: {{ .Values.hostPorts.intra }} - {{- end }} - {{- if (ne (include "cassandra.internode.tlsEncryption" .) "none") }} - - name: tls - containerPort: {{ .Values.containerPorts.tls | default "7001" }} - {{- if .Values.hostNetwork }} - hostPort: {{ .Values.containerPorts.tls }} - {{- else if .Values.hostPorts.tls }} - hostPort: {{ .Values.hostPorts.tls }} - {{- end }} - {{- end }} - - name: jmx - containerPort: {{ .Values.containerPorts.jmx | default "7199" }} - {{- if .Values.hostNetwork }} - hostPort: {{ .Values.containerPorts.jmx }} - {{- else if .Values.hostPorts.jmx }} - hostPort: {{ .Values.hostPorts.jmx }} - {{- end }} - - name: cql - containerPort: {{ .Values.containerPorts.cql | default "9042" }} - {{- if .Values.hostNetwork }} - hostPort: {{ .Values.containerPorts.cql }} - {{- else if .Values.hostPorts.cql }} - hostPort: {{ .Values.hostPorts.cql }} - {{- end }} - {{- if .Values.resources }} - resources: {{ toYaml .Values.resources | nindent 12 }} - {{- else if ne .Values.resourcesPreset "none" }} - resources: {{- include "common.resources.preset" (dict "type" .Values.resourcesPreset) | nindent 12 }} - {{- end }} - volumeMounts: - - name: script-volume - mountPath: /scripts - - name: data - mountPath: {{ .Values.persistence.mountPath }} - {{- if .Values.usePasswordFiles }} - - name: cassandra-secrets - mountPath: /opt/bitnami/cassandra/secrets - {{- end }} - {{- if .Values.persistence.commitLogMountPath }} - - name: commitlog - mountPath: {{ .Values.persistence.commitLogMountPath }} - {{- end }} - {{- if (include "cassandra.tlsEncryption" . ) }} - - name: certs-shared - mountPath: /opt/bitnami/cassandra/certs - {{- end }} - {{- if or .Values.initDBConfigMap .Values.initDB }} - - name: init-db-cm - mountPath: /docker-entrypoint-initdb.d/configmap - {{- end }} - {{- if .Values.initDBSecret }} - - name: init-db-secret - mountPath: /docker-entrypoint-initdb.d/secret - {{- end }} - {{ if .Values.existingConfiguration }} - - name: configurations - mountPath: {{ .Values.persistence.mountPath }}/conf - {{- end }} - - name: empty-dir - mountPath: /tmp - subPath: tmp-dir - - name: empty-dir - mountPath: /opt/bitnami/cassandra/conf - subPath: app-conf-dir - - name: empty-dir - mountPath: /opt/bitnami/cassandra/tmp - subPath: app-tmp-dir - - name: empty-dir - mountPath: /opt/bitnami/cassandra/logs - subPath: app-logs-dir - {{- if .Values.extraVolumeMounts }} - {{- include "common.tplvalues.render" (dict "value" .Values.extraVolumeMounts "context" $) | nindent 12 }} - {{- end }} - {{- if .Values.metrics.enabled }} - - name: metrics - image: {{ include "cassandra.metrics.image" . }} - imagePullPolicy: {{ .Values.metrics.image.pullPolicy | quote }} - {{- if .Values.diagnosticMode.enabled }} - command: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.command "context" $) | nindent 12 }} - args: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.args "context" $) | nindent 12 }} - {{- end }} - ports: - - name: metrics - containerPort: {{ .Values.metrics.containerPorts.http | default "8080" }} - {{- if .Values.hostNetwork }} - hostPort: {{ .Values.metrics.containerPorts.http }} - {{- else if .Values.metrics.hostPorts.http }} - hostPort: {{ .Values.metrics.hostPorts.http }} - {{- end }} - protocol: TCP - - name: jmx - containerPort: {{ .Values.metrics.containerPorts.jmx | default "5555" }} - {{- if .Values.hostNetwork }} - hostPort: {{ .Values.metrics.containerPorts.jmx }} - {{- else if .Values.metrics.hostPorts.jmx }} - hostPort: {{ .Values.metrics.hostPorts.jmx }} - {{- end }} - {{- if .Values.metrics.resources }} - resources: {{- toYaml .Values.metrics.resources | nindent 12 }} - {{- else if ne .Values.metrics.resourcesPreset "none" }} - resources: {{- include "common.resources.preset" (dict "type" .Values.metrics.resourcesPreset) | nindent 12 }} - {{- end }} - {{- if not .Values.diagnosticMode.enabled }} - livenessProbe: - tcpSocket: - port: metrics - readinessProbe: - httpGet: - path: /metrics - port: metrics - initialDelaySeconds: {{ .Values.metrics.readinessProbe.initialDelaySeconds }} - periodSeconds: {{ .Values.metrics.readinessProbe.periodSeconds }} - timeoutSeconds: {{ .Values.metrics.readinessProbe.timeoutSeconds }} - failureThreshold: {{ .Values.metrics.readinessProbe.failureThreshold }} - successThreshold: {{ .Values.metrics.readinessProbe.successThreshold }} - {{- end }} - volumeMounts: - - name: metrics-conf - mountPath: /opt/bitnami/cassandra-exporter/config.yml - subPath: config.yml - - name: empty-dir - mountPath: /tmp - subPath: tmp-dir - {{- if .Values.metrics.extraVolumeMounts }} - {{- include "common.tplvalues.render" (dict "value" .Values.metrics.extraVolumeMounts "context" $) | nindent 12 }} - {{- end }} - {{- end }} - {{- if .Values.sidecars }} - {{- include "common.tplvalues.render" (dict "value" .Values.sidecars "context" $) | nindent 8 }} - {{- end }} - volumes: - - name: script-volume - configMap: - name: cassandra-init-script - - name: metrics-conf - configMap: - name: {{ include "cassandra.metricsConfConfigMap" . }} - {{- if .Values.usePasswordFiles }} - - name: cassandra-secrets - projected: - sources: - - secret: - name: {{ include "common.secrets.name" (dict "existingSecret" .Values.dbUser.existingSecret "context" $) }} - {{- if or .Values.tls.passwordsSecret .Values.tls.tlsEncryptionSecretName .Values.tls.keystorePassword .Values.tls.truststorePassword .Values.tls.autoGenerated }} - - secret: - name: {{ include "cassandra.tlsPasswordsSecret" . }} - {{- end }} - {{- end }} - {{- if (include "cassandra.tlsEncryption" . ) }} - - name: certs - secret: - secretName: {{ include "cassandra.tlsSecretName" . }} - defaultMode: 256 - - name: certs-shared - emptyDir: - sizeLimit: 500Mi - {{- end }} - {{- if .Values.existingConfiguration }} - - name: configurations - configMap: - name: {{ tpl .Values.existingConfiguration $ }} - {{- end }} - - name: empty-dir - emptyDir: {} - {{- if or .Values.initDB .Values.initDBConfigMap }} - - name: init-db-cm - configMap: - name: {{ ternary (printf "%s-init-scripts" (include "common.names.fullname" .)) (tpl .Values.initDBConfigMap $) (empty .Values.initDBConfigMap) }} - {{- end }} - {{- if .Values.initDBSecret }} - - name: init-db-secret - secret: - secretName: {{ tpl .Values.initDBSecret $ }} - {{- end }} - {{- if .Values.extraVolumes }} - {{- include "common.tplvalues.render" (dict "value" .Values.extraVolumes "context" $) | nindent 8 }} - {{- end }} - {{- if and .Values.persistence.enabled .Values.persistence.existingClaim }} - - name: data - persistentVolumeClaim: - claimName: {{ tpl .Values.persistence.existingClaim $ }} - {{- else if not .Values.persistence.enabled }} - - name: data - emptyDir: {} - {{- else }} - volumeClaimTemplates: - - apiVersion: v1 - kind: PersistentVolumeClaim - metadata: - name: data - labels: {{- include "common.labels.matchLabels" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 10 }} - {{- if .Values.persistence.annotations }} - annotations: {{- toYaml .Values.persistence.annotations | nindent 10 }} - {{- end }} - spec: - accessModes: - {{- range .Values.persistence.accessModes }} - - {{ . | quote }} - {{- end }} - resources: - requests: - storage: {{ .Values.persistence.size | quote }} - {{- include "common.storage.class" (dict "persistence" .Values.persistence "global" .Values.global) | nindent 8 }} - {{- if .Values.persistence.commitLogMountPath }} - - metadata: - name: commitlog - labels: {{- include "common.labels.matchLabels" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 10 }} - {{- if .Values.persistence.annotations }} - annotations: {{- toYaml .Values.persistence.annotations | nindent 10 }} - {{- end }} - spec: - accessModes: - {{- range .Values.persistence.accessModes }} - - {{ . | quote }} - {{- end }} - resources: - requests: - storage: {{ .Values.persistence.commitLogsize | quote }} - {{- include "cassandra.commitstorage.class" (dict "persistence" .Values.persistence "global" .Values.global) | nindent 8 }} - {{- end }} - {{- end }} diff --git a/cw-infra-apps-nubes/cassandra/templates/tls-secret.yaml b/cw-infra-apps-nubes/cassandra/templates/tls-secret.yaml deleted file mode 100755 index 6b1c3ad..0000000 --- a/cw-infra-apps-nubes/cassandra/templates/tls-secret.yaml +++ /dev/null @@ -1,30 +0,0 @@ -{{- /* -Copyright Broadcom, Inc. All Rights Reserved. -SPDX-License-Identifier: APACHE-2.0 -*/}} - -{{- if (include "cassandra.createTlsSecret" . ) }} -{{- $secretName := printf "%s-crt" (include "common.names.fullname" .) | trunc 63 | trimSuffix "-" }} -{{- $ca := genCA "cassandra-ca" 365 }} -{{- $fullname := include "common.names.fullname" . }} -{{- $releaseNamespace := include "common.names.namespace" . }} -{{- $clusterDomain := .Values.clusterDomain }} -{{- $serviceName := include "common.names.fullname" . }} -{{- $headlessServiceName := printf "%s-headless" (include "common.names.fullname" .) | trunc 63 | trimSuffix "-" }} -{{- $altNames := list (printf "*.%s.%s.svc.%s" $serviceName $releaseNamespace $clusterDomain) (printf "%s.%s.svc.%s" $serviceName $releaseNamespace $clusterDomain) (printf "*.%s.%s.svc.%s" $headlessServiceName $releaseNamespace $clusterDomain) (printf "%s.%s.svc.%s" $headlessServiceName $releaseNamespace $clusterDomain) "localhost" "127.0.0.1" $fullname }} -{{- $cert := genSignedCert $fullname nil $altNames 365 $ca }} -apiVersion: v1 -kind: Secret -metadata: - name: {{ $secretName }} - namespace: {{ include "common.names.namespace" . | quote }} - labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} - {{- if .Values.commonAnnotations }} - annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} - {{- end }} -type: kubernetes.io/tls -data: - tls.crt: {{ include "common.secrets.lookup" (dict "secret" $secretName "key" "tls.crt" "defaultValue" $cert.Cert "context" $) }} - tls.key: {{ include "common.secrets.lookup" (dict "secret" $secretName "key" "tls.key" "defaultValue" $cert.Key "context" $) }} - ca.crt: {{ include "common.secrets.lookup" (dict "secret" $secretName "key" "ca.crt" "defaultValue" $ca.Cert "context" $) }} -{{- end }} diff --git a/cw-infra-apps-nubes/cassandra/templates/vault-setup.yaml b/cw-infra-apps-nubes/cassandra/templates/vault-setup.yaml deleted file mode 100755 index 0a93dd1..0000000 --- a/cw-infra-apps-nubes/cassandra/templates/vault-setup.yaml +++ /dev/null @@ -1,43 +0,0 @@ -apiVersion: v1 -kind: ServiceAccount -metadata: - namespace: {{ .Release.Namespace }} - name: vault-secrets-operator-controller-manager ---- -apiVersion: secrets.hashicorp.com/v1beta1 -kind: VaultConnection -metadata: - name: vault-connection - namespace: {{ .Release.Namespace }} -spec: - address: http://vault.vault.svc.cluster.local:8200 - skipTLSVerify: true ---- -apiVersion: secrets.hashicorp.com/v1beta1 -kind: VaultAuth -metadata: - name: vault-auth - namespace: {{ .Release.Namespace }} -spec: - method: kubernetes - mount: kubernetes - kubernetes: - role: cassandra-role - serviceAccount: vault-secrets-operator-controller-manager - audiences: - - vault ---- -apiVersion: secrets.hashicorp.com/v1beta1 -kind: VaultStaticSecret -metadata: - name: cassandra-static-user-passwords - namespace: {{ .Release.Namespace }} -spec: - mount: kvv2 - type: kv-v2 - path: cassandra/config - refreshAfter: 5m - destination: - create: true - name: cassandra-static-user-passwords - vaultAuthRef: vault-auth diff --git a/cw-infra-apps-nubes/cassandra/values.yaml b/cw-infra-apps-nubes/cassandra/values.yaml deleted file mode 100755 index 742e438..0000000 --- a/cw-infra-apps-nubes/cassandra/values.yaml +++ /dev/null @@ -1,977 +0,0 @@ -# Copyright Broadcom, Inc. All Rights Reserved. -# SPDX-License-Identifier: APACHE-2.0 - -## @section Global parameters -## Global Docker image parameters -## Please, note that this will override the image parameters, including dependencies, configured to use the global value -## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass -## - -## @param global.imageRegistry Global Docker image registry -## @param global.imagePullSecrets Global Docker registry secret names as an array -## @param global.defaultStorageClass Global default StorageClass for Persistent Volume(s) -## -global: - imageRegistry: "" - ## E.g. - ## imagePullSecrets: - ## - myRegistryKeySecretName - ## - imagePullSecrets: [] - defaultStorageClass: "" - ## Security parameters - ## - security: - ## @param global.security.allowInsecureImages Allows skipping image verification - allowInsecureImages: false - ## Compatibility adaptations for Kubernetes platforms - ## - compatibility: - ## Compatibility adaptations for Openshift - ## - openshift: - ## @param global.compatibility.openshift.adaptSecurityContext Adapt the securityContext sections of the deployment to make them compatible with Openshift restricted-v2 SCC: remove runAsUser, runAsGroup and fsGroup and let the platform use their allowed default IDs. Possible values: auto (apply if the detected running cluster is Openshift), force (perform the adaptation always), disabled (do not perform adaptation) - ## - adaptSecurityContext: auto -## @section Common parameters -## - -## @param nameOverride String to partially override common.names.fullname -## -nameOverride: "" -## @param fullnameOverride String to fully override common.names.fullname -## -fullnameOverride: "" -## @param kubeVersion Force target Kubernetes version (using Helm capabilities if not set) -## -kubeVersion: "" -## @param commonLabels Labels to add to all deployed objects (sub-charts are not considered) -## -commonLabels: {} -## @param commonAnnotations Annotations to add to all deployed objects -## -commonAnnotations: {} -## @param clusterDomain Kubernetes cluster domain name -## -clusterDomain: cluster.local -## @param extraDeploy Array of extra objects to deploy with the release -## -extraDeploy: [] -## @param usePasswordFiles Mount credentials as files instead of using environment variables -## -usePasswordFiles: true -## Enable diagnostic mode in the deployment -## -diagnosticMode: - ## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden) - ## - enabled: false - ## @param diagnosticMode.command Command to override all containers in the deployment - ## - command: - - sleep - ## @param diagnosticMode.args Args to override all containers in the deployment - ## - args: - - infinity -## @section Cassandra parameters -## - -## Bitnami Cassandra image -## ref: https://hub.docker.com/r/bitnami/cassandra/tags/ -## @param image.registry [default: REGISTRY_NAME] Cassandra image registry -## @param image.repository [default: REPOSITORY_NAME/cassandra] Cassandra image repository -## @skip image.tag Cassandra image tag (immutable tags are recommended) -## @param image.digest Cassandra image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag -## @param image.pullPolicy image pull policy -## @param image.pullSecrets Cassandra image pull secrets -## @param image.debug Enable image debug mode -## -image: - registry: docker.io - repository: bitnami/cassandra - tag: 5.0.3-debian-12-r6 - digest: "" - ## Specify a imagePullPolicy - ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images - ## - pullPolicy: IfNotPresent - ## Optionally specify an array of imagePullSecrets. - ## Secrets must be manually created in the namespace. - ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ - ## e.g: - ## pullSecrets: - ## - myRegistryKeySecretName - ## - pullSecrets: [] - ## Enable debug mode - ## - debug: false -## Secret with keystore, keystore password, truststore, truststore password -## DEPRECATED. Use tls.existingSecret instead -# tlsEncryptionSecretName: - -## Database credentials -## @param dbUser.user Cassandra admin user -## @param dbUser.forcePassword Force the user to provide a non -## @param dbUser.password Password for `dbUser.user`. Randomly generated if empty -## @param dbUser.existingSecret Use an existing secret object for `dbUser.user` password (will ignore `dbUser.password`) -## -dbUser: - user: cassandra - forcePassword: false - password: "" - ## Use an existing secrets which already stores your password data. - ## for backwards compatibility, existingSecret can be a simple string, - ## referencing the secret by name. - ## existingSecret: - ## ## Name of the existing secret - ## ## - ## name: mySecret - ## ## Key mapping where is the value which the deployment is expecting and - ## ## is the name of the key in the existing secret. - ## ## - ## keyMapping: - ## cassandra-password: myCassandraPasswordKey - ## - existingSecret: "cassandra-static-user-passwords" - existingSecretPasswordKey: "" -## @param initDB Object with cql scripts. Useful for creating a keyspace and pre-populating data -## -initDB: {} -## @param initDBConfigMap ConfigMap with cql scripts. Useful for creating a keyspace and pre-populating data -## -initDBConfigMap: {} - -## @param initDBSecret Secret with cql script (with sensitive data). Useful for creating a keyspace and pre-populating data -## -initDBSecret: "" -## @param existingConfiguration ConfigMap with custom cassandra configuration files. This overrides any other Cassandra configuration set in the chart -## -existingConfiguration: "" -## Cluster parameters -## @param cluster.name Cassandra cluster name -## @param cluster.seedCount Number of seed nodes -## @param cluster.numTokens Number of tokens for each node -## @param cluster.datacenter Datacenter name -## @param cluster.rack Rack name -## @param cluster.endpointSnitch Endpoint Snitch -## @param cluster.clientEncryption Client Encryption -## @param cluster.extraSeeds For an external/second cassandra ring. -## @param cluster.enableUDF Enable User defined functions -## -cluster: - name: cassandra - seedCount: 1 - numTokens: 256 - datacenter: datacenter1 - rack: rack1 - endpointSnitch: SimpleSnitch - clientEncryption: false - ## eg: - ## extraSeeds: - ## - hostname/IP - ## - hostname/IP - ## - extraSeeds: [] - enableUDF: false -## JVM Settings -## @param jvm.extraOpts Set the value for Java Virtual Machine extra options -## @param jvm.maxHeapSize Set Java Virtual Machine maximum heap size (MAX_HEAP_SIZE). Calculated automatically if `nil` -## @param jvm.newHeapSize Set Java Virtual Machine new heap size (HEAP_NEWSIZE). Calculated automatically if `nil` -## -jvm: - extraOpts: "" - ## Memory settings: These are calculated automatically unless specified otherwise - ## To run on environments with little resources (<= 8GB), tune your heap settings: - ## - calculate 1/2 ram and cap to 1024MB - ## - calculate 1/4 ram and cap to 8192MB - ## - pick the max - ## - maxHeapSize: "" - ## newHeapSize: - ## A good guideline is 100 MB per CPU core. - ## - min(100 * num_cores, 1/4 * heap size) - ## ref: https://docs.datastax.com/en/archived/cassandra/2.0/cassandra/operations/ops_tune_jvm_c.html - ## - newHeapSize: "" -## @param command Command for running the container (set to default if not set). Use array form -## -command: [] -## @param args Args for running the container (set to default if not set). Use array form -## -args: [] -## @param extraEnvVars Extra environment variables to be set on cassandra container -## For example: -## - name: FOO -## value: BAR -## -extraEnvVars: [] -## @param extraEnvVarsCM Name of existing ConfigMap containing extra env vars -## -extraEnvVarsCM: "" -## @param extraEnvVarsSecret Name of existing Secret containing extra env vars -## -extraEnvVarsSecret: "" -## @section Statefulset parameters -## - -## @param replicaCount Number of Cassandra replicas -## -replicaCount: 3 -## @param updateStrategy.type updateStrategy for Cassandra statefulset -## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies -## -updateStrategy: - type: RollingUpdate -## @param automountServiceAccountToken Mount Service Account token in pod -## -automountServiceAccountToken: false -## @param hostAliases Add deployment host aliases -## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ -## -hostAliases: [] -## @param podManagementPolicy StatefulSet pod management policy -## -podManagementPolicy: OrderedReady -## @param priorityClassName Cassandra pods' priority. -## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/ -## -priorityClassName: "" -## @param podAnnotations Additional pod annotations -## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ -## -podAnnotations: {} -## @param podLabels Additional pod labels -## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ -## -podLabels: {} -## @param podAffinityPreset Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` -## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity -## -podAffinityPreset: "" -## @param podAntiAffinityPreset Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` -## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity -## -podAntiAffinityPreset: soft -## Node affinity preset -## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity -## -nodeAffinityPreset: - ## @param nodeAffinityPreset.type Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` - ## - type: "" - ## @param nodeAffinityPreset.key Node label key to match. Ignored if `affinity` is set - ## - key: "" - ## @param nodeAffinityPreset.values Node label values to match. Ignored if `affinity` is set - ## E.g. - ## values: - ## - e2e-az1 - ## - e2e-az2 - ## - values: [] -## @param affinity Affinity for pod assignment -## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity -## NOTE: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set -## -affinity: - podAntiAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - - labelSelector: - matchLabels: - app.kubernetes.io/name: cassandra - topologyKey: "kubernetes.io/hostname"## @param nodeSelector Node labels for pod assignment -## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ -## -nodeSelector: {} -## @param tolerations Tolerations for pod assignment -## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ -## -tolerations: [] -## @param topologySpreadConstraints Topology Spread Constraints for pod assignment -## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ -## The value is evaluated as a template -## -topologySpreadConstraints: [] -## Pod security context -## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod -## @param podSecurityContext.enabled Enabled Cassandra pods' Security Context -## @param podSecurityContext.fsGroupChangePolicy Set filesystem group change policy -## @param podSecurityContext.sysctls Set kernel settings using the sysctl interface -## @param podSecurityContext.supplementalGroups Set filesystem extra groups -## @param podSecurityContext.fsGroup Set Cassandra pod's Security Context fsGroup -## -podSecurityContext: - enabled: true - fsGroupChangePolicy: Always - sysctls: [] - supplementalGroups: [] - fsGroup: 1001 -## Configure Container Security Context (only main container) -## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container -## @param containerSecurityContext.enabled Enabled Cassandra containers' Security Context -## @param containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container -## @param containerSecurityContext.runAsUser Set Cassandra containers' Security Context runAsUser -## @param containerSecurityContext.runAsGroup Set Cassandra containers' Security Context runAsGroup -## @param containerSecurityContext.allowPrivilegeEscalation Set Cassandra containers' Security Context allowPrivilegeEscalation -## @param containerSecurityContext.capabilities.drop Set Cassandra containers' Security Context capabilities to be dropped -## @param containerSecurityContext.readOnlyRootFilesystem Set Cassandra containers' Security Context readOnlyRootFilesystem -## @param containerSecurityContext.runAsNonRoot Set Cassandra containers' Security Context runAsNonRoot -## @param containerSecurityContext.privileged Set container's Security Context privileged -## @param containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile -## -containerSecurityContext: - enabled: true - seLinuxOptions: {} - runAsUser: 1001 - runAsGroup: 1001 - runAsNonRoot: true - privileged: false - allowPrivilegeEscalation: false - capabilities: - drop: ["ALL"] - seccompProfile: - type: "RuntimeDefault" - readOnlyRootFilesystem: true -## Cassandra pods' resource requests and limits -## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ -## Minimum memory for development is 4GB and 2 CPU cores -## Minimum memory for production is 8GB and 4 CPU cores -## ref: http://docs.datastax.com/en/archived/cassandra/2.0/cassandra/architecture/architecturePlanningHardware_c.html -## -## We usually recommend not to specify default resources and to leave this as a conscious -## choice for the user. This also increases chances charts run on environments with little -## resources, such as Minikube. If you do want to specify resources, uncomment the following -## lines, adjust them as necessary, and remove the curly braces after 'resources:'. -## @param resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if resources is set (resources is recommended for production). -## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 -## -resourcesPreset: "large" -## @param resources Set container requests and limits for different resources like CPU or memory (essential for production workloads) -## Example: -## resources: -## requests: -## cpu: 2 -## memory: 512Mi -## limits: -## cpu: 3 -## memory: 1024Mi -## -resources: {} -## Configure extra options for Cassandra containers' liveness and readiness probes -## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes -## @param livenessProbe.enabled Enable livenessProbe -## @param livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe -## @param livenessProbe.periodSeconds Period seconds for livenessProbe -## @param livenessProbe.timeoutSeconds Timeout seconds for livenessProbe -## @param livenessProbe.failureThreshold Failure threshold for livenessProbe -## @param livenessProbe.successThreshold Success threshold for livenessProbe -## -livenessProbe: - enabled: true - initialDelaySeconds: 60 - periodSeconds: 30 - timeoutSeconds: 30 - successThreshold: 1 - failureThreshold: 5 -## @param readinessProbe.enabled Enable readinessProbe -## @param readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe -## @param readinessProbe.periodSeconds Period seconds for readinessProbe -## @param readinessProbe.timeoutSeconds Timeout seconds for readinessProbe -## @param readinessProbe.failureThreshold Failure threshold for readinessProbe -## @param readinessProbe.successThreshold Success threshold for readinessProbe -## -readinessProbe: - enabled: true - initialDelaySeconds: 60 - periodSeconds: 10 - timeoutSeconds: 30 - successThreshold: 1 - failureThreshold: 5 -## Configure extra options for startup probe -## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes -## @param startupProbe.enabled Enable startupProbe -## @param startupProbe.initialDelaySeconds Initial delay seconds for startupProbe -## @param startupProbe.periodSeconds Period seconds for startupProbe -## @param startupProbe.timeoutSeconds Timeout seconds for startupProbe -## @param startupProbe.failureThreshold Failure threshold for startupProbe -## @param startupProbe.successThreshold Success threshold for startupProbe -## -startupProbe: - enabled: false - initialDelaySeconds: 0 - periodSeconds: 10 - timeoutSeconds: 5 - successThreshold: 1 - failureThreshold: 60 -## @param customLivenessProbe Custom livenessProbe that overrides the default one -## -customLivenessProbe: {} -## @param customReadinessProbe Custom readinessProbe that overrides the default one -## -customReadinessProbe: {} -## @param customStartupProbe [object] Override default startup probe -## -customStartupProbe: {} -## @param lifecycleHooks [object] Override default etcd container hooks -## -lifecycleHooks: {} -## @param schedulerName Alternative scheduler -## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ -## -schedulerName: "" -## @param terminationGracePeriodSeconds In seconds, time the given to the Cassandra pod needs to terminate gracefully -## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods -## -terminationGracePeriodSeconds: "" -## @param extraVolumes Optionally specify extra list of additional volumes for cassandra container -## -extraVolumes: [] -## @param extraVolumeMounts Optionally specify extra list of additional volumeMounts for cassandra container -## -extraVolumeMounts: [] -## @param initContainers Add additional init containers to the cassandra pods -## -initContainers: [] -## @param sidecars Add additional sidecar containers to the cassandra pods -## -sidecars: [] -## Cassandra Pod Disruption Budget configuration -## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/ -## -pdb: - ## @param pdb.create Enable/disable a Pod Disruption Budget creation - ## - create: true - ## @param pdb.minAvailable Mininimum number of pods that must still be available after the eviction - ## - minAvailable: "" - ## @param pdb.maxUnavailable Max number of pods that can be unavailable after the eviction - ## - maxUnavailable: "" -## @param hostNetwork Enable HOST Network -## If hostNetwork true -> dnsPolicy is set to ClusterFirstWithHostNet -## -hostNetwork: false -## Cassandra container ports to open -## If hostNetwork true: the hostPort is set identical to the containerPort -## @param containerPorts.intra Intra Port on the Host and Container -## @param containerPorts.tls TLS Port on the Host and Container -## @param containerPorts.jmx JMX Port on the Host and Container -## @param containerPorts.cql CQL Port on the Host and Container -## -containerPorts: - intra: 7000 - tls: 7001 - jmx: 7199 - cql: 9042 -## Cassandra ports to be exposed as hostPort -## If hostNetwork is false, only the ports specified here will be exposed (or not if set to an empty string) -## @param hostPorts.intra Intra Port on the Host -## @param hostPorts.tls TLS Port on the Host -## @param hostPorts.jmx JMX Port on the Host -## @param hostPorts.cql CQL Port on the Host -## -hostPorts: - intra: "" - tls: "" - jmx: "" - cql: "" -## @section RBAC parameters -## - -## Cassandra pods ServiceAccount -## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ -## -serviceAccount: - ## @param serviceAccount.create Enable the creation of a ServiceAccount for Cassandra pods - ## - create: true - ## @param serviceAccount.name The name of the ServiceAccount to use. - ## If not set and create is true, a name is generated using the cassandra.fullname template - ## - name: "" - ## @param serviceAccount.annotations Annotations for Cassandra Service Account - ## - annotations: {} - ## @param serviceAccount.automountServiceAccountToken Automount API credentials for a service account. - ## - automountServiceAccountToken: false -## @section Traffic Exposure Parameters -## - -## Cassandra service parameters -## -service: - ## @param service.type Cassandra service type - ## - type: ClusterIP - ## @param service.ports.cql Cassandra service CQL Port - ## @param service.ports.metrics Cassandra service metrics port - ## - ports: - cql: 9042 - metrics: 8080 - ## Node ports to expose - ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport - ## @param service.nodePorts.cql Node port for CQL - ## @param service.nodePorts.metrics Node port for metrics - ## - nodePorts: - cql: "" - metrics: "" - ## @param service.extraPorts Extra ports to expose in the service (normally used with the `sidecar` value) - ## - extraPorts: [] - ## @param service.loadBalancerIP LoadBalancerIP if service type is `LoadBalancer` - ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer - ## - loadBalancerIP: "" - ## @param service.loadBalancerSourceRanges Service Load Balancer sources - ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service - ## e.g: - ## loadBalancerSourceRanges: - ## - 10.10.10.0/24 - ## - loadBalancerSourceRanges: [] - ## @param service.clusterIP Service Cluster IP - ## e.g.: - ## clusterIP: None - ## - clusterIP: "" - ## @param service.externalTrafficPolicy Service external traffic policy - ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip - ## - externalTrafficPolicy: Cluster - ## @param service.annotations Provide any additional annotations which may be required. - ## This can be used to set the LoadBalancer service type to internal only. - ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer - ## - annotations: {} - ## @param service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP" - ## If "ClientIP", consecutive client requests will be directed to the same Pod - ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies - ## - sessionAffinity: None - ## @param service.sessionAffinityConfig Additional settings for the sessionAffinity - ## sessionAffinityConfig: - ## clientIP: - ## timeoutSeconds: 300 - ## - sessionAffinityConfig: {} - ## Headless service properties - ## - headless: - ## @param service.headless.annotations Annotations for the headless service. - ## - annotations: {} -## Network Policies -## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/ -## -networkPolicy: - ## @param networkPolicy.enabled Specifies whether a NetworkPolicy should be created - ## - enabled: true - ## @param networkPolicy.allowExternal Don't require server label for connections - ## The Policy model to apply. When set to false, only pods with the correct - ## server label will have network access to the ports server is listening - ## on. When true, server will accept connections from any source - ## (with the correct destination port). - ## - allowExternal: true - ## @param networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations. - ## - allowExternalEgress: true - ## @param networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy - ## e.g: - ## extraIngress: - ## - ports: - ## - port: 1234 - ## from: - ## - podSelector: - ## - matchLabels: - ## - role: frontend - ## - podSelector: - ## - matchExpressions: - ## - key: role - ## operator: In - ## values: - ## - frontend - extraIngress: [] - ## @param networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy (ignored if allowExternalEgress=true) - ## e.g: - ## extraEgress: - ## - ports: - ## - port: 1234 - ## to: - ## - podSelector: - ## - matchLabels: - ## - role: frontend - ## - podSelector: - ## - matchExpressions: - ## - key: role - ## operator: In - ## values: - ## - frontend - ## - extraEgress: [] - ## @param networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces - ## @param networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces - ## - ingressNSMatchLabels: {} - ingressNSPodMatchLabels: {} -## @section Persistence parameters -## - -## Enable persistence using Persistent Volume Claims -## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/ -## -persistence: - ## @param persistence.enabled Enable Cassandra data persistence using PVC, use a Persistent Volume Claim, If false, use emptyDir - ## - enabled: true - ## @param persistence.existingClaim Name of an existing PVC to use - ## - existingClaim: "" - ## @param persistence.storageClass PVC Storage Class for Cassandra data volume - ## If defined, storageClassName: - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - storageClass: "" - ## @param persistence.commitStorageClass PVC Storage Class for Cassandra Commit Log volume - ## Storage class to use with CASSANDRA_COMMITLOG_DIR to reduce the concurrence for writing data and commit logs - ## ref: https://github.com/bitnami/containers/tree/main/bitnami/cassandra - ## If set to "-", commitStorageClass: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - commitStorageClass: "" - ## @param persistence.annotations Persistent Volume Claim annotations - ## - annotations: {} - ## @param persistence.accessModes Persistent Volume Access Mode - ## - accessModes: - - ReadWriteOnce - ## @param persistence.size PVC Storage Request for Cassandra data volume - ## - size: 8Gi - ## @param persistence.commitLogsize PVC Storage Request for Cassandra commit log volume. Unset by default - ## - commitLogsize: 2Gi - ## @param persistence.mountPath The path the data volume will be mounted at - ## - mountPath: /bitnami/cassandra - ## @param persistence.commitLogMountPath The path the commit log volume will be mounted at. Unset by default. Set it to '/bitnami/cassandra/commitlog' to enable a separate commit log volume - ## - # commitLogMountPath: /bitnami/cassandra/commitlog - commitLogMountPath: "" -## @section Volume Permissions parameters -## - -## Init containers parameters: -## volumePermissions: Change the owner and group of the persistent volume mountpoint to runAsUser:fsGroup values from the securityContext section. -## -volumePermissions: - ## @param volumePermissions.enabled Enable init container that changes the owner and group of the persistent volume - ## - enabled: false - ## @param volumePermissions.image.registry [default: REGISTRY_NAME] Init container volume image registry - ## @param volumePermissions.image.repository [default: REPOSITORY_NAME/os-shell] Init container volume image repository - ## @skip volumePermissions.image.tag Init container volume image tag (immutable tags are recommended) - ## @param volumePermissions.image.digest Init container volume image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag - ## @param volumePermissions.image.pullPolicy Init container volume pull policy - ## @param volumePermissions.image.pullSecrets Specify docker-registry secret names as an array - ## - image: - registry: docker.io - repository: bitnami/os-shell - tag: 12-debian-12-r39 - digest: "" - pullPolicy: IfNotPresent - ## Optionally specify an array of imagePullSecrets. - ## Secrets must be manually created in the namespace. - ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ - ## e.g: - ## pullSecrets: - ## - myRegistryKeySecretName - ## - pullSecrets: [] - ## Init container' resource requests and limits - ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ - ## We usually recommend not to specify default resources and to leave this as a conscious - ## choice for the user. This also increases chances charts run on environments with little - ## resources, such as Minikube. If you do want to specify resources, uncomment the following - ## lines, adjust them as necessary, and remove the curly braces after 'resources:'. - ## @param volumePermissions.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if volumePermissions.resources is set (volumePermissions.resources is recommended for production). - ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 - ## - resourcesPreset: "nano" - ## @param volumePermissions.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads) - ## Example: - ## resources: - ## requests: - ## cpu: 2 - ## memory: 512Mi - ## limits: - ## cpu: 3 - ## memory: 1024Mi - ## - resources: {} - ## Init container Security Context - ## Note: the chown of the data folder is done to securityContext.runAsUser - ## and not the below volumePermissions.securityContext.runAsUser - ## @param volumePermissions.securityContext.seLinuxOptions [object,nullable] Set SELinux options in container - ## @param volumePermissions.securityContext.runAsUser User ID for the init container - ## - ## When runAsUser is set to special value "auto", init container will try to chwon the - ## data folder to autodetermined user&group, using commands: `id -u`:`id -G | cut -d" " -f2` - ## "auto" is especially useful for OpenShift which has scc with dynamic userids (and 0 is not allowed). - ## You may want to use this volumePermissions.securityContext.runAsUser="auto" in combination with - ## pod securityContext.enabled=false and shmVolume.chmod.enabled=false - ## - securityContext: - seLinuxOptions: {} - runAsUser: 0 -## @section Metrics parameters -## - -## Cassandra Prometheus exporter configuration -## -metrics: - ## @param metrics.enabled Start a side-car prometheus exporter - ## - enabled: false - ## Bitnami Cassandra Exporter image - ## ref: https://hub.docker.com/r/bitnami/cassandra-exporter/tags/ - ## @param metrics.image.registry [default: REGISTRY_NAME] Cassandra exporter image registry - ## @param metrics.image.repository [default: REPOSITORY_NAME/cassandra-exporter] Cassandra exporter image name - ## @skip metrics.image.tag Cassandra exporter image tag - ## @param metrics.image.digest Cassandra exporter image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag - ## @param metrics.image.pullPolicy image pull policy - ## @param metrics.image.pullSecrets Specify docker-registry secret names as an array - ## - image: - registry: docker.io - repository: bitnami/cassandra-exporter - tag: 2.3.8-debian-12-r41 - digest: "" - pullPolicy: IfNotPresent - ## Optionally specify an array of imagePullSecrets. - ## Secrets must be manually created in the namespace. - ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ - ## e.g: - ## pullSecrets: - ## - myRegistryKeySecretName - ## - pullSecrets: [] - ## Cassandra Prometheus exporter resource requests and limits - ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ - ## We usually recommend not to specify default resources and to leave this as a conscious - ## choice for the user. This also increases chances charts run on environments with little - ## resources, such as Minikube. If you do want to specify resources, uncomment the following - ## lines, adjust them as necessary, and remove the curly braces after 'resources:'. - ## @param metrics.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if metrics.resources is set (metrics.resources is recommended for production). - ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 - ## - resourcesPreset: "nano" - ## @param metrics.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads) - ## Example: - ## resources: - ## requests: - ## cpu: 2 - ## memory: 512Mi - ## limits: - ## cpu: 3 - ## memory: 1024Mi - ## - resources: {} - ## @param metrics.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe - ## @param metrics.readinessProbe.periodSeconds Period seconds for readinessProbe - ## @param metrics.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe - ## @param metrics.readinessProbe.failureThreshold Failure threshold for readinessProbe - ## @param metrics.readinessProbe.successThreshold Success threshold for readinessProbe - ## - readinessProbe: - initialDelaySeconds: 20 - periodSeconds: 10 - timeoutSeconds: 45 - failureThreshold: 3 - successThreshold: 1 - ## @param metrics.extraVolumeMounts Optionally specify extra list of additional volumeMounts for cassandra-exporter container - ## - extraVolumeMounts: [] - ## @param metrics.podAnnotations [object] Metrics exporter pod Annotation and Labels - ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ - ## - podAnnotations: - prometheus.io/scrape: "true" - prometheus.io/port: "8080" - ## Prometheus Operator ServiceMonitor configuration - ## - serviceMonitor: - ## @param metrics.serviceMonitor.enabled If `true`, creates a Prometheus Operator ServiceMonitor (also requires `metrics.enabled` to be `true`) - ## - enabled: false - ## @param metrics.serviceMonitor.namespace Namespace in which Prometheus is running - ## - namespace: monitoring - ## @param metrics.serviceMonitor.interval Interval at which metrics should be scraped. - ## ref: https://github.com/coreos/prometheus-operator/blob/main/Documentation/api.md#endpoint - ## e.g: - ## interval: 10s - ## - interval: "" - ## @param metrics.serviceMonitor.scrapeTimeout Timeout after which the scrape is ended - ## ref: https://github.com/coreos/prometheus-operator/blob/main/Documentation/api.md#endpoint - ## e.g: - ## scrapeTimeout: 10s - ## - scrapeTimeout: "" - ## @param metrics.serviceMonitor.selector Prometheus instance selector labels - ## ref: https://github.com/bitnami/charts/tree/main/bitnami/prometheus-operator#prometheus-configuration - ## e.g: - ## selector: - ## prometheus: my-prometheus - ## - selector: {} - ## @param metrics.serviceMonitor.metricRelabelings Specify Metric Relabelings to add to the scrape endpoint - ## ref: https://github.com/coreos/prometheus-operator/blob/main/Documentation/api.md#relabelconfig - ## - metricRelabelings: [] - ## @param metrics.serviceMonitor.relabelings RelabelConfigs to apply to samples before scraping - ## ref: https://github.com/coreos/prometheus-operator/blob/main/Documentation/api.md#relabelconfig - ## - relabelings: [] - ## @param metrics.serviceMonitor.honorLabels Specify honorLabels parameter to add the scrape endpoint - ## - honorLabels: false - ## @param metrics.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in prometheus. - ## - jobLabel: "" - ## @param metrics.serviceMonitor.labels Used to pass Labels that are required by the installed Prometheus Operator - ## ref: https://github.com/coreos/prometheus-operator/blob/main/Documentation/api.md#prometheusspec - ## - labels: {} - ## Metrics container ports to open - ## If hostNetwork true: the hostPort is set identical to the containerPort - ## @param metrics.containerPorts.http HTTP Port on the Host and Container - ## @param metrics.containerPorts.jmx JMX Port on the Host and Container - ## - containerPorts: - http: 8080 - jmx: 5555 - ## Metrics ports to be exposed as hostPort - ## If hostNetwork is false, only the ports specified here will be exposed (or not if set to an empty string) - ## @param metrics.hostPorts.http HTTP Port on the Host - ## @param metrics.hostPorts.jmx JMX Port on the Host - ## - hostPorts: - http: "" - jmx: "" - ## @param metrics.configuration [string] Configure Cassandra-exporter with a custom config.yml file - ## ref: https://github.com/criteo/cassandra_exporter/blob/main/config.yml - ## - configuration: | - host: localhost:{{ .Values.containerPorts.jmx }} - ssl: False - user: - password: - listenPort: {{ .Values.metrics.containerPorts.http }} - blacklist: - # To profile the duration of jmx call you can start the program with the following options - # > java -Dorg.slf4j.simpleLogger.defaultLogLevel=trace -jar cassandra_exporter.jar config.yml --oneshot - # - # To get intuition of what is done by cassandra when something is called you can look in cassandra - # https://github.com/apache/cassandra/tree/trunk/src/java/org/apache/cassandra/metrics - # Please avoid to scrape frequently those calls that are iterating over all sstables - - # Unaccessible metrics (not enough privilege) - - java:lang:memorypool:.*usagethreshold.* - - # Leaf attributes not interesting for us but that are presents in many path - - .*:999thpercentile - - .*:95thpercentile - - .*:fifteenminuterate - - .*:fiveminuterate - - .*:durationunit - - .*:rateunit - - .*:stddev - - .*:meanrate - - .*:mean - - .*:min - - # Path present in many metrics but uninterresting - - .*:viewlockacquiretime:.* - - .*:viewreadtime:.* - - .*:cas[a-z]+latency:.* - - .*:colupdatetimedeltahistogram:.* - - # Mostly for RPC, do not scrap them - - org:apache:cassandra:db:.* - - # columnfamily is an alias for Table metrics - # https://github.com/apache/cassandra/blob/8b3a60b9a7dbefeecc06bace617279612ec7092d/src/java/org/apache/cassandra/metrics/TableMetrics.java#L162 - - org:apache:cassandra:metrics:columnfamily:.* - - # Should we export metrics for system keyspaces/tables ? - - org:apache:cassandra:metrics:[^:]+:system[^:]*:.* - - # Don't scrap us - - com:criteo:nosql:cassandra:exporter:.* - - maxScrapFrequencyInSec: - 50: - - .* - - # Refresh those metrics only every hour as it is costly for cassandra to retrieve them - 3600: - - .*:snapshotssize:.* - - .*:estimated.* - - .*:totaldiskspaceused:.* -## @section TLS/SSL parameters -## - -## TLS/SSL parameters -## @param tls.internodeEncryption Set internode encryption -## @param tls.clientEncryption Set client-server encryption -## @param tls.autoGenerated Generate automatically self-signed TLS certificates. Currently only supports PEM certificates -## @param tls.existingSecret Existing secret that contains Cassandra Keystore and truststore -## @param tls.passwordsSecret Secret containing the Keystore and Truststore passwords if needed -## @param tls.keystorePassword Password for the keystore, if needed. -## @param tls.truststorePassword Password for the truststore, if needed. -## @param tls.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if tls.resources is set (tls.resources is recommended for production). -## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 -## @param tls.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads) -## @param tls.certificatesSecret Secret with the TLS certificates. -## @param tls.tlsEncryptionSecretName Secret with the encryption of the TLS certificates -## -tls: - internodeEncryption: none - clientEncryption: false - autoGenerated: false - existingSecret: "" - passwordsSecret: "" - keystorePassword: "" - truststorePassword: "" - certificatesSecret: "" - tlsEncryptionSecretName: "" - resourcesPreset: "nano" - ## We usually recommend not to specify default resources and to leave this as a conscious - ## choice for the user. This also increases chances charts run on environments with little - ## resources, such as Minikube. If you do want to specify resources, uncomment the following - ## lines, adjust them as necessary, and remove the curly braces after 'resources:'. - ## Example: - ## resources: - ## requests: - ## cpu: 2 - ## memory: 512Mi - ## limits: - ## cpu: 3 - ## memory: 1024Mi - resources: {} diff --git a/cw-infra-apps-nubes/charts/backend/Chart.yaml b/cw-infra-apps-nubes/charts/backend/Chart.yaml deleted file mode 100755 index 019a9b8..0000000 --- a/cw-infra-apps-nubes/charts/backend/Chart.yaml +++ /dev/null @@ -1,67 +0,0 @@ -apiVersion: v2 -name: umbrella-chart -description: A Helm umbrella chart to deploy multiple microservices with shared config -type: application -version: 0.1.0 -appVersion: 1.0.0 -dependencies: -- name: auth-event-handler-app-k8s - version: 0.1.0 - repository: file://charts/auth-event-handler-app-k8s -- name: chat-app-k8s - version: 0.1.0 - repository: file://charts/chat-app-k8s -- name: auth-app-k8s - version: 0.1.0 - repository: file://charts/auth-app-k8s -- name: message-app-k8s - version: 0.1.0 - repository: file://charts/message-app-k8s -- name: user-app-k8s - version: 0.1.0 - repository: file://charts/user-app-k8s -- name: notification-app-k8s - version: 0.1.0 - repository: file://charts/notification-app-k8s -- name: search-app-k8s - version: 0.1.0 - repository: file://charts/search-app-k8s -- name: call-app-k8s - version: 0.1.0 - repository: file://charts/call-app-k8s -- name: workspace-app-k8s - version: 0.1.0 - repository: file://charts/workspace-app-k8s -- name: realtime-app-k8s - version: 0.1.0 - repository: file://charts/realtime-app-k8s -- name: web-sender-app-k8s - version: 0.1.0 - repository: file://charts/web-sender-app-k8s -- name: bff-app-k8s - version: 0.1.0 - repository: file://charts/bff-app-k8s -- name: upload-app-k8s - version: 0.1.0 - repository: file://charts/upload-app-k8s -- name: deeplink-app-k8s - version: 0.1.0 - repository: file://charts/deeplink-app-k8s -- name: livekit-webhook-handler-app-k8s - version: 0.1.0 - repository: file://charts/livekit-webhook-handler-app-k8s -- name: ios-app-k8s - version: 0.1.0 - repository: file://charts/ios-app-k8s -- name: android-app-k8s - version: 0.1.0 - repository: file://charts/android-app-k8s -- name: desktop-app-k8s - version: 0.1.0 - repository: file://charts/desktop-app-k8s -- name: huawei-app-k8s - version: 0.1.0 - repository: file://charts/huawei-app-k8s -- name: safari-app-k8s - version: 0.1.0 - repository: file://charts/safari-app-k8s diff --git a/cw-infra-apps-nubes/charts/backend/charts/admin-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/admin-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/admin-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/admin-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/admin-app-k8s/Chart.yaml deleted file mode 100755 index d943528..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/admin-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: admin-app -description: Helm chart for Admin app -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/admin-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/admin-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 58f3263..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/admin-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,24 +0,0 @@ -{{/* Common labels */}} -{{- define "admin-app.labels" -}} -helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }} -app.kubernetes.io/name: {{ include "admin-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.AppVersion }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* Name */}} -{{- define "admin-app.name" -}} -{{- .Chart.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* Fullname */}} -{{- define "admin-app.fullname" -}} -{{- .Release.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* Selector labels */}} -{{- define "admin-app.selectorLabels" -}} -app.kubernetes.io/name: {{ include "admin-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/admin-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/admin-app-k8s/templates/deployment.yaml deleted file mode 100755 index 5dfa996..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/admin-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,65 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "admin-app.fullname" . }} - labels: - {{- include "admin-app.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - {{- include "admin-app.selectorLabels" . | nindent 6 }} - template: - metadata: - labels: - {{- include "admin-app.selectorLabels" . | nindent 8 }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: admin-app - ports: - - containerPort: 9090 - targetPort: 9090 - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: WORKSPACE_HOST - value: "{{ .Values.env.workspace_host }}" - - name: WORKSPACE_PORT - value: "{{ .Values.env.workspace_port }}" - - name: USER_HOST - value: "{{ .Values.env.user_host }}" - - name: USER_PORT - value: "{{ .Values.env.user_port }}" - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts diff --git a/cw-infra-apps-nubes/charts/backend/charts/admin-app-k8s/templates/service.yaml b/cw-infra-apps-nubes/charts/backend/charts/admin-app-k8s/templates/service.yaml deleted file mode 100755 index a453710..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/admin-app-k8s/templates/service.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "admin-app.fullname" . }} - labels: - {{- include "admin-app.labels" . | nindent 4 }} -spec: - type: {{ .Values.service.type }} - selector: - {{- include "admin-app.selectorLabels" . | nindent 4 }} - ports: - - name: http - port: {{ .Values.service.port }} - targetPort: {{ .Values.service.targetPort }} - protocol: TCP diff --git a/cw-infra-apps-nubes/charts/backend/charts/admin-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/admin-app-k8s/values.yaml deleted file mode 100755 index 19513f3..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/admin-app-k8s/values.yaml +++ /dev/null @@ -1,16 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/admin-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - workspace_host: workspace-app - workspace_port: 9090 - user_host: user-app - user_port: 9090 -service: - type: ClusterIP - port: 9090 - targetPort: 9090 \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/android-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/android-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/android-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/android-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/android-app-k8s/Chart.yaml deleted file mode 100755 index d3b2f8d..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/android-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: android-sender-app -description: Helm chart for Android Sender Application -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/android-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/android-app-k8s/templates/_helpers.tpl deleted file mode 100755 index dce1894..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/android-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,24 +0,0 @@ -{{/* Common labels */}} -{{- define "android-sender-app.labels" -}} -helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }} -app.kubernetes.io/name: {{ include "android-sender-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.AppVersion }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* Name */}} -{{- define "android-sender-app.name" -}} -{{- .Chart.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* Fullname */}} -{{- define "android-sender-app.fullname" -}} -{{- .Release.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* Selector labels */}} -{{- define "android-sender-app.selectorLabels" -}} -app.kubernetes.io/name: {{ include "android-sender-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/android-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/android-app-k8s/templates/deployment.yaml deleted file mode 100755 index 8f0182d..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/android-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,72 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "android-sender-app.fullname" . }} - labels: - {{- include "android-sender-app.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - {{- include "android-sender-app.selectorLabels" . | nindent 6 }} - template: - metadata: - labels: - {{- include "android-sender-app.selectorLabels" . | nindent 8 }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: android-sender - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: KAFKA_SERVER - value: {{ .Values.env.kafkaServers }} - - name: KAFKA_USER - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafkaSecret }} - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafkaSecret }} - key: client-passwords - - name: REDIS_HOST - value: {{ .Values.env.redisHost }} - - name: REDIS_PORT - value: {{ .Values.env.redisPort | quote }} - - name: ANDROID_FIREBASE_CONFIG - value: {{ .Values.env.android_firebase_config }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts diff --git a/cw-infra-apps-nubes/charts/backend/charts/android-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/android-app-k8s/values.yaml deleted file mode 100755 index e0693f9..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/android-app-k8s/values.yaml +++ /dev/null @@ -1,16 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/android-sender-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - kafkaServers: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - redisHost: redis-master.redis.svc.cluster.local - redisPort: 6379 - android_firebase_config: "cowork-prod-firebase-adminsdk-l136z-648992e82d.json" - -secrets: - kafkaSecret: kafka-password - firebaseSecret: android-firebase-config \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/auth-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/auth-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/auth-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/auth-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/auth-app-k8s/Chart.yaml deleted file mode 100755 index 03160f2..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/auth-app-k8s/Chart.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: v2 -name: auth-app-k8s -description: A Helm chart for Kubernetes - -# A chart can be either an 'application' or a 'library' chart. -# -# Application charts are a collection of templates that can be packaged into versioned archives -# to be deployed. -# -# Library charts provide useful utilities or functions for the chart developer. They're included as -# a dependency of application charts to inject those utilities and functions into the rendering -# pipeline. Library charts do not define any templates and therefore cannot be deployed. -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.1.0 - -# 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 -# follow Semantic Versioning. They should reflect the version the application is using. -# It is recommended to use it with quotes. -appVersion: "1.16.0" diff --git a/cw-infra-apps-nubes/charts/backend/charts/auth-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/auth-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 4efede7..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/auth-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,62 +0,0 @@ -{{/* -Expand the name of the chart. -*/}} -{{- define "auth-app-k8s.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -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 "auth-app-k8s.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- $name := default .Chart.Name .Values.nameOverride }} -{{- if contains $name .Release.Name }} -{{- .Release.Name | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} -{{- end }} -{{- end }} -{{- end }} - -{{/* -Create chart name and version as used by the chart label. -*/}} -{{- define "auth-app-k8s.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Common labels -*/}} -{{- define "auth-app-k8s.labels" -}} -helm.sh/chart: {{ include "auth-app-k8s.chart" . }} -{{ include "auth-app-k8s.selectorLabels" . }} -{{- if .Chart.AppVersion }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -{{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* -Selector labels -*/}} -{{- define "auth-app-k8s.selectorLabels" -}} -app.kubernetes.io/name: {{ include "auth-app-k8s.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} - -{{/* -Create the name of the service account to use -*/}} -{{- define "auth-app-k8s.serviceAccountName" -}} -{{- if .Values.serviceAccount.create }} -{{- default (include "auth-app-k8s.fullname" .) .Values.serviceAccount.name }} -{{- else }} -{{- default "default" .Values.serviceAccount.name }} -{{- end }} -{{- end }} diff --git a/cw-infra-apps-nubes/charts/backend/charts/auth-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/auth-app-k8s/templates/deployment.yaml deleted file mode 100755 index c4d67a6..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/auth-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,103 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "auth-app-k8s.fullname" . }} - labels: - {{- include "auth-app-k8s.labels" . | nindent 4 }} - io.kompose.service: auth-app -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - {{- include "auth-app-k8s.selectorLabels" . | nindent 6 }} - io.kompose.service: auth-app - template: - metadata: - annotations: - {{- toYaml .Values.podAnnotations | nindent 8 }} - labels: - {{- include "auth-app-k8s.selectorLabels" . | nindent 8 }} - {{- toYaml .Values.podLabels | nindent 8 }} - spec: - {{- with .Values.imagePullSecrets }} - imagePullSecrets: - {{- toYaml . | nindent 8 }} - {{- end }} - volumes: - - name: ca-cert - configMap: - name: {{ include "auth-app-k8s.fullname" . }}-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: auth-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: {{ .Values.service.targetPort }} - {{- if .Values.service.hostPort }} - hostPort: {{ .Values.service.hostPort }} - {{- end }} - protocol: TCP - env: - - name: ADMIN_CLIENT_ID - value: {{ .Values.env.adminClientId | quote }} - - name: ADMIN_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.adminPassword.name }} - key: {{ .Values.secrets.adminPassword.key }} - - name: ADMIN_REALM - value: {{ .Values.env.adminRealm | quote }} - - name: ADMIN_URL - value: {{ .Values.env.adminUrl | quote }} - - name: ADMIN_USERNAME - value: {{ .Values.env.adminUsername | quote }} - - name: CLIENT_ID - value: {{ .Values.env.clientId | quote }} - - name: CLIENT_ISSUER_IRI - value: {{ .Values.env.clientIssuerIri | quote }} - - name: CLIENT_REALM - value: {{ .Values.env.clientRealm | quote }} - - name: CLIENT_SECRET - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.clientSecret.name }} - key: {{ .Values.secrets.clientSecret.key }} - - name: REALM - value: {{ .Values.env.realm | quote }} - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - - name: SECURITY_ADMIN_REALM - value: {{ .Values.env.securityAdminRealm | quote }} - - name: SECURITY_OAUTH2_CLIENT_ISSUER_URI - value: {{ .Values.env.securityOauth2ClientIssuerUri | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - resources: - {{- toYaml .Values.resources | nindent 12 }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/auth-app-k8s/templates/service.yaml b/cw-infra-apps-nubes/charts/backend/charts/auth-app-k8s/templates/service.yaml deleted file mode 100755 index d7fd4fc..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/auth-app-k8s/templates/service.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "auth-app-k8s.fullname" . }} - labels: - {{- include "auth-app-k8s.labels" . | nindent 4 }} -spec: - type: {{ .Values.service.type }} - ports: - - port: {{ .Values.service.port }} - targetPort: {{ .Values.service.targetPort }} - protocol: TCP - selector: - {{- include "auth-app-k8s.selectorLabels" . | nindent 4 }} - io.kompose.service: auth-app \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/auth-app-k8s/templates/tests/test-connection.yaml b/cw-infra-apps-nubes/charts/backend/charts/auth-app-k8s/templates/tests/test-connection.yaml deleted file mode 100755 index 345e5ce..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/auth-app-k8s/templates/tests/test-connection.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: "{{ include "auth-app-k8s.fullname" . }}-test-connection" - labels: - {{- include "auth-app-k8s.labels" . | nindent 4 }} - annotations: - "helm.sh/hook": test -spec: - containers: - - name: wget - image: busybox - command: ['wget'] - args: ['{{ include "auth-app-k8s.fullname" . }}:{{ .Values.service.port }}'] - restartPolicy: Never diff --git a/cw-infra-apps-nubes/charts/backend/charts/auth-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/auth-app-k8s/values.yaml deleted file mode 100755 index eaac6c9..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/auth-app-k8s/values.yaml +++ /dev/null @@ -1,58 +0,0 @@ - -fullnameOverride: "auth-app" - -image: - repository: registry.co-work.ru/auth-app - tag: 1.0.0-SNAPSHOT - pullPolicy: Always - -replicaCount: 1 - -service: - type: ClusterIP - port: 9090 - targetPort: 9090 - hostPort: null - -env: - cert_alias: co-work - adminClientId: "admin-cli" - adminRealm: "master" - adminUrl: "https://iam.nubes.ru/admin/realms/cowork" - adminUsername: "admin" - clientId: "gem-auth-client" - clientIssuerIri: "https://iam.nubes.ru/realms/cowork" - clientRealm: "cowork" - realm: "cowork" - securityAdminRealm: "master" - securityOauth2ClientIssuerUri: "https://iam.nubes.ru/realms" - - -secrets: - adminPassword: - name: auth-secrets - key: admin-password - clientSecret: - name: auth-secrets - key: client-secret - - -resources: - limits: - memory: 512Mi - requests: - cpu: 100m - memory: 256Mi - - -podAnnotations: - kompose.cmd: kompose convert -f app/auth-app.yml -o k8s/auth-app-k8s - kompose.version: 1.33.0 (HEAD) - -podLabels: - io.kompose.network/app-default: "true" - io.kompose.service: auth-app - - -autoscaling: - enabled: false \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/auth-event-handler-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/auth-event-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/auth-event-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/auth-event-handler-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/auth-event-handler-app-k8s/Chart.yaml deleted file mode 100755 index 372a015..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/auth-event-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: auth-event-handler-app-k8s -description: Authentication Event Handler -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/auth-event-handler-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/auth-event-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 9712214..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/auth-event-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,23 +0,0 @@ -{{/* Common Name Definitions */}} -{{- define "auth-event-handler-app-k8s.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- printf "%s-%s" .Release.Name .Chart.Name | trunc 63 | trimSuffix "-" }} -{{- end }} -{{- end }} - -{{/* Standard labels */}} -{{- define "auth-event-handler-app-k8s.labels" -}} -helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} -app.kubernetes.io/name: {{ .Chart.Name }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* Selector labels */}} -{{- define "auth-event-handler-app-k8s.selectorLabels" -}} -app.kubernetes.io/name: {{ .Chart.Name }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/auth-event-handler-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/auth-event-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index e8fe247..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/auth-event-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,141 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "auth-event-handler-app-k8s.fullname" . }} - labels: - {{- include "auth-event-handler-app-k8s.labels" . | nindent 4 }} -spec: - {{- if not .Values.autoscaling.enabled }} - replicas: {{ .Values.replicaCount }} - {{- end }} - selector: - matchLabels: - {{- include "auth-event-handler-app-k8s.selectorLabels" . | nindent 6 }} - template: - metadata: - {{- with .Values.podAnnotations }} - annotations: - {{- toYaml . | nindent 8 }} - {{- end }} - labels: - {{- include "auth-event-handler-app-k8s.labels" . | nindent 8 }} - {{- with .Values.podLabels }} - {{- toYaml . | nindent 8 }} - {{- end }} - spec: - {{- if .Values.serviceAccount.create }} - serviceAccountName: {{ .Values.serviceAccount.name | default (include "auth-event-handler-app-k8s.serviceAccountName" .) }} - {{- end }} - {{- with .Values.imagePullSecrets }} - imagePullSecrets: - {{- toYaml . | nindent 8 }} - {{- end }} - securityContext: - {{- toYaml .Values.podSecurityContext | nindent 8 }} - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - {{- with .Values.volumes }} - {{ toYaml . | nindent 8 }} - {{- end }} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: {{ .Chart.Name }} - securityContext: - {{- toYaml .Values.securityContext | nindent 12 }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - name: http - containerPort: {{ .Values.service.port }} - protocol: TCP - env: - - name: ADMIN_CLIENT_ID - value: {{ .Values.env.adminClientId | quote }} - - name: ADMIN_REALM - value: {{ .Values.env.adminRealm | quote }} - - name: ADMIN_URL - value: {{ .Values.env.adminUrl | quote }} - - name: ADMIN_USERNAME - value: {{ .Values.env.adminUsername | quote }} - - name: CLIENT_ID - value: {{ .Values.env.clientId | quote }} - - name: CLIENT_ISSUER_IRI - value: {{ .Values.env.clientIssuerIri | quote }} - - name: CLIENT_REALM - value: {{ .Values.env.clientRealm | quote }} - - name: REALM - value: {{ .Values.env.realm | quote }} - - name: SECURITY_ADMIN_REALM - value: {{ .Values.env.securityAdminRealm | quote }} - - name: SECURITY_OAUTH2_CLIENT_ISSUER_URI - value: {{ .Values.env.securityOauth2ClientIssuerUri | quote }} - - name: KAFKA - value: {{ .Values.env.kafkaBrokers | quote }} - - name: KAFKA_USERNAME - value: {{ .Values.secrets.kafka.username | quote }} - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka.name }} - key: {{ .Values.secrets.kafka.passwordKey }} - - name: ADMIN_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.adminPassword.name }} - key: {{ .Values.secrets.adminPassword.key }} - - name: CLIENT_SECRET - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.clientSecret.name }} - key: {{ .Values.secrets.clientSecret.key }} - livenessProbe: - {{- toYaml .Values.livenessProbe | nindent 12 }} - readinessProbe: - {{- toYaml .Values.readinessProbe | nindent 12 }} - resources: - {{- toYaml .Values.resources | nindent 12 }} - volumeMounts: - {{- with .Values.volumeMounts }} - {{- toYaml . | nindent 12 }} - {{- end }} - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - {{- with .Values.nodeSelector }} - nodeSelector: - {{- toYaml . | nindent 8 }} - {{- end }} - {{- with .Values.affinity }} - affinity: - {{- toYaml . | nindent 8 }} - {{- end }} - {{- with .Values.tolerations }} - tolerations: - {{- toYaml . | nindent 8 }} - {{- end }} diff --git a/cw-infra-apps-nubes/charts/backend/charts/auth-event-handler-app-k8s/templates/service.yaml b/cw-infra-apps-nubes/charts/backend/charts/auth-event-handler-app-k8s/templates/service.yaml deleted file mode 100755 index 21e5053..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/auth-event-handler-app-k8s/templates/service.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "auth-event-handler-app-k8s.fullname" . }} - labels: - {{- include "auth-event-handler-app-k8s.labels" . | nindent 4 }} -spec: - ports: - - port: {{ .Values.service.port }} - targetPort: {{ .Values.service.targetPort }} - selector: - {{- include "auth-event-handler-app-k8s.selectorLabels" . | nindent 4 }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/auth-event-handler-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/auth-event-handler-app-k8s/values.yaml deleted file mode 100755 index c3690cb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/auth-event-handler-app-k8s/values.yaml +++ /dev/null @@ -1,60 +0,0 @@ -fullnameOverride: "auth-event-handler-app" -image: - repository: registry.co-work.ru/auth-event-handler-app - tag: 1.0.0-SNAPSHOT - pullPolicy: Always - -replicaCount: 1 -service: - type: ClusterIP - port: 8094 - targetPort: 9090 -env: - adminClientId: "admin-cli" - adminRealm: "master" - adminUrl: "https://iam.nubes.ru/admin/realms/cowork" - adminUsername: "admin" - clientId: "gem-auth-client" - clientIssuerIri: "https://iam.nubes.ru/realms/cowork" - clientRealm: "cowork" - realm: "cowork" - securityAdminRealm: "master" - securityOauth2ClientIssuerUri: "https://iam.nubes.ru/realms" - kafkaBrokers: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" -secrets: - kafka: - name: kafka-password - passwordKey: client-passwords - username: admin - adminPassword: - name: auth-secrets - key: admin-password - clientSecret: - name: auth-secrets - key: client-secret - -resources: - limits: - memory: 512Mi - requests: - cpu: 100m - memory: 256Mi - -podAnnotations: - kompose.cmd: kompose convert -f app/auth-event-handler-app.yml -o k8s/auth-event-handler-app-k8s - kompose.version: 1.33.0 (HEAD) - -podLabels: - io.kompose.network/app-default: "true" - io.kompose.service: auth-event-handler-app - - -podSecurityContext: {} -securityContext: {} - -autoscaling: - enabled: false - -serviceAccount: - create: false - name: "" \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/bff-admin-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/bff-admin-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/bff-admin-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/bff-admin-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/bff-admin-app-k8s/Chart.yaml deleted file mode 100755 index 97e78ff..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/bff-admin-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: bff-admin-app -description: Helm chart for bff-admin-app -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/bff-admin-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/bff-admin-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 17263cc..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/bff-admin-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,24 +0,0 @@ -{{/* Common labels */}} -{{- define "bff-admin-app.labels" -}} -helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }} -app.kubernetes.io/name: {{ include "bff-admin-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.AppVersion }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* Name */}} -{{- define "bff-admin-app.name" -}} -{{- .Chart.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* Fullname */}} -{{- define "bff-admin-app.fullname" -}} -{{- .Release.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* Selector labels */}} -{{- define "bff-admin-app.selectorLabels" -}} -app.kubernetes.io/name: {{ include "bff-admin-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/bff-admin-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/bff-admin-app-k8s/templates/deployment.yaml deleted file mode 100755 index a463d63..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/bff-admin-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,39 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "bff-admin-app.fullname" . }} - labels: - {{- include "bff-admin-app.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - {{- include "bff-admin-app.selectorLabels" . | nindent 6 }} - template: - metadata: - labels: - {{- include "bff-admin-app.selectorLabels" . | nindent 8 }} - spec: - containers: - - name: bff-admin-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: SWAGGER_HOST - value: "{{ .Values.env.swagger_host }}" - - name: SWAGGER_PORT - value: "{{ .Values.env.swagger_port }}" - - name: WORKSPACE_HOST - value: "{{ .Values.env.workspace_host }}" - - name: WORKSPACE_PORT - value: "{{ .Values.env.workspace_port }}" - - name: USER_HOST - value: "{{ .Values.env.user_host }}" - - name: USER_PORT - value: "{{ .Values.env.user_port }}" - - name: ADMIN_HOST - value: "{{ .Values.env.admin_host }}" - - name: ADMIN_PORT - value: "{{ .Values.env.admin_port }}" - - name: APP_NAME - value: "{{ .Values.env.app_name }}" diff --git a/cw-infra-apps-nubes/charts/backend/charts/bff-admin-app-k8s/templates/ingress.yaml b/cw-infra-apps-nubes/charts/backend/charts/bff-admin-app-k8s/templates/ingress.yaml deleted file mode 100755 index 5b5d502..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/bff-admin-app-k8s/templates/ingress.yaml +++ /dev/null @@ -1,38 +0,0 @@ -{{- if .Values.ingress.enabled -}} -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: {{ .Values.ingress.name }} - namespace: {{ .Release.Namespace | default "default" }} - {{- with .Values.ingress.annotations }} - annotations: - {{- toYaml . | nindent 4 }} - {{- end }} -spec: - ingressClassName: {{ .Values.ingress.className }} - {{- if .Values.ingress.tls }} - tls: - {{- range .Values.ingress.tls }} - - hosts: - {{- range .hosts }} - - {{ . | quote }} - {{- end }} - secretName: {{ .secretName | quote }} - {{- end }} - {{- end }} - rules: - {{- range .Values.ingress.hosts }} - - host: {{ .host | quote }} - http: - paths: - {{- range .paths }} - - path: {{ .path }} - pathType: {{ .pathType }} - backend: - service: - name: {{ $.Values.env.app_name }} - port: - number: {{ $.Values.service.httpPort }} - {{- end }} - {{- end }} -{{- end }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/bff-admin-app-k8s/templates/service.yaml b/cw-infra-apps-nubes/charts/backend/charts/bff-admin-app-k8s/templates/service.yaml deleted file mode 100755 index afaf6a0..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/bff-admin-app-k8s/templates/service.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "bff-admin-app.fullname" . }} - labels: - {{- include "bff-admin-app.labels" . | nindent 4 }} -spec: - type: {{ .Values.service.type }} - selector: - {{- include "bff-admin-app.selectorLabels" . | nindent 4 }} - ports: - {{- range .Values.service.ports }} - - name: {{ .name }} - port: {{ .port }} - targetPort: {{ .targetPort }} - protocol: TCP - {{- end }} diff --git a/cw-infra-apps-nubes/charts/backend/charts/bff-admin-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/bff-admin-app-k8s/values.yaml deleted file mode 100755 index 6e244f0..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/bff-admin-app-k8s/values.yaml +++ /dev/null @@ -1,46 +0,0 @@ -replicaCount: 1 -image: - repository: registry.co-work.ru/bff-admin-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - swagger_host: "localhost" - swagger_port: 8080 - workspace_host: "workspace-app" - workspace_port: 9090 - user_host: "user-app" - user_port: 9090 - admin_host: "admin-app" - admin_port: 9090 - app_name: bff-admin-app - -service: - type: ClusterIP - httpPort: 8100 - grpcPort: 8101 - ports: - - name: http - port: 8100 # Changed from templated value to static - targetPort: 8080 - - name: grpc - port: 8101 # Changed from templated value to static - targetPort: 9090 - -ingress: - enabled: true - className: nginx - name: bff-admin-ingress - annotations: - nginx.ingress.kubernetes.io/ssl-redirect: "true" - nginx.ingress.kubernetes.io/force-ssl-redirect: "true" - nginx.ingress.kubernetes.io/backend-protocol: "HTTP" - hosts: - - host: api-adm-p001.cw.ngcloud.ru - paths: - - path: / - pathType: Prefix - tls: - - hosts: - - api-adm-p001.cw.ngcloud.ru - secretName: co-work-secret \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/bff-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/bff-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/bff-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/bff-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/bff-app-k8s/Chart.yaml deleted file mode 100755 index e730ecc..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/bff-app-k8s/Chart.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: v2 -name: bff-app-k8s -description: A Helm chart for Kubernetes - -# A chart can be either an 'application' or a 'library' chart. -# -# Application charts are a collection of templates that can be packaged into versioned archives -# to be deployed. -# -# Library charts provide useful utilities or functions for the chart developer. They're included as -# a dependency of application charts to inject those utilities and functions into the rendering -# pipeline. Library charts do not define any templates and therefore cannot be deployed. -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.1.0 - -# 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 -# follow Semantic Versioning. They should reflect the version the application is using. -# It is recommended to use it with quotes. -appVersion: "1.16.0" diff --git a/cw-infra-apps-nubes/charts/backend/charts/bff-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/bff-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 99c76e2..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/bff-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,23 +0,0 @@ -{{/* Common Name Definitions */}} -{{- define "bff-app-k8s.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- printf "%s-%s" .Release.Name .Chart.Name | trunc 63 | trimSuffix "-" }} -{{- end }} -{{- end }} - -{{/* Standard labels */}} -{{- define "bff-app-k8s.labels" -}} -helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} -app.kubernetes.io/name: {{ .Chart.Name }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* Selector labels */}} -{{- define "bff-app-k8s.selectorLabels" -}} -app.kubernetes.io/name: {{ .Chart.Name }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/bff-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/bff-app-k8s/templates/deployment.yaml deleted file mode 100755 index becbefb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/bff-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,93 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "bff-app-k8s.fullname" . }} - labels: - {{- include "bff-app-k8s.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - {{- include "bff-app-k8s.selectorLabels" . | nindent 6 }} - template: - metadata: - annotations: - {{- toYaml .Values.podAnnotations | nindent 8 }} - labels: - {{- include "bff-app-k8s.selectorLabels" . | nindent 8 }} - {{- toYaml .Values.podLabels | nindent 8 }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} -# initContainers: -# - name: import-ca -# image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" -# env: -# - name: CERT_ALIAS -# value: {{ .Values.env.cert_alias | quote }} -# volumeMounts: -# - name: ca-cert -# mountPath: /app/resources -# - name: cacerts-volume -# mountPath: /tmp/cacerts -# command: -# - sh -# - -c -# - | -# cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && -# keytool -import -trustcacerts -storepass changeit -noprompt \ -# -alias gemcert \ -# -file /app/resources/RootCA_${CERT_ALIAS}.crt \ -# -keystore /tmp/cacerts/cacerts - containers: - - name: bff-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: {{ .Values.service.targetPort }} - {{- if .Values.service.hostPort }} - hostPort: {{ .Values.service.hostPort }} - {{- end }} - protocol: TCP - env: - - name: GRPC_CLIENT_AUTH_URL - value: {{ .Values.env.services.auth | quote }} - - name: GRPC_CLIENT_CHAT_URL - value: {{ .Values.env.services.chat | quote }} - - name: GRPC_CLIENT_CONFIG_URL - value: {{ .Values.env.services.user | quote }} - - name: GRPC_CLIENT_DEEPLINK_URL - value: {{ .Values.env.services.deeplink | quote }} - - name: GRPC_CLIENT_GEM_CALL_URL - value: {{ .Values.env.services.gemCall | quote }} - - name: GRPC_CLIENT_MESSAGE_URL - value: {{ .Values.env.services.message | quote }} - - name: GRPC_CLIENT_NOTIFICATIONS_URL - value: {{ .Values.env.services.notification | quote }} - - name: GRPC_CLIENT_REACTION_URL - value: {{ .Values.env.services.message | quote }} - - name: GRPC_CLIENT_REALTIME_URL - value: {{ .Values.env.services.realtime | quote }} - - name: GRPC_CLIENT_SEARCH_URL - value: {{ .Values.env.services.search | quote }} - - name: GRPC_CLIENT_STICKER_URL - value: {{ .Values.env.services.sticker | quote }} - - name: GRPC_CLIENT_UPLOAD_URL - value: {{ .Values.env.services.upload | quote }} - - name: GRPC_CLIENT_USER_URL - value: {{ .Values.env.services.user | quote }} - - name: GRPC_CLIENT_WORKSPACE_URL - value: {{ .Values.env.services.workspace | quote }} - resources: - {{- toYaml .Values.resources | nindent 12 }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts diff --git a/cw-infra-apps-nubes/charts/backend/charts/bff-app-k8s/templates/ingress.yaml b/cw-infra-apps-nubes/charts/backend/charts/bff-app-k8s/templates/ingress.yaml deleted file mode 100755 index 04ac9bd..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/bff-app-k8s/templates/ingress.yaml +++ /dev/null @@ -1,28 +0,0 @@ -{{- if .Values.ingress.enabled -}} -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: {{ .Values.ingress.name }} - namespace: {{ .Release.Namespace | default "default" }} - {{- with .Values.ingress.annotations }} - annotations: - {{- toYaml . | nindent 4 }} - {{- end }} -spec: - ingressClassName: {{ .Values.ingress.className }} - tls: - - hosts: - - {{ .Values.ingress.host | quote }} - secretName: {{ .Values.ingress.tlsSecret | quote }} - rules: - - host: {{ .Values.ingress.host | quote }} - http: - paths: - - path: {{ .Values.ingress.path }} - pathType: {{ .Values.ingress.pathType }} - backend: - service: - name: {{ .Values.service.name }} - port: - number: {{ .Values.service.port }} -{{- end }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/bff-app-k8s/templates/service.yaml b/cw-infra-apps-nubes/charts/backend/charts/bff-app-k8s/templates/service.yaml deleted file mode 100755 index 76ecc39..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/bff-app-k8s/templates/service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "bff-app-k8s.fullname" . }} - labels: - {{- include "bff-app-k8s.labels" . | nindent 4 }} -spec: - type: {{ .Values.service.type }} - ports: - - port: {{ .Values.service.port }} - targetPort: {{ .Values.service.targetPort }} - protocol: TCP - selector: - {{- include "bff-app-k8s.selectorLabels" . | nindent 4 }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/bff-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/bff-app-k8s/values.yaml deleted file mode 100755 index ba4b84f..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/bff-app-k8s/values.yaml +++ /dev/null @@ -1,58 +0,0 @@ -image: - repository: registry.co-work.ru/bff-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -replicaCount: 1 - -service: - type: ClusterIP - port: 8081 - targetPort: 8080 - nodePort: 31754 - name: bff-app # Added service name - -ingress: - enabled: true - className: nginx - name: bff-app-ingress - host: api-p001.cw.ngcloud.ru - annotations: - nginx.ingress.kubernetes.io/ssl-redirect: "true" - nginx.ingress.kubernetes.io/force-ssl-redirect: "true" - nginx.ingress.kubernetes.io/backend-protocol: "HTTP" - path: / - pathType: Prefix - tlsSecret: co-work-secret - -env: - services: - auth: http://auth-app:9090 - chat: http://chat-app:9090 - user: http://user-app:9090 - deeplink: http://deeplink-app:9090 - gemCall: http://gem-call-app:9090 - message: http://message-app:9090 - notification: http://notification-app:9090 - realtime: http://realtime-app:9090 - search: http://search-app:9090 - sticker: http://sticker-app:9090 - upload: http://upload-app:9090 - workspace: http://workspace-app:9090 - -resources: - limits: - memory: 1Gi - requests: - cpu: 200m - memory: 512Mi - -podAnnotations: - kompose.cmd: kompose convert -f app/bff-app.yml -o k8s/bff-app-k8s - kompose.version: 1.33.0 (HEAD) - -podLabels: - io.kompose.network/app-default: "true" - io.kompose.service: bff-app - -fullnameOverride: "bff-app" \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/bff-vcs-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/bff-vcs-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/bff-vcs-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/bff-vcs-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/bff-vcs-app-k8s/Chart.yaml deleted file mode 100755 index 4b2338f..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/bff-vcs-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: bff-vcs-app -description: Helm chart for bff-vcs-app -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/bff-vcs-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/bff-vcs-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 723ae52..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/bff-vcs-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,24 +0,0 @@ -{{/* Common labels */}} -{{- define "bff-vcs-app.labels" -}} -helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }} -app.kubernetes.io/name: {{ include "bff-vcs-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.AppVersion }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* Name */}} -{{- define "bff-vcs-app.name" -}} -{{- .Chart.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* Fullname */}} -{{- define "bff-vcs-app.fullname" -}} -{{- .Release.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* Selector labels */}} -{{- define "bff-vcs-app.selectorLabels" -}} -app.kubernetes.io/name: {{ include "bff-vcs-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/bff-vcs-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/bff-vcs-app-k8s/templates/deployment.yaml deleted file mode 100755 index f8b5b2f..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/bff-vcs-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,58 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "bff-vcs-app.fullname" . }} - labels: - {{- include "bff-vcs-app.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - {{- include "bff-vcs-app.selectorLabels" . | nindent 6 }} - template: - metadata: - labels: - {{- include "bff-vcs-app.selectorLabels" . | nindent 8 }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} -# initContainers: -# - name: import-ca -# image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" -# env: -# - name: CERT_ALIAS -# value: {{ .Values.env.cert_alias | quote }} -# volumeMounts: -# - name: ca-cert -# mountPath: /app/resources -# - name: cacerts-volume -# mountPath: /tmp/cacerts -# command: -# - sh -# - -c -# - | -# cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && -# keytool -import -trustcacerts -storepass changeit -noprompt \ -# -alias gemcert \ -# -file /app/resources/RootCA_${CERT_ALIAS}.crt \ -# -keystore /tmp/cacerts/cacerts - containers: - - name: bff-vcs-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: GRPC_CLIENT_CALL_URL - value: "{{ .Values.env.grpc_client_call_url }}" - - name: GRPC_CLIENT_CALL_REALTIME_URL - value: "{{ .Values.env.grpc_client_call_realtime_url }}" - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts diff --git a/cw-infra-apps-nubes/charts/backend/charts/bff-vcs-app-k8s/templates/ingress.yaml b/cw-infra-apps-nubes/charts/backend/charts/bff-vcs-app-k8s/templates/ingress.yaml deleted file mode 100755 index 9d1467b..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/bff-vcs-app-k8s/templates/ingress.yaml +++ /dev/null @@ -1,28 +0,0 @@ -{{- if .Values.ingress.enabled }} -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: {{ include "bff-vcs-app.fullname" . }}-ingress - namespace: {{ .Release.Namespace }} - annotations: - {{- range $key, $value := .Values.ingress.annotations }} - {{ $key }}: {{ $value | quote }} - {{- end }} -spec: - ingressClassName: {{ .Values.ingress.ingressClassName }} - tls: - - hosts: - - {{ .Values.ingress.host }} - secretName: {{ .Values.ingress.tlsSecretName }} - rules: - - host: {{ .Values.ingress.host }} - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: {{ include "bff-vcs-app.fullname" . }} - port: - number: {{ .Values.service.port }} -{{- end }} diff --git a/cw-infra-apps-nubes/charts/backend/charts/bff-vcs-app-k8s/templates/service.yaml b/cw-infra-apps-nubes/charts/backend/charts/bff-vcs-app-k8s/templates/service.yaml deleted file mode 100755 index e27a234..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/bff-vcs-app-k8s/templates/service.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "bff-vcs-app.fullname" . }} - labels: - {{- include "bff-vcs-app.labels" . | nindent 4 }} -spec: - type: {{ .Values.service.type }} - selector: - {{- include "bff-vcs-app.selectorLabels" . | nindent 4 }} - ports: - - name: http - port: {{ .Values.service.port }} - targetPort: {{ .Values.service.targetPort }} - protocol: TCP - diff --git a/cw-infra-apps-nubes/charts/backend/charts/bff-vcs-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/bff-vcs-app-k8s/values.yaml deleted file mode 100755 index e3cffed..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/bff-vcs-app-k8s/values.yaml +++ /dev/null @@ -1,25 +0,0 @@ -replicaCount: 1 - -image: - repository: pibff-vcs-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - grpc_client_call_url: http://call-realtime-app:9090 - grpc_client_call_realtime_url: http://call-realtime-app:9090 - -service: - type: ClusterIP - port: 8079 - targetPort: 8080 - -ingress: - enabled: true - ingressClassName: nginx - host: api-vcs-p001.cw.ngcloud.ru - tlsSecretName: co-work-secret - annotations: - nginx.ingress.kubernetes.io/ssl-redirect: "true" - nginx.ingress.kubernetes.io/force-ssl-redirect: "true" - nginx.ingress.kubernetes.io/backend-protocol: "HTTP" diff --git a/cw-infra-apps-nubes/charts/backend/charts/big-chat-splitter-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/big-chat-splitter-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/big-chat-splitter-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/big-chat-splitter-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/big-chat-splitter-app-k8s/Chart.yaml deleted file mode 100755 index 636295e..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/big-chat-splitter-app-k8s/Chart.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: v2 -name: big-chat-splitter-app-k8s -description: A Helm chart for Kubernetes - -# A chart can be either an 'application' or a 'library' chart. -# -# Application charts are a collection of templates that can be packaged into versioned archives -# to be deployed. -# -# Library charts provide useful utilities or functions for the chart developer. They're included as -# a dependency of application charts to inject those utilities and functions into the rendering -# pipeline. Library charts do not define any templates and therefore cannot be deployed. -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.1.0 - -# 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 -# follow Semantic Versioning. They should reflect the version the application is using. -# It is recommended to use it with quotes. -appVersion: "1.16.0" diff --git a/cw-infra-apps-nubes/charts/backend/charts/big-chat-splitter-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/big-chat-splitter-app-k8s/templates/_helpers.tpl deleted file mode 100755 index cee27a1..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/big-chat-splitter-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,22 +0,0 @@ -{{/* Common Name Definitions */}} -{{- define "big-chat-splitter-app-k8s.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- printf "%s-%s" .Release.Name .Chart.Name | trunc 63 | trimSuffix "-" }} -{{- end }} -{{- end }} - -{{/* Standard labels */}} -{{- define "big-chat-splitter-app-k8s.labels" -}} -helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} -app.kubernetes.io/name: {{ .Chart.Name }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* Selector labels */}} -{{- define "big-chat-splitter-app-k8s.selectorLabels" -}} -io.kompose.service: big-chat-splitter-app -{{- end }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/big-chat-splitter-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/big-chat-splitter-app-k8s/templates/deployment.yaml deleted file mode 100755 index f423e53..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/big-chat-splitter-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,86 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "big-chat-splitter-app-k8s.fullname" . }} - labels: - {{- include "big-chat-splitter-app-k8s.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - {{- include "big-chat-splitter-app-k8s.selectorLabels" . | nindent 6 }} - template: - metadata: - annotations: - {{- toYaml .Values.podAnnotations | nindent 8 }} - labels: - {{- include "big-chat-splitter-app-k8s.selectorLabels" . | nindent 8 }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: big-chat-splitter-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: CASSANDRA_DC - value: {{ .Values.env.cassandra.dc | quote }} - - name: CASSANDRA_HOST - value: {{ .Values.env.cassandra.host | quote }} - - name: CASSANDRA_USERNAME - value: {{ .Values.secrets.cassandra.username | quote }} - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.cassandra.name }} - key: {{ .Values.secrets.cassandra.passwordKey }} - - name: CHAT_SERVICE_HOST - value: {{ .Values.env.services.chat.host | quote }} - - name: CHAT_SERVICE_PORT - value: {{ .Values.env.services.chat.port | quote }} - - name: KAFKA_USER - value: {{ .Values.secrets.kafka.username | quote }} - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka.name }} - key: {{ .Values.secrets.kafka.passwordKey }} - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.servers | quote }} - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - - name: USER_SERVICE_HOST - value: {{ .Values.env.services.user.host | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts diff --git a/cw-infra-apps-nubes/charts/backend/charts/big-chat-splitter-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/big-chat-splitter-app-k8s/values.yaml deleted file mode 100755 index 3428318..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/big-chat-splitter-app-k8s/values.yaml +++ /dev/null @@ -1,54 +0,0 @@ - -fullnameOverride: "big-chat-splitter-app" -image: - repository: registry.co-work.ru/big-chat-splitter-app - tag: 1.0.0-SNAPSHOT - pullPolicy: Always -replicaCount: 1 -env: - cassandra: - dc: datacenter1 - host: "cassandra.cassandra.svc.cluster.local" - services: - chat: - host: chat-app - port: 9090 - user: - host: user-app - port: 9090 - redis: - host: redis-master.redis.svc.cluster.local - port: 6379 - kafka: - servers: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - -secrets: - cassandra: - name: cassandra - passwordKey: cassandra-password - username: cassandra - - kafka: - name: kafka-password - passwordKey: client-passwords - username: admin - - -resources: - limits: - memory: 1Gi - requests: - cpu: 500m - memory: 512Mi - - -podAnnotations: - kompose.cmd: kompose convert -f app/big-chat-splitter-app.yml -o k8s/big-chat-splitter-app-k8s - kompose.version: 1.33.0 (HEAD) - -podLabels: - io.kompose.network/app-default: "true" - io.kompose.service: big-chat-splitter-app - - -fullnameOverride: "big-chat-splitter-app" \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/call-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/call-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/call-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/call-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/call-app-k8s/Chart.yaml deleted file mode 100755 index 6bbb9e2..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/call-app-k8s/Chart.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: v2 -name: call-app-k8s -description: A Helm chart for Kubernetes - -# A chart can be either an 'application' or a 'library' chart. -# -# Application charts are a collection of templates that can be packaged into versioned archives -# to be deployed. -# -# Library charts provide useful utilities or functions for the chart developer. They're included as -# a dependency of application charts to inject those utilities and functions into the rendering -# pipeline. Library charts do not define any templates and therefore cannot be deployed. -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.1.0 - -# 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 -# follow Semantic Versioning. They should reflect the version the application is using. -# It is recommended to use it with quotes. -appVersion: "1.16.0" diff --git a/cw-infra-apps-nubes/charts/backend/charts/call-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/call-app-k8s/templates/_helpers.tpl deleted file mode 100755 index e543786..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/call-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,22 +0,0 @@ -{{/* Common Name Definitions */}} -{{- define "call-app-k8s.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- printf "%s-%s" .Release.Name .Chart.Name | trunc 63 | trimSuffix "-" }} -{{- end }} -{{- end }} - -{{/* Standard labels */}} -{{- define "call-app-k8s.labels" -}} -helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} -app.kubernetes.io/name: {{ .Chart.Name }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* Selector labels */}} -{{- define "call-app-k8s.selectorLabels" -}} -io.kompose.service: call-app -{{- end }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/call-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/call-app-k8s/templates/deployment.yaml deleted file mode 100755 index ba4055c..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/call-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,131 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "call-app-k8s.fullname" . }} - labels: - {{- include "call-app-k8s.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - {{- include "call-app-k8s.selectorLabels" . | nindent 6 }} - template: - metadata: - annotations: - {{- toYaml .Values.podAnnotations | nindent 8 }} - labels: - {{- include "call-app-k8s.selectorLabels" . | nindent 8 }} - {{- toYaml .Values.podLabels | nindent 8 }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: call-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: 5005 - protocol: TCP - targetPort: 5005 - - containerPort: 9090 - protocol: TCP - targetPort: 9090 - env: - - name: TENANT_ID - value: {{ .Values.env.TENANT_ID | quote }} - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.cassandra.name }} - key: {{ .Values.secrets.cassandra.usernameKey }} - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.cassandra.name }} - key: {{ .Values.secrets.cassandra.passwordKey }} - - name: KAFKA - value: {{ .Values.env.kafka.brokers | quote }} - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka.name }} - key: {{ .Values.secrets.kafka.usernameKey }} - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka.name }} - key: {{ .Values.secrets.kafka.passwordKey }} - - name: KEYCLOAK_URL - value: {{ .Values.env.keycloak.url | quote }} - - name: LIVEKIT_API_KEY - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.livekit.name }} - key: {{ .Values.secrets.livekit.apiKeyKey }} - - name: LIVEKIT_SECRET - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.livekit.name }} - key: {{ .Values.secrets.livekit.secretKey }} - - name: RECORDING_ACCESS_KEY - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.recording.name }} - key: {{ .Values.secrets.recording.accessKeyKey }} - - name: RECORDING_API_HOST - value: {{ .Values.env.livekit.apiHost | quote }} - - name: RECORDING_BUCKET - value: {{ .Values.env.recording.bucket | quote }} - - name: RECORDING_ENDPOINT - value: {{ .Values.env.recording.endpoint | quote }} - - name: RECORDING_REGION - value: {{ .Values.env.recording.region | quote }} - - name: RECORDING_SECRET - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.recording.name }} - key: {{ .Values.secrets.recording.secretKeyKey }} - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - - name: REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.redis.name }} - key: {{ .Values.secrets.redis.passwordKey }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts diff --git a/cw-infra-apps-nubes/charts/backend/charts/call-app-k8s/templates/service.yaml b/cw-infra-apps-nubes/charts/backend/charts/call-app-k8s/templates/service.yaml deleted file mode 100755 index 1aea5ec..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/call-app-k8s/templates/service.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "call-app-k8s.fullname" . }} - labels: - {{- include "call-app-k8s.labels" . | nindent 4 }} -spec: - type: {{ .Values.service.type }} - ports: - {{- range .Values.service.ports }} - - name: {{ .name }} - port: {{ .port }} - targetPort: {{ .targetPort }} - protocol: TCP - {{- end }} - selector: - {{- include "call-app-k8s.selectorLabels" . | nindent 4 }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/call-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/call-app-k8s/values.yaml deleted file mode 100755 index eeb9077..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/call-app-k8s/values.yaml +++ /dev/null @@ -1,66 +0,0 @@ -image: - repository: registry.co-work.ru/call-app - tag: 1.0.0-SNAPSHOT - pullPolicy: Always - -replicaCount: 1 - -service: - type: ClusterIP - ports: - - name: main - port: 5005 - targetPort: 5005 - - name: metrics - port: 9090 - targetPort: 9090 -env: - cassandra: - contactPoint: cassandra.cassandra.svc.cluster.local - datacenter: datacenter1 - kafka: - brokers: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - redis: - host: redis-master.redis.svc.cluster.local - port: 6379 - keycloak: - url: https://iam.nubes.ru/realms/cowork - livekit: - apiHost: https://av-p001.cw.ngcloud.ru - recording: - endpoint: https://store-p001.cw.ngcloud.ru:9000 - region: us-east-2 - bucket: livekit - TENANT_ID: "412eb2e1-9660-4b74-a56a-6198f3b5338a" - -secrets: - cassandra: - name: cassandra - usernameKey: username - passwordKey: cassandra-password - kafka: - name: kafka-password - usernameKey: username - passwordKey: client-passwords - redis: - name: redis-kafka-user-passwords - passwordKey: client-passwords - livekit: - name: livekit-secret - apiKeyKey: api-key - secretKey: secret - recording: - name: recording-secret - accessKeyKey: access-key - secretKeyKey: secret - - -podAnnotations: - kompose.cmd: kompose convert -f app/call-app.yml -o k8s/call-app-k8s - kompose.version: 1.33.0 (HEAD) - -podLabels: - io.kompose.network/app-default: "true" - io.kompose.service: call-app - -fullnameOverride: "call-app" diff --git a/cw-infra-apps-nubes/charts/backend/charts/call-event-handler-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/call-event-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/call-event-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/call-event-handler-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/call-event-handler-app-k8s/Chart.yaml deleted file mode 100755 index c2acbb2..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/call-event-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: call-event-handler-app -description: Call Event Handler Application -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/call-event-handler-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/call-event-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 7fe9301..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/call-event-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,46 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "call-event-handler-app.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{/* -Create a default fully qualified app name. -*/}} -{{- define "call-event-handler-app.fullname" -}} -{{- if .Values.fullnameOverride -}} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- $name := default .Chart.Name .Values.nameOverride -}} -{{- printf "%s" $name | trunc 63 | trimSuffix "-" -}} -{{- end -}} -{{- end -}} - -{{/* -Create chart name and version as used by the chart label. -*/}} -{{- define "call-event-handler-app.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{/* -Common labels -*/}} -{{- define "call-event-handler-app.labels" -}} -helm.sh/chart: {{ include "call-event-handler-app.chart" . }} -{{ include "call-event-handler-app.selectorLabels" . }} -{{- if .Chart.AppVersion }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -{{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end -}} - -{{/* -Selector labels -*/}} -{{- define "call-event-handler-app.selectorLabels" -}} -app.kubernetes.io/name: {{ include "call-event-handler-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end -}} \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/call-event-handler-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/call-event-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index 6000e35..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/call-event-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,111 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "call-event-handler-app.fullname" . }} - labels: - {{- include "call-event-handler-app.labels" . | nindent 4 }} - annotations: - {{- toYaml .Values.podAnnotations | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - {{- include "call-event-handler-app.selectorLabels" . | nindent 6 }} - template: - metadata: - annotations: - {{- toYaml .Values.podAnnotations | nindent 8 }} - labels: - {{- include "call-event-handler-app.selectorLabels" . | nindent 8 }} - {{- toYaml .Values.podLabels | nindent 8 }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: {{ .Chart.Name }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: 5005 - protocol: TCP - - containerPort: 9090 - protocol: TCP - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.cassandra.name }} - key: {{ .Values.secrets.cassandra.usernameKey }} - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.cassandra.name }} - key: {{ .Values.secrets.cassandra.passwordKey }} - - name: KAFKA - value: {{ .Values.env.kafka.brokers | quote }} - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka.name }} - key: {{ .Values.secrets.kafka.usernameKey }} - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka.name }} - key: {{ .Values.secrets.kafka.passwordKey }} - - name: LIVEKIT_API_KEY - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.livekit.name }} - key: {{ .Values.secrets.livekit.apiKeyKey }} - - name: LIVEKIT_SECRET - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.livekit.name }} - key: {{ .Values.secrets.livekit.secretKey }} - - name: RECORDING_API_HOST - value: {{ .Values.env.recording.apiHost | quote }} - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - - name: REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.redis.name }} - key: {{ .Values.secrets.redis.passwordKey }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts diff --git a/cw-infra-apps-nubes/charts/backend/charts/call-event-handler-app-k8s/templates/service.yaml b/cw-infra-apps-nubes/charts/backend/charts/call-event-handler-app-k8s/templates/service.yaml deleted file mode 100755 index 4b73d84..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/call-event-handler-app-k8s/templates/service.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "call-event-handler-app.fullname" . }} - labels: - {{- include "call-event-handler-app.labels" . | nindent 4 }} -spec: - type: {{ .Values.service.type }} - ports: - {{- range .Values.service.ports }} - - name: {{ .name }} - port: {{ .port }} - targetPort: {{ .targetPort }} - protocol: TCP - {{- end }} - selector: - {{- include "call-event-handler-app.selectorLabels" . | nindent 4 }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/call-event-handler-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/call-event-handler-app-k8s/values.yaml deleted file mode 100755 index f66908f..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/call-event-handler-app-k8s/values.yaml +++ /dev/null @@ -1,57 +0,0 @@ -image: - repository: registry.co-work.ru/call-event-handler-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -replicaCount: 1 - -service: - type: ClusterIP - ports: - - name: main - port: 5005 - targetPort: 5005 - - name: metrics - port: 9090 - targetPort: 9090 - -env: - cassandra: - contactPoint: cassandra.cassandra.svc.cluster.local - datacenter: datacenter1 - kafka: - brokers: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - redis: - host: redis-master.redis.svc.cluster.local - port: "6379" - recording: - apiHost: https://store-p001.cw.ngcloud.ru:9000 - -secrets: - cassandra: - name: cassandra - usernameKey: username - passwordKey: cassandra-password - kafka: - name: kafka-password - usernameKey: username - passwordKey: client-passwords - redis: - name: redis-kafka-user-passwords - passwordKey: client-passwords - livekit: - name: livekit-secret - apiKeyKey: api-key - secretKey: secret - -podAnnotations: - kompose.cmd: kompose convert -f app/call-event-handler-app.yml -o k8s/call-event-handler-app-k8s - kompose.version: 1.33.0 (HEAD) - -podLabels: - io.kompose.network/app-default: "true" - io.kompose.service: call-event-handler-app - - -nameOverride: "" -fullnameOverride: "" \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/call-realtime-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/call-realtime-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/call-realtime-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/call-realtime-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/call-realtime-app-k8s/Chart.yaml deleted file mode 100755 index a844be6..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/call-realtime-app-k8s/Chart.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: v2 -name: call-realtime-app-k8s -description: A Helm chart for Kubernetes - -# A chart can be either an 'application' or a 'library' chart. -# -# Application charts are a collection of templates that can be packaged into versioned archives -# to be deployed. -# -# Library charts provide useful utilities or functions for the chart developer. They're included as -# a dependency of application charts to inject those utilities and functions into the rendering -# pipeline. Library charts do not define any templates and therefore cannot be deployed. -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.1.0 - -# 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 -# follow Semantic Versioning. They should reflect the version the application is using. -# It is recommended to use it with quotes. -appVersion: "1.16.0" diff --git a/cw-infra-apps-nubes/charts/backend/charts/call-realtime-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/call-realtime-app-k8s/templates/_helpers.tpl deleted file mode 100755 index e3e996e..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/call-realtime-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,39 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "call-realtime-app.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{/* -Create a default fully qualified app name. -*/}} -{{- define "call-realtime-app.fullname" -}} -{{- if .Values.fullnameOverride -}} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} -{{- else -}} -{{- $name := default .Chart.Name .Values.nameOverride -}} -{{- printf "%s" $name | trunc 63 | trimSuffix "-" -}} -{{- end -}} -{{- end -}} - -{{/* -Common labels -*/}} -{{- define "call-realtime-app.labels" -}} -helm.sh/chart: {{ include "call-realtime-app.name" . }} -{{ include "call-realtime-app.selectorLabels" . }} -{{- if .Chart.AppVersion }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -{{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end -}} - -{{/* -Selector labels -*/}} -{{- define "call-realtime-app.selectorLabels" -}} -app.kubernetes.io/name: {{ include "call-realtime-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end -}} \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/call-realtime-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/call-realtime-app-k8s/templates/deployment.yaml deleted file mode 100755 index 263e3aa..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/call-realtime-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,120 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "call-realtime-app.fullname" . }} - labels: - {{- include "call-realtime-app.labels" . | nindent 4 }} - annotations: - {{- toYaml .Values.podAnnotations | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - {{- include "call-realtime-app.selectorLabels" . | nindent 6 }} - template: - metadata: - annotations: - {{- toYaml .Values.podAnnotations | nindent 8 }} - labels: - {{- include "call-realtime-app.selectorLabels" . | nindent 8 }} - {{- toYaml .Values.podLabels | nindent 8 }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: {{ .Chart.Name }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: 5005 - protocol: TCP - - containerPort: 9090 - protocol: TCP - env: - - name: TENANT_ID - value: {{ .Values.env.TENANT_ID | quote }} - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.cassandra.name }} - key: {{ .Values.secrets.cassandra.usernameKey }} - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.cassandra.name }} - key: {{ .Values.secrets.cassandra.passwordKey }} - - name: KAFKA - value: {{ .Values.env.kafka.brokers | quote }} - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka.name }} - key: {{ .Values.secrets.kafka.usernameKey }} - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka.name }} - key: {{ .Values.secrets.kafka.passwordKey }} - - name: LIVEKIT_API_KEY - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.livekit.name }} - key: {{ .Values.secrets.livekit.apiKeyKey }} - - name: LIVEKIT_SECRET - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.livekit.name }} - key: {{ .Values.secrets.livekit.secretKey }} - - name: RECORDING_ACCESS_KEY - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.recording.name }} - key: {{ .Values.secrets.recording.accessKeyKey }} - - name: RECORDING_API_HOST - value: {{ .Values.env.recording.apiHost | quote }} - - name: RECORDING_BUCKET - value: {{ .Values.env.recording.bucket | quote }} - - name: RECORDING_SECRET - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.recording.name }} - key: {{ .Values.secrets.recording.secretKey }} - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts diff --git a/cw-infra-apps-nubes/charts/backend/charts/call-realtime-app-k8s/templates/service.yaml b/cw-infra-apps-nubes/charts/backend/charts/call-realtime-app-k8s/templates/service.yaml deleted file mode 100755 index c12d742..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/call-realtime-app-k8s/templates/service.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "call-realtime-app.fullname" . }} - labels: - {{- include "call-realtime-app.labels" . | nindent 4 }} -spec: - type: {{ .Values.service.type }} - ports: - {{- range .Values.service.ports }} - - name: {{ .name }} - port: {{ .port }} - targetPort: {{ .targetPort }} - protocol: TCP - {{- end }} - selector: - {{- include "call-realtime-app.selectorLabels" . | nindent 4 }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/call-realtime-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/call-realtime-app-k8s/values.yaml deleted file mode 100755 index b8d454a..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/call-realtime-app-k8s/values.yaml +++ /dev/null @@ -1,66 +0,0 @@ -# Image Configuration -image: - repository: registry.co-work.ru/call-realtime-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -# Replica Configuration -replicaCount: 1 - -# Service Configuration -service: - type: ClusterIP - ports: - - name: main - port: 5096 - targetPort: 5005 - - name: metrics - port: 9090 - targetPort: 9090 - -# Environment Configuration -env: - cassandra: - contactPoint: cassandra.cassandra.svc.cluster.local - datacenter: datacenter1 - kafka: - brokers: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - redis: - host: redis-master.redis.svc.cluster.local - port: "6379" - recording: - apiHost: https://store-p001.cw.ngcloud.ru:9000 - bucket: livekit - TENANT_ID: "412eb2e1-9660-4b74-a56a-6198f3b5338a" - -# Secret References -secrets: - cassandra: - name: cassandra - usernameKey: username - passwordKey: cassandra-password - kafka: - name: kafka-password - usernameKey: username - passwordKey: client-passwords - livekit: - name: livekit-secret - apiKeyKey: api-key - secretKey: secret - recording: - name: recording-secret - accessKeyKey: access-key - secretKey: secret - -# Kompose Metadata -podAnnotations: - kompose.cmd: kompose convert -f app/call-realtime-app.yml -o k8s/call-realtime-app-k8s - kompose.version: 1.33.0 (HEAD) - -podLabels: - io.kompose.network/app-default: "true" - io.kompose.service: call-realtime-app - -# Chart Metadata -nameOverride: "" -fullnameOverride: call-realtime-app diff --git a/cw-infra-apps-nubes/charts/backend/charts/chat-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/chat-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/chat-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/chat-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/chat-app-k8s/Chart.yaml deleted file mode 100755 index 2156ab6..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/chat-app-k8s/Chart.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: v2 -name: chat-app -description: A Helm chart for Kubernetes - -# A chart can be either an 'application' or a 'library' chart. -# -# Application charts are a collection of templates that can be packaged into versioned archives -# to be deployed. -# -# Library charts provide useful utilities or functions for the chart developer. They're included as -# a dependency of application charts to inject those utilities and functions into the rendering -# pipeline. Library charts do not define any templates and therefore cannot be deployed. -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.1.0 - -# 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 -# follow Semantic Versioning. They should reflect the version the application is using. -# It is recommended to use it with quotes. -appVersion: "1.16.0" diff --git a/cw-infra-apps-nubes/charts/backend/charts/chat-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/chat-app-k8s/templates/_helpers.tpl deleted file mode 100755 index a9e6dac..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/chat-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,27 +0,0 @@ -{{/* -Return the name of the chart -*/}} -{{- define "chat-app.name" -}} -{{- .Chart.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* -Create a default fully qualified app name. -*/}} -{{- define "chat-app.fullname" -}} -{{- .Chart.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* -Common labels -*/}} -{{- define "chat-app.labels" -}} -helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }} -app.kubernetes.io/name: {{ include "chat-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.AppVersion }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} -{{- define "chat-app.quote" -}} -{{- . | quote }} -{{- end }} diff --git a/cw-infra-apps-nubes/charts/backend/charts/chat-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/chat-app-k8s/templates/deployment.yaml deleted file mode 100755 index e996ab0..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/chat-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,131 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "chat-app.fullname" . }} - labels: - {{- include "chat-app.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "chat-app.name" . }} - template: - metadata: - labels: - app: {{ include "chat-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: {{ .Chart.Name }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - ports: - - containerPort: 9090 - hostPort: 8085 - - containerPort: 5005 - hostPort: 5085 - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.CASSANDRA_CONTACTPOINT }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.CASSANDRA_DATACENTER }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: KAFKA - value: {{ .Values.env.KAFKA | quote }} - - name: REDIS_HOST - value: {{ .Values.env.REDIS_HOST }} - - name: REDIS_PORT - value: {{ include "chat-app.quote" .Values.env.REDIS_PORT }} - - name: DEEPLINK_HOST - value: {{ .Values.env.DEEPLINK_HOST }} - - name: DEEPLINK_PORT - value: {{ include "chat-app.quote" .Values.env.DEEPLINK_PORT }} - - name: GEM_CALL_HOST - value: {{ .Values.env.GEM_CALL_HOST }} - - name: GEM_CALL_PORT - value: {{ include "chat-app.quote" .Values.env.GEM_CALL_PORT }} - - name: MESSAGE_HOST - value: {{ .Values.env.MESSAGE_HOST }} - - name: MESSAGE_PORT - value: {{ .Values.env.MESSAGE_PORT | quote }} - - name: SEARCH_HOST - value: {{ .Values.env.SEARCH_HOST }} - - name: SEARCH_PORT - value: {{ include "chat-app.quote" .Values.env.SEARCH_PORT }} - - name: USER_HOST - value: {{ .Values.env.USER_HOST }} - - name: USER_PORT - value: {{ include "chat-app.quote" .Values.env.USER_PORT }} - - name: KEYCLOAK_URL - value: {{ .Values.env.KEYCLOAK_URL }} - - name: LIVEKIT_API_KEY - valueFrom: - secretKeyRef: - name: livekit-secret - key: api-key - - name: LIVEKIT_SECRET - valueFrom: - secretKeyRef: - name: livekit-secret - key: secret - - name: RECORDING_ACCESS_KEY - valueFrom: - secretKeyRef: - name: recording-secret - key: access-key - - name: RECORDING_SECRET - valueFrom: - secretKeyRef: - name: recording-secret - key: secret - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/cw-infra-apps-nubes/charts/backend/charts/chat-app-k8s/templates/service.yaml b/cw-infra-apps-nubes/charts/backend/charts/chat-app-k8s/templates/service.yaml deleted file mode 100755 index 413533e..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/chat-app-k8s/templates/service.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "chat-app.fullname" . }} - labels: - {{- include "chat-app.labels" . | nindent 4 }} -spec: - selector: - app: {{ include "chat-app.name" . }} - ports: - - name: http - port: 9090 - targetPort: 9090 - - name: debug - port: 5085 - targetPort: 5005 diff --git a/cw-infra-apps-nubes/charts/backend/charts/chat-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/chat-app-k8s/values.yaml deleted file mode 100755 index bdaecfc..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/chat-app-k8s/values.yaml +++ /dev/null @@ -1,23 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/chat-app - tag: 1.0.0-SNAPSHOT - -env: - CASSANDRA_CONTACTPOINT: cassandra.cassandra.svc.cluster.local - CASSANDRA_DATACENTER: datacenter1 - KAFKA: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - REDIS_HOST: redis-master.redis.svc.cluster.local - REDIS_PORT: "6379" - DEEPLINK_HOST: deeplink-app - DEEPLINK_PORT: "9090" - GEM_CALL_HOST: gem-call-app - GEM_CALL_PORT: "9090" - MESSAGE_HOST: message-app - MESSAGE_PORT: "9090" - SEARCH_HOST: search-app - SEARCH_PORT: "9090" - USER_HOST: user-app - USER_PORT: "9090" - KEYCLOAK_URL: https://iam.nubes.ru/realms/cowork diff --git a/cw-infra-apps-nubes/charts/backend/charts/chat-event-handler-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/chat-event-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/chat-event-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/chat-event-handler-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/chat-event-handler-app-k8s/Chart.yaml deleted file mode 100755 index 9056195..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/chat-event-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: chat-event-handler-app -description: A Helm chart for Kubernetes -type: application -version: 0.1.0 -appVersion: "1.16.0" diff --git a/cw-infra-apps-nubes/charts/backend/charts/chat-event-handler-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/chat-event-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index a46e970..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/chat-event-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,27 +0,0 @@ -{{/* -Return the name of the chart -*/}} -{{- define "chat-event-handler-app.name" -}} -{{- .Chart.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* -Create a default fully qualified app name. -*/}} -{{- define "chat-event-handler-app.fullname" -}} -{{- .Chart.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* -Common labels -*/}} -{{- define "chat-event-handler-app.labels" -}} -helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }} -app.kubernetes.io/name: {{ include "chat-event-handler-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.AppVersion }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} -{{- define "chat-event-handler-app.quote" -}} -{{- . | quote }} -{{- end }} diff --git a/cw-infra-apps-nubes/charts/backend/charts/chat-event-handler-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/chat-event-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index 5f575af..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/chat-event-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,109 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "chat-event-handler-app.fullname" . }} - labels: - {{- include "chat-event-handler-app.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "chat-event-handler-app.name" . }} - template: - metadata: - labels: - app: {{ include "chat-event-handler-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: {{ .Chart.Name }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - ports: - - containerPort: 5005 - hostPort: 5086 - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.CASSANDRA_CONTACTPOINT }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.CASSANDRA_DATACENTER }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: KAFKA - value: {{ .Values.env.KAFKA | quote }} - - name: REDIS_HOST - value: {{ .Values.env.REDIS_HOST }} - - name: REDIS_PORT - value: {{ include "chat-event-handler-app.quote" .Values.env.REDIS_PORT }} - - name: DEEPLINK_HOST - value: {{ .Values.env.DEEPLINK_HOST }} - - name: DEEPLINK_PORT - value: {{ include "chat-event-handler-app.quote" .Values.env.DEEPLINK_PORT }} - - name: GEM_CALL_HOST - value: {{ .Values.env.GEM_CALL_HOST }} - - name: GEM_CALL_PORT - value: {{ include "chat-event-handler-app.quote" .Values.env.GEM_CALL_PORT }} - - name: MESSAGE_HOST - value: {{ .Values.env.MESSAGE_HOST }} - - name: MESSAGE_PORT - value: {{ .Values.env.MESSAGE_PORT | quote }} - - name: SEARCH_HOST - value: {{ .Values.env.SEARCH_HOST }} - - name: SEARCH_PORT - value: {{ include "chat-event-handler-app.quote" .Values.env.SEARCH_PORT }} - - name: USER_HOST - value: {{ .Values.env.USER_HOST }} - - name: USER_PORT - value: {{ include "chat-event-handler-app.quote" .Values.env.USER_PORT }} - - name: KEYCLOAK_URL - value: {{ .Values.env.KEYCLOAK_URL }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/cw-infra-apps-nubes/charts/backend/charts/chat-event-handler-app-k8s/templates/service.yaml b/cw-infra-apps-nubes/charts/backend/charts/chat-event-handler-app-k8s/templates/service.yaml deleted file mode 100755 index d6e58fa..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/chat-event-handler-app-k8s/templates/service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "chat-event-handler-app.fullname" . }} - labels: - {{- include "chat-event-handler-app.labels" . | nindent 4 }} -spec: - selector: - app: {{ include "chat-event-handler-app.name" . }} - ports: - - name: debug - port: 5086 - targetPort: 5005 diff --git a/cw-infra-apps-nubes/charts/backend/charts/chat-event-handler-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/chat-event-handler-app-k8s/values.yaml deleted file mode 100755 index 597b576..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/chat-event-handler-app-k8s/values.yaml +++ /dev/null @@ -1,22 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/chat-event-handler-app - tag: 1.0.0-SNAPSHOT - -env: - CASSANDRA_CONTACTPOINT: cassandra.cassandra.svc.cluster.local - CASSANDRA_DATACENTER: datacenter1 - MESSAGE_HOST: message-app - MESSAGE_PORT: "9090" - USER_HOST: user-app - USER_PORT: "9090" - SEARCH_HOST: search-app - SEARCH_PORT: "9090" - GEM_CALL_HOST: gem-call-app - GEM_CALL_PORT: "9090" - DEEPLINK_HOST: deeplink-app - DEEPLINK_PORT: "9090" - REDIS_HOST: redis-master.redis.svc.cluster.local - REDIS_PORT: "6379" - KAFKA: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" diff --git a/cw-infra-apps-nubes/charts/backend/charts/deeplink-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/deeplink-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/deeplink-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/deeplink-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/deeplink-app-k8s/Chart.yaml deleted file mode 100755 index 4030b3b..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/deeplink-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: deeplink-app-k8s -description: A Helm chart for Kubernetes -type: application -version: 0.1.0 -appVersion: "1.16.0" diff --git a/cw-infra-apps-nubes/charts/backend/charts/deeplink-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/deeplink-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 3040408..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/deeplink-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,17 +0,0 @@ -{{/* Chart name */}} -{{- define "deeplink-app.name" -}} -{{- .Chart.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{- define "deeplink-app.fullname" -}} -{{- .Release.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* Common labels */}} -{{- define "deeplink-app.labels" -}} -helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }} -app.kubernetes.io/name: {{ include "deeplink-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.AppVersion }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} diff --git a/cw-infra-apps-nubes/charts/backend/charts/deeplink-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/deeplink-app-k8s/templates/deployment.yaml deleted file mode 100755 index ae35e20..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/deeplink-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,70 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "deeplink-app.fullname" . }} - labels: - {{- include "deeplink-app.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "deeplink-app.name" . }} - template: - metadata: - labels: - app: {{ include "deeplink-app.name" . }} - spec: - containers: - - name: {{ include "deeplink-app.name" . }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - ports: - - containerPort: {{ .Values.container.port }} - protocol: TCP - env: - - name: CASSANDRA_PORT - value: {{ .Values.env.CASSANDRA_PORT | quote }} - - name: BRANCHIO_ACCESS - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.branchio }} - key: branchio-access - - name: BRANCHIO_APPID - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.branchio }} - key: branchio-appid - - name: BRANCHIO_DEFAULT_URL - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.branchio }} - key: branchio-default-url - - name: BRANCHIO_KEY - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.branchio }} - key: branchio-key - - name: BRANCHIO_SECRET - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.branchio }} - key: branchio-secret - - name: BRANCHIO_URL - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.branchio }} - key: branchio-url - - name: DEEPLINK_DOMAIN - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.branchio }} - key: deeplink-domain - - name: DEEPLINK_WEBDOMAIN - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.branchio }} - key: deeplink-webdomain - - name: DEEPLINK_TENANT - value: nubes.ru - - name: KEYCLOAK_URL - value: {{ .Values.keycloak.url | quote }} - restartPolicy: Always diff --git a/cw-infra-apps-nubes/charts/backend/charts/deeplink-app-k8s/templates/service.yaml b/cw-infra-apps-nubes/charts/backend/charts/deeplink-app-k8s/templates/service.yaml deleted file mode 100755 index b560b57..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/deeplink-app-k8s/templates/service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "deeplink-app.fullname" . }} - labels: - {{- include "deeplink-app.labels" . | nindent 4 }} -spec: - selector: - app: {{ include "deeplink-app.name" . }} - ports: - - name: http - port: {{ .Values.service.port }} - targetPort: {{ .Values.container.port }} diff --git a/cw-infra-apps-nubes/charts/backend/charts/deeplink-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/deeplink-app-k8s/values.yaml deleted file mode 100755 index 346add2..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/deeplink-app-k8s/values.yaml +++ /dev/null @@ -1,20 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/deeplink-app - tag: 1.0.0-SNAPSHOT - -service: - port: 9090 - -container: - port: 9090 - -keycloak: - url: https://iam.nubes.ru/realms/cowork - -secrets: - branchio: deeplink-secret - -env: - CASSANDRA_PORT: "9042" diff --git a/cw-infra-apps-nubes/charts/backend/charts/gem-call-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/gem-call-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/gem-call-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/gem-call-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/gem-call-app-k8s/Chart.yaml deleted file mode 100755 index 6dc33e2..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/gem-call-app-k8s/Chart.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v2 -name: gem-call-app -description: A Helm chart for gem-call-app - -type: application - -version: 0.1.0 -appVersion: "1.0.0" \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/gem-call-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/gem-call-app-k8s/templates/_helpers.tpl deleted file mode 100755 index b34d6b9..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/gem-call-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,15 +0,0 @@ -{{- define "gem-call-app.name" -}} -{{- .Chart.Name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{- define "gem-call-app.fullname" -}} -{{ .Chart.Name }} -{{- end }} - -{{- define "gem-call-app.labels" -}} -helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }} -app.kubernetes.io/name: {{ include "gem-call-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.AppVersion }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} diff --git a/cw-infra-apps-nubes/charts/backend/charts/gem-call-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/gem-call-app-k8s/templates/deployment.yaml deleted file mode 100755 index e0d58a1..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/gem-call-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,68 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "gem-call-app.fullname" . }} - labels: - {{- include "gem-call-app.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "gem-call-app.name" . }} - template: - metadata: - labels: - app: {{ include "gem-call-app.name" . }} - spec: - containers: - - name: {{ include "gem-call-app.name" . }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - ports: - - containerPort: 9090 - - containerPort: 5005 - env: - - name: CALL_HOST - value: {{ .Values.call.host | quote }} - - name: CALL_PORT - value: {{ .Values.call.port | quote }} - - name: CALL_REALTIME_HOST - value: {{ .Values.callRealtime.host | quote }} - - name: CALL_REALTIME_PORT - value: {{ .Values.callRealtime.port | quote }} - - name: CHAT_HOST - value: {{ .Values.chat.host | quote }} - - name: CHAT_PORT - value: {{ .Values.chat.port | quote }} - - name: DEEPLINK_HOST - value: {{ .Values.deeplink.host | quote }} - - name: DEEPLINK_PORT - value: {{ .Values.deeplink.port | quote }} - - name: KAFKA - value: {{ .Values.kafka.bootstrapServers | quote }} - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka }} - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka }} - key: client-passwords - - name: KEYCLOAK_URL - value: {{ .Values.keycloak.url | quote }} - - name: REDIS_HOST - value: {{ .Values.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.redis.port | quote }} - - name: REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.redis }} - key: client-passwords - - name: USER_HOST - value: {{ .Values.user.host | quote }} - - name: USER_PORT - value: {{ .Values.user.port | quote }} - - restartPolicy: Always diff --git a/cw-infra-apps-nubes/charts/backend/charts/gem-call-app-k8s/templates/service.yaml b/cw-infra-apps-nubes/charts/backend/charts/gem-call-app-k8s/templates/service.yaml deleted file mode 100755 index 39730a0..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/gem-call-app-k8s/templates/service.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "gem-call-app.fullname" . }} - labels: - app: {{ .Release.Name }} - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -spec: - ports: - - name: "9090" - port: 9090 - targetPort: 9090 - - name: "5089" - port: 5089 - targetPort: 5005 - selector: - app: gem-call-app \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/gem-call-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/gem-call-app-k8s/values.yaml deleted file mode 100755 index 701bf95..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/gem-call-app-k8s/values.yaml +++ /dev/null @@ -1,40 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/gem-call-app - tag: 1.0.0-SNAPSHOT - -secrets: - kafka: kafka-password - redis: redis-kafka-user-passwords - -kafka: - bootstrapServers: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" -redis: - host: redis-master.redis.svc.cluster.local - port: "6379" - -keycloak: - url: https://iam.nubes.ru/realms/cowork -env: - cert_alias: nubes - -call: - host: call-app - port: "9090" - -callRealtime: - host: call-realtime-app - port: "9090" - -chat: - host: chat-app - port: "9090" - -deeplink: - host: deeplink-app - port: "9090" - -user: - host: user-app - port: "9090" diff --git a/cw-infra-apps-nubes/charts/backend/charts/gem-call-events-handler-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/gem-call-events-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/gem-call-events-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/gem-call-events-handler-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/gem-call-events-handler-app-k8s/Chart.yaml deleted file mode 100755 index 1caeec0..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/gem-call-events-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v2 -name: gem-call-events-handler-app -description: A Helm chart for gem-call-events-handler-app - -type: application - -version: 0.1.0 -appVersion: "1.0.0" diff --git a/cw-infra-apps-nubes/charts/backend/charts/gem-call-events-handler-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/gem-call-events-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 3e98208..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/gem-call-events-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,15 +0,0 @@ -{{- define "gem-call-events-handler-app.name" -}} -gem-call-events-handler-app -{{- end -}} - -{{- define "gem-call-events-handler-app.fullname" -}} -{{- .Release.Name }} -{{- end -}} - -{{- define "gem-call-events-handler-app.labels" -}} -app.kubernetes.io/name: {{ include "gem-call-events-handler-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -app.kubernetes.io/version: {{ .Chart.Version }} -app.kubernetes.io/component: gem-call-events-handler-app -app.kubernetes.io/part-of: gem-call-events-handler-app -{{- end -}} diff --git a/cw-infra-apps-nubes/charts/backend/charts/gem-call-events-handler-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/gem-call-events-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index 115f215..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/gem-call-events-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,92 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "gem-call-events-handler-app.fullname" . }} - labels: - {{- include "gem-call-events-handler-app.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app.kubernetes.io/name: {{ include "gem-call-events-handler-app.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - template: - metadata: - labels: - app.kubernetes.io/name: {{ include "gem-call-events-handler-app.name" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: gem-call-events-handler-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.cassandra }} - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.cassandra }} - key: cassandra-password - - name: KAFKA - value: {{ .Values.env.kafka.brokers | quote }} - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka }} - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka }} - key: client-passwords - - name: KEYCLOAK_URL - value: {{ .Values.keycloak.url | quote }} - - name: REDIS_HOST - value: {{ .Values.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.redis.port | quote }} - - name: CHAT_HOST - value: {{ .Values.chat.host | quote }} - - name: CHAT_PORT - value: {{ .Values.chat.port | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/cw-infra-apps-nubes/charts/backend/charts/gem-call-events-handler-app-k8s/templates/service.yaml b/cw-infra-apps-nubes/charts/backend/charts/gem-call-events-handler-app-k8s/templates/service.yaml deleted file mode 100755 index de057a7..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/gem-call-events-handler-app-k8s/templates/service.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "gem-call-events-handler-app.fullname" . }} - labels: - app: {{ .Release.Name }} - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -spec: - ports: - - name: "8089" - port: 8089 - targetPort: 9090 - - name: "5089" - port: 5089 - targetPort: 5005 - selector: - io.kompose.service: gem-call-events-handler-app diff --git a/cw-infra-apps-nubes/charts/backend/charts/gem-call-events-handler-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/gem-call-events-handler-app-k8s/values.yaml deleted file mode 100755 index f18778a..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/gem-call-events-handler-app-k8s/values.yaml +++ /dev/null @@ -1,32 +0,0 @@ -replicaCount: 1 - -image: - repository: "registry.co-work.ru/gem-call-events-handler-app" - tag: "1.0.0-SNAPSHOT" - pullPolicy: IfNotPresent - -env: - cassandra: - contactPoint: "cassandra.cassandra.svc.cluster.local" - datacenter: "datacenter1" - kafka: - brokers: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - -keycloak: - url: "https://iam.nubes.ru/realms/cowork" - -redis: - host: "redis-master.redis.svc.cluster.local" - port: "6379" - -secrets: - cassandra: cassandra - kafka: kafka-password -chat: - host: "chat-app" - port: "9090" - -additionalEnv: [] - -podAnnotations: {} -podLabels: {} \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/huawei-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/huawei-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/huawei-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/huawei-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/huawei-app-k8s/Chart.yaml deleted file mode 100755 index 96796c5..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/huawei-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: huawei-app-k8s -description: A Helm chart for Kubernetes -type: application -version: 0.1.0 -appVersion: "1.16.0" diff --git a/cw-infra-apps-nubes/charts/backend/charts/huawei-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/huawei-app-k8s/templates/_helpers.tpl deleted file mode 100755 index e7f7b42..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/huawei-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,11 +0,0 @@ -{{- define "huawei-sender-app.name" -}} -huawei-sender-app -{{- end }} - -{{- define "huawei-sender-app.fullname" -}} -huawei-sender-app -{{- end }} - -{{- define "huawei-sender-app.chart" -}} -{{ .Chart.Name }}-{{ .Chart.Version }} -{{- end }} diff --git a/cw-infra-apps-nubes/charts/backend/charts/huawei-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/huawei-app-k8s/templates/deployment.yaml deleted file mode 100755 index e5d2b36..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/huawei-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,74 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "huawei-sender-app.fullname" . }} - labels: - app: {{ include "huawei-sender-app.name" . }} - chart: {{ include "huawei-sender-app.chart" . }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "huawei-sender-app.name" . }} - template: - metadata: - labels: - app: {{ include "huawei-sender-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: huawei-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: IfNotPresent - env: - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka }} - key: client-passwords - - name: KAFKA_USER - valueFrom: - secretKeyRef: - name: {{ .Values.secrets.kafka }} - key: username - - name: KAFKA_SERVER - value: {{ .Values.kafka.bootstrapServers | quote }} - - name: REDIS_HOST - value: {{ .Values.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.redis.port | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/huawei-app-k8s/templates/service.yaml b/cw-infra-apps-nubes/charts/backend/charts/huawei-app-k8s/templates/service.yaml deleted file mode 100755 index 3ebf666..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/huawei-app-k8s/templates/service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "huawei-sender-app.fullname" . }} - labels: - app: {{ include "huawei-sender-app.name" . }} -spec: - ports: - - port: 8080 - targetPort: 8080 - protocol: TCP - name: http - selector: - app: {{ include "huawei-sender-app.name" . }} diff --git a/cw-infra-apps-nubes/charts/backend/charts/huawei-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/huawei-app-k8s/values.yaml deleted file mode 100755 index 6ed3177..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/huawei-app-k8s/values.yaml +++ /dev/null @@ -1,14 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/huawei-sender-app - tag: 1.0.0-SNAPSHOT - -kafka: - bootstrapServers: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" -redis: - host: "redis-master.redis.svc.cluster.local" - port: "6379" - -secrets: - kafka: kafka-password diff --git a/cw-infra-apps-nubes/charts/backend/charts/ios-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/ios-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/ios-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/ios-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/ios-app-k8s/Chart.yaml deleted file mode 100755 index c4b4dc9..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/ios-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: ios-app -description: Helm chart for iOS sender app -type: application -version: 0.1.0 -appVersion: "1.0.0" \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/ios-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/ios-app-k8s/templates/_helpers.tpl deleted file mode 100755 index c757be9..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/ios-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "ios-app.name" -}} -ios-sender-app -{{- end }} - -{{- define "ios-app.fullname" -}} -{{ .Release.Name }} -{{- end }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/ios-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/ios-app-k8s/templates/deployment.yaml deleted file mode 100755 index bad6c7c..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/ios-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,71 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "ios-app.fullname" . }} - labels: - app: {{ include "ios-app.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "ios-app.name" . }} - template: - metadata: - labels: - app: {{ include "ios-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: ios-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: KAFKA_USER - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/cw-infra-apps-nubes/charts/backend/charts/ios-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/ios-app-k8s/values.yaml deleted file mode 100755 index d540455..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/ios-app-k8s/values.yaml +++ /dev/null @@ -1,12 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/ios-sender-app - tag: "1.0.0-SNAPSHOT" - -env: - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - redis: - host: "redis-master.redis.svc.cluster.local" - port: "6379" diff --git a/cw-infra-apps-nubes/charts/backend/charts/livekit-webhook-handler-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/livekit-webhook-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/livekit-webhook-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/livekit-webhook-handler-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/livekit-webhook-handler-app-k8s/Chart.yaml deleted file mode 100755 index 3e25d07..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/livekit-webhook-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,5 +0,0 @@ -apiVersion: v2 -name: livekit-webhook-handler-app -description: A Helm chart for deploying livekit-webhook-handler-app -version: 0.1.0 -appVersion: "1.0.0" \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/livekit-webhook-handler-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/livekit-webhook-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index edfaeb8..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/livekit-webhook-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,13 +0,0 @@ -{{/* -Generate the name of the application -*/}} -{{- define "livekit-webhook-handler-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{/* -Generate a fullname for the application -*/}} -{{- define "livekit-webhook-handler-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/cw-infra-apps-nubes/charts/backend/charts/livekit-webhook-handler-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/livekit-webhook-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index 9490bd2..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/livekit-webhook-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,78 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "livekit-webhook-handler-app.fullname" . }} - labels: - app: {{ include "livekit-webhook-handler-app.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "livekit-webhook-handler-app.name" . }} - template: - metadata: - labels: - app: {{ include "livekit-webhook-handler-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: livekit-webhook-handler-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - ports: - - containerPort: {{ .Values.service.targetPort }} - hostPort: {{ .Values.service.port }} - protocol: TCP - env: - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USERNAME - value: {{ .Values.env.kafka.username | quote }} - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: LIVEKIT_API_KEY - valueFrom: - secretKeyRef: - name: livekit-secret - key: api-key - - name: LIVEKIT_SECRET - valueFrom: - secretKeyRef: - name: livekit-secret - key: secret - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/cw-infra-apps-nubes/charts/backend/charts/livekit-webhook-handler-app-k8s/templates/service.yaml b/cw-infra-apps-nubes/charts/backend/charts/livekit-webhook-handler-app-k8s/templates/service.yaml deleted file mode 100755 index e50df5c..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/livekit-webhook-handler-app-k8s/templates/service.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "livekit-webhook-handler-app.fullname" . }} - labels: - app: {{ include "livekit-webhook-handler-app.name" . }} -spec: - type: {{ .Values.service.type }} - ports: - - name: "http" - port: {{ .Values.service.port }} - targetPort: {{ .Values.service.targetPort }} - nodePort: {{ .Values.service.nodePort }} - selector: - app: {{ include "livekit-webhook-handler-app.name" . }} - diff --git a/cw-infra-apps-nubes/charts/backend/charts/livekit-webhook-handler-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/livekit-webhook-handler-app-k8s/values.yaml deleted file mode 100755 index 04216fd..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/livekit-webhook-handler-app-k8s/values.yaml +++ /dev/null @@ -1,16 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/livekit-webhook-handler-app - tag: "1.0.0-SNAPSHOT" - -env: - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - username: "admin" - -service: - port: 5098 - targetPort: 8080 - type: NodePort - nodePort: 31646 \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/message-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/message-app-k8s/Chart.yaml deleted file mode 100755 index 94a5449..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-app-k8s/Chart.yaml +++ /dev/null @@ -1,5 +0,0 @@ -apiVersion: v2 -name: message-app -description: A Helm chart for deploying the message-app -version: 0.1.0 -appVersion: "1.0.0" \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/message-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 7feaa1a..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,13 +0,0 @@ -{{/* -Generate the name of the application -*/}} -{{- define "message-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{/* -Generate a fullname for the application -*/}} -{{- define "message-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/message-app-k8s/templates/deployment.yaml deleted file mode 100755 index 027b1fc..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,118 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "message-app.fullname" . }} - labels: - app: {{ include "message-app.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "message-app.name" . }} - template: - metadata: - labels: - app: {{ include "message-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: message-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - ports: - - containerPort: {{ .Values.service.targetPort }} - protocol: TCP - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_USERNAME - value: cassandra - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_PORT - value: {{ .Values.env.CASSANDRA_PORT | quote }} - - name: CHAT_HOST - value: {{ .Values.env.chat.host | quote }} - - name: CHAT_PORT - value: {{ .Values.env.chat.port | quote }} - - name: DEEPLINK_HOST - value: {{ .Values.env.deeplink.host | quote }} - - name: DEEPLINK_PORT - value: {{ .Values.env.deeplink.port | quote }} - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USERNAME - value: {{ .Values.env.kafka.username | quote }} - - name: LIVEKIT_API_KEY - value: {{ .Values.env.livekit.api_key | quote }} - - name: LIVEKIT_SECRET - value: {{ .Values.env.livekit.secret | quote }} - - name: KEYCLOAK_URL - value: {{ .Values.env.keycloak.url | quote }} - - name: KEYSPACE - value: {{ .Values.env.keyspace | quote }} - - name: REALTIME_REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - - name: SEARCH_HOST - value: {{ .Values.env.search.host | quote }} - - name: SEARCH_PORT - value: {{ .Values.env.search.port | quote }} - - name: STICKER_HOST - value: {{ .Values.env.sticker.host | quote }} - - name: STICKER_PORT - value: {{ .Values.env.sticker.port | quote }} - - name: UPLOAD_HOST - value: {{ .Values.env.upload.host | quote }} - - name: UPLOAD_PORT - value: {{ .Values.env.upload.port | quote }} - - name: USER_HOST - value: {{ .Values.env.user.host | quote }} - - name: USER_PORT - value: {{ .Values.env.user.port | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-app-k8s/templates/service.yaml b/cw-infra-apps-nubes/charts/backend/charts/message-app-k8s/templates/service.yaml deleted file mode 100755 index d20ed84..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-app-k8s/templates/service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "message-app.fullname" . }} - labels: - app: {{ include "message-app.name" . }} -spec: - ports: - - name: "http" - port: {{ .Values.service.port }} - targetPort: {{ .Values.service.targetPort }} - selector: - app: {{ include "message-app.name" . }} diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/message-app-k8s/values.yaml deleted file mode 100755 index 8187d98..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-app-k8s/values.yaml +++ /dev/null @@ -1,46 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/message-app - tag: "1.0.0-SNAPSHOT" - -env: - cassandra: - contactPoint: "cassandra.cassandra.svc.cluster.local" - datacenter: "datacenter1" - CASSANDRA_PORT: "9042" - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - username: "admin" - redis: - host: "redis-master.redis.svc.cluster.local" - port: "6379" - keycloak: - url: "https://iam.nubes.ru/realms/cowork" - chat: - host: "chat-app" - port: "9090" - deeplink: - host: "deeplink-app" - port: "9090" - livekit: - api_key: "APIXj3LbDJJPLHv" - secret: "eWWetAn7vlfgFQnXXHyyox8QceBYTnZcIMhDe4I16UeE" - search: - host: "search-app" - port: "9090" - sticker: - host: "sticker-app" - port: "9090" - upload: - host: "upload-app" - port: "9090" - user: - host: "user-app" - port: "9090" - keyspace: "messages" - - -service: - port: 9090 - targetPort: 9090 diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-call-event-handler-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/message-call-event-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-call-event-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-call-event-handler-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/message-call-event-handler-app-k8s/Chart.yaml deleted file mode 100755 index 5685548..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-call-event-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,5 +0,0 @@ -apiVersion: v2 -name: message-call-event-handler-app -description: A Helm chart for deploying the message-call-event-handler-app -version: 0.1.0 -appVersion: "1.0.0" \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-call-event-handler-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/message-call-event-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 6622f54..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-call-event-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,13 +0,0 @@ -{{/* -Generate the name of the application -*/}} -{{- define "message-call-event-handler-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{/* -Generate a fullname for the application -*/}} -{{- define "message-call-event-handler-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-call-event-handler-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/message-call-event-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index de9107e..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-call-event-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,114 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "message-call-event-handler-app.fullname" . }} - labels: - app: {{ include "message-call-event-handler-app.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "message-call-event-handler-app.name" . }} - template: - metadata: - labels: - app: {{ include "message-call-event-handler-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: message-call-event-handler-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - ports: - - containerPort: 9090 - hostPort: 8086 - protocol: TCP - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_USERNAME - value: cassandra - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CHAT_HOST - value: {{ .Values.env.chat.host | quote }} - - name: CHAT_PORT - value: {{ .Values.env.chat.port | quote }} - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USERNAME - value: {{ .Values.env.kafka.username | quote }} - - name: LIVEKIT_API_KEY - valueFrom: - secretKeyRef: - name: livekit-secret - key: api-key - - name: LIVEKIT_SECRET - valueFrom: - secretKeyRef: - name: livekit-secret - key: secret - - name: KEYCLOAK_URL - value: "https://iam.nubes.ru/realms/cowork" - - name: KEYSPACE - value: {{ .Values.env.keyspace | quote }} - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: redis-kafka-user-passwords - key: client-passwords - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - - name: UPLOAD_HOST - value: {{ .Values.env.upload.host | quote }} - - name: UPLOAD_PORT - value: {{ .Values.env.upload.port | quote }} - - name: USER_HOST - value: {{ .Values.env.user.host | quote }} - - name: USER_PORT - value: {{ .Values.env.user.port | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-call-event-handler-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/message-call-event-handler-app-k8s/values.yaml deleted file mode 100755 index 25b9cc0..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-call-event-handler-app-k8s/values.yaml +++ /dev/null @@ -1,26 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/message-call-event-handler-app - tag: "1.0.0-SNAPSHOT" - -env: - cassandra: - contactPoint: "cassandra.cassandra.svc.cluster.local" - datacenter: "datacenter1" - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - username: "admin" - redis: - host: "redis-master.redis.svc.cluster.local" - port: "6379" - keyspace: "messages" - chat: - host: "chat-app" - port: "9090" - upload: - host: "upload-app" - port: "9090" - user: - host: "user-app" - port: "9090" diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-chat-event-handler-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/message-chat-event-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-chat-event-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-chat-event-handler-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/message-chat-event-handler-app-k8s/Chart.yaml deleted file mode 100755 index 9d53019..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-chat-event-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: message-chat-event-handler-app -description: A Helm chart for deploying message-chat-event-handler-app -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-chat-event-handler-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/message-chat-event-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index b7575fe..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-chat-event-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,62 +0,0 @@ -{{/* -Expand the name of the chart. -*/}} -{{- define "message-chat-event-handler-app.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -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 "message-chat-event-handler-app.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- $name := default .Chart.Name .Values.nameOverride }} -{{- if contains $name .Release.Name }} -{{- .Release.Name | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} -{{- end }} -{{- end }} -{{- end }} - -{{/* -Create chart name and version as used by the chart label. -*/}} -{{- define "message-chat-event-handler-app.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Common labels -*/}} -{{- define "message-chat-event-handler-app.labels" -}} -helm.sh/chart: {{ include "message-chat-event-handler-app.chart" . }} -{{ include "message-chat-event-handler-app.selectorLabels" . }} -{{- if .Chart.AppVersion }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -{{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* -Selector labels -*/}} -{{- define "message-chat-event-handler-app.selectorLabels" -}} -app.kubernetes.io/name: {{ include "message-chat-event-handler-app.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} - -{{/* -Create the name of the service account to use -*/}} -{{- define "message-chat-event-handler-app.serviceAccountName" -}} -{{- if .Values.serviceAccount.create }} -{{- default (include "message-chat-event-handler-app.fullname" .) .Values.serviceAccount.name }} -{{- else }} -{{- default "default" .Values.serviceAccount.name }} -{{- end }} -{{- end }} diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-chat-event-handler-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/message-chat-event-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index dc78313..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-chat-event-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,102 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "message-chat-event-handler-app.fullname" . }} - labels: - app: {{ include "message-chat-event-handler-app.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "message-chat-event-handler-app.name" . }} - template: - metadata: - labels: - app: {{ include "message-chat-event-handler-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: message-chat-event-handler-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - ports: - - containerPort: 9090 - hostPort: 8086 - protocol: TCP - env: - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KEYSPACE - value: {{ .Values.env.keyspace | quote }} - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USERNAME - value: {{ .Values.env.kafka.username | quote }} - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: USER_HOST - value: {{ .Values.env.user.host | quote }} - - name: USER_PORT - value: {{ .Values.env.user.port | quote }} - - name: CHAT_HOST - value: {{ .Values.env.chat.host | quote }} - - name: CHAT_PORT - value: {{ .Values.env.chat.port | quote }} - - name: UPLOAD_HOST - value: {{ .Values.env.upload.host | quote }} - - name: UPLOAD_PORT - value: {{ .Values.env.upload.port | quote }} - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PASSWORD - value: "" - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-chat-event-handler-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/message-chat-event-handler-app-k8s/values.yaml deleted file mode 100755 index e648d94..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-chat-event-handler-app-k8s/values.yaml +++ /dev/null @@ -1,27 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/message-chat-event-handler-app - tag: "1.0.0-SNAPSHOT" - pullPolicy: IfNotPresent - -env: - cassandra: - contactPoint: "cassandra.cassandra.svc.cluster.local" - datacenter: "datacenter1" - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - username: "admin" - redis: - host: "redis-master.redis.svc.cluster.local" - port: "6379" - keyspace: "messages" - chat: - host: "chat-app" - port: "9090" - upload: - host: "upload-app" - port: "9090" - user: - host: "user-app" - port: "9090" \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-event-handler-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/message-event-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-event-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-event-handler-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/message-event-handler-app-k8s/Chart.yaml deleted file mode 100755 index 4c59d1f..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-event-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: message-event-handler-app -description: A Helm chart for the message-event-handler-app -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-event-handler-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/message-event-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index d763592..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-event-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "message-event-handler-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "message-event-handler-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-event-handler-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/message-event-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index 57c52b1..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-event-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,99 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "message-event-handler-app.fullname" . }} - labels: - app: {{ include "message-event-handler-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "message-event-handler-app.name" . }} - template: - metadata: - labels: - app: {{ include "message-event-handler-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: message-event-handler-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - - name: REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: redis-kafka-user-passwords - key: client-passwords - - name: REALTIME_REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REALTIME_REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: redis-kafka-user-passwords - key: client-passwords - - name: KEYSPACE - value: {{ .Values.env.cassandra.keyspace | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-event-handler-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/message-event-handler-app-k8s/values.yaml deleted file mode 100755 index 3118b28..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-event-handler-app-k8s/values.yaml +++ /dev/null @@ -1,17 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/message-event-handler-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - cassandra: - contactPoint: cassandra.cassandra.svc.cluster.local - datacenter: datacenter1 - keyspace: messages - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - redis: - host: redis-master.redis.svc.cluster.local - port: "6379" diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-link-preview-handler-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/message-link-preview-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-link-preview-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-link-preview-handler-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/message-link-preview-handler-app-k8s/Chart.yaml deleted file mode 100755 index 6550cd3..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-link-preview-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: v2 -name: message-link-preview-handler-app-k8s -description: A Helm chart for Kubernetes - -# A chart can be either an 'application' or a 'library' chart. -# -# Application charts are a collection of templates that can be packaged into versioned archives -# to be deployed. -# -# Library charts provide useful utilities or functions for the chart developer. They're included as -# a dependency of application charts to inject those utilities and functions into the rendering -# pipeline. Library charts do not define any templates and therefore cannot be deployed. -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.1.0 - -# 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 -# follow Semantic Versioning. They should reflect the version the application is using. -# It is recommended to use it with quotes. -appVersion: "1.16.0" diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-link-preview-handler-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/message-link-preview-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 95b79fc..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-link-preview-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "message-link-preview-handler-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "message-link-preview-handler-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-link-preview-handler-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/message-link-preview-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index 9446e49..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-link-preview-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,103 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "message-link-preview-handler-app.fullname" . }} - labels: - app: {{ include "message-link-preview-handler-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "message-link-preview-handler-app.name" . }} - template: - metadata: - labels: - app: {{ include "message-link-preview-handler-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: message-link-preview-handler-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: KEYSPACE - value: {{ .Values.env.cassandra.keyspace | quote }} - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - - name: REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: redis-kafka-user-passwords - key: client-passwords - - name: REALTIME_REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REALTIME_REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: redis-kafka-user-passwords - key: client-passwords - - name: UPLOAD_HOST - value: {{ .Values.env.upload.host | quote }} - - name: UPLOAD_PORT - value: {{ .Values.env.upload.port | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-link-preview-handler-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/message-link-preview-handler-app-k8s/values.yaml deleted file mode 100755 index 552470b..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-link-preview-handler-app-k8s/values.yaml +++ /dev/null @@ -1,20 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/message-link-preview-handler-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - cassandra: - contactPoint: cassandra.cassandra.svc.cluster.local - datacenter: datacenter1 - keyspace: messages - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - redis: - host: redis-master.redis.svc.cluster.local - port: "6379" - upload: - host: upload-app - port: "9090" diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-user-event-handler-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/message-user-event-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-user-event-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-user-event-handler-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/message-user-event-handler-app-k8s/Chart.yaml deleted file mode 100755 index b756528..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-user-event-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: message-user-event-handler-app -description: A Helm chart for the message-event-handler-app -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-user-event-handler-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/message-user-event-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 774ebcc..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-user-event-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "message-user-event-handler-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "message-user-event-handler-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-user-event-handler-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/message-user-event-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index dd71286..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-user-event-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,89 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "message-user-event-handler-app.fullname" . }} - labels: - app: {{ include "message-user-event-handler-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "message-user-event-handler-app.name" . }} - template: - metadata: - labels: - app: {{ include "message-user-event-handler-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: message-user-event-handler-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - - name: REDIS_PASSWORD - value: "" - - name: KEYSPACE - value: {{ .Values.env.cassandra.keyspace | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/cw-infra-apps-nubes/charts/backend/charts/message-user-event-handler-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/message-user-event-handler-app-k8s/values.yaml deleted file mode 100755 index bae1763..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/message-user-event-handler-app-k8s/values.yaml +++ /dev/null @@ -1,18 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/message-user-event-handler-app - pullPolicy: Always - tag: 1.0.0-SNAPSHOT - -env: - cassandra: - contactPoint: cassandra.cassandra.svc.cluster.local - datacenter: datacenter1 - keyspace: messages - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - redis: - host: redis-master.redis.svc.cluster.local - port: "6379" - kespace: messages diff --git a/cw-infra-apps-nubes/charts/backend/charts/notification-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/notification-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/notification-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/notification-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/notification-app-k8s/Chart.yaml deleted file mode 100755 index dda62a6..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/notification-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: notification-app -description: Helm chart for notification-app -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/notification-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/notification-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 52646a3..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/notification-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "notification-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "notification-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/cw-infra-apps-nubes/charts/backend/charts/notification-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/notification-app-k8s/templates/deployment.yaml deleted file mode 100755 index f82e1b8..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/notification-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,101 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "notification-app.fullname" . }} - labels: - app: {{ include "notification-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "notification-app.name" . }} - template: - metadata: - labels: - app: {{ include "notification-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: notification-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: {{ .Values.service.targetPort }} - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_HOST - value: {{ .Values.env.cassandra.host | quote }} - - name: CASSANDRA_PORT - value: {{ .Values.env.cassandra.port | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: KEYCLOAK_URL - value: {{ .Values.env.keycloak.url | quote }} - - name: KEYSPACE - value: {{ .Values.env.cassandra.keyspace | quote }} - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - - name: REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: redis-kafka-user-passwords - key: client-passwords - - name: REALTIME_REDIS_HOST - value: {{ .Values.env.redis.realtimeHost | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts diff --git a/cw-infra-apps-nubes/charts/backend/charts/notification-app-k8s/templates/service.yaml b/cw-infra-apps-nubes/charts/backend/charts/notification-app-k8s/templates/service.yaml deleted file mode 100755 index 5f5c29f..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/notification-app-k8s/templates/service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "notification-app.fullname" . }} - labels: - app: {{ include "notification-app.name" . }} -spec: - selector: - app: {{ include "notification-app.name" . }} - ports: - - name: http - port: {{ .Values.service.port }} - targetPort: {{ .Values.service.targetPort }} diff --git a/cw-infra-apps-nubes/charts/backend/charts/notification-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/notification-app-k8s/values.yaml deleted file mode 100755 index a9dc786..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/notification-app-k8s/values.yaml +++ /dev/null @@ -1,26 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/notification-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - cassandra: - contactPoint: cassandra.cassandra.svc.cluster.local - datacenter: datacenter1 - host: cassandra.cassandra.svc.cluster.local - port: "9042" - keyspace: notifications - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - redis: - host: redis-master.redis.svc.cluster.local - realtimeHost: redis-master.redis.svc.cluster.local - port: "6379" - keycloak: - url: https://iam.nubes.ru/realms/cowork - -service: - port: 9090 - targetPort: 9090 diff --git a/cw-infra-apps-nubes/charts/backend/charts/notification-event-handler-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/notification-event-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/notification-event-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/notification-event-handler-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/notification-event-handler-app-k8s/Chart.yaml deleted file mode 100755 index 13c746c..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/notification-event-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: notification-event-handler-app -description: Helm chart for Notification Event Handler App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" diff --git a/cw-infra-apps-nubes/charts/backend/charts/notification-event-handler-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/notification-event-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 0ecab1c..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/notification-event-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "notification-event-handler-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "notification-event-handler-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/cw-infra-apps-nubes/charts/backend/charts/notification-event-handler-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/notification-event-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index 53af505..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/notification-event-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,92 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "notification-event-handler-app.fullname" . }} - labels: - app: {{ include "notification-event-handler-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "notification-event-handler-app.name" . }} - template: - metadata: - labels: - app: {{ include "notification-event-handler-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: notification-event-handler-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_HOST - value: {{ .Values.env.cassandra.host | quote }} - - name: CASSANDRA_PORT - value: {{ .Values.env.cassandra.port | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: CHAT_SERVICE_HOST - value: {{ .Values.env.chat.host | quote }} - - name: CHAT_SERVICE_PORT - value: {{ .Values.env.chat.port | quote }} - - name: USER_SERVICE_HOST - value: {{ .Values.env.user.host | quote }} - - name: USER_SERVICE_PORT - value: {{ .Values.env.user.port | quote }} - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USER - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts diff --git a/cw-infra-apps-nubes/charts/backend/charts/notification-event-handler-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/notification-event-handler-app-k8s/values.yaml deleted file mode 100755 index ea83acb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/notification-event-handler-app-k8s/values.yaml +++ /dev/null @@ -1,21 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/notification-event-handler-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - cassandra: - contactPoint: cassandra.cassandra.svc.cluster.local - datacenter: datacenter1 - host: cassandra.cassandra.svc.cluster.local - port: "9042" - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - chat: - host: chat-app - port: "9090" - user: - host: user-app - port: "9090" diff --git a/cw-infra-apps-nubes/charts/backend/charts/realtime-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/realtime-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/realtime-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/realtime-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/realtime-app-k8s/Chart.yaml deleted file mode 100755 index 6609d57..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/realtime-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: realtime-app -description: Helm chart for Realtime App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" diff --git a/cw-infra-apps-nubes/charts/backend/charts/realtime-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/realtime-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 54865b6..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/realtime-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "realtime-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "realtime-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/cw-infra-apps-nubes/charts/backend/charts/realtime-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/realtime-app-k8s/templates/deployment.yaml deleted file mode 100755 index 79c15dd..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/realtime-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,106 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "realtime-app.fullname" . }} - labels: - app: {{ include "realtime-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "realtime-app.name" . }} - template: - metadata: - labels: - app: {{ include "realtime-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: realtime-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: CASSANDRA_PORT - value: {{ .Values.env.CASSANDRA_PORT | quote }} - - name: REALTIME_REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: KEYCLOAK_URL - value: {{ .Values.env.keycloakUrl | quote }} - - name: KAFKA - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USERNAME - value: "admin" - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: CHAT_HOST - value: {{ .Values.env.services.chat.host | quote }} - - name: CHAT_PORT - value: {{ .Values.env.services.chat.port | quote }} - - name: GEM_CALL_HOST - value: {{ .Values.env.services.gemCall.host | quote }} - - name: GEM_CALL_PORT - value: {{ .Values.env.services.gemCall.port | quote }} - - name: MESSAGE_HOST - value: {{ .Values.env.services.message.host | quote }} - - name: MESSAGE_PORT - value: {{ .Values.env.services.message.port | quote }} - - name: USER_HOST - value: {{ .Values.env.services.user.host | quote }} - - name: USER_PORT - value: {{ .Values.env.services.user.port | quote }} - ports: - {{- range .Values.ports }} - - name: {{ .name }} - containerPort: {{ .containerPort }} - protocol: TCP - {{- end }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/cw-infra-apps-nubes/charts/backend/charts/realtime-app-k8s/templates/service.yaml b/cw-infra-apps-nubes/charts/backend/charts/realtime-app-k8s/templates/service.yaml deleted file mode 100755 index 39da3e0..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/realtime-app-k8s/templates/service.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "realtime-app.fullname" . }} - labels: - app: {{ include "realtime-app.name" . }} -spec: - selector: - app: {{ include "realtime-app.name" . }} - ports: - {{- range .Values.ports }} - - name: "{{ .servicePort }}" - port: {{ .servicePort }} - targetPort: {{ .containerPort }} - {{- end }} diff --git a/cw-infra-apps-nubes/charts/backend/charts/realtime-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/realtime-app-k8s/values.yaml deleted file mode 100755 index f9930c3..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/realtime-app-k8s/values.yaml +++ /dev/null @@ -1,41 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/realtime-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - cassandra: - contactPoint: cassandra.cassandra.svc.cluster.local - datacenter: datacenter1 - CASSANDRA_PORT: "9042" - redis: - host: redis-master.redis.svc.cluster.local - keycloakUrl: https://iam.nubes.ru/realms/cowork - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - services: - chat: - host: chat-app - port: "9090" - message: - host: message-app - port: "9090" - gemCall: - host: gem-call-app - port: "9090" - user: - host: user-app - port: "9090" - -ports: - - name: app - containerPort: 9090 - servicePort: 9090 - - name: debug - containerPort: 5005 - servicePort: 5091 - - name: metrics - containerPort: 9999 - servicePort: 9999 diff --git a/cw-infra-apps-nubes/charts/backend/charts/regular-chat-splitter-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/regular-chat-splitter-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/regular-chat-splitter-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/regular-chat-splitter-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/regular-chat-splitter-app-k8s/Chart.yaml deleted file mode 100755 index eee0ca9..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/regular-chat-splitter-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: regular-chat-splitter-app -description: Helm chart for Regular Chat Splitter App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" diff --git a/cw-infra-apps-nubes/charts/backend/charts/regular-chat-splitter-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/regular-chat-splitter-app-k8s/templates/_helpers.tpl deleted file mode 100755 index f5429e7..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/regular-chat-splitter-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "regular-chat-splitter-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "regular-chat-splitter-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/cw-infra-apps-nubes/charts/backend/charts/regular-chat-splitter-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/regular-chat-splitter-app-k8s/templates/deployment.yaml deleted file mode 100755 index c97e452..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/regular-chat-splitter-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,93 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "regular-chat-splitter-app.fullname" . }} - labels: - app: {{ include "regular-chat-splitter-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "regular-chat-splitter-app.name" . }} - template: - metadata: - labels: - app: {{ include "regular-chat-splitter-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: regular-chat-splitter-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: CASSANDRA_HOST - value: {{ .Values.env.cassandra.host | quote }} - - name: CASSANDRA_DC - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USER - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - - name: CHAT_SERVICE_HOST - value: {{ .Values.env.chat.host | quote }} - - name: CHAT_SERVICE_PORT - value: {{ .Values.env.chat.port | quote }} - - name: USER_SERVICE_HOST - value: {{ .Values.env.user.host | quote }} - - name: USER_SERVICE_PORT - value: {{ .Values.env.user.port | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/cw-infra-apps-nubes/charts/backend/charts/regular-chat-splitter-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/regular-chat-splitter-app-k8s/values.yaml deleted file mode 100755 index 33c38c4..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/regular-chat-splitter-app-k8s/values.yaml +++ /dev/null @@ -1,22 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/regular-chat-splitter-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - cassandra: - host: cassandra.cassandra.svc.cluster.local - datacenter: datacenter1 - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - redis: - host: redis-master.redis.svc.cluster.local - port: "6379" - chat: - host: chat-app - port: "9090" - user: - host: user-app - port: "9090" diff --git a/cw-infra-apps-nubes/charts/backend/charts/search-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/search-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/search-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/search-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/search-app-k8s/Chart.yaml deleted file mode 100755 index 6733dc0..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/search-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: search-app -description: Helm chart for Search App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" diff --git a/cw-infra-apps-nubes/charts/backend/charts/search-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/search-app-k8s/templates/_helpers.tpl deleted file mode 100755 index b800219..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/search-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "search-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "search-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/cw-infra-apps-nubes/charts/backend/charts/search-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/search-app-k8s/templates/deployment.yaml deleted file mode 100755 index 9aed519..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/search-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,56 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "search-app.fullname" . }} - labels: - app: {{ include "search-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "search-app.name" . }} - template: - metadata: - labels: - app: {{ include "search-app.name" . }} - spec: - containers: - - name: search-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: 9090 - hostPort: 8088 - protocol: TCP - env: - - name: CHAT_HOST - value: {{ .Values.env.chat.host | quote }} - - name: CHAT_PORT - value: {{ .Values.env.chat.port | quote }} - - name: CASSANDRA_PORT - value: {{ .Values.env.CASSANDRA_PORT | quote }} - - name: ELASTIC_HOST - value: {{ .Values.env.elastic.host | quote }} - - name: ELASTIC_PORT - value: {{ .Values.env.elastic.port | quote }} - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USERNAME - value: "admin" - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: POSTGRES_USERNAME - value: {{ .Values.env.postgres.username | quote }} - - name: POSTGRES_PASSWORD - valueFrom: - secretKeyRef: - name: postgres-postgresql - key: postgres-password - - name: POSTGRES_URL - value: {{ .Values.env.postgres.url | quote }} - - name: KEYCLOAK_URL - value: {{ .Values.env.keycloak.url | quote }} - restartPolicy: Always diff --git a/cw-infra-apps-nubes/charts/backend/charts/search-app-k8s/templates/service.yaml b/cw-infra-apps-nubes/charts/backend/charts/search-app-k8s/templates/service.yaml deleted file mode 100755 index e85b387..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/search-app-k8s/templates/service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "search-app.fullname" . }} - labels: - app: {{ include "search-app.name" . }} -spec: - selector: - app: {{ include "search-app.name" . }} - ports: - - name: http - port: 9090 - targetPort: 9090 diff --git a/cw-infra-apps-nubes/charts/backend/charts/search-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/search-app-k8s/values.yaml deleted file mode 100755 index e148286..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/search-app-k8s/values.yaml +++ /dev/null @@ -1,22 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/search-app - tag: 1.0.0-SNAPSHOT - pullPolicy: Always - -env: - chat: - host: chat-app - port: "9090" - elastic: - host: elasticsearch-master.elasticsearch.svc.cluster.local - port: "9200" - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - keycloak: - url: https://iam.nubes.ru/realms/cowork - postgres: - url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha.svc.cluster.local:5432/search_db - username: postgres - CASSANDRA_PORT: "9042" \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/search-event-handler-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/search-event-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/search-event-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/search-event-handler-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/search-event-handler-app-k8s/Chart.yaml deleted file mode 100755 index 4267149..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/search-event-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: search-event-handler-app -description: Helm chart for Search Event Handler App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/charts/search-event-handler-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/search-event-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 1fe0050..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/search-event-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "search-event-handler-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "search-event-handler-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/cw-infra-apps-nubes/charts/backend/charts/search-event-handler-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/search-event-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index 1835163..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/search-event-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,57 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "search-event-handler-app.fullname" . }} - labels: - app: {{ include "search-event-handler-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "search-event-handler-app.name" . }} - template: - metadata: - labels: - app: {{ include "search-event-handler-app.name" . }} - spec: - volumes: - - - name: cacerts-volume - emptyDir: {} - - - containers: - - name: search-event-handler-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: ELASTIC_HOST - value: {{ .Values.env.elastic.host | quote }} - - name: ELASTIC_PORT - value: {{ .Values.env.elastic.port | quote }} - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: POSTGRES_USERNAME - value: postgres - - name: POSTGRES_PASSWORD - valueFrom: - secretKeyRef: - name: postgres-postgresql - key: postgres-password - - name: POSTGRES_URL - value: {{ .Values.env.postgres.url | quote }} - - name: KEYCLOAK_URL - value: {{ .Values.env.keycloak.url | quote }} - - - restartPolicy: Always diff --git a/cw-infra-apps-nubes/charts/backend/charts/search-event-handler-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/search-event-handler-app-k8s/values.yaml deleted file mode 100755 index e0b107c..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/search-event-handler-app-k8s/values.yaml +++ /dev/null @@ -1,17 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/search-event-handler-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - elastic: - host: elasticsearch-master.elasticsearch.svc.cluster.local - port: "9200" - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - keycloak: - url: https://iam.nubes.ru/realms/cowork - postgres: - url: jdbc:postgresql://postgresql-ha-pgpool.postgresql-ha.svc.cluster.local:5432/search_db diff --git a/cw-infra-apps-nubes/charts/backend/charts/sticker-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/sticker-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/sticker-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/sticker-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/sticker-app-k8s/Chart.yaml deleted file mode 100755 index d4c926a..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/sticker-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: sticker-app -description: Helm chart for Sticker App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" diff --git a/cw-infra-apps-nubes/charts/backend/charts/sticker-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/sticker-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 0df4671..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/sticker-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "sticker-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "sticker-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/cw-infra-apps-nubes/charts/backend/charts/sticker-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/sticker-app-k8s/templates/deployment.yaml deleted file mode 100755 index 8f9fcf3..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/sticker-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,95 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "sticker-app.fullname" . }} - labels: - app: {{ include "sticker-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "sticker-app.name" . }} - template: - metadata: - labels: - app: {{ include "sticker-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: sticker-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: 9090 - hostPort: 8092 - protocol: TCP - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandra.contactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_PORT - value: {{ .Values.env.cassandra.port | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: KEYCLOAK_URL - value: {{ .Values.env.keycloak.url | quote }} - - name: KEYSPACE - value: {{ .Values.env.keyspace | quote }} - - name: REDIS_HOST - value: {{ .Values.env.redis.host | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redis.port | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/cw-infra-apps-nubes/charts/backend/charts/sticker-app-k8s/templates/service.yaml b/cw-infra-apps-nubes/charts/backend/charts/sticker-app-k8s/templates/service.yaml deleted file mode 100755 index 13ede05..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/sticker-app-k8s/templates/service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "sticker-app.fullname" . }} - labels: - app: {{ include "sticker-app.name" . }} -spec: - ports: - - name: "8092" - port: 9090 - targetPort: 9090 - selector: - app: {{ include "sticker-app.name" . }} diff --git a/cw-infra-apps-nubes/charts/backend/charts/sticker-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/sticker-app-k8s/values.yaml deleted file mode 100755 index 11bb873..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/sticker-app-k8s/values.yaml +++ /dev/null @@ -1,20 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/sticker-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - cassandra: - contactPoint: cassandra.cassandra.svc.cluster.local - port: "9042" - datacenter: datacenter1 - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - keycloak: - url: https://iam.nubes.ru/realms/cowork - redis: - host: redis-master.redis.svc.cluster.local - port: "6379" - keyspace: stickers diff --git a/cw-infra-apps-nubes/charts/backend/charts/unregister-tokens-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/unregister-tokens-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/unregister-tokens-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/unregister-tokens-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/unregister-tokens-app-k8s/Chart.yaml deleted file mode 100755 index 040cc3f..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/unregister-tokens-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: unregister-tokens-app -description: Helm chart for Unregister Tokens App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" diff --git a/cw-infra-apps-nubes/charts/backend/charts/unregister-tokens-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/unregister-tokens-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 4e67291..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/unregister-tokens-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "unregister-tokens-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "unregister-tokens-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/cw-infra-apps-nubes/charts/backend/charts/unregister-tokens-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/unregister-tokens-app-k8s/templates/deployment.yaml deleted file mode 100755 index 32fc4c2..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/unregister-tokens-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,85 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "unregister-tokens-app.fullname" . }} - labels: - app: {{ include "unregister-tokens-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "unregister-tokens-app.name" . }} - template: - metadata: - labels: - app: {{ include "unregister-tokens-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: unregister-tokens-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: 9090 - env: - - name: CASSANDRA_HOST - value: {{ .Values.env.cassandra.host | quote }} - - name: CASSANDRA_DC - value: {{ .Values.env.cassandra.datacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KAFKA_USER - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: KAFKA_SERVER - value: {{ .Values.env.kafka.server | quote }} - - name: KEYSPACE - value: {{ .Values.env.cassandra.keyspace | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/cw-infra-apps-nubes/charts/backend/charts/unregister-tokens-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/unregister-tokens-app-k8s/values.yaml deleted file mode 100755 index 6f44206..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/unregister-tokens-app-k8s/values.yaml +++ /dev/null @@ -1,15 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/unregister-tokens-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - cassandra: - host: cassandra.cassandra.svc.cluster.local - datacenter: datacenter1 - keyspace: notifications - kafka: - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - user: admin diff --git a/cw-infra-apps-nubes/charts/backend/charts/upload-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/upload-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/upload-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/upload-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/upload-app-k8s/Chart.yaml deleted file mode 100755 index c090d24..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/upload-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: upload-app -description: Helm chart for the Upload App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" diff --git a/cw-infra-apps-nubes/charts/backend/charts/upload-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/upload-app-k8s/templates/_helpers.tpl deleted file mode 100755 index a5bd2b2..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/upload-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "upload-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "upload-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/cw-infra-apps-nubes/charts/backend/charts/upload-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/upload-app-k8s/templates/deployment.yaml deleted file mode 100755 index 42da07c..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/upload-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,73 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "upload-app.fullname" . }} - labels: - app: {{ include "upload-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "upload-app.name" . }} - template: - metadata: - labels: - app: {{ include "upload-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: upload-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: 9090 - env: - - name: TENANT_ID - value: {{ .Values.env.TENANT_ID | quote }} - - name: KEYCLOAK_URL - value: {{ .Values.env.keycloakUrl | quote }} - - name: S3_ENDPOINT - value: {{ .Values.env.s3.endpoint | quote }} - - name: S3_ACCESS_KEY - valueFrom: - secretKeyRef: - name: {{ include "upload-app.fullname" . }}-s3 - key: access-key - - name: S3_SECRET_KEY - valueFrom: - secretKeyRef: - name: {{ include "upload-app.fullname" . }}-s3 - key: secret-key - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/cw-infra-apps-nubes/charts/backend/charts/upload-app-k8s/templates/s3-secret.yaml b/cw-infra-apps-nubes/charts/backend/charts/upload-app-k8s/templates/s3-secret.yaml deleted file mode 100755 index 6416eeb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/upload-app-k8s/templates/s3-secret.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: {{ include "upload-app.fullname" . }}-s3 -type: Opaque -stringData: - access-key: {{ .Values.env.s3.accessKey | quote }} - secret-key: {{ .Values.env.s3.secretKey | quote }} diff --git a/cw-infra-apps-nubes/charts/backend/charts/upload-app-k8s/templates/service.yaml b/cw-infra-apps-nubes/charts/backend/charts/upload-app-k8s/templates/service.yaml deleted file mode 100755 index 9deb96d..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/upload-app-k8s/templates/service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "upload-app.fullname" . }} - labels: - app: {{ include "upload-app.name" . }} -spec: - ports: - - name: "http" - port: 9090 - targetPort: 9090 - selector: - app: {{ include "upload-app.name" . }} diff --git a/cw-infra-apps-nubes/charts/backend/charts/upload-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/upload-app-k8s/values.yaml deleted file mode 100755 index aef07b5..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/upload-app-k8s/values.yaml +++ /dev/null @@ -1,14 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/upload-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - keycloakUrl: https://iam.nubes.ru/realms/cowork - s3: - endpoint: https://store-p001.cw.ngcloud.ru:9000 - accessKey: minio-admin - secretKey: AoYmJ7vetogVdgtmP3KT - TENANT_ID: "412eb2e1-9660-4b74-a56a-6198f3b5338a" diff --git a/cw-infra-apps-nubes/charts/backend/charts/user-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/user-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/user-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/user-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/user-app-k8s/Chart.yaml deleted file mode 100755 index a6fe370..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/user-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: user-app -description: Helm chart for the User App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" diff --git a/cw-infra-apps-nubes/charts/backend/charts/user-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/user-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 05d3c40..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/user-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "user-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "user-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/cw-infra-apps-nubes/charts/backend/charts/user-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/user-app-k8s/templates/deployment.yaml deleted file mode 100755 index 9e2d390..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/user-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,97 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "user-app.fullname" . }} - labels: - app: {{ include "user-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "user-app.name" . }} - template: - metadata: - labels: - app: {{ include "user-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: user-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: 9090 - targetPort: 9090 - env: - - name: KEYCLOAK_URL - value: {{ .Values.env.keycloakUrl | quote }} - - name: REDIS_HOST - value: {{ .Values.env.redisHost | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redisPort | quote }} - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandraContactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandraDatacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: KAFKA_SERVER - value: {{ .Values.env.kafkaServer | quote }} - - name: KEYSPACE - value: {{ .Values.env.keyspace | quote }} - - name: REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: redis-kafka-user-passwords - key: client-passwords - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/cw-infra-apps-nubes/charts/backend/charts/user-app-k8s/templates/s3-secret.yaml b/cw-infra-apps-nubes/charts/backend/charts/user-app-k8s/templates/s3-secret.yaml deleted file mode 100755 index 3ea4f51..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/user-app-k8s/templates/s3-secret.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: {{ include "user-app.fullname" . }}-s3 -type: Opaque -stringData: - access-key: {{ .Values.s3.accessKey | quote }} - secret-key: {{ .Values.s3.secretKey | quote }} diff --git a/cw-infra-apps-nubes/charts/backend/charts/user-app-k8s/templates/service.yaml b/cw-infra-apps-nubes/charts/backend/charts/user-app-k8s/templates/service.yaml deleted file mode 100755 index d85664d..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/user-app-k8s/templates/service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "user-app.fullname" . }} - labels: - app: {{ include "user-app.name" . }} -spec: - ports: - - name: http - port: 9090 - targetPort: 9090 - selector: - app: {{ include "user-app.name" . }} diff --git a/cw-infra-apps-nubes/charts/backend/charts/user-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/user-app-k8s/values.yaml deleted file mode 100755 index 4c777b1..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/user-app-k8s/values.yaml +++ /dev/null @@ -1,19 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/user-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - keycloakUrl: https://iam.nubes.ru/realms/cowork - redisHost: redis-master.redis.svc.cluster.local - redisPort: "6379" - cassandraContactPoint: cassandra.cassandra.svc.cluster.local - cassandraDatacenter: datacenter1 - kafkaServer: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - keyspace: users - -s3: - accessKey: minio-admin - secretKey: X5hqry5cLVDMxzBHvtrE diff --git a/cw-infra-apps-nubes/charts/backend/charts/voip-splitter-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/voip-splitter-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/voip-splitter-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/voip-splitter-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/voip-splitter-app-k8s/Chart.yaml deleted file mode 100755 index 33f7985..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/voip-splitter-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: voip-splitter-app -description: Helm chart for the VoIP Splitter App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" diff --git a/cw-infra-apps-nubes/charts/backend/charts/voip-splitter-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/voip-splitter-app-k8s/templates/_helpers.tpl deleted file mode 100755 index cbea2e8..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/voip-splitter-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "voip-splitter-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "voip-splitter-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/cw-infra-apps-nubes/charts/backend/charts/voip-splitter-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/voip-splitter-app-k8s/templates/deployment.yaml deleted file mode 100755 index a304808..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/voip-splitter-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,93 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "voip-splitter-app.fullname" . }} - labels: - app: {{ include "voip-splitter-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "voip-splitter-app.name" . }} - template: - metadata: - labels: - app: {{ include "voip-splitter-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: voip-splitter-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: CASSANDRA_HOST - value: {{ .Values.env.cassandraHost | quote }} - - name: CASSANDRA_DC - value: {{ .Values.env.cassandraDatacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: CHAT_SERVICE_HOST - value: {{ .Values.env.chatServiceHost | quote }} - - name: CHAT_SERVICE_PORT - value: {{ .Values.env.chatServicePort | quote }} - - name: USER_SERVICE_HOST - value: {{ .Values.env.userServiceHost | quote }} - - name: USER_SERVICE_PORT - value: {{ .Values.env.userServicePort | quote }} - - name: KAFKA_USER - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: KAFKA_SERVER - value: {{ .Values.env.kafkaServer | quote }} - - name: REDIS_HOST - value: {{ .Values.env.redisHost | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redisPort | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/cw-infra-apps-nubes/charts/backend/charts/voip-splitter-app-k8s/templates/s3-secret.yaml b/cw-infra-apps-nubes/charts/backend/charts/voip-splitter-app-k8s/templates/s3-secret.yaml deleted file mode 100755 index d6abc95..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/voip-splitter-app-k8s/templates/s3-secret.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: {{ include "voip-splitter-app.fullname" . }}-s3 -type: Opaque -stringData: - access-key: {{ .Values.s3.accessKey | quote }} - secret-key: {{ .Values.s3.secretKey | quote }} diff --git a/cw-infra-apps-nubes/charts/backend/charts/voip-splitter-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/voip-splitter-app-k8s/values.yaml deleted file mode 100755 index 24c2bbe..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/voip-splitter-app-k8s/values.yaml +++ /dev/null @@ -1,21 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/voip-splitter-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - cassandraHost: cassandra.cassandra.svc.cluster.local - cassandraDatacenter: datacenter1 - chatServiceHost: chat-app - chatServicePort: "9090" - userServiceHost: user-app - userServicePort: "9090" - kafkaServer: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - redisHost: redis-master.redis.svc.cluster.local - redisPort: "6379" - -s3: - accessKey: minio-admin - secretKey: X5hqry5cLVDMxzBHvtrE diff --git a/cw-infra-apps-nubes/charts/backend/charts/web-sender-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/web-sender-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/web-sender-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/web-sender-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/web-sender-app-k8s/Chart.yaml deleted file mode 100755 index fe79f87..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/web-sender-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: web-sender-app -description: Helm chart for Web Sender App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" diff --git a/cw-infra-apps-nubes/charts/backend/charts/web-sender-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/web-sender-app-k8s/templates/_helpers.tpl deleted file mode 100755 index 9be7455..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/web-sender-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "web-sender-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "web-sender-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/cw-infra-apps-nubes/charts/backend/charts/web-sender-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/web-sender-app-k8s/templates/deployment.yaml deleted file mode 100755 index ba40fad..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/web-sender-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,71 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "web-sender-app.fullname" . }} - labels: - app: {{ include "web-sender-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "web-sender-app.name" . }} - template: - metadata: - labels: - app: {{ include "web-sender-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: web-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: KAFKA_USER - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - - name: KAFKA_SERVER - value: {{ .Values.env.kafkaServer | quote }} - - name: REDIS_HOST - value: {{ .Values.env.redisHost | quote }} - - name: REDIS_PORT - value: {{ .Values.env.redisPort | quote }} - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/cw-infra-apps-nubes/charts/backend/charts/web-sender-app-k8s/templates/s3-secret.yaml b/cw-infra-apps-nubes/charts/backend/charts/web-sender-app-k8s/templates/s3-secret.yaml deleted file mode 100755 index cf5ca44..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/web-sender-app-k8s/templates/s3-secret.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: {{ include "web-sender-app.fullname" . }}-s3 -type: Opaque -stringData: - access-key: {{ .Values.s3.accessKey | quote }} - secret-key: {{ .Values.s3.secretKey | quote }} diff --git a/cw-infra-apps-nubes/charts/backend/charts/web-sender-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/web-sender-app-k8s/values.yaml deleted file mode 100755 index 3d5ec92..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/web-sender-app-k8s/values.yaml +++ /dev/null @@ -1,15 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/web-sender-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - kafkaServer: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - redisHost: redis-master.redis.svc.cluster.local - redisPort: "6379" - -s3: - accessKey: minio-admin - secretKey: X5hqry5cLVDMxzBHvtrE diff --git a/cw-infra-apps-nubes/charts/backend/charts/workspace-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/workspace-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/workspace-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/workspace-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/workspace-app-k8s/Chart.yaml deleted file mode 100755 index 22f38a4..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/workspace-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: workspace-app -description: Helm chart for Workspace App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" diff --git a/cw-infra-apps-nubes/charts/backend/charts/workspace-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/workspace-app-k8s/templates/_helpers.tpl deleted file mode 100755 index e9acca2..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/workspace-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "workspace-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "workspace-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/cw-infra-apps-nubes/charts/backend/charts/workspace-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/workspace-app-k8s/templates/deployment.yaml deleted file mode 100755 index 21d8b7a..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/workspace-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,74 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "workspace-app.fullname" . }} - labels: - app: {{ include "workspace-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "workspace-app.name" . }} - template: - metadata: - labels: - app: {{ include "workspace-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: workspace-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandraContactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandraDatacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KEYCLOAK_URL - value: {{ .Values.env.keycloakUrl | quote }} - ports: - - containerPort: 9090 - protocol: TCP - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/cw-infra-apps-nubes/charts/backend/charts/workspace-app-k8s/templates/s3-secret.yaml b/cw-infra-apps-nubes/charts/backend/charts/workspace-app-k8s/templates/s3-secret.yaml deleted file mode 100755 index e49701b..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/workspace-app-k8s/templates/s3-secret.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: {{ include "workspace-app.fullname" . }}-s3 -type: Opaque -stringData: - access-key: {{ .Values.s3.accessKey | quote }} - secret-key: {{ .Values.s3.secretKey | quote }} diff --git a/cw-infra-apps-nubes/charts/backend/charts/workspace-app-k8s/templates/service.yaml b/cw-infra-apps-nubes/charts/backend/charts/workspace-app-k8s/templates/service.yaml deleted file mode 100755 index 8382d46..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/workspace-app-k8s/templates/service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "workspace-app.fullname" . }} - labels: - app: {{ include "workspace-app.name" . }} -spec: - selector: - app: {{ include "workspace-app.name" . }} - ports: - - name: http - port: 9090 - targetPort: 9090 - protocol: TCP diff --git a/cw-infra-apps-nubes/charts/backend/charts/workspace-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/workspace-app-k8s/values.yaml deleted file mode 100755 index f527904..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/workspace-app-k8s/values.yaml +++ /dev/null @@ -1,15 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/workspace-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - cassandraContactPoint: cassandra.cassandra.svc.cluster.local - cassandraDatacenter: datacenter1 - keycloakUrl: https://iam.nubes.ru/realms/cowork - -s3: - accessKey: minio-admin - secretKey: X5hqry5cLVDMxzBHvtrE diff --git a/cw-infra-apps-nubes/charts/backend/charts/workspace-event-handler-app-k8s/.helmignore b/cw-infra-apps-nubes/charts/backend/charts/workspace-event-handler-app-k8s/.helmignore deleted file mode 100755 index 0e8a0eb..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/workspace-event-handler-app-k8s/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/cw-infra-apps-nubes/charts/backend/charts/workspace-event-handler-app-k8s/Chart.yaml b/cw-infra-apps-nubes/charts/backend/charts/workspace-event-handler-app-k8s/Chart.yaml deleted file mode 100755 index bcb3803..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/workspace-event-handler-app-k8s/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: workspace-event-handler-app -description: Helm chart for Workspace Event Handler App -type: application -version: 0.1.0 -appVersion: "1.0.0-SNAPSHOT" diff --git a/cw-infra-apps-nubes/charts/backend/charts/workspace-event-handler-app-k8s/templates/_helpers.tpl b/cw-infra-apps-nubes/charts/backend/charts/workspace-event-handler-app-k8s/templates/_helpers.tpl deleted file mode 100755 index bb9e3be..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/workspace-event-handler-app-k8s/templates/_helpers.tpl +++ /dev/null @@ -1,7 +0,0 @@ -{{- define "weh-app.name" -}} -{{ .Chart.Name }} -{{- end -}} - -{{- define "weh-app.fullname" -}} -{{ .Release.Name }} -{{- end -}} diff --git a/cw-infra-apps-nubes/charts/backend/charts/workspace-event-handler-app-k8s/templates/deployment.yaml b/cw-infra-apps-nubes/charts/backend/charts/workspace-event-handler-app-k8s/templates/deployment.yaml deleted file mode 100755 index 6ab791d..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/workspace-event-handler-app-k8s/templates/deployment.yaml +++ /dev/null @@ -1,84 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "weh-app.fullname" . }} - labels: - app: {{ include "weh-app.name" . }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "weh-app.name" . }} - template: - metadata: - labels: - app: {{ include "weh-app.name" . }} - spec: - volumes: - - name: ca-cert - configMap: - name: auth-app-ca-cert - items: - - key: RootCA_{{ .Values.env.cert_alias }}.crt - path: RootCA_{{ .Values.env.cert_alias }}.crt - - name: cacerts-volume - emptyDir: {} - initContainers: - - name: import-ca - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - env: - - name: CERT_ALIAS - value: {{ .Values.env.cert_alias | quote }} - volumeMounts: - - name: ca-cert - mountPath: /app/resources - - name: cacerts-volume - mountPath: /tmp/cacerts - command: - - sh - - -c - - | - cp /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts /tmp/cacerts/cacerts && - keytool -import -trustcacerts -storepass changeit -noprompt \ - -alias gemcert \ - -file /app/resources/RootCA_${CERT_ALIAS}.crt \ - -keystore /tmp/cacerts/cacerts - containers: - - name: workspace-event-handler-app - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: 9090 - protocol: TCP - env: - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.env.cassandraContactPoint | quote }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.env.cassandraDatacenter | quote }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: cassandra - key: username - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: cassandra - key: cassandra-password - - name: KAFKA - value: {{ .Values.env.kafkaHost | quote }} - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: kafka-password - key: username - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: kafka-password - key: client-passwords - volumeMounts: - - name: cacerts-volume - mountPath: /usr/lib/jvm/java-21-amazon-corretto/lib/security/cacerts - subPath: cacerts - restartPolicy: Always diff --git a/cw-infra-apps-nubes/charts/backend/charts/workspace-event-handler-app-k8s/templates/s3-secret.yaml b/cw-infra-apps-nubes/charts/backend/charts/workspace-event-handler-app-k8s/templates/s3-secret.yaml deleted file mode 100755 index b51cbbf..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/workspace-event-handler-app-k8s/templates/s3-secret.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: {{ include "weh-app.fullname" . }}-s3 -type: Opaque -stringData: - access-key: {{ .Values.s3.accessKey | quote }} - secret-key: {{ .Values.s3.secretKey | quote }} diff --git a/cw-infra-apps-nubes/charts/backend/charts/workspace-event-handler-app-k8s/templates/service.yaml b/cw-infra-apps-nubes/charts/backend/charts/workspace-event-handler-app-k8s/templates/service.yaml deleted file mode 100755 index c33ed9c..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/workspace-event-handler-app-k8s/templates/service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "weh-app.fullname" . }} - labels: - app: {{ include "weh-app.name" . }} -spec: - selector: - app: {{ include "weh-app.name" . }} - ports: - - name: http - port: 8095 - targetPort: 9090 - protocol: TCP diff --git a/cw-infra-apps-nubes/charts/backend/charts/workspace-event-handler-app-k8s/values.yaml b/cw-infra-apps-nubes/charts/backend/charts/workspace-event-handler-app-k8s/values.yaml deleted file mode 100755 index fe1d7f8..0000000 --- a/cw-infra-apps-nubes/charts/backend/charts/workspace-event-handler-app-k8s/values.yaml +++ /dev/null @@ -1,14 +0,0 @@ -replicaCount: 1 - -image: - repository: registry.co-work.ru/workspace-event-handler-app - tag: 1.0.0-SNAPSHOT - pullPolicy: IfNotPresent - -env: - cassandraContactPoint: cassandra.cassandra.svc.cluster.local - cassandraDatacenter: datacenter1 - kafkaHost: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" -s3: - accessKey: minio-access - secretKey: s3cr3t-minio diff --git a/cw-infra-apps-nubes/charts/backend/templates/.helmignore b/cw-infra-apps-nubes/charts/backend/templates/.helmignore deleted file mode 100755 index e69de29..0000000 diff --git a/cw-infra-apps-nubes/charts/backend/templates/templates/_globals.tpl b/cw-infra-apps-nubes/charts/backend/templates/templates/_globals.tpl deleted file mode 100755 index 900cfe8..0000000 --- a/cw-infra-apps-nubes/charts/backend/templates/templates/_globals.tpl +++ /dev/null @@ -1,18 +0,0 @@ -{{/* Global Environment Templates */}} -{{- define "global.env.kafka" -}} -{{- if .Values.globalComponents.kafka -}} -{{- .Values.global.envTemplates.kafka | toYaml | nindent 0 -}} -{{- end -}} -{{- end -}} - -{{- define "global.env.redis" -}} -{{- if .Values.globalComponents.redis -}} -{{- .Values.global.envTemplates.redis | toYaml | nindent 0 -}} -{{- end -}} -{{- end -}} - -{{- define "global.env.cassandra" -}} -{{- if .Values.globalComponents.cassandra -}} -{{- .Values.global.envTemplates.cassandra | toYaml | nindent 0 -}} -{{- end -}} -{{- end -}} \ No newline at end of file diff --git a/cw-infra-apps-nubes/charts/backend/values.yaml b/cw-infra-apps-nubes/charts/backend/values.yaml deleted file mode 100755 index 944c926..0000000 --- a/cw-infra-apps-nubes/charts/backend/values.yaml +++ /dev/null @@ -1,116 +0,0 @@ -global: - infrastructure: - kafka: - enabled: true - server: "kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092,kafka.kafka.svc.cluster.local:9092" - port: 9092 - secret: "kafka-password" - usernameKey: "username" - passwordKey: "client-passwords" - - redis: - enabled: true - host: "redis-master.redis.svc.cluster.local" - port: 6379 - passwordSecret: "redis-kafka-user-passwords" - passwordKey: "client-passwords" - - cassandra: - enabled: true - contactPoint: "cassandra.cassandra.svc.cluster.local" - datacenter: "dc1" - secret: "cassandra" - usernameKey: "username" - passwordKey: "cassandra-password" - - keycloak: - url: "https://iam.nubes.ru/realms/cowork" - - livekit: - secret: "livekit-secret" - apiKeyKey: "api-key" - secretKey: "secret" - - postgres: - host: "postgres-postgresql.postgresql.svc.cluster.local" - port: 5432 - - services: - chat: - host: "chat-app" - port: 9090 - user: - host: "user-app" - port: 9090 - message: - host: "message-app" - port: 9090 - deeplink: - host: "deeplink-app" - port: 9090 - - secrets: - branchio: - secret: "deeplink-secret" - keys: &branchio-keys - access: "branchio-access" - appid: "branchio-appid" - defaultUrl: "branchio-default-url" - key: "branchio-key" - secret: "branchio-secret" - url: "branchio-url" - - recording: - secret: "recording-secret" - keys: - access: "access-key" - secret: "secret" - - upload: - secret: "upload-app-s3" - keys: - access: "access-key" - secret: "secret-key" - - - envTemplates: - kafka: &kafka-env - - name: KAFKA_SERVER - value: "{{ .Values.global.infrastructure.kafka.server }}:{{ .Values.global.infrastructure.kafka.port }}" - - name: KAFKA_USERNAME - valueFrom: - secretKeyRef: - name: {{ .Values.global.infrastructure.kafka.secret }} - key: {{ .Values.global.infrastructure.kafka.usernameKey }} - - name: KAFKA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.global.infrastructure.kafka.secret }} - key: {{ .Values.global.infrastructure.kafka.passwordKey }} - - redis: &redis-env - - name: REDIS_HOST - value: {{ .Values.global.infrastructure.redis.host }} - - name: REDIS_PORT - value: {{ .Values.global.infrastructure.redis.port | quote }} - - name: REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.global.infrastructure.redis.passwordSecret }} - key: {{ .Values.global.infrastructure.redis.passwordKey }} - - cassandra: &cassandra-env - - name: CASSANDRA_CONTACTPOINT - value: {{ .Values.global.infrastructure.cassandra.contactPoint }} - - name: CASSANDRA_DATACENTER - value: {{ .Values.global.infrastructure.cassandra.datacenter }} - - name: CASSANDRA_USERNAME - valueFrom: - secretKeyRef: - name: {{ .Values.global.infrastructure.cassandra.secret }} - key: {{ .Values.global.infrastructure.cassandra.usernameKey }} - - name: CASSANDRA_PASSWORD - valueFrom: - secretKeyRef: - name: {{ .Values.global.infrastructure.cassandra.secret }} - key: {{ .Values.global.infrastructure.cassandra.passwordKey }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/elasticsearch/.helmignore b/cw-infra-apps-nubes/elasticsearch/.helmignore deleted file mode 100755 index e12c0b4..0000000 --- a/cw-infra-apps-nubes/elasticsearch/.helmignore +++ /dev/null @@ -1,2 +0,0 @@ -tests/ -.pytest_cache/ diff --git a/cw-infra-apps-nubes/elasticsearch/Chart.yaml b/cw-infra-apps-nubes/elasticsearch/Chart.yaml deleted file mode 100755 index df17757..0000000 --- a/cw-infra-apps-nubes/elasticsearch/Chart.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -appVersion: 8.5.1 -description: Official Elastic helm chart for Elasticsearch -home: https://github.com/elastic/helm-charts -icon: https://helm.elastic.co/icons/elasticsearch.png -maintainers: -- email: helm-charts@elastic.co - name: Elastic -name: elasticsearch -sources: -- https://github.com/elastic/elasticsearch -version: 8.5.1 diff --git a/cw-infra-apps-nubes/elasticsearch/Makefile b/cw-infra-apps-nubes/elasticsearch/Makefile deleted file mode 100755 index 22218a1..0000000 --- a/cw-infra-apps-nubes/elasticsearch/Makefile +++ /dev/null @@ -1 +0,0 @@ -include ../helpers/common.mk diff --git a/cw-infra-apps-nubes/elasticsearch/README.md b/cw-infra-apps-nubes/elasticsearch/README.md deleted file mode 100755 index a4948bd..0000000 --- a/cw-infra-apps-nubes/elasticsearch/README.md +++ /dev/null @@ -1,490 +0,0 @@ -# Elasticsearch Helm Chart - -[![Build Status](https://img.shields.io/jenkins/s/https/devops-ci.elastic.co/job/elastic+helm-charts+main.svg)](https://devops-ci.elastic.co/job/elastic+helm-charts+main/) [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/elastic)](https://artifacthub.io/packages/search?repo=elastic) - -This Helm chart is a lightweight way to configure and run our official -[Elasticsearch Docker image][]. - -> **Warning** -> When it comes to running the Elastic on Kubernetes infrastructure, we -> recommend [Elastic Cloud on Kubernetes][] (ECK) as the best way to run and manage -> the Elastic Stack. -> -> ECK offers many operational benefits for both our basic-tier and our -> enterprise-tier customers, such as spinning up cluster nodes that were lost on -> failed infrastructure, seamless upgrades, rolling cluster changes, and much -> much more. -> -> With the release of the Elastic Stack Helm charts for Elastic version 8.5.1, -> we are handing over the ongoing maintenance of our Elastic Stack Helm charts -> to the community and contributors. This repository will finally be archived -> after 6 months time. Elastic Stacks deployed on Kubernetes through Helm charts -> will still be fully supported under EOL limitations. -> -> Since we want to provide an even better experience for our customers by -> running the Elastic Stack on Kubernetes, we will continue maintaining the -> Helm charts applicable to ECK Custom Resources. These charts can be found in -> the [ECK repository][eck-charts]. -> -> Helm charts will currently be maintained for ECK Enterprise-tier customers, -> however, we encourage the community to engage with the existing Helm charts -> for the Elastic Stack and continue supporting their ongoing maintenance. -> -> See for more details. - - - - - -- [Requirements](#requirements) -- [Installing](#installing) - - [Install a released version using the Helm repository](#install-a-released-version-using-the-helm-repository) - - [Install a development version using the main branch](#install-a-development-version-using-the-main-branch) -- [Upgrading](#upgrading) -- [Usage notes](#usage-notes) -- [Configuration](#configuration) -- [FAQ](#faq) - - [How to deploy this chart on a specific K8S distribution?](#how-to-deploy-this-chart-on-a-specific-k8s-distribution) - - [How to deploy dedicated nodes types?](#how-to-deploy-dedicated-nodes-types) - - [Coordinating nodes](#coordinating-nodes) - - [Clustering and Node Discovery](#clustering-and-node-discovery) - - [How to deploy clusters with security (authentication and TLS) enabled?](#how-to-deploy-clusters-with-security-authentication-and-tls-enabled) - - [How to migrate from helm/charts stable chart?](#how-to-migrate-from-helmcharts-stable-chart) - - [How to install plugins?](#how-to-install-plugins) - - [How to use the keystore?](#how-to-use-the-keystore) - - [Basic example](#basic-example) - - [Multiple keys](#multiple-keys) - - [Custom paths and keys](#custom-paths-and-keys) - - [How to enable snapshotting?](#how-to-enable-snapshotting) - - [How to configure templates post-deployment?](#how-to-configure-templates-post-deployment) -- [Contributing](#contributing) - - - - - - -## Requirements - -* Minimum cluster requirements include the following to run this chart with -default settings. All of these settings are configurable. - * Three Kubernetes nodes to respect the default "hard" affinity settings - * 1GB of RAM for the JVM heap - -See [supported configurations][] for more details. - - -## Installing - -### Install a released version using the Helm repository - -* Add the Elastic Helm charts repo: -`helm repo add elastic https://helm.elastic.co` - -* Install it: `helm install elasticsearch elastic/elasticsearch` - -### Install a development version using the main branch - -* Clone the git repo: `git clone git@github.com:elastic/helm-charts.git` - -* Install it: `helm install elasticsearch ./helm-charts/elasticsearch --set imageTag=8.5.1` - -## Upgrading - -Please always check [CHANGELOG.md][] and [BREAKING_CHANGES.md][] before -upgrading to a new chart version. - - -## Usage notes - -* This repo includes several [examples][] of configurations that can be used -as a reference. They are also used in the automated testing of this chart. -* Automated testing of this chart is currently only run against GKE (Google -Kubernetes Engine). -* The chart deploys a StatefulSet and by default will do an automated rolling -update of your cluster. It does this by waiting for the cluster health to become -green after each instance is updated. If you prefer to update manually you can -set `OnDelete` [updateStrategy][]. -* It is important to verify that the JVM heap size in `esJavaOpts` and to set -the CPU/Memory `resources` to something suitable for your cluster. -* To simplify chart and maintenance each set of node groups is deployed as a -separate Helm release. Take a look at the [multi][] example to get an idea for -how this works. Without doing this it isn't possible to resize persistent -volumes in a StatefulSet. By setting it up this way it makes it possible to add -more nodes with a new storage size then drain the old ones. It also solves the -problem of allowing the user to determine which node groups to update first when -doing upgrades or changes. -* We have designed this chart to be very un-opinionated about how to configure -Elasticsearch. It exposes ways to set environment variables and mount secrets -inside of the container. Doing this makes it much easier for this chart to -support multiple versions with minimal changes. - - -## Configuration - -| Parameter | Description | Default | -|------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------| -| `antiAffinityTopologyKey` | The [anti-affinity][] topology key. By default this will prevent multiple Elasticsearch nodes from running on the same Kubernetes node | `kubernetes.io/hostname` | -| `antiAffinity` | Setting this to hard enforces the [anti-affinity][] rules. If it is set to soft it will be done "best effort". Other values will be ignored | `hard` | -| `clusterHealthCheckParams` | The [Elasticsearch cluster health status params][] that will be used by readiness [probe][] command | `wait_for_status=green&timeout=1s` | -| `clusterName` | This will be used as the Elasticsearch [cluster.name][] and should be unique per cluster in the namespace | `elasticsearch` | -| `createCert` | This will automatically create the SSL certificates | `true` | -| `enableServiceLinks` | Set to false to disabling service links, which can cause slow pod startup times when there are many services in the current namespace. | `true` | -| `envFrom` | Templatable string to be passed to the [environment from variables][] which will be appended to the `envFrom:` definition for the container | `[]` | -| `esConfig` | Allows you to add any config files in `/usr/share/elasticsearch/config/` such as `elasticsearch.yml` and `log4j2.properties`. See [values.yaml][] for an example of the formatting | `{}` | -| `esJavaOpts` | [Java options][] for Elasticsearch. This is where you could configure the [jvm heap size][] | `""` | -| `esJvmOptions` | [Java options][] for Elasticsearch. Override the default JVM options by adding custom options files . See [values.yaml][] for an example of the formatting | `{}` | -| `esMajorVersion` | Deprecated. Instead, use the version of the chart corresponding to your ES minor version. Used to set major version specific configuration. If you are using a custom image and not running the default Elasticsearch version you will need to set this to the version you are running (e.g. `esMajorVersion: 6`) | `""` | -| `extraContainers` | Templatable string of additional `containers` to be passed to the `tpl` function | `""` | -| `extraEnvs` | Extra [environment variables][] which will be appended to the `env:` definition for the container | `[]` | -| `extraInitContainers` | Templatable string of additional `initContainers` to be passed to the `tpl` function | `""` | -| `extraVolumeMounts` | Templatable string of additional `volumeMounts` to be passed to the `tpl` function | `""` | -| `extraVolumes` | Templatable string of additional `volumes` to be passed to the `tpl` function | `""` | -| `fullnameOverride` | Overrides the `clusterName` and `nodeGroup` when used in the naming of resources. This should only be used when using a single `nodeGroup`, otherwise you will have name conflicts | `""` | -| `healthNameOverride` | Overrides `test-elasticsearch-health` pod name | `""` | -| `hostAliases` | Configurable [hostAliases][] | `[]` | -| `httpPort` | The http port that Kubernetes will use for the healthchecks and the service. If you change this you will also need to set [http.port][] in `extraEnvs` | `9200` | -| `imagePullPolicy` | The Kubernetes [imagePullPolicy][] value | `IfNotPresent` | -| `imagePullSecrets` | Configuration for [imagePullSecrets][] so that you can use a private registry for your image | `[]` | -| `imageTag` | The Elasticsearch Docker image tag | `8.5.1` | -| `image` | The Elasticsearch Docker image | `docker.elastic.co/elasticsearch/elasticsearch` | -| `ingress` | Configurable [ingress][] to expose the Elasticsearch service. See [values.yaml][] for an example | see [values.yaml][] | -| `initResources` | Allows you to set the [resources][] for the `initContainer` in the StatefulSet | `{}` | -| `keystore` | Allows you map Kubernetes secrets into the keystore. See the [config example][] and [how to use the keystore][] | `[]` | -| `labels` | Configurable [labels][] applied to all Elasticsearch pods | `{}` | -| `lifecycle` | Allows you to add [lifecycle hooks][]. See [values.yaml][] for an example of the formatting | `{}` | -| `masterService` | The service name used to connect to the masters. You only need to set this if your master `nodeGroup` is set to something other than `master`. See [Clustering and Node Discovery][] for more information | `""` | -| `maxUnavailable` | The [maxUnavailable][] value for the pod disruption budget. By default this will prevent Kubernetes from having more than 1 unhealthy pod in the node group | `1` | -| `minimumMasterNodes` | The value for [discovery.zen.minimum_master_nodes][]. Should be set to `(master_eligible_nodes / 2) + 1`. Ignored in Elasticsearch versions >= 7 | `2` | -| `nameOverride` | Overrides the `clusterName` when used in the naming of resources | `""` | -| `networkHost` | Value for the [network.host Elasticsearch setting][] | `0.0.0.0` | -| `networkPolicy` | The [NetworkPolicy](https://kubernetes.io/docs/concepts/services-networking/network-policies/) to set. See [`values.yaml`](./values.yaml) for an example | `{http.enabled: false,transport.enabled: false}` | -| `nodeAffinity` | Value for the [node affinity settings][] | `{}` | -| `nodeGroup` | This is the name that will be used for each group of nodes in the cluster. The name will be `clusterName-nodeGroup-X` , `nameOverride-nodeGroup-X` if a `nameOverride` is specified, and `fullnameOverride-X` if a `fullnameOverride` is specified | `master` | -| `nodeSelector` | Configurable [nodeSelector][] so that you can target specific nodes for your Elasticsearch cluster | `{}` | -| `persistence` | Enables a persistent volume for Elasticsearch data. Can be disabled for nodes that only have [roles][] which don't require persistent data | see [values.yaml][] | -| `podAnnotations` | Configurable [annotations][] applied to all Elasticsearch pods | `{}` | -| `podManagementPolicy` | By default Kubernetes [deploys StatefulSets serially][]. This deploys them in parallel so that they can discover each other | `Parallel` | -| `podSecurityContext` | Allows you to set the [securityContext][] for the pod | see [values.yaml][] | -| `podSecurityPolicy` | Configuration for create a pod security policy with minimal permissions to run this Helm chart with `create: true`. Also can be used to reference an external pod security policy with `name: "externalPodSecurityPolicy"` | see [values.yaml][] | -| `priorityClassName` | The name of the [PriorityClass][]. No default is supplied as the PriorityClass must be created first | `""` | -| `protocol` | The protocol that will be used for the readiness [probe][]. Change this to `https` if you have `xpack.security.http.ssl.enabled` set | `http` | -| `rbac` | Configuration for creating a role, role binding and ServiceAccount as part of this Helm chart with `create: true`. Also can be used to reference an external ServiceAccount with `serviceAccountName: "externalServiceAccountName"`, or automount the service account token | see [values.yaml][] | -| `readinessProbe` | Configuration fields for the readiness [probe][] | see [values.yaml][] | -| `replicas` | Kubernetes replica count for the StatefulSet (i.e. how many pods) | `3` | -| `resources` | Allows you to set the [resources][] for the StatefulSet | see [values.yaml][] | -| `roles` | A list with the specific [roles][] for the `nodeGroup` | see [values.yaml][] | -| `schedulerName` | Name of the [alternate scheduler][] | `""` | -| `secret.enabled` | Enable Secret creation for Elasticsearch credentials | `true` | -| `secret.password` | Initial password for the elastic user | `""` (generated randomly) | -| `secretMounts` | Allows you easily mount a secret as a file inside the StatefulSet. Useful for mounting certificates and other secrets. See [values.yaml][] for an example | `[]` | -| `securityContext` | Allows you to set the [securityContext][] for the container | see [values.yaml][] | -| `service.annotations` | [LoadBalancer annotations][] that Kubernetes will use for the service. This will configure load balancer if `service.type` is `LoadBalancer` | `{}` | -| `service.enabled` | Enable non-headless service | `true` | -| `service.externalTrafficPolicy` | Some cloud providers allow you to specify the [LoadBalancer externalTrafficPolicy][]. Kubernetes will use this to preserve the client source IP. This will configure load balancer if `service.type` is `LoadBalancer` | `""` | -| `service.httpPortName` | The name of the http port within the service | `http` | -| `service.labelsHeadless` | Labels to be added to headless service | `{}` | -| `service.labels` | Labels to be added to non-headless service | `{}` | -| `service.loadBalancerIP` | Some cloud providers allow you to specify the [loadBalancer][] IP. If the `loadBalancerIP` field is not specified, the IP is dynamically assigned. If you specify a `loadBalancerIP` but your cloud provider does not support the feature, it is ignored. | `""` | -| `service.loadBalancerSourceRanges` | The IP ranges that are allowed to access | `[]` | -| `service.nodePort` | Custom [nodePort][] port that can be set if you are using `service.type: nodePort` | `""` | -| `service.transportPortName` | The name of the transport port within the service | `transport` | -| `service.publishNotReadyAddresses` | Consider that all endpoints are considered "ready" even if the Pods themselves are not | `false` | -| `service.type` | Elasticsearch [Service Types][] | `ClusterIP` | -| `sysctlInitContainer` | Allows you to disable the `sysctlInitContainer` if you are setting [sysctl vm.max_map_count][] with another method | `enabled: true` | -| `sysctlVmMaxMapCount` | Sets the [sysctl vm.max_map_count][] needed for Elasticsearch | `262144` | -| `terminationGracePeriod` | The [terminationGracePeriod][] in seconds used when trying to stop the pod | `120` | -| `tests.enabled` | Enable creating test related resources when running `helm template` or `helm test` | `true` | -| `tolerations` | Configurable [tolerations][] | `[]` | -| `transportPort` | The transport port that Kubernetes will use for the service. If you change this you will also need to set [transport port configuration][] in `extraEnvs` | `9300` | -| `updateStrategy` | The [updateStrategy][] for the StatefulSet. By default Kubernetes will wait for the cluster to be green after upgrading each pod. Setting this to `OnDelete` will allow you to manually delete each pod during upgrades | `RollingUpdate` | -| `volumeClaimTemplate` | Configuration for the [volumeClaimTemplate for StatefulSets][]. You will want to adjust the storage (default `30Gi` ) and the `storageClassName` if you are using a different storage class | see [values.yaml][] | - - -## FAQ - -### How to deploy this chart on a specific K8S distribution? - -This chart is designed to run on production scale Kubernetes clusters with -multiple nodes, lots of memory and persistent storage. For that reason it can be -a bit tricky to run them against local Kubernetes environments such as -[Minikube][]. - -This chart is highly tested with [GKE][], but some K8S distribution also -requires specific configurations. - -We provide examples of configuration for the following K8S providers: - -- [Docker for Mac][] -- [KIND][] -- [Minikube][] -- [MicroK8S][] -- [OpenShift][] - -### How to deploy dedicated nodes types? - -All the Elasticsearch pods deployed share the same configuration. If you need to -deploy dedicated [nodes types][] (for example dedicated master and data nodes), -you can deploy multiple releases of this chart with different configurations -while they share the same `clusterName` value. - -For each Helm release, the nodes types can then be defined using `roles` value. - -An example of Elasticsearch cluster using 2 different Helm releases for master, -data and coordinating nodes can be found in [examples/multi][]. - -#### Coordinating nodes - -Every node is implicitly a coordinating node. This means that a node that has an -explicit empty list of roles will only act as a coordinating node. - -When deploying coordinating-only node with Elasticsearch chart, it is required -to define the empty list of roles in both `roles` value and `node.roles` -settings: - -```yaml -roles: [] - -esConfig: - elasticsearch.yml: | - node.roles: [] -``` - -More details in [#1186 (comment)][] - -#### Clustering and Node Discovery - -This chart facilitates Elasticsearch node discovery and services by creating two -`Service` definitions in Kubernetes, one with the name `$clusterName-$nodeGroup` -and another named `$clusterName-$nodeGroup-headless`. -Only `Ready` pods are a part of the `$clusterName-$nodeGroup` service, while all -pods ( `Ready` or not) are a part of `$clusterName-$nodeGroup-headless`. - -If your group of master nodes has the default `nodeGroup: master` then you can -just add new groups of nodes with a different `nodeGroup` and they will -automatically discover the correct master. If your master nodes have a different -`nodeGroup` name then you will need to set `masterService` to -`$clusterName-$masterNodeGroup`. - -The chart value for `masterService` is used to populate -`discovery.zen.ping.unicast.hosts` , which Elasticsearch nodes will use to -contact master nodes and form a cluster. -Therefore, to add a group of nodes to an existing cluster, setting -`masterService` to the desired `Service` name of the related cluster is -sufficient. - -### How to deploy clusters with security (authentication and TLS) enabled? - -This Helm chart can generate a [Kubernetes Secret][] or use an existing one to -setup Elastic credentials. - -This Helm chart can use existing [Kubernetes Secret][] to setup Elastic -certificates for example. These secrets should be created outside of this chart -and accessed using [environment variables][] and volumes. - -This chart is setting TLS and creating a certificate by default, but you can also provide your own certs as a K8S secret. An example of configuration for providing existing certificates can be found in [examples/security][]. - -### How to migrate from helm/charts stable chart? - -If you currently have a cluster deployed with the [helm/charts stable][] chart -you can follow the [migration guide][]. - -### How to install plugins? - -The recommended way to install plugins into our Docker images is to create a -[custom Docker image][]. - -The Dockerfile would look something like: - -``` -ARG elasticsearch_version -FROM docker.elastic.co/elasticsearch/elasticsearch:${elasticsearch_version} - -RUN bin/elasticsearch-plugin install --batch repository-gcs -``` - -And then updating the `image` in values to point to your custom image. - -There are a couple reasons we recommend this. - -1. Tying the availability of Elasticsearch to the download service to install -plugins is not a great idea or something that we recommend. Especially in -Kubernetes where it is normal and expected for a container to be moved to -another host at random times. -2. Mutating the state of a running Docker image (by installing plugins) goes -against best practices of containers and immutable infrastructure. - -### How to use the keystore? - -#### Basic example - -Create the secret, the key name needs to be the keystore key path. In this -example we will create a secret from a file and from a literal string. - -``` -kubectl create secret generic encryption-key --from-file=xpack.watcher.encryption_key=./watcher_encryption_key -kubectl create secret generic slack-hook --from-literal=xpack.notification.slack.account.monitoring.secure_url='https://hooks.slack.com/services/asdasdasd/asdasdas/asdasd' -``` - -To add these secrets to the keystore: - -``` -keystore: - - secretName: encryption-key - - secretName: slack-hook -``` - -#### Multiple keys - -All keys in the secret will be added to the keystore. To create the previous -example in one secret you could also do: - -``` -kubectl create secret generic keystore-secrets --from-file=xpack.watcher.encryption_key=./watcher_encryption_key --from-literal=xpack.notification.slack.account.monitoring.secure_url='https://hooks.slack.com/services/asdasdasd/asdasdas/asdasd' -``` - -``` -keystore: - - secretName: keystore-secrets -``` - -#### Custom paths and keys - -If you are using these secrets for other applications (besides the Elasticsearch -keystore) then it is also possible to specify the keystore path and which keys -you want to add. Everything specified under each `keystore` item will be passed -through to the `volumeMounts` section for mounting the [secret][]. In this -example we will only add the `slack_hook` key from a secret that also has other -keys. Our secret looks like this: - -``` -kubectl create secret generic slack-secrets --from-literal=slack_channel='#general' --from-literal=slack_hook='https://hooks.slack.com/services/asdasdasd/asdasdas/asdasd' -``` - -We only want to add the `slack_hook` key to the keystore at path -`xpack.notification.slack.account.monitoring.secure_url`: - -``` -keystore: - - secretName: slack-secrets - items: - - key: slack_hook - path: xpack.notification.slack.account.monitoring.secure_url -``` - -You can also take a look at the [config example][] which is used as part of the -automated testing pipeline. - -### How to enable snapshotting? - -1. Install your [snapshot plugin][] into a custom Docker image following the -[how to install plugins guide][]. -2. Add any required secrets or credentials into an Elasticsearch keystore -following the [how to use the keystore][] guide. -3. Configure the [snapshot repository][] as you normally would. -4. To automate snapshots you can use [Snapshot Lifecycle Management][] or a tool -like [curator][]. - -### How to configure templates post-deployment? - -You can use `postStart` [lifecycle hooks][] to run code triggered after a -container is created. - -Here is an example of `postStart` hook to configure templates: - -```yaml -lifecycle: - postStart: - exec: - command: - - bash - - -c - - | - #!/bin/bash - # Add a template to adjust number of shards/replicas - TEMPLATE_NAME=my_template - INDEX_PATTERN="logstash-*" - SHARD_COUNT=8 - REPLICA_COUNT=1 - ES_URL=http://localhost:9200 - while [[ "$(curl -s -o /dev/null -w '%{http_code}\n' $ES_URL)" != "200" ]]; do sleep 1; done - curl -XPUT "$ES_URL/_template/$TEMPLATE_NAME" -H 'Content-Type: application/json' -d'{"index_patterns":['\""$INDEX_PATTERN"\"'],"settings":{"number_of_shards":'$SHARD_COUNT',"number_of_replicas":'$REPLICA_COUNT'}}' -``` - - -## Contributing - -Please check [CONTRIBUTING.md][] before any contribution or for any questions -about our development and testing process. - -[#1186 (comment)]: https://github.com/elastic/helm-charts/pull/1186#discussion_r631166442 -[alternate scheduler]: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/#specify-schedulers-for-pods -[annotations]: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ -[anti-affinity]: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity -[BREAKING_CHANGES.md]: https://github.com/elastic/helm-charts/blob/main/BREAKING_CHANGES.md -[CHANGELOG.md]: https://github.com/elastic/helm-charts/blob/main/CHANGELOG.md -[cluster.name]: https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster.name.html -[clustering and node discovery]: https://github.com/elastic/helm-charts/blob/main/elasticsearch/README.md#clustering-and-node-discovery -[config example]: https://github.com/elastic/helm-charts/blob/main/elasticsearch/examples/config/values.yaml -[CONTRIBUTING.md]: https://github.com/elastic/helm-charts/blob/main/CONTRIBUTING.md -[curator]: https://www.elastic.co/guide/en/elasticsearch/client/curator/current/snapshot.html -[custom docker image]: https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#_c_customized_image -[deploys statefulsets serially]: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies -[discovery.zen.minimum_master_nodes]: https://www.elastic.co/guide/en/elasticsearch/reference/current/discovery-settings.html#minimum_master_nodes -[docker for mac]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/docker-for-mac -[eck-charts]: https://github.com/elastic/cloud-on-k8s/tree/master/deploy -[elastic cloud on kubernetes]: https://github.com/elastic/cloud-on-k8s -[elasticsearch cluster health status params]: https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-health.html#request-params -[elasticsearch docker image]: https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html -[environment from variables]: https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#configure-all-key-value-pairs-in-a-configmap-as-container-environment-variables -[environment variables]: https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/#using-environment-variables-inside-of-your-config -[examples]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/ -[examples/multi]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/multi -[examples/security]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/security -[gke]: https://cloud.google.com/kubernetes-engine -[helm]: https://helm.sh -[helm/charts stable]: https://github.com/helm/charts/tree/master/stable/elasticsearch/ -[hostAliases]: https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ -[how to install plugins guide]: https://github.com/elastic/helm-charts/blob/main/elasticsearch/README.md#how-to-install-plugins -[how to use the keystore]: https://github.com/elastic/helm-charts/blob/main/elasticsearch/README.md#how-to-use-the-keystore -[http.port]: https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-http.html#_settings -[imagePullPolicy]: https://kubernetes.io/docs/concepts/containers/images/#updating-images -[imagePullSecrets]: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/#create-a-pod-that-uses-your-secret -[ingress]: https://kubernetes.io/docs/concepts/services-networking/ingress/ -[java options]: https://www.elastic.co/guide/en/elasticsearch/reference/current/jvm-options.html -[jvm heap size]: https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html -[kind]: https://github.com/elastic/helm-charts/tree/main//elasticsearch/examples/kubernetes-kind -[labels]: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ -[lifecycle hooks]: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/ -[loadBalancer annotations]: https://kubernetes.io/docs/concepts/services-networking/service/#ssl-support-on-aws -[loadBalancer externalTrafficPolicy]: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip -[loadBalancer]: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer -[maxUnavailable]: https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget -[microk8s]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/microk8s -[migration guide]: https://github.com/elastic/helm-charts/blob/main/elasticsearch/examples/migration/README.md -[minikube]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/minikube -[multi]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/multi/ -[network.host elasticsearch setting]: https://www.elastic.co/guide/en/elasticsearch/reference/current/network.host.html -[node affinity settings]: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#node-affinity-beta-feature -[nodePort]: https://kubernetes.io/docs/concepts/services-networking/service/#nodeport -[nodes types]: https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html -[nodeSelector]: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector -[openshift]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/openshift -[priorityClass]: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass -[probe]: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/ -[resources]: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ -[roles]: https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html -[secret]: https://kubernetes.io/docs/concepts/configuration/secret/#using-secrets -[securityContext]: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ -[service types]: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types -[snapshot lifecycle management]: https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshot-lifecycle-management.html -[snapshot plugin]: https://www.elastic.co/guide/en/elasticsearch/plugins/current/repository.html -[snapshot repository]: https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html -[supported configurations]: https://github.com/elastic/helm-charts/blob/main/README.md#supported-configurations -[sysctl vm.max_map_count]: https://www.elastic.co/guide/en/elasticsearch/reference/current/vm-max-map-count.html#vm-max-map-count -[terminationGracePeriod]: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods -[tolerations]: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ -[transport port configuration]: https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-transport.html#_transport_settings -[updateStrategy]: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/ -[values.yaml]: https://github.com/elastic/helm-charts/blob/main/elasticsearch/values.yaml -[volumeClaimTemplate for statefulsets]: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#stable-storage diff --git a/cw-infra-apps-nubes/elasticsearch/examples/config/Makefile b/cw-infra-apps-nubes/elasticsearch/examples/config/Makefile deleted file mode 100755 index 9ae9c37..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/config/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -default: test - -include ../../../helpers/examples.mk - -RELEASE := helm-es-config -TIMEOUT := 1200s - -install: - helm upgrade --wait --timeout=$(TIMEOUT) --install --values values.yaml $(RELEASE) ../../ - -secrets: - kubectl delete secret elastic-config-credentials elastic-config-secret elastic-config-slack elastic-config-custom-path || true - kubectl create secret generic elastic-config-credentials --from-literal=password=changeme --from-literal=username=elastic - kubectl create secret generic elastic-config-slack --from-literal=xpack.notification.slack.account.monitoring.secure_url='https://hooks.slack.com/services/asdasdasd/asdasdas/asdasd' - kubectl create secret generic elastic-config-secret --from-file=xpack.watcher.encryption_key=./watcher_encryption_key - kubectl create secret generic elastic-config-custom-path --from-literal=slack_url='https://hooks.slack.com/services/asdasdasd/asdasdas/asdasd' --from-literal=thing_i_don_tcare_about=test - -test: secrets install goss - -purge: - helm del $(RELEASE) diff --git a/cw-infra-apps-nubes/elasticsearch/examples/config/README.md b/cw-infra-apps-nubes/elasticsearch/examples/config/README.md deleted file mode 100755 index 76dd045..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/config/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# Config - -This example deploy a single node Elasticsearch 8.5.1 with authentication and -custom [values][]. - - -## Usage - -* Create the required secrets: `make secrets` - -* Deploy Elasticsearch chart with the default values: `make install` - -* You can now setup a port forward to query Elasticsearch API: - - ``` - kubectl port-forward svc/config-master 9200 - curl -u elastic:changeme http://localhost:9200/_cat/indices - ``` - - -## Testing - -You can also run [goss integration tests][] using `make test` - - -[goss integration tests]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/config/test/goss.yaml -[values]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/config/values.yaml diff --git a/cw-infra-apps-nubes/elasticsearch/examples/config/test/goss.yaml b/cw-infra-apps-nubes/elasticsearch/examples/config/test/goss.yaml deleted file mode 100755 index b71ee37..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/config/test/goss.yaml +++ /dev/null @@ -1,31 +0,0 @@ -http: - https://localhost:9200/_cluster/health: - status: 200 - timeout: 2000 - allow-insecure: true - username: elastic - password: "{{ .Env.ELASTIC_PASSWORD }}" - body: - - "green" - - '"number_of_nodes":1' - - '"number_of_data_nodes":1' - - https://localhost:9200: - status: 200 - timeout: 2000 - username: elastic - allow-insecure: true - password: "{{ .Env.ELASTIC_PASSWORD }}" - body: - - '"cluster_name" : "config"' - - "You Know, for Search" - -command: - "elasticsearch-keystore list": - exit-status: 0 - stdout: - - keystore.seed - - bootstrap.password - - xpack.notification.slack.account.monitoring.secure_url - - xpack.notification.slack.account.otheraccount.secure_url - - xpack.watcher.encryption_key diff --git a/cw-infra-apps-nubes/elasticsearch/examples/config/values.yaml b/cw-infra-apps-nubes/elasticsearch/examples/config/values.yaml deleted file mode 100755 index d90e0c8..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/config/values.yaml +++ /dev/null @@ -1,29 +0,0 @@ ---- -clusterName: "config" -replicas: 1 - -extraEnvs: - - name: ELASTIC_PASSWORD - valueFrom: - secretKeyRef: - name: elastic-config-credentials - key: password - -# This is just a dummy file to make sure that -# the keystore can be mounted at the same time -# as a custom elasticsearch.yml -esConfig: - elasticsearch.yml: | - xpack.security.enabled: true - path.data: /usr/share/elasticsearch/data - -keystore: - - secretName: elastic-config-secret - - secretName: elastic-config-slack - - secretName: elastic-config-custom-path - items: - - key: slack_url - path: xpack.notification.slack.account.otheraccount.secure_url - -secret: - enabled: false diff --git a/cw-infra-apps-nubes/elasticsearch/examples/config/watcher_encryption_key b/cw-infra-apps-nubes/elasticsearch/examples/config/watcher_encryption_key deleted file mode 100755 index b5f9078..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/config/watcher_encryption_key +++ /dev/null @@ -1 +0,0 @@ -supersecret diff --git a/cw-infra-apps-nubes/elasticsearch/examples/default/Makefile b/cw-infra-apps-nubes/elasticsearch/examples/default/Makefile deleted file mode 100755 index 389bf99..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/default/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -default: test - -include ../../../helpers/examples.mk - -RELEASE := helm-es-default -TIMEOUT := 1200s - -install: - helm upgrade --wait --timeout=$(TIMEOUT) --install $(RELEASE) ../../ - -test: install goss - -purge: - helm del $(RELEASE) diff --git a/cw-infra-apps-nubes/elasticsearch/examples/default/README.md b/cw-infra-apps-nubes/elasticsearch/examples/default/README.md deleted file mode 100755 index 6a82ee2..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/default/README.md +++ /dev/null @@ -1,25 +0,0 @@ -# Default - -This example deploy a 3 nodes Elasticsearch 8.5.1 cluster using -[default values][]. - - -## Usage - -* Deploy Elasticsearch chart with the default values: `make install` - -* You can now setup a port forward to query Elasticsearch API: - - ``` - kubectl port-forward svc/elasticsearch-master 9200 - curl localhost:9200/_cat/indices - ``` - - -## Testing - -You can also run [goss integration tests][] using `make test` - - -[goss integration tests]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/default/test/goss.yaml -[default values]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/values.yaml diff --git a/cw-infra-apps-nubes/elasticsearch/examples/default/rolling_upgrade.sh b/cw-infra-apps-nubes/elasticsearch/examples/default/rolling_upgrade.sh deleted file mode 100755 index c5a2a88..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/default/rolling_upgrade.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash -x - -kubectl proxy || true & - -make & -PROC_ID=$! - -while kill -0 "$PROC_ID" >/dev/null 2>&1; do - echo "PROCESS IS RUNNING" - if curl --fail 'http://localhost:8001/api/v1/proxy/namespaces/default/services/elasticsearch-master:9200/_search' ; then - echo "cluster is healthy" - else - echo "cluster not healthy!" - exit 1 - fi - sleep 1 -done -echo "PROCESS TERMINATED" -exit 0 diff --git a/cw-infra-apps-nubes/elasticsearch/examples/default/test/goss.yaml b/cw-infra-apps-nubes/elasticsearch/examples/default/test/goss.yaml deleted file mode 100755 index 925203b..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/default/test/goss.yaml +++ /dev/null @@ -1,44 +0,0 @@ -kernel-param: - vm.max_map_count: - value: "262144" - -http: - https://elasticsearch-master:9200/_cluster/health: - status: 200 - timeout: 2000 - username: elastic - allow-insecure: true - password: "{{ .Env.ELASTIC_PASSWORD }}" - body: - - "green" - - '"number_of_nodes":3' - - '"number_of_data_nodes":3' - - https://localhost:9200: - status: 200 - timeout: 2000 - allow-insecure: true - username: elastic - password: "{{ .Env.ELASTIC_PASSWORD }}" - body: - - '"number" : "8.5.1"' - - '"cluster_name" : "elasticsearch"' - - "You Know, for Search" - -file: - /usr/share/elasticsearch/data: - exists: true - mode: "2775" - owner: root - group: elasticsearch - filetype: directory - -mount: - /usr/share/elasticsearch/data: - exists: true - -user: - elasticsearch: - exists: true - uid: 1000 - gid: 1000 diff --git a/cw-infra-apps-nubes/elasticsearch/examples/docker-for-mac/Makefile b/cw-infra-apps-nubes/elasticsearch/examples/docker-for-mac/Makefile deleted file mode 100755 index 18fd053..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/docker-for-mac/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -default: test - -RELEASE := helm-es-docker-for-mac -TIMEOUT := 1200s - -install: - helm upgrade --wait --timeout=$(TIMEOUT) --install --values values.yaml $(RELEASE) ../../ - -test: install - helm test $(RELEASE) - -purge: - helm del $(RELEASE) diff --git a/cw-infra-apps-nubes/elasticsearch/examples/docker-for-mac/README.md b/cw-infra-apps-nubes/elasticsearch/examples/docker-for-mac/README.md deleted file mode 100755 index 3fec05d..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/docker-for-mac/README.md +++ /dev/null @@ -1,23 +0,0 @@ -# Docker for Mac - -This example deploy a 3 nodes Elasticsearch 8.5.1 cluster on [Docker for Mac][] -using [custom values][]. - -Note that this configuration should be used for test only and isn't recommended -for production. - - -## Usage - -* Deploy Elasticsearch chart with the default values: `make install` - -* You can now setup a port forward to query Elasticsearch API: - - ``` - kubectl port-forward svc/elasticsearch-master 9200 - curl localhost:9200/_cat/indices - ``` - - -[custom values]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/docker-for-mac/values.yaml -[docker for mac]: https://docs.docker.com/docker-for-mac/kubernetes/ diff --git a/cw-infra-apps-nubes/elasticsearch/examples/docker-for-mac/values.yaml b/cw-infra-apps-nubes/elasticsearch/examples/docker-for-mac/values.yaml deleted file mode 100755 index f7deba6..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/docker-for-mac/values.yaml +++ /dev/null @@ -1,23 +0,0 @@ ---- -# Permit co-located instances for solitary minikube virtual machines. -antiAffinity: "soft" - -# Shrink default JVM heap. -esJavaOpts: "-Xmx128m -Xms128m" - -# Allocate smaller chunks of memory per pod. -resources: - requests: - cpu: "100m" - memory: "512M" - limits: - cpu: "1000m" - memory: "512M" - -# Request smaller persistent volumes. -volumeClaimTemplate: - accessModes: [ "ReadWriteOnce" ] - storageClassName: "hostpath" - resources: - requests: - storage: 100M diff --git a/cw-infra-apps-nubes/elasticsearch/examples/kubernetes-kind/Makefile b/cw-infra-apps-nubes/elasticsearch/examples/kubernetes-kind/Makefile deleted file mode 100755 index 9e5602d..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/kubernetes-kind/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -default: test - -RELEASE := helm-es-kind -TIMEOUT := 1200s - -install: - helm upgrade --wait --timeout=$(TIMEOUT) --install --values values.yaml $(RELEASE) ../../ - -install-local-path: - kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-storage.yaml - helm upgrade --wait --timeout=$(TIMEOUT) --install --values values-local-path.yaml $(RELEASE) ../../ - -test: install - helm test $(RELEASE) - -purge: - helm del $(RELEASE) diff --git a/cw-infra-apps-nubes/elasticsearch/examples/kubernetes-kind/README.md b/cw-infra-apps-nubes/elasticsearch/examples/kubernetes-kind/README.md deleted file mode 100755 index 431cde3..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/kubernetes-kind/README.md +++ /dev/null @@ -1,36 +0,0 @@ -# KIND - -This example deploy a 3 nodes Elasticsearch 8.5.1 cluster on [Kind][] -using [custom values][]. - -Note that this configuration should be used for test only and isn't recommended -for production. - -Note that Kind < 0.7.0 are affected by a [kind issue][] with mount points -created from PVCs not writable by non-root users. [kubernetes-sigs/kind#1157][] -fix it in Kind 0.7.0. - -The workaround for Kind < 0.7.0 is to install manually -[Rancher Local Path Provisioner][] and use `local-path` storage class for -Elasticsearch volumes (see [Makefile][] instructions). - - -## Usage - -* For Kind >= 0.7.0: Deploy Elasticsearch chart with the default values: `make install` -* For Kind < 0.7.0: Deploy Elasticsearch chart with `local-path` storage class: `make install-local-path` - -* You can now setup a port forward to query Elasticsearch API: - - ``` - kubectl port-forward svc/elasticsearch-master 9200 - curl localhost:9200/_cat/indices - ``` - - -[custom values]: https://github.com/elastic/helm-charts/blob/main/elasticsearch/examples/kubernetes-kind/values.yaml -[kind]: https://kind.sigs.k8s.io/ -[kind issue]: https://github.com/kubernetes-sigs/kind/issues/830 -[kubernetes-sigs/kind#1157]: https://github.com/kubernetes-sigs/kind/pull/1157 -[rancher local path provisioner]: https://github.com/rancher/local-path-provisioner -[Makefile]: https://github.com/elastic/helm-charts/blob/main/elasticsearch/examples/kubernetes-kind/Makefile diff --git a/cw-infra-apps-nubes/elasticsearch/examples/kubernetes-kind/values-local-path.yaml b/cw-infra-apps-nubes/elasticsearch/examples/kubernetes-kind/values-local-path.yaml deleted file mode 100755 index 500ad4b..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/kubernetes-kind/values-local-path.yaml +++ /dev/null @@ -1,23 +0,0 @@ ---- -# Permit co-located instances for solitary minikube virtual machines. -antiAffinity: "soft" - -# Shrink default JVM heap. -esJavaOpts: "-Xmx128m -Xms128m" - -# Allocate smaller chunks of memory per pod. -resources: - requests: - cpu: "100m" - memory: "512M" - limits: - cpu: "1000m" - memory: "512M" - -# Request smaller persistent volumes. -volumeClaimTemplate: - accessModes: [ "ReadWriteOnce" ] - storageClassName: "local-path" - resources: - requests: - storage: 100M diff --git a/cw-infra-apps-nubes/elasticsearch/examples/kubernetes-kind/values.yaml b/cw-infra-apps-nubes/elasticsearch/examples/kubernetes-kind/values.yaml deleted file mode 100755 index 500ad4b..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/kubernetes-kind/values.yaml +++ /dev/null @@ -1,23 +0,0 @@ ---- -# Permit co-located instances for solitary minikube virtual machines. -antiAffinity: "soft" - -# Shrink default JVM heap. -esJavaOpts: "-Xmx128m -Xms128m" - -# Allocate smaller chunks of memory per pod. -resources: - requests: - cpu: "100m" - memory: "512M" - limits: - cpu: "1000m" - memory: "512M" - -# Request smaller persistent volumes. -volumeClaimTemplate: - accessModes: [ "ReadWriteOnce" ] - storageClassName: "local-path" - resources: - requests: - storage: 100M diff --git a/cw-infra-apps-nubes/elasticsearch/examples/microk8s/Makefile b/cw-infra-apps-nubes/elasticsearch/examples/microk8s/Makefile deleted file mode 100755 index 2d0012d..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/microk8s/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -default: test - -RELEASE := helm-es-microk8s -TIMEOUT := 1200s - -install: - helm upgrade --wait --timeout=$(TIMEOUT) --install --values values.yaml $(RELEASE) ../../ - -test: install - helm test $(RELEASE) - -purge: - helm del $(RELEASE) diff --git a/cw-infra-apps-nubes/elasticsearch/examples/microk8s/README.md b/cw-infra-apps-nubes/elasticsearch/examples/microk8s/README.md deleted file mode 100755 index db5d658..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/microk8s/README.md +++ /dev/null @@ -1,32 +0,0 @@ -# MicroK8S - -This example deploy a 3 nodes Elasticsearch 8.5.1 cluster on [MicroK8S][] -using [custom values][]. - -Note that this configuration should be used for test only and isn't recommended -for production. - - -## Requirements - -The following MicroK8S [addons][] need to be enabled: -- `dns` -- `helm` -- `storage` - - -## Usage - -* Deploy Elasticsearch chart with the default values: `make install` - -* You can now setup a port forward to query Elasticsearch API: - - ``` - kubectl port-forward svc/elasticsearch-master 9200 - curl localhost:9200/_cat/indices - ``` - - -[addons]: https://microk8s.io/docs/addons -[custom values]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/microk8s/values.yaml -[MicroK8S]: https://microk8s.io diff --git a/cw-infra-apps-nubes/elasticsearch/examples/microk8s/values.yaml b/cw-infra-apps-nubes/elasticsearch/examples/microk8s/values.yaml deleted file mode 100755 index 2627ecb..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/microk8s/values.yaml +++ /dev/null @@ -1,32 +0,0 @@ ---- -# Disable privileged init Container creation. -sysctlInitContainer: - enabled: false - -# Restrict the use of the memory-mapping when sysctlInitContainer is disabled. -esConfig: - elasticsearch.yml: | - node.store.allow_mmap: false - -# Permit co-located instances for solitary minikube virtual machines. -antiAffinity: "soft" - -# Shrink default JVM heap. -esJavaOpts: "-Xmx128m -Xms128m" - -# Allocate smaller chunks of memory per pod. -resources: - requests: - cpu: "100m" - memory: "512M" - limits: - cpu: "1000m" - memory: "512M" - -# Request smaller persistent volumes. -volumeClaimTemplate: - accessModes: [ "ReadWriteOnce" ] - storageClassName: "microk8s-hostpath" - resources: - requests: - storage: 100M diff --git a/cw-infra-apps-nubes/elasticsearch/examples/migration/Makefile b/cw-infra-apps-nubes/elasticsearch/examples/migration/Makefile deleted file mode 100755 index 020906f..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/migration/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -PREFIX := helm-es-migration - -data: - helm upgrade --wait --timeout=$(TIMEOUT) --install --values data.yaml $(PREFIX)-data ../../ - -master: - helm upgrade --wait --timeout=$(TIMEOUT) --install --values master.yaml $(PREFIX)-master ../../ - -client: - helm upgrade --wait --timeout=$(TIMEOUT) --install --values client.yaml $(PREFIX)-client ../../ diff --git a/cw-infra-apps-nubes/elasticsearch/examples/migration/README.md b/cw-infra-apps-nubes/elasticsearch/examples/migration/README.md deleted file mode 100755 index 8124dca..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/migration/README.md +++ /dev/null @@ -1,167 +0,0 @@ -# Migration Guide from helm/charts - -There are two viable options for migrating from the community Elasticsearch Helm -chart from the [helm/charts][] repo. - -1. Restoring from Snapshot to a fresh cluster -2. Live migration by joining a new cluster to the existing cluster. - -## Restoring from Snapshot - -This is the recommended and preferred option. The downside is that it will -involve a period of write downtime during the migration. If you have a way to -temporarily stop writes to your cluster then this is the way to go. This is also -a lot simpler as it just involves launching a fresh cluster and restoring a -snapshot following the [restoring to a different cluster guide][]. - -## Live migration - -If restoring from a snapshot is not possible due to the write downtime then a -live migration is also possible. It is very important to first test this in a -testing environment to make sure you are comfortable with the process and fully -understand what is happening. - -This process will involve joining a new set of master, data and client nodes to -an existing cluster that has been deployed using the [helm/charts][] community -chart. Nodes will then be replaced one by one in a controlled fashion to -decommission the old cluster. - -This example will be using the default values for the existing helm/charts -release and for the Elastic helm-charts release. If you have changed any of the -default values then you will need to first make sure that your values are -configured in a compatible way before starting the migration. - -The process will involve a re-sync and a rolling restart of all of your data -nodes. Therefore it is important to disable shard allocation and perform a synced -flush like you normally would during any other rolling upgrade. See the -[rolling upgrades guide][] for more information. - -* The default image for this chart is -`docker.elastic.co/elasticsearch/elasticsearch` which contains the default -distribution of Elasticsearch with a [basic license][]. Make sure to update the -`image` and `imageTag` values to the correct Docker image and Elasticsearch -version that you currently have deployed. - -* Convert your current helm/charts configuration into something that is -compatible with this chart. - -* Take a fresh snapshot of your cluster. If something goes wrong you want to be -able to restore your data no matter what. - -* Check that your clusters health is green. If not abort and make sure your -cluster is healthy before continuing: - - ``` - curl localhost:9200/_cluster/health - ``` - -* Deploy new data nodes which will join the existing cluster. Take a look at the -configuration in [data.yaml][]: - - ``` - make data - ``` - -* Check that the new nodes have joined the cluster (run this and any other curl -commands from within one of your pods): - - ``` - curl localhost:9200/_cat/nodes - ``` - -* Check that your cluster is still green. If so we can now start to scale down -the existing data nodes. Assuming you have the default amount of data nodes (2) -we now want to scale it down to 1: - - ``` - kubectl scale statefulsets my-release-elasticsearch-data --replicas=1 - ``` - -* Wait for your cluster to become green again: - - ``` - watch 'curl -s localhost:9200/_cluster/health' - ``` - -* Once the cluster is green we can scale down again: - - ``` - kubectl scale statefulsets my-release-elasticsearch-data --replicas=0 - ``` - -* Wait for the cluster to be green again. -* OK. We now have all data nodes running in the new cluster. Time to replace the -masters by firstly scaling down the masters from 3 to 2. Between each step make -sure to wait for the cluster to become green again, and check with -`curl localhost:9200/_cat/nodes` that you see the correct amount of master -nodes. During this process we will always make sure to keep at least 2 master -nodes as to not lose quorum: - - ``` - kubectl scale statefulsets my-release-elasticsearch-master --replicas=2 - ``` - -* Now deploy a single new master so that we have 3 masters again. See -[master.yaml][] for the configuration: - - ``` - make master - ``` - -* Scale down old masters to 1: - - ``` - kubectl scale statefulsets my-release-elasticsearch-master --replicas=1 - ``` - -* Edit the masters in [masters.yaml][] to 2 and redeploy: - - ``` - make master - ``` - -* Scale down the old masters to 0: - - ``` - kubectl scale statefulsets my-release-elasticsearch-master --replicas=0 - ``` - -* Edit the [masters.yaml][] to have 3 replicas and remove the -`discovery.zen.ping.unicast.hosts` entry from `extraEnvs` then redeploy the -masters. This will make sure all 3 masters are running in the new cluster and -are pointing at each other for discovery: - - ``` - make master - ``` - -* Remove the `discovery.zen.ping.unicast.hosts` entry from `extraEnvs` then -redeploy the data nodes to make sure they are pointing at the new masters: - - ``` - make data - ``` - -* Deploy the client nodes: - - ``` - make client - ``` - -* Update any processes that are talking to the existing client nodes and point -them to the new client nodes. Once this is done you can scale down the old -client nodes: - - ``` - kubectl scale deployment my-release-elasticsearch-client --replicas=0 - ``` - -* The migration should now be complete. After verifying that everything is -working correctly you can cleanup leftover resources from your old cluster. - -[basic license]: https://www.elastic.co/subscriptions -[data.yaml]: https://github.com/elastic/helm-charts/blob/main/elasticsearch/examples/migration/data.yaml -[helm/charts]: https://github.com/helm/charts/tree/master/stable/elasticsearch -[master.yaml]: https://github.com/elastic/helm-charts/blob/main/elasticsearch/examples/migration/master.yaml -[restoring to a different cluster guide]: https://www.elastic.co/guide/en/elasticsearch/reference/6.8/modules-snapshots.html#_restoring_to_a_different_cluster -[rolling upgrades guide]: https://www.elastic.co/guide/en/elasticsearch/reference/6.8/rolling-upgrades.html diff --git a/cw-infra-apps-nubes/elasticsearch/examples/migration/client.yaml b/cw-infra-apps-nubes/elasticsearch/examples/migration/client.yaml deleted file mode 100755 index 8ac0641..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/migration/client.yaml +++ /dev/null @@ -1,19 +0,0 @@ ---- -replicas: 2 - -clusterName: "elasticsearch" -nodeGroup: "client" - -esMajorVersion: 6 - -roles: [] - -volumeClaimTemplate: - accessModes: ["ReadWriteOnce"] - storageClassName: "standard" - resources: - requests: - storage: 1Gi # Currently needed till pvcs are made optional - -persistence: - enabled: false diff --git a/cw-infra-apps-nubes/elasticsearch/examples/migration/data.yaml b/cw-infra-apps-nubes/elasticsearch/examples/migration/data.yaml deleted file mode 100755 index 012569d..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/migration/data.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -replicas: 2 - -esMajorVersion: 6 - -extraEnvs: - - name: discovery.zen.ping.unicast.hosts - value: "my-release-elasticsearch-discovery" - -clusterName: "elasticsearch" -nodeGroup: "data" - -roles: - - data diff --git a/cw-infra-apps-nubes/elasticsearch/examples/migration/master.yaml b/cw-infra-apps-nubes/elasticsearch/examples/migration/master.yaml deleted file mode 100755 index 9f2f609..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/migration/master.yaml +++ /dev/null @@ -1,23 +0,0 @@ ---- -# Temporarily set to 3 so we can scale up/down the old a new cluster -# one at a time whilst always keeping 3 masters running -replicas: 1 - -esMajorVersion: 6 - -extraEnvs: - - name: discovery.zen.ping.unicast.hosts - value: "my-release-elasticsearch-discovery" - -clusterName: "elasticsearch" -nodeGroup: "master" - -roles: - - master - -volumeClaimTemplate: - accessModes: ["ReadWriteOnce"] - storageClassName: "standard" - resources: - requests: - storage: 4Gi diff --git a/cw-infra-apps-nubes/elasticsearch/examples/minikube/Makefile b/cw-infra-apps-nubes/elasticsearch/examples/minikube/Makefile deleted file mode 100755 index 1021d98..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/minikube/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -default: test - -RELEASE := helm-es-minikube -TIMEOUT := 1200s - -install: - helm upgrade --wait --timeout=$(TIMEOUT) --install --values values.yaml $(RELEASE) ../../ - -test: install - helm test $(RELEASE) - -purge: - helm del $(RELEASE) diff --git a/cw-infra-apps-nubes/elasticsearch/examples/minikube/README.md b/cw-infra-apps-nubes/elasticsearch/examples/minikube/README.md deleted file mode 100755 index 5d7e6e2..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/minikube/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# Minikube - -This example deploy a 3 nodes Elasticsearch 8.5.1 cluster on [Minikube][] -using [custom values][]. - -If helm or kubectl timeouts occur, you may consider creating a minikube VM with -more CPU cores or memory allocated. - -Note that this configuration should be used for test only and isn't recommended -for production. - - -## Requirements - -In order to properly support the required persistent volume claims for the -Elasticsearch StatefulSet, the `default-storageclass` and `storage-provisioner` -minikube addons must be enabled. - -``` -minikube addons enable default-storageclass -minikube addons enable storage-provisioner -``` - - -## Usage - -* Deploy Elasticsearch chart with the default values: `make install` - -* You can now setup a port forward to query Elasticsearch API: - - ``` - kubectl port-forward svc/elasticsearch-master 9200 - curl localhost:9200/_cat/indices - ``` - - -[custom values]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/minikube/values.yaml -[minikube]: https://minikube.sigs.k8s.io/docs/ diff --git a/cw-infra-apps-nubes/elasticsearch/examples/minikube/values.yaml b/cw-infra-apps-nubes/elasticsearch/examples/minikube/values.yaml deleted file mode 100755 index ccceb3a..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/minikube/values.yaml +++ /dev/null @@ -1,23 +0,0 @@ ---- -# Permit co-located instances for solitary minikube virtual machines. -antiAffinity: "soft" - -# Shrink default JVM heap. -esJavaOpts: "-Xmx128m -Xms128m" - -# Allocate smaller chunks of memory per pod. -resources: - requests: - cpu: "100m" - memory: "512M" - limits: - cpu: "1000m" - memory: "512M" - -# Request smaller persistent volumes. -volumeClaimTemplate: - accessModes: [ "ReadWriteOnce" ] - storageClassName: "standard" - resources: - requests: - storage: 100M diff --git a/cw-infra-apps-nubes/elasticsearch/examples/multi/Makefile b/cw-infra-apps-nubes/elasticsearch/examples/multi/Makefile deleted file mode 100755 index 243e504..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/multi/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -default: test - -include ../../../helpers/examples.mk - -PREFIX := helm-es-multi -RELEASE := helm-es-multi-master -TIMEOUT := 1200s - -install: - helm upgrade --wait --timeout=$(TIMEOUT) --install --values master.yaml $(PREFIX)-master ../../ - helm upgrade --wait --timeout=$(TIMEOUT) --install --values data.yaml $(PREFIX)-data ../../ - helm upgrade --wait --timeout=$(TIMEOUT) --install --values client.yaml $(PREFIX)-client ../../ - -test: install goss - -purge: - helm del $(PREFIX)-master - helm del $(PREFIX)-data - helm del $(PREFIX)-client diff --git a/cw-infra-apps-nubes/elasticsearch/examples/multi/README.md b/cw-infra-apps-nubes/elasticsearch/examples/multi/README.md deleted file mode 100755 index bfc5e30..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/multi/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# Multi - -This example deploy an Elasticsearch 8.5.1 cluster composed of 3 different Helm -releases: - -- `helm-es-multi-master` for the 3 master nodes using [master values][] -- `helm-es-multi-data` for the 3 data nodes using [data values][] -- `helm-es-multi-client` for the 3 client nodes using [client values][] - -## Usage - -* Deploy the 3 Elasticsearch releases: `make install` - -* You can now setup a port forward to query Elasticsearch API: - - ``` - kubectl port-forward svc/multi-master 9200 - curl -u elastic:changeme http://localhost:9200/_cat/indices - ``` - -## Testing - -You can also run [goss integration tests][] using `make test` - - -[client values]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/multi/client.yaml -[data values]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/multi/data.yaml -[goss integration tests]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/multi/test/goss.yaml -[master values]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/multi/master.yaml diff --git a/cw-infra-apps-nubes/elasticsearch/examples/multi/client.yaml b/cw-infra-apps-nubes/elasticsearch/examples/multi/client.yaml deleted file mode 100755 index 2c05d1e..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/multi/client.yaml +++ /dev/null @@ -1,50 +0,0 @@ ---- -clusterName: "multi" -nodeGroup: "client" - -extraEnvs: - - name: ELASTIC_PASSWORD - valueFrom: - secretKeyRef: - name: multi-master-credentials - key: password - - name: xpack.security.enabled - value: "true" - - name: xpack.security.transport.ssl.enabled - value: "true" - - name: xpack.security.http.ssl.enabled - value: "true" - - name: xpack.security.transport.ssl.verification_mode - value: "certificate" - - name: xpack.security.transport.ssl.key - value: "/usr/share/elasticsearch/config/certs/tls.key" - - name: xpack.security.transport.ssl.certificate - value: "/usr/share/elasticsearch/config/certs/tls.crt" - - name: xpack.security.transport.ssl.certificate_authorities - value: "/usr/share/elasticsearch/config/certs/ca.crt" - - name: xpack.security.http.ssl.key - value: "/usr/share/elasticsearch/config/certs/tls.key" - - name: xpack.security.http.ssl.certificate - value: "/usr/share/elasticsearch/config/certs/tls.crt" - - name: xpack.security.http.ssl.certificate_authorities - value: "/usr/share/elasticsearch/config/certs/ca.crt" - -roles: [] - -persistence: - enabled: false - -# For client nodes, we also need to add an empty node.roles in elasticsearch.yml -# This is due to https://github.com/elastic/helm-charts/pull/1186#discussion_r631225687 -esConfig: - elasticsearch.yml: | - node.roles: [] - -secret: - enabled: false - -createCert: false -secretMounts: - - name: elastic-certificates - secretName: multi-master-certs - path: /usr/share/elasticsearch/config/certs diff --git a/cw-infra-apps-nubes/elasticsearch/examples/multi/data.yaml b/cw-infra-apps-nubes/elasticsearch/examples/multi/data.yaml deleted file mode 100755 index cd453d3..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/multi/data.yaml +++ /dev/null @@ -1,48 +0,0 @@ ---- -clusterName: "multi" -nodeGroup: "data" - -extraEnvs: - - name: ELASTIC_PASSWORD - valueFrom: - secretKeyRef: - name: multi-master-credentials - key: password - - name: xpack.security.enabled - value: "true" - - name: xpack.security.transport.ssl.enabled - value: "true" - - name: xpack.security.http.ssl.enabled - value: "true" - - name: xpack.security.transport.ssl.verification_mode - value: "certificate" - - name: xpack.security.transport.ssl.key - value: "/usr/share/elasticsearch/config/certs/tls.key" - - name: xpack.security.transport.ssl.certificate - value: "/usr/share/elasticsearch/config/certs/tls.crt" - - name: xpack.security.transport.ssl.certificate_authorities - value: "/usr/share/elasticsearch/config/certs/ca.crt" - - name: xpack.security.http.ssl.key - value: "/usr/share/elasticsearch/config/certs/tls.key" - - name: xpack.security.http.ssl.certificate - value: "/usr/share/elasticsearch/config/certs/tls.crt" - - name: xpack.security.http.ssl.certificate_authorities - value: "/usr/share/elasticsearch/config/certs/ca.crt" - -roles: - - data - - data_content - - data_hot - - data_warm - - data_cold - - data_frozen - - ingest - -secret: - enabled: false - -createCert: false -secretMounts: - - name: elastic-certificates - secretName: multi-master-certs - path: /usr/share/elasticsearch/config/certs diff --git a/cw-infra-apps-nubes/elasticsearch/examples/multi/master.yaml b/cw-infra-apps-nubes/elasticsearch/examples/multi/master.yaml deleted file mode 100755 index bb4ea30..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/multi/master.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -clusterName: "multi" -nodeGroup: "master" - -roles: - - master diff --git a/cw-infra-apps-nubes/elasticsearch/examples/multi/test/goss.yaml b/cw-infra-apps-nubes/elasticsearch/examples/multi/test/goss.yaml deleted file mode 100755 index c365388..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/multi/test/goss.yaml +++ /dev/null @@ -1,12 +0,0 @@ -http: - https://localhost:9200/_cluster/health: - status: 200 - timeout: 2000 - allow-insecure: true - username: elastic - password: "{{ .Env.ELASTIC_PASSWORD }}" - body: - - "green" - - '"cluster_name":"multi"' - - '"number_of_nodes":9' - - '"number_of_data_nodes":3' diff --git a/cw-infra-apps-nubes/elasticsearch/examples/networkpolicy/Makefile b/cw-infra-apps-nubes/elasticsearch/examples/networkpolicy/Makefile deleted file mode 100755 index e7b20c5..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/networkpolicy/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -default: test - -include ../../../helpers/examples.mk - -RELEASE := helm-es-networkpolicy -TIMEOUT := 1200s - -install: - helm upgrade --wait --timeout=$(TIMEOUT) --install --values values.yaml $(RELEASE) ../../ - -test: install goss - -purge: - helm del $(RELEASE) diff --git a/cw-infra-apps-nubes/elasticsearch/examples/networkpolicy/values.yaml b/cw-infra-apps-nubes/elasticsearch/examples/networkpolicy/values.yaml deleted file mode 100755 index 1963d20..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/networkpolicy/values.yaml +++ /dev/null @@ -1,37 +0,0 @@ -networkPolicy: - http: - enabled: true - explicitNamespacesSelector: - # Accept from namespaces with all those different rules (from whitelisted Pods) - matchLabels: - role: frontend-http - matchExpressions: - - {key: role, operator: In, values: [frontend-http]} - additionalRules: - - podSelector: - matchLabels: - role: frontend-http - - podSelector: - matchExpressions: - - key: role - operator: In - values: - - frontend-http - transport: - enabled: true - allowExternal: true - explicitNamespacesSelector: - matchLabels: - role: frontend-transport - matchExpressions: - - {key: role, operator: In, values: [frontend-transport]} - additionalRules: - - podSelector: - matchLabels: - role: frontend-transport - - podSelector: - matchExpressions: - - key: role - operator: In - values: - - frontend-transport diff --git a/cw-infra-apps-nubes/elasticsearch/examples/openshift/Makefile b/cw-infra-apps-nubes/elasticsearch/examples/openshift/Makefile deleted file mode 100755 index 078c33c..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/openshift/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -default: test - -include ../../../helpers/examples.mk - -RELEASE := elasticsearch - -install: - helm upgrade --wait --timeout=$(TIMEOUT) --install --values values.yaml $(RELEASE) ../../ - -test: install goss - -purge: - helm del $(RELEASE) diff --git a/cw-infra-apps-nubes/elasticsearch/examples/openshift/README.md b/cw-infra-apps-nubes/elasticsearch/examples/openshift/README.md deleted file mode 100755 index 22ccf72..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/openshift/README.md +++ /dev/null @@ -1,24 +0,0 @@ -# OpenShift - -This example deploy a 3 nodes Elasticsearch 8.5.1 cluster on [OpenShift][] -using [custom values][]. - -## Usage - -* Deploy Elasticsearch chart with the default values: `make install` - -* You can now setup a port forward to query Elasticsearch API: - - ``` - kubectl port-forward svc/elasticsearch-master 9200 - curl localhost:9200/_cat/indices - ``` - -## Testing - -You can also run [goss integration tests][] using `make test` - - -[custom values]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/openshift/values.yaml -[goss integration tests]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/openshift/test/goss.yaml -[openshift]: https://www.openshift.com/ diff --git a/cw-infra-apps-nubes/elasticsearch/examples/openshift/test/goss.yaml b/cw-infra-apps-nubes/elasticsearch/examples/openshift/test/goss.yaml deleted file mode 100755 index af536ec..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/openshift/test/goss.yaml +++ /dev/null @@ -1,20 +0,0 @@ -http: - https://localhost:9200/_cluster/health: - status: 200 - timeout: 2000 - username: elastic - password: "{{ .Env.ELASTIC_PASSWORD }}" - body: - - "green" - - '"number_of_nodes":3' - - '"number_of_data_nodes":3' - - https://localhost:9200: - status: 200 - timeout: 2000 - username: elastic - password: "{{ .Env.ELASTIC_PASSWORD }}" - body: - - '"number" : "8.5.1"' - - '"cluster_name" : "elasticsearch"' - - "You Know, for Search" diff --git a/cw-infra-apps-nubes/elasticsearch/examples/openshift/values.yaml b/cw-infra-apps-nubes/elasticsearch/examples/openshift/values.yaml deleted file mode 100755 index 8a21126..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/openshift/values.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- - -securityContext: - runAsUser: null - -podSecurityContext: - fsGroup: null - runAsUser: null - -sysctlInitContainer: - enabled: false diff --git a/cw-infra-apps-nubes/elasticsearch/examples/security/Makefile b/cw-infra-apps-nubes/elasticsearch/examples/security/Makefile deleted file mode 100755 index 78726e6..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/security/Makefile +++ /dev/null @@ -1,36 +0,0 @@ -default: test - -include ../../../helpers/examples.mk - -RELEASE := helm-es-security -ELASTICSEARCH_IMAGE := docker.elastic.co/elasticsearch/elasticsearch:$(STACK_VERSION) -TIMEOUT := 1200s - -install: - helm upgrade --wait --timeout=$(TIMEOUT) --install --values values.yaml $(RELEASE) ../../ - -test: secrets install goss - -purge: - kubectl delete secrets elastic-certificates elastic-certificate-pem elastic-certificate-crt|| true - helm del $(RELEASE) - -pull-elasticsearch-image: - docker pull $(ELASTICSEARCH_IMAGE) - -secrets: - docker rm -f elastic-helm-charts-certs || true - rm -f elastic-certificates.p12 elastic-certificate.pem elastic-certificate.crt elastic-stack-ca.p12 || true - docker run --name elastic-helm-charts-certs -i -w /tmp \ - $(ELASTICSEARCH_IMAGE) \ - /bin/sh -c " \ - elasticsearch-certutil ca --out /tmp/elastic-stack-ca.p12 --pass '' && \ - elasticsearch-certutil cert --name security-master --dns security-master --ca /tmp/elastic-stack-ca.p12 --pass '' --ca-pass '' --out /tmp/elastic-certificates.p12" && \ - docker cp elastic-helm-charts-certs:/tmp/elastic-certificates.p12 ./ && \ - docker rm -f elastic-helm-charts-certs && \ - openssl pkcs12 -nodes -passin pass:'' -in elastic-certificates.p12 -out elastic-certificate.pem && \ - openssl x509 -outform der -in elastic-certificate.pem -out elastic-certificate.crt && \ - kubectl create secret generic elastic-certificates --from-file=elastic-certificates.p12 && \ - kubectl create secret generic elastic-certificate-pem --from-file=elastic-certificate.pem && \ - kubectl create secret generic elastic-certificate-crt --from-file=elastic-certificate.crt && \ - rm -f elastic-certificates.p12 elastic-certificate.pem elastic-certificate.crt elastic-stack-ca.p12 diff --git a/cw-infra-apps-nubes/elasticsearch/examples/security/README.md b/cw-infra-apps-nubes/elasticsearch/examples/security/README.md deleted file mode 100755 index 328fefa..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/security/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# Security - -This example deploy a 3 nodes Elasticsearch 8.5.1 with authentication and -autogenerated certificates for TLS (see [values][]). - -Note that this configuration should be used for test only. For a production -deployment you should generate SSL certificates following the [official docs][]. - -## Usage - -* Create the required secrets: `make secrets` - -* Deploy Elasticsearch chart with the default values: `make install` - -* You can now setup a port forward to query Elasticsearch API: - - ``` - kubectl port-forward svc/security-master 9200 - curl -u elastic:changeme https://localhost:9200/_cat/indices - ``` - -## Testing - -You can also run [goss integration tests][] using `make test` - - -[goss integration tests]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/security/test/goss.yaml -[official docs]: https://www.elastic.co/guide/en/elasticsearch/reference/current/configuring-tls.html#node-certificates -[values]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/security/values.yaml diff --git a/cw-infra-apps-nubes/elasticsearch/examples/security/test/goss.yaml b/cw-infra-apps-nubes/elasticsearch/examples/security/test/goss.yaml deleted file mode 100755 index e35393f..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/security/test/goss.yaml +++ /dev/null @@ -1,44 +0,0 @@ -http: - https://security-master:9200/_cluster/health: - status: 200 - timeout: 2000 - allow-insecure: true - username: elastic - password: "{{ .Env.ELASTIC_PASSWORD }}" - body: - - "green" - - '"number_of_nodes":3' - - '"number_of_data_nodes":3' - - https://localhost:9200/: - status: 200 - timeout: 2000 - allow-insecure: true - username: elastic - password: "{{ .Env.ELASTIC_PASSWORD }}" - body: - - '"cluster_name" : "security"' - - "You Know, for Search" - - https://localhost:9200/_license: - status: 200 - timeout: 2000 - allow-insecure: true - username: elastic - password: "{{ .Env.ELASTIC_PASSWORD }}" - body: - - "active" - - "basic" - -file: - /usr/share/elasticsearch/config/elasticsearch.yml: - exists: true - contains: - - "xpack.security.enabled: true" - - "xpack.security.transport.ssl.enabled: true" - - "xpack.security.transport.ssl.verification_mode: certificate" - - "xpack.security.transport.ssl.keystore.path: /usr/share/elasticsearch/config/certs/elastic-certificates.p12" - - "xpack.security.transport.ssl.truststore.path: /usr/share/elasticsearch/config/certs/elastic-certificates.p12" - - "xpack.security.http.ssl.enabled: true" - - "xpack.security.http.ssl.truststore.path: /usr/share/elasticsearch/config/certs/elastic-certificates.p12" - - "xpack.security.http.ssl.keystore.path: /usr/share/elasticsearch/config/certs/elastic-certificates.p12" diff --git a/cw-infra-apps-nubes/elasticsearch/examples/security/values.yaml b/cw-infra-apps-nubes/elasticsearch/examples/security/values.yaml deleted file mode 100755 index e2b1c18..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/security/values.yaml +++ /dev/null @@ -1,28 +0,0 @@ ---- -clusterName: "security" -nodeGroup: "master" - -createCert: false - -roles: - - master - - ingest - - data - -protocol: https - -esConfig: - elasticsearch.yml: | - xpack.security.enabled: true - xpack.security.transport.ssl.enabled: true - xpack.security.transport.ssl.verification_mode: certificate - xpack.security.transport.ssl.keystore.path: /usr/share/elasticsearch/config/certs/elastic-certificates.p12 - xpack.security.transport.ssl.truststore.path: /usr/share/elasticsearch/config/certs/elastic-certificates.p12 - xpack.security.http.ssl.enabled: true - xpack.security.http.ssl.truststore.path: /usr/share/elasticsearch/config/certs/elastic-certificates.p12 - xpack.security.http.ssl.keystore.path: /usr/share/elasticsearch/config/certs/elastic-certificates.p12 - -secretMounts: - - name: elastic-certificates - secretName: elastic-certificates - path: /usr/share/elasticsearch/config/certs diff --git a/cw-infra-apps-nubes/elasticsearch/examples/upgrade/Makefile b/cw-infra-apps-nubes/elasticsearch/examples/upgrade/Makefile deleted file mode 100755 index 0bfddab..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/upgrade/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -default: test - -include ../../../helpers/examples.mk - -CHART := elasticsearch -RELEASE := helm-es-upgrade -FROM := 7.17.1 # upgrade from versions before 7.17.1 isn't compatible with 8.x - -install: - ../../../helpers/upgrade.sh --chart $(CHART) --release $(RELEASE) --from $(FROM) - # Rolling upgrade doesn't work when upgrading from clusters with security disabled. - # This is because nodes with security enabled can't join a cluster with security disabled. - # Every nodes need to be recreated at the same time so they can recreate a cluster with security enabled - kubectl delete pod --selector=app=upgrade-master - -test: install goss - -purge: - helm del $(RELEASE) diff --git a/cw-infra-apps-nubes/elasticsearch/examples/upgrade/README.md b/cw-infra-apps-nubes/elasticsearch/examples/upgrade/README.md deleted file mode 100755 index ab19df7..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/upgrade/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# Upgrade - -This example will deploy a 3 node Elasticsearch cluster chart using an old chart -version, then upgrade it. - - -## Usage - -* Deploy and upgrade Elasticsearch chart with the default values: `make install` - - -## Testing - -You can also run [goss integration tests][] using `make test`. - - -[goss integration tests]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/upgrade/test/goss.yaml diff --git a/cw-infra-apps-nubes/elasticsearch/examples/upgrade/test/goss.yaml b/cw-infra-apps-nubes/elasticsearch/examples/upgrade/test/goss.yaml deleted file mode 100755 index b730456..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/upgrade/test/goss.yaml +++ /dev/null @@ -1,22 +0,0 @@ -http: - https://localhost:9200/_cluster/health: - status: 200 - username: elastic - password: "{{ .Env.ELASTIC_PASSWORD }}" - allow-insecure: true - timeout: 2000 - body: - - "green" - - '"number_of_nodes":3' - - '"number_of_data_nodes":3' - - https://localhost:9200: - status: 200 - username: elastic - password: "{{ .Env.ELASTIC_PASSWORD }}" - allow-insecure: true - timeout: 2000 - body: - - '"number" : "8.5.1"' - - '"cluster_name" : "upgrade"' - - "You Know, for Search" diff --git a/cw-infra-apps-nubes/elasticsearch/examples/upgrade/values.yaml b/cw-infra-apps-nubes/elasticsearch/examples/upgrade/values.yaml deleted file mode 100755 index 461b100..0000000 --- a/cw-infra-apps-nubes/elasticsearch/examples/upgrade/values.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -clusterName: upgrade -# Rolling upgrade doesn't work when upgrading from clusters with security disabled. -# This is because nodes with security enabled can't join a cluster with security disabled. -# Every nodes need to be recreated at the same time so they can recreate a cluster with security enabled -updateStrategy: OnDelete diff --git a/cw-infra-apps-nubes/elasticsearch/templates/NOTES.txt b/cw-infra-apps-nubes/elasticsearch/templates/NOTES.txt deleted file mode 100755 index 752526f..0000000 --- a/cw-infra-apps-nubes/elasticsearch/templates/NOTES.txt +++ /dev/null @@ -1,8 +0,0 @@ -1. Watch all cluster members come up. - $ kubectl get pods --namespace={{ .Release.Namespace }} -l app={{ template "elasticsearch.uname" . }} -w -2. Retrieve elastic user's password. - $ kubectl get secrets --namespace={{ .Release.Namespace }} {{ template "elasticsearch.uname" . }}-credentials -ojsonpath='{.data.password}' | base64 -d -{{- if .Values.tests.enabled }} -3. Test cluster health using Helm test. - $ helm --namespace={{ .Release.Namespace }} test {{ .Release.Name }} -{{- end -}} diff --git a/cw-infra-apps-nubes/elasticsearch/templates/_helpers.tpl b/cw-infra-apps-nubes/elasticsearch/templates/_helpers.tpl deleted file mode 100755 index b47e2fe..0000000 --- a/cw-infra-apps-nubes/elasticsearch/templates/_helpers.tpl +++ /dev/null @@ -1,97 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "elasticsearch.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{/* -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). -*/}} -{{- define "elasticsearch.fullname" -}} -{{- $name := default .Chart.Name .Values.nameOverride -}} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{- define "elasticsearch.uname" -}} -{{- if empty .Values.fullnameOverride -}} -{{- if empty .Values.nameOverride -}} -{{ .Values.clusterName }}-{{ .Values.nodeGroup }} -{{- else -}} -{{ .Values.nameOverride }}-{{ .Values.nodeGroup }} -{{- end -}} -{{- else -}} -{{ .Values.fullnameOverride }} -{{- end -}} -{{- end -}} - -{{/* -Generate certificates when the secret doesn't exist -*/}} -{{- define "elasticsearch.gen-certs" -}} -{{- $certs := lookup "v1" "Secret" .Release.Namespace ( printf "%s-certs" (include "elasticsearch.uname" . ) ) -}} -{{- if $certs -}} -tls.crt: {{ index $certs.data "tls.crt" }} -tls.key: {{ index $certs.data "tls.key" }} -ca.crt: {{ index $certs.data "ca.crt" }} -{{- else -}} -{{- $altNames := list ( include "elasticsearch.masterService" . ) ( printf "%s.%s" (include "elasticsearch.masterService" .) .Release.Namespace ) ( printf "%s.%s.svc" (include "elasticsearch.masterService" .) .Release.Namespace ) -}} -{{- $ca := genCA "elasticsearch-ca" 365 -}} -{{- $cert := genSignedCert ( include "elasticsearch.masterService" . ) nil $altNames 365 $ca -}} -tls.crt: {{ $cert.Cert | toString | b64enc }} -tls.key: {{ $cert.Key | toString | b64enc }} -ca.crt: {{ $ca.Cert | toString | b64enc }} -{{- end -}} -{{- end -}} - -{{- define "elasticsearch.masterService" -}} -{{- if empty .Values.masterService -}} -{{- if empty .Values.fullnameOverride -}} -{{- if empty .Values.nameOverride -}} -{{ .Values.clusterName }}-master -{{- else -}} -{{ .Values.nameOverride }}-master -{{- end -}} -{{- else -}} -{{ .Values.fullnameOverride }} -{{- end -}} -{{- else -}} -{{ .Values.masterService }} -{{- end -}} -{{- end -}} - -{{- define "elasticsearch.endpoints" -}} -{{- $replicas := int (toString (.Values.replicas)) }} -{{- $uname := (include "elasticsearch.uname" .) }} - {{- range $i, $e := untilStep 0 $replicas 1 -}} -{{ $uname }}-{{ $i }}, - {{- end -}} -{{- end -}} - -{{- define "elasticsearch.roles" -}} -{{- range $.Values.roles -}} -{{ . }}, -{{- end -}} -{{- end -}} - -{{- define "elasticsearch.esMajorVersion" -}} -{{- if .Values.esMajorVersion -}} -{{ .Values.esMajorVersion }} -{{- else -}} -{{- $version := int (index (.Values.imageTag | splitList ".") 0) -}} - {{- if and (contains "docker.elastic.co/elasticsearch/elasticsearch" .Values.image) (not (eq $version 0)) -}} -{{ $version }} - {{- else -}} -8 - {{- end -}} -{{- end -}} -{{- end -}} - -{{/* -Use the fullname if the serviceAccount value is not set -*/}} -{{- define "elasticsearch.serviceAccount" -}} -{{- .Values.rbac.serviceAccountName | default (include "elasticsearch.uname" .) -}} -{{- end -}} diff --git a/cw-infra-apps-nubes/elasticsearch/templates/configmap.yaml b/cw-infra-apps-nubes/elasticsearch/templates/configmap.yaml deleted file mode 100755 index fd1ad30..0000000 --- a/cw-infra-apps-nubes/elasticsearch/templates/configmap.yaml +++ /dev/null @@ -1,34 +0,0 @@ -{{- if .Values.esConfig }} ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ template "elasticsearch.uname" . }}-config - labels: - heritage: {{ .Release.Service | quote }} - release: {{ .Release.Name | quote }} - chart: "{{ .Chart.Name }}" - app: "{{ template "elasticsearch.uname" . }}" -data: -{{- range $path, $config := .Values.esConfig }} - {{ $path }}: | -{{ $config | indent 4 -}} -{{- end -}} -{{- end -}} -{{- if .Values.esJvmOptions }} ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ template "elasticsearch.uname" . }}-jvm-options - labels: - heritage: {{ .Release.Service | quote }} - release: {{ .Release.Name | quote }} - chart: "{{ .Chart.Name }}" - app: "{{ template "elasticsearch.uname" . }}" -data: -{{- range $path, $config := .Values.esJvmOptions }} - {{ $path }}: | -{{ $config | indent 4 -}} -{{- end -}} -{{- end -}} \ No newline at end of file diff --git a/cw-infra-apps-nubes/elasticsearch/templates/index_configmap.yaml b/cw-infra-apps-nubes/elasticsearch/templates/index_configmap.yaml deleted file mode 100755 index 03b1f35..0000000 --- a/cw-infra-apps-nubes/elasticsearch/templates/index_configmap.yaml +++ /dev/null @@ -1,265 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: index-template-1 -data: - chat_v1_idx.json: | - { - "settings": { - "index": { - "number_of_shards": 3, - "number_of_replicas": 1, - "max_ngram_diff": 2 - }, - "analysis": { - "analyzer": { - "ngram_analyzer": { - "type": "custom", - "tokenizer": "ngram_tokenizer", - "filter": [ - "lowercase" - ] - }, - "standard_search_analyzer_lowercase": { - "type": "custom", - "tokenizer": "standard", - "filter": [ - "lowercase" - ] - } - }, - "tokenizer": { - "ngram_tokenizer": { - "type": "ngram", - "min_gram": 3, - "max_gram": 5, - "token_chars": [] - } - }, - "normalizer": { - "lowercase_normalizer": { - "type": "custom", - "filter": [ - "lowercase" - ] - } - } - } - }, - "mappings": { - "properties": { - "id": { - "type": "long" - }, - "name": { - "type": "keyword", - "normalizer": "lowercase_normalizer" - }, - "name_ngram": { - "type": "text", - "analyzer": "ngram_analyzer", - "search_analyzer": "ngram_analyzer", - "index_options": "offsets", - "term_vector": "with_positions_offsets" - }, - "description": { - "type": "text", - "analyzer": "standard", - "search_analyzer": "standard_search_analyzer_lowercase", - "index_options": "offsets", - "term_vector": "with_positions_offsets" - }, - "_class": { - "type": "text", - "fields": { - "keyword": { - "ignore_above": 256.0, - "type": "keyword" - } - } - } - } - } - } - message_v1_idx.json: | - { - "settings": { - "index": { - "number_of_shards": "3", - "number_of_replicas": "1" - }, - "analysis": { - "analyzer": { - "edge_ngram_index_analyzer": { - "tokenizer": "edge_ngram_index_tokenizer", - "filter": [ - "lowercase", - "apostrophe", - "classic" - ] - }, - "message_search_analyzer": { - "tokenizer": "standard" - } - }, - "tokenizer": { - "edge_ngram_index_tokenizer": { - "type": "edge_ngram", - "min_gram": 1, - "max_gram": 20, - "token_chars": [ - "letter", - "digit" - ] - } - } - } - }, - "mappings": { - "properties": { - "chatId": { - "type": "long" - }, - "messageId": { - "type": "long" - }, - "serverTime": { - "type": "long" - }, - "_class": { - "type": "text", - "fields": { - "keyword": { - "ignore_above": 256.0, - "type": "keyword" - } - } - }, - "id": { - "type": "keyword" - }, - "text": { - "type": "text", - "analyzer": "edge_ngram_index_analyzer", - "search_analyzer": "message_search_analyzer", - "index_options": "offsets", - "term_vector": "with_positions_offsets" - } - } - } - } - user_v1_idx.json: | - { - "settings": { - "index": { - "number_of_shards": 3, - "number_of_replicas": 1, - "max_ngram_diff": 2 - }, - "analysis": { - "analyzer": { - "ngram_analyzer": { - "type": "custom", - "tokenizer": "ngram_tokenizer", - "filter": [ - "lowercase" - ] - }, - "standard_search_analyzer_lowercase": { - "type": "custom", - "tokenizer": "standard", - "filter": [ - "lowercase" - ] - } - }, - "tokenizer": { - "ngram_tokenizer": { - "type": "ngram", - "min_gram": 3, - "max_gram": 5, - "token_chars": [] - } - }, - "normalizer": { - "lowercase_normalizer": { - "type": "custom", - "filter": [ - "lowercase" - ] - } - } - } - }, - "mappings": { - "properties": { - "id": { - "type": "long" - }, - "username": { - "type": "keyword", - "normalizer": "lowercase_normalizer" - }, - "username_ngram": { - "type": "text", - "analyzer": "ngram_analyzer", - "search_analyzer": "ngram_analyzer", - "index_options": "offsets", - "term_vector": "with_positions_offsets" - }, - "nickname": { - "type": "keyword", - "normalizer": "lowercase_normalizer" - }, - "nickname_ngram": { - "type": "text", - "analyzer": "ngram_analyzer", - "search_analyzer": "ngram_analyzer", - "index_options": "offsets", - "term_vector": "with_positions_offsets" - }, - "phone": { - "type": "keyword", - "normalizer": "lowercase_normalizer" - }, - "phone_ngram": { - "type": "text", - "analyzer": "ngram_analyzer", - "search_analyzer": "ngram_analyzer", - "index_options": "offsets", - "term_vector": "with_positions_offsets" - }, - "email": { - "type": "keyword", - "normalizer": "lowercase_normalizer" - }, - "email_ngram": { - "type": "text", - "analyzer": "ngram_analyzer", - "search_analyzer": "ngram_analyzer", - "index_options": "offsets", - "term_vector": "with_positions_offsets" - }, - "job_title": { - "type": "keyword", - "normalizer": "lowercase_normalizer" - }, - "job_title_ngram": { - "type": "text", - "analyzer": "ngram_analyzer", - "search_analyzer": "ngram_analyzer", - "index_options": "offsets", - "term_vector": "with_positions_offsets" - }, - "_class": { - "type": "text", - "fields": { - "keyword": { - "ignore_above": 256.0, - "type": "keyword" - } - } - } - } - } - } \ No newline at end of file diff --git a/cw-infra-apps-nubes/elasticsearch/templates/ingress.yaml b/cw-infra-apps-nubes/elasticsearch/templates/ingress.yaml deleted file mode 100755 index e60cebf..0000000 --- a/cw-infra-apps-nubes/elasticsearch/templates/ingress.yaml +++ /dev/null @@ -1,64 +0,0 @@ -{{- if .Values.ingress.enabled -}} -{{- $fullName := include "elasticsearch.uname" . -}} -{{- $httpPort := .Values.httpPort -}} -{{- $pathtype := .Values.ingress.pathtype -}} -{{- $ingressPath := .Values.ingress.path -}} -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: {{ $fullName }} - labels: - app: {{ .Chart.Name }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -{{- with .Values.ingress.annotations }} - annotations: -{{ toYaml . | indent 4 }} -{{- end }} -spec: - {{- if .Values.ingress.className }} - ingressClassName: {{ .Values.ingress.className | quote }} - {{- end }} -{{- if .Values.ingress.tls }} - tls: - {{- if .ingressPath }} - {{- range .Values.ingress.tls }} - - hosts: - {{- range .hosts }} - - {{ . }} - {{- end }} - secretName: {{ .secretName }} - {{- end }} -{{- else }} -{{ toYaml .Values.ingress.tls | indent 4 }} - {{- end }} -{{- end}} - rules: - {{- range .Values.ingress.hosts }} - {{- if $ingressPath }} - - host: {{ . }} - http: - paths: - - path: {{ $ingressPath }} - pathType: {{ $pathtype }} - backend: - service: - name: {{ $fullName }} - port: - number: {{ $httpPort }} - {{- else }} - - host: {{ .host }} - http: - paths: - {{- range .paths }} - - path: {{ .path }} - pathType: {{ $pathtype }} - backend: - service: - name: {{ $fullName }} - port: - number: {{ .servicePort | default $httpPort }} - {{- end }} - {{- end }} - {{- end }} - {{- end }} diff --git a/cw-infra-apps-nubes/elasticsearch/templates/networkpolicy.yaml b/cw-infra-apps-nubes/elasticsearch/templates/networkpolicy.yaml deleted file mode 100755 index 62bb1bd..0000000 --- a/cw-infra-apps-nubes/elasticsearch/templates/networkpolicy.yaml +++ /dev/null @@ -1,61 +0,0 @@ -{{- if (or .Values.networkPolicy.http.enabled .Values.networkPolicy.transport.enabled) }} -kind: NetworkPolicy -apiVersion: networking.k8s.io/v1 -metadata: - name: {{ template "elasticsearch.uname" . }} - labels: - heritage: {{ .Release.Service | quote }} - release: {{ .Release.Name | quote }} - chart: "{{ .Chart.Name }}" - app: "{{ template "elasticsearch.uname" . }}" -spec: - podSelector: - matchLabels: - app: "{{ template "elasticsearch.uname" . }}" - ingress: # Allow inbound connections - -{{- if .Values.networkPolicy.http.enabled }} - # For HTTP access - - ports: - - port: {{ .Values.httpPort }} - from: - # From authorized Pods (having the correct label) - - podSelector: - matchLabels: - {{ template "elasticsearch.uname" . }}-http-client: "true" -{{- with .Values.networkPolicy.http.explicitNamespacesSelector }} - # From authorized namespaces - namespaceSelector: -{{ toYaml . | indent 12 }} -{{- end }} -{{- with .Values.networkPolicy.http.additionalRules }} - # Or from custom additional rules -{{ toYaml . | indent 8 }} -{{- end }} -{{- end }} - -{{- if .Values.networkPolicy.transport.enabled }} - # For transport access - - ports: - - port: {{ .Values.transportPort }} - from: - # From authorized Pods (having the correct label) - - podSelector: - matchLabels: - {{ template "elasticsearch.uname" . }}-transport-client: "true" -{{- with .Values.networkPolicy.transport.explicitNamespacesSelector }} - # From authorized namespaces - namespaceSelector: -{{ toYaml . | indent 12 }} -{{- end }} -{{- with .Values.networkPolicy.transport.additionalRules }} - # Or from custom additional rules -{{ toYaml . | indent 8 }} -{{- end }} - # Or from other ElasticSearch Pods - - podSelector: - matchLabels: - app: "{{ template "elasticsearch.uname" . }}" -{{- end }} - -{{- end }} diff --git a/cw-infra-apps-nubes/elasticsearch/templates/poddisruptionbudget.yaml b/cw-infra-apps-nubes/elasticsearch/templates/poddisruptionbudget.yaml deleted file mode 100755 index 6d0bdf3..0000000 --- a/cw-infra-apps-nubes/elasticsearch/templates/poddisruptionbudget.yaml +++ /dev/null @@ -1,15 +0,0 @@ -{{- if .Values.maxUnavailable }} -{{- if .Capabilities.APIVersions.Has "policy/v1" -}} -apiVersion: policy/v1 -{{- else}} -apiVersion: policy/v1beta1 -{{- end }} -kind: PodDisruptionBudget -metadata: - name: "{{ template "elasticsearch.uname" . }}-pdb" -spec: - maxUnavailable: {{ .Values.maxUnavailable }} - selector: - matchLabels: - app: "{{ template "elasticsearch.uname" . }}" -{{- end }} diff --git a/cw-infra-apps-nubes/elasticsearch/templates/podsecuritypolicy.yaml b/cw-infra-apps-nubes/elasticsearch/templates/podsecuritypolicy.yaml deleted file mode 100755 index d8b3545..0000000 --- a/cw-infra-apps-nubes/elasticsearch/templates/podsecuritypolicy.yaml +++ /dev/null @@ -1,14 +0,0 @@ -{{- if .Values.podSecurityPolicy.create -}} -{{- $fullName := include "elasticsearch.uname" . -}} -apiVersion: policy/v1beta1 -kind: PodSecurityPolicy -metadata: - name: {{ default $fullName .Values.podSecurityPolicy.name | quote }} - labels: - heritage: {{ .Release.Service | quote }} - release: {{ .Release.Name | quote }} - chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" - app: {{ $fullName | quote }} -spec: -{{ toYaml .Values.podSecurityPolicy.spec | indent 2 }} -{{- end -}} diff --git a/cw-infra-apps-nubes/elasticsearch/templates/role.yaml b/cw-infra-apps-nubes/elasticsearch/templates/role.yaml deleted file mode 100755 index d3a7ee3..0000000 --- a/cw-infra-apps-nubes/elasticsearch/templates/role.yaml +++ /dev/null @@ -1,25 +0,0 @@ -{{- if .Values.rbac.create -}} -{{- $fullName := include "elasticsearch.uname" . -}} -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: {{ $fullName | quote }} - labels: - heritage: {{ .Release.Service | quote }} - release: {{ .Release.Name | quote }} - chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" - app: {{ $fullName | quote }} -rules: - - apiGroups: - - extensions - resources: - - podsecuritypolicies - resourceNames: - {{- if eq .Values.podSecurityPolicy.name "" }} - - {{ $fullName | quote }} - {{- else }} - - {{ .Values.podSecurityPolicy.name | quote }} - {{- end }} - verbs: - - use -{{- end -}} diff --git a/cw-infra-apps-nubes/elasticsearch/templates/rolebinding.yaml b/cw-infra-apps-nubes/elasticsearch/templates/rolebinding.yaml deleted file mode 100755 index e0ecced..0000000 --- a/cw-infra-apps-nubes/elasticsearch/templates/rolebinding.yaml +++ /dev/null @@ -1,20 +0,0 @@ -{{- if .Values.rbac.create -}} -{{- $fullName := include "elasticsearch.uname" . -}} -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: {{ $fullName | quote }} - labels: - heritage: {{ .Release.Service | quote }} - release: {{ .Release.Name | quote }} - chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" - app: {{ $fullName | quote }} -subjects: - - kind: ServiceAccount - name: "{{ template "elasticsearch.serviceAccount" . }}" - namespace: {{ .Release.Namespace | quote }} -roleRef: - kind: Role - name: {{ $fullName | quote }} - apiGroup: rbac.authorization.k8s.io -{{- end -}} diff --git a/cw-infra-apps-nubes/elasticsearch/templates/secret-cert.yaml b/cw-infra-apps-nubes/elasticsearch/templates/secret-cert.yaml deleted file mode 100755 index 97d8dec..0000000 --- a/cw-infra-apps-nubes/elasticsearch/templates/secret-cert.yaml +++ /dev/null @@ -1,14 +0,0 @@ -{{- if .Values.createCert }} -apiVersion: v1 -kind: Secret -type: kubernetes.io/tls -metadata: - name: {{ template "elasticsearch.uname" . }}-certs - labels: - app: {{ template "elasticsearch.uname" . }} - chart: "{{ .Chart.Name }}" - heritage: {{ .Release.Service }} - release: {{ .Release.Name }} -data: -{{ ( include "elasticsearch.gen-certs" . ) | indent 2 }} -{{- end }} diff --git a/cw-infra-apps-nubes/elasticsearch/templates/secret.yaml b/cw-infra-apps-nubes/elasticsearch/templates/secret.yaml deleted file mode 100755 index cbdcbba..0000000 --- a/cw-infra-apps-nubes/elasticsearch/templates/secret.yaml +++ /dev/null @@ -1,23 +0,0 @@ -{{- if .Values.secret.enabled -}} -{{- $passwordValue := (randAlphaNum 16) | b64enc | quote }} -apiVersion: v1 -kind: Secret -metadata: - name: {{ template "elasticsearch.uname" . }}-credentials - labels: - heritage: {{ .Release.Service | quote }} - release: {{ .Release.Name | quote }} - chart: "{{ .Chart.Name }}" - app: "{{ template "elasticsearch.uname" . }}" - {{- range $key, $value := .Values.labels }} - {{ $key }}: {{ $value | quote }} - {{- end }} -type: Opaque -data: - username: {{ "elastic" | b64enc }} - {{- if .Values.secret.password }} - password: {{ .Values.secret.password | b64enc }} - {{- else }} - password: {{ $passwordValue }} - {{- end }} -{{- end }} diff --git a/cw-infra-apps-nubes/elasticsearch/templates/service.yaml b/cw-infra-apps-nubes/elasticsearch/templates/service.yaml deleted file mode 100755 index 5fe52eb..0000000 --- a/cw-infra-apps-nubes/elasticsearch/templates/service.yaml +++ /dev/null @@ -1,78 +0,0 @@ -{{- if .Values.service.enabled -}} ---- -kind: Service -apiVersion: v1 -metadata: -{{- if eq .Values.nodeGroup "master" }} - name: {{ template "elasticsearch.masterService" . }} -{{- else }} - name: {{ template "elasticsearch.uname" . }} -{{- end }} - labels: - heritage: {{ .Release.Service | quote }} - release: {{ .Release.Name | quote }} - chart: "{{ .Chart.Name }}" - app: "{{ template "elasticsearch.uname" . }}" -{{- if .Values.service.labels }} -{{ toYaml .Values.service.labels | indent 4}} -{{- end }} - annotations: -{{ toYaml .Values.service.annotations | indent 4 }} -spec: - type: {{ .Values.service.type }} - selector: - release: {{ .Release.Name | quote }} - chart: "{{ .Chart.Name }}" - app: "{{ template "elasticsearch.uname" . }}" - publishNotReadyAddresses: {{ .Values.service.publishNotReadyAddresses }} - ports: - - name: {{ .Values.service.httpPortName | default "http" }} - protocol: TCP - port: {{ .Values.httpPort }} -{{- if .Values.service.nodePort }} - nodePort: {{ .Values.service.nodePort }} -{{- end }} - - name: {{ .Values.service.transportPortName | default "transport" }} - protocol: TCP - port: {{ .Values.transportPort }} -{{- if .Values.service.loadBalancerIP }} - loadBalancerIP: {{ .Values.service.loadBalancerIP }} -{{- end }} -{{- with .Values.service.loadBalancerSourceRanges }} - loadBalancerSourceRanges: -{{ toYaml . | indent 4 }} -{{- end }} -{{- if .Values.service.externalTrafficPolicy }} - externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy }} -{{- end }} -{{- end }} ---- -kind: Service -apiVersion: v1 -metadata: -{{- if eq .Values.nodeGroup "master" }} - name: {{ template "elasticsearch.masterService" . }}-headless -{{- else }} - name: {{ template "elasticsearch.uname" . }}-headless -{{- end }} - labels: - heritage: {{ .Release.Service | quote }} - release: {{ .Release.Name | quote }} - chart: "{{ .Chart.Name }}" - app: "{{ template "elasticsearch.uname" . }}" -{{- if .Values.service.labelsHeadless }} -{{ toYaml .Values.service.labelsHeadless | indent 4 }} -{{- end }} - annotations: - service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" -spec: - clusterIP: None # This is needed for statefulset hostnames like elasticsearch-0 to resolve - # Create endpoints also if the related pod isn't ready - publishNotReadyAddresses: true - selector: - app: "{{ template "elasticsearch.uname" . }}" - ports: - - name: {{ .Values.service.httpPortName | default "http" }} - port: {{ .Values.httpPort }} - - name: {{ .Values.service.transportPortName | default "transport" }} - port: {{ .Values.transportPort }} diff --git a/cw-infra-apps-nubes/elasticsearch/templates/serviceaccount.yaml b/cw-infra-apps-nubes/elasticsearch/templates/serviceaccount.yaml deleted file mode 100755 index a7ef847..0000000 --- a/cw-infra-apps-nubes/elasticsearch/templates/serviceaccount.yaml +++ /dev/null @@ -1,16 +0,0 @@ -{{- if .Values.rbac.create -}} -{{- $fullName := include "elasticsearch.uname" . -}} -apiVersion: v1 -kind: ServiceAccount -metadata: - name: "{{ template "elasticsearch.serviceAccount" . }}" - annotations: - {{- with .Values.rbac.serviceAccountAnnotations }} - {{- toYaml . | nindent 4 }} - {{- end }} - labels: - heritage: {{ .Release.Service | quote }} - release: {{ .Release.Name | quote }} - chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" - app: {{ $fullName | quote }} -{{- end -}} diff --git a/cw-infra-apps-nubes/elasticsearch/templates/statefulset.yaml b/cw-infra-apps-nubes/elasticsearch/templates/statefulset.yaml deleted file mode 100755 index 64fd423..0000000 --- a/cw-infra-apps-nubes/elasticsearch/templates/statefulset.yaml +++ /dev/null @@ -1,427 +0,0 @@ ---- -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: {{ template "elasticsearch.uname" . }} - labels: - heritage: {{ .Release.Service | quote }} - release: {{ .Release.Name | quote }} - chart: "{{ .Chart.Name }}" - app: "{{ template "elasticsearch.uname" . }}" - {{- range $key, $value := .Values.labels }} - {{ $key }}: {{ $value | quote }} - {{- end }} - annotations: - esMajorVersion: "{{ include "elasticsearch.esMajorVersion" . }}" -spec: - serviceName: {{ template "elasticsearch.uname" . }}-headless - selector: - matchLabels: - app: "{{ template "elasticsearch.uname" . }}" - replicas: {{ .Values.replicas }} - podManagementPolicy: {{ .Values.podManagementPolicy }} - updateStrategy: - type: {{ .Values.updateStrategy }} - {{- if .Values.persistence.enabled }} - volumeClaimTemplates: - - metadata: - name: {{ template "elasticsearch.uname" . }} - {{- if .Values.persistence.labels.enabled }} - labels: - release: {{ .Release.Name | quote }} - chart: "{{ .Chart.Name }}" - app: "{{ template "elasticsearch.uname" . }}" - {{- range $key, $value := .Values.labels }} - {{ $key }}: {{ $value | quote }} - {{- end }} - {{- end }} - {{- with .Values.persistence.annotations }} - annotations: -{{ toYaml . | indent 8 }} - {{- end }} - spec: -{{ toYaml .Values.volumeClaimTemplate | indent 6 }} - {{- end }} - template: - metadata: - name: "{{ template "elasticsearch.uname" . }}" - labels: - release: {{ .Release.Name | quote }} - chart: "{{ .Chart.Name }}" - app: "{{ template "elasticsearch.uname" . }}" - {{- range $key, $value := .Values.labels }} - {{ $key }}: {{ $value | quote }} - {{- end }} - annotations: - {{- range $key, $value := .Values.podAnnotations }} - {{ $key }}: {{ $value | quote }} - {{- end }} - {{/* This forces a restart if the configmap has changed */}} - {{- if or .Values.esConfig .Values.esJvmOptions }} - configchecksum: {{ include (print .Template.BasePath "/configmap.yaml") . | sha256sum | trunc 63 }} - {{- end }} - spec: - {{- if .Values.schedulerName }} - schedulerName: "{{ .Values.schedulerName }}" - {{- end }} - securityContext: -{{ toYaml .Values.podSecurityContext | indent 8 }} - {{- if .Values.fsGroup }} - fsGroup: {{ .Values.fsGroup }} # Deprecated value, please use .Values.podSecurityContext.fsGroup - {{- end }} - {{- if or .Values.rbac.create .Values.rbac.serviceAccountName }} - serviceAccountName: "{{ template "elasticsearch.serviceAccount" . }}" - {{- end }} - automountServiceAccountToken: {{ .Values.rbac.automountToken }} - {{- with .Values.tolerations }} - tolerations: -{{ toYaml . | indent 6 }} - {{- end }} - {{- with .Values.nodeSelector }} - nodeSelector: -{{ toYaml . | indent 8 }} - {{- end }} - {{- if or (eq .Values.antiAffinity "hard") (eq .Values.antiAffinity "soft") .Values.nodeAffinity }} - {{- if .Values.priorityClassName }} - priorityClassName: {{ .Values.priorityClassName }} - {{- end }} - affinity: - {{- end }} - {{- if eq .Values.antiAffinity "hard" }} - podAntiAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - - labelSelector: - matchExpressions: - - key: app - operator: In - values: - - "{{ template "elasticsearch.uname" .}}" - topologyKey: {{ .Values.antiAffinityTopologyKey }} - {{- else if eq .Values.antiAffinity "soft" }} - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 1 - podAffinityTerm: - topologyKey: {{ .Values.antiAffinityTopologyKey }} - labelSelector: - matchExpressions: - - key: app - operator: In - values: - - "{{ template "elasticsearch.uname" . }}" - {{- end }} - {{- with .Values.nodeAffinity }} - nodeAffinity: -{{ toYaml . | indent 10 }} - {{- end }} - terminationGracePeriodSeconds: {{ .Values.terminationGracePeriod }} - volumes: - {{- range .Values.secretMounts }} - - name: {{ .name }} - secret: - secretName: {{ .secretName }} - {{- if .defaultMode }} - defaultMode: {{ .defaultMode }} - {{- end }} - {{- end }} - {{- if .Values.esConfig }} - - name: esconfig - configMap: - name: {{ template "elasticsearch.uname" . }}-config - {{- end }} - {{- if .Values.esJvmOptions }} - - name: esjvmoptions - configMap: - name: {{ template "elasticsearch.uname" . }}-jvm-options - {{- end }} - {{- if .Values.createCert }} - - name: elasticsearch-certs - secret: - secretName: {{ template "elasticsearch.uname" . }}-certs - {{- end }} -{{- if .Values.keystore }} - - name: keystore - emptyDir: {} - {{- range .Values.keystore }} - - name: keystore-{{ .secretName }} - secret: {{ toYaml . | nindent 12 }} - {{- end }} -{{ end }} - {{- if .Values.extraVolumes }} - # Currently some extra blocks accept strings - # to continue with backwards compatibility this is being kept - # whilst also allowing for yaml to be specified too. - {{- if eq "string" (printf "%T" .Values.extraVolumes) }} -{{ tpl .Values.extraVolumes . | indent 8 }} - {{- else }} -{{ toYaml .Values.extraVolumes | indent 8 }} - {{- end }} - {{- end }} - {{- if .Values.imagePullSecrets }} - imagePullSecrets: -{{ toYaml .Values.imagePullSecrets | indent 8 }} - {{- end }} - enableServiceLinks: {{ .Values.enableServiceLinks }} - {{- if .Values.hostAliases }} - hostAliases: {{ toYaml .Values.hostAliases | nindent 8 }} - {{- end }} - {{- if or (.Values.extraInitContainers) (.Values.sysctlInitContainer.enabled) (.Values.keystore) }} - initContainers: - {{- if .Values.sysctlInitContainer.enabled }} - - name: configure-sysctl - securityContext: - runAsUser: 0 - privileged: true - image: "{{ .Values.image }}:{{ .Values.imageTag }}" - imagePullPolicy: "{{ .Values.imagePullPolicy }}" - command: ["sysctl", "-w", "vm.max_map_count={{ .Values.sysctlVmMaxMapCount}}"] - resources: -{{ toYaml .Values.initResources | indent 10 }} - {{- end }} -{{ if .Values.keystore }} - - name: keystore - securityContext: -{{ toYaml .Values.securityContext | indent 10 }} - image: "{{ .Values.image }}:{{ .Values.imageTag }}" - imagePullPolicy: "{{ .Values.imagePullPolicy }}" - command: - - bash - - -c - - | - set -euo pipefail - - elasticsearch-keystore create - - for i in /tmp/keystoreSecrets/*/*; do - key=$(basename $i) - echo "Adding file $i to keystore key $key" - elasticsearch-keystore add-file "$key" "$i" - done - - # Add the bootstrap password since otherwise the Elasticsearch entrypoint tries to do this on startup - if [ ! -z ${ELASTIC_PASSWORD+x} ]; then - echo 'Adding env $ELASTIC_PASSWORD to keystore as key bootstrap.password' - echo "$ELASTIC_PASSWORD" | elasticsearch-keystore add -x bootstrap.password - fi - - cp -a /usr/share/elasticsearch/config/elasticsearch.keystore /tmp/keystore/ - env: {{ toYaml .Values.extraEnvs | nindent 10 }} - envFrom: {{ toYaml .Values.envFrom | nindent 10 }} - resources: {{ toYaml .Values.initResources | nindent 10 }} - volumeMounts: - - name: keystore - mountPath: /tmp/keystore - {{- range .Values.keystore }} - - name: keystore-{{ .secretName }} - mountPath: /tmp/keystoreSecrets/{{ .secretName }} - {{- end }} -{{ end }} - {{- if .Values.extraInitContainers }} - # Currently some extra blocks accept strings - # to continue with backwards compatibility this is being kept - # whilst also allowing for yaml to be specified too. - {{- if eq "string" (printf "%T" .Values.extraInitContainers) }} -{{ tpl .Values.extraInitContainers . | indent 6 }} - {{- else }} -{{ toYaml .Values.extraInitContainers | indent 6 }} - {{- end }} - {{- end }} - {{- end }} - containers: - - name: "{{ template "elasticsearch.name" . }}" - securityContext: -{{ toYaml .Values.securityContext | indent 10 }} - image: "{{ .Values.image }}:{{ .Values.imageTag }}" - imagePullPolicy: "{{ .Values.imagePullPolicy }}" - readinessProbe: - exec: - command: - - bash - - -c - - | - set -e - - # Exit if ELASTIC_PASSWORD in unset - if [ -z "${ELASTIC_PASSWORD}" ]; then - echo "ELASTIC_PASSWORD variable is missing, exiting" - exit 1 - fi - - # If the node is starting up wait for the cluster to be ready (request params: "{{ .Values.clusterHealthCheckParams }}" ) - # Once it has started only check that the node itself is responding - START_FILE=/tmp/.es_start_file - - # Disable nss cache to avoid filling dentry cache when calling curl - # This is required with Elasticsearch Docker using nss < 3.52 - export NSS_SDB_USE_CACHE=no - - http () { - local path="${1}" - local args="${2}" - set -- -XGET -s - - if [ "$args" != "" ]; then - set -- "$@" $args - fi - - set -- "$@" -u "elastic:${ELASTIC_PASSWORD}" - - curl --output /dev/null -k "$@" "{{ .Values.protocol }}://127.0.0.1:{{ .Values.httpPort }}${path}" - } - - if [ -f "${START_FILE}" ]; then - echo 'Elasticsearch is already running, lets check the node is healthy' - HTTP_CODE=$(http "/" "-w %{http_code}") - RC=$? - if [[ ${RC} -ne 0 ]]; then - echo "curl --output /dev/null -k -XGET -s -w '%{http_code}' \${BASIC_AUTH} {{ .Values.protocol }}://127.0.0.1:{{ .Values.httpPort }}/ failed with RC ${RC}" - exit ${RC} - fi - # ready if HTTP code 200, 503 is tolerable if ES version is 6.x - if [[ ${HTTP_CODE} == "200" ]]; then - exit 0 - elif [[ ${HTTP_CODE} == "503" && "{{ include "elasticsearch.esMajorVersion" . }}" == "6" ]]; then - exit 0 - else - echo "curl --output /dev/null -k -XGET -s -w '%{http_code}' \${BASIC_AUTH} {{ .Values.protocol }}://127.0.0.1:{{ .Values.httpPort }}/ failed with HTTP code ${HTTP_CODE}" - exit 1 - fi - - else - echo 'Waiting for elasticsearch cluster to become ready (request params: "{{ .Values.clusterHealthCheckParams }}" )' - if http "/_cluster/health?{{ .Values.clusterHealthCheckParams }}" "--fail" ; then - touch ${START_FILE} - exit 0 - else - echo 'Cluster is not yet ready (request params: "{{ .Values.clusterHealthCheckParams }}" )' - exit 1 - fi - fi -{{ toYaml .Values.readinessProbe | indent 10 }} - ports: - - name: http - containerPort: {{ .Values.httpPort }} - - name: transport - containerPort: {{ .Values.transportPort }} - resources: -{{ toYaml .Values.resources | indent 10 }} - env: - - name: node.name - valueFrom: - fieldRef: - fieldPath: metadata.name - {{- if has "master" .Values.roles }} - - name: cluster.initial_master_nodes - value: "{{ template "elasticsearch.endpoints" . }}" - {{- end }} - {{- if gt (len (include "elasticsearch.roles" .)) 0 }} - - name: node.roles - value: "{{ template "elasticsearch.roles" . }}" - {{- end }} - {{- if lt (int (include "elasticsearch.esMajorVersion" .)) 7 }} - - name: discovery.zen.ping.unicast.hosts - value: "{{ template "elasticsearch.masterService" . }}-headless" - {{- else }} - - name: discovery.seed_hosts - value: "{{ template "elasticsearch.masterService" . }}-headless" - {{- end }} - - name: cluster.name - value: "{{ .Values.clusterName }}" - - name: network.host - value: "{{ .Values.networkHost }}" - {{- if .Values.secret.enabled }} - - name: ELASTIC_PASSWORD - valueFrom: - secretKeyRef: - name: {{ template "elasticsearch.uname" . }}-credentials - key: password - {{- end }} - {{- if .Values.esJavaOpts }} - - name: ES_JAVA_OPTS - value: "{{ .Values.esJavaOpts }}" - {{- end }} - {{- if .Values.createCert }} - - name: xpack.security.enabled - value: "true" - - name: xpack.security.transport.ssl.enabled - value: "true" - - name: xpack.security.http.ssl.enabled - value: "true" - - name: xpack.security.transport.ssl.verification_mode - value: "certificate" - - name: xpack.security.transport.ssl.key - value: "/usr/share/elasticsearch/config/certs/tls.key" - - name: xpack.security.transport.ssl.certificate - value: "/usr/share/elasticsearch/config/certs/tls.crt" - - name: xpack.security.transport.ssl.certificate_authorities - value: "/usr/share/elasticsearch/config/certs/ca.crt" - - name: xpack.security.http.ssl.key - value: "/usr/share/elasticsearch/config/certs/tls.key" - - name: xpack.security.http.ssl.certificate - value: "/usr/share/elasticsearch/config/certs/tls.crt" - - name: xpack.security.http.ssl.certificate_authorities - value: "/usr/share/elasticsearch/config/certs/ca.crt" - {{- end }} -{{- if .Values.extraEnvs }} -{{ toYaml .Values.extraEnvs | indent 10 }} -{{- end }} -{{- if .Values.envFrom }} - envFrom: -{{ toYaml .Values.envFrom | indent 10 }} -{{- end }} - volumeMounts: - {{- if .Values.persistence.enabled }} - - name: "{{ template "elasticsearch.uname" . }}" - mountPath: /usr/share/elasticsearch/data - {{- end }} - {{- if .Values.createCert }} - - name: elasticsearch-certs - mountPath: /usr/share/elasticsearch/config/certs - readOnly: true - {{- end }} -{{ if .Values.keystore }} - - name: keystore - mountPath: /usr/share/elasticsearch/config/elasticsearch.keystore - subPath: elasticsearch.keystore -{{ end }} - {{- range .Values.secretMounts }} - - name: {{ .name }} - mountPath: {{ .path }} - {{- if .subPath }} - subPath: {{ .subPath }} - {{- end }} - {{- end }} - {{- range $path, $config := .Values.esConfig }} - - name: esconfig - mountPath: /usr/share/elasticsearch/config/{{ $path }} - subPath: {{ $path }} - {{- end -}} - {{- range $path, $config := .Values.esJvmOptions }} - - name: esjvmoptions - mountPath: /usr/share/elasticsearch/config/jvm.options.d/{{ $path }} - subPath: {{ $path }} - {{- end -}} - {{- if .Values.extraVolumeMounts }} - # Currently some extra blocks accept strings - # to continue with backwards compatibility this is being kept - # whilst also allowing for yaml to be specified too. - {{- if eq "string" (printf "%T" .Values.extraVolumeMounts) }} -{{ tpl .Values.extraVolumeMounts . | indent 10 }} - {{- else }} -{{ toYaml .Values.extraVolumeMounts | indent 10 }} - {{- end }} - {{- end }} -{{- if .Values.lifecycle }} - lifecycle: -{{ toYaml .Values.lifecycle | indent 10 }} -{{- end }} - {{- if .Values.extraContainers }} - # Currently some extra blocks accept strings - # to continue with backwards compatibility this is being kept - # whilst also allowing for yaml to be specified too. - {{- if eq "string" (printf "%T" .Values.extraContainers) }} -{{ tpl .Values.extraContainers . | indent 6 }} - {{- else }} -{{ toYaml .Values.extraContainers | indent 6 }} - {{- end }} - {{- end }} diff --git a/cw-infra-apps-nubes/elasticsearch/templates/test/test-elasticsearch-health.yaml b/cw-infra-apps-nubes/elasticsearch/templates/test/test-elasticsearch-health.yaml deleted file mode 100755 index d0890fb..0000000 --- a/cw-infra-apps-nubes/elasticsearch/templates/test/test-elasticsearch-health.yaml +++ /dev/null @@ -1,50 +0,0 @@ -{{- if .Values.tests.enabled -}} ---- -apiVersion: v1 -kind: Pod -metadata: -{{- if .Values.healthNameOverride }} - name: {{ .Values.healthNameOverride | quote }} -{{- else }} - name: "{{ .Release.Name }}-{{ randAlpha 5 | lower }}-test" -{{- end }} - annotations: - "helm.sh/hook": test - "helm.sh/hook-delete-policy": hook-succeeded -spec: - securityContext: -{{ toYaml .Values.podSecurityContext | indent 4 }} - containers: -{{- if .Values.healthNameOverride }} - - name: {{ .Values.healthNameOverride | quote }} -{{- else }} - - name: "{{ .Release.Name }}-{{ randAlpha 5 | lower }}-test" -{{- end }} - env: - - name: ELASTIC_PASSWORD - valueFrom: - secretKeyRef: - name: {{ template "elasticsearch.uname" . }}-credentials - key: password - image: "{{ .Values.image }}:{{ .Values.imageTag }}" - imagePullPolicy: "{{ .Values.imagePullPolicy }}" - command: - - "sh" - - "-c" - - | - #!/usr/bin/env bash -e - curl -XGET --fail --cacert /usr/share/elasticsearch/config/certs/tls.crt -u "elastic:${ELASTIC_PASSWORD}" https://'{{ template "elasticsearch.uname" . }}:{{ .Values.httpPort }}/_cluster/health?{{ .Values.clusterHealthCheckParams }}' - volumeMounts: - - name: elasticsearch-certs - mountPath: /usr/share/elasticsearch/config/certs - readOnly: true - {{- if .Values.imagePullSecrets }} - imagePullSecrets: -{{ toYaml .Values.imagePullSecrets | indent 4 }} - {{- end }} - restartPolicy: Never - volumes: - - name: elasticsearch-certs - secret: - secretName: {{ template "elasticsearch.uname" . }}-certs -{{- end -}} diff --git a/cw-infra-apps-nubes/elasticsearch/values.yaml b/cw-infra-apps-nubes/elasticsearch/values.yaml deleted file mode 100755 index f65c9cd..0000000 --- a/cw-infra-apps-nubes/elasticsearch/values.yaml +++ /dev/null @@ -1,678 +0,0 @@ ---- -clusterName: "elasticsearch" -nodeGroup: "master" - -# The service that non master groups will try to connect to when joining the cluster -# This should be set to clusterName + "-" + nodeGroup for your master group -masterService: "" - -# Elasticsearch roles that will be applied to this nodeGroup -# These will be set as environment variables. E.g. node.roles=master -# https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html#node-roles -roles: - - master - - data - - data_content - - data_hot - - data_warm - - data_cold - - ingest - - ml - - remote_cluster_client - - transform - -replicas: 3 -minimumMasterNodes: 2 - -esMajorVersion: "" - -# Allows you to add any config files in /usr/share/elasticsearch/config/ -# such as elasticsearch.yml and log4j2.properties -esConfig: - elasticsearch.yml: | - xpack.security.enabled: false - xpack.security.http.ssl.enabled: false - xpack.security.transport.ssl.enabled: false - -createCert: false - -esJvmOptions: {} -# processors.options: | -# -XX:ActiveProcessorCount=3 - -# Extra environment variables to append to this nodeGroup -# This will be appended to the current 'env:' key. You can use any of the kubernetes env -# syntax here -extraEnvs: - - name: ES_USERNAME - valueFrom: - secretKeyRef: - name: elasticsearch-master-credentials - key: username - - name: ES_PASSWORD - valueFrom: - secretKeyRef: - name: elasticsearch-master-credentials - key: password - - name: CA_CERT - value: "/usr/share/elasticsearch/config/http-certs/ca.crt" - - name: ES_URL - value: "http://elasticsearch-master:9200" - - name: TEMPLATE_PATH_1 - value: "/usr/share/elasticsearch/templates/chat_v1_idx.json" - - name: TEMPLATE_PATH_2 - value: "/usr/share/elasticsearch/templates/message_v1_idx.json" - - name: TEMPLATE_PATH_3 - value: "/usr/share/elasticsearch/templates/user_v1_idx.json" - - name: MAX_RETRIES - value: "30" - -# Allows you to load environment variables from kubernetes secret or config map -envFrom: [] -# - secretRef: -# name: env-secret -# - configMapRef: -# name: config-map - -# Disable it to use your own elastic-credential Secret. -secret: - enabled: true - password: "" # generated randomly if not defined - -# A list of secrets and their paths to mount inside the pod -# This is useful for mounting certificates for security and for mounting -# the X-Pack license -secretMounts: [] -# - name: elastic-certificates -# secretName: elastic-certificates -# path: /usr/share/elasticsearch/config/certs -# defaultMode: 0755 - -hostAliases: [] -#- ip: "127.0.0.1" -# hostnames: -# - "foo.local" -# - "bar.local" - -image: "docker.io/library/elasticsearch" -imageTag: "8.5.1" -imagePullPolicy: "IfNotPresent" - -podAnnotations: {} -# iam.amazonaws.com/role: es-cluster - -# additionals labels -labels: {} - -esJavaOpts: "" # example: "-Xmx1g -Xms1g" - -resources: - requests: - cpu: "1000m" - memory: "2Gi" - limits: - cpu: "1000m" - memory: "2Gi" - -initResources: {} -# limits: -# cpu: "25m" -# # memory: "128Mi" -# requests: -# cpu: "25m" -# memory: "128Mi" - -networkHost: "0.0.0.0" - -volumeClaimTemplate: - accessModes: ["ReadWriteOnce"] - resources: - requests: - storage: 30Gi - -rbac: - create: false - serviceAccountAnnotations: {} - serviceAccountName: "" - automountToken: true - -podSecurityPolicy: - create: false - name: "" - spec: - privileged: true - fsGroup: - rule: RunAsAny - runAsUser: - rule: RunAsAny - seLinux: - rule: RunAsAny - supplementalGroups: - rule: RunAsAny - volumes: - - secret - - configMap - - persistentVolumeClaim - - emptyDir - -persistence: - enabled: true - labels: - # Add default labels for the volumeClaimTemplate of the StatefulSet - enabled: false - annotations: {} - -extraVolumeMounts: - - name: index-template - mountPath: /usr/share/elasticsearch/templates - readOnly: true -# - name: http-cert -# mountPath: /usr/share/elasticsearch/config/http-certs -# readOnly: true - -extraContainers: [] -# - name: do-something -# image: busybox -# command: ['do', 'something'] - - -extraInitContainers: [] -# - name: es-index-init -# image: alpine/curl:latest -# command: ['/bin/sh', '-c'] -# args: -# - | -# ES_HOST="elasticsearch-master" # Match your ES service name -# ES_PORT="9200" -# ELASTIC_PASSWORD=$(cat /etc/elasticsearch-password/password) -# curl -u "elastic:${ELASTIC_PASSWORD}" -X PUT "http://${ES_HOST}:${ES_PORT}/chat_v1_idx?pretty" -H 'Content-Type: application/json' -d' -# { -# "settings": { -# "index": { -# "number_of_shards": 3, -# "number_of_replicas": 1, -# "max_ngram_diff": 2 -# }, -# "analysis": { -# "analyzer": { -# "ngram_analyzer": { -# "type": "custom", -# "tokenizer": "ngram_tokenizer", -# "filter": [ -# "lowercase" -# ] -# }, -# "standard_search_analyzer_lowercase": { -# "type": "custom", -# "tokenizer": "standard", -# "filter": [ -# "lowercase" -# ] -# } -# }, -# "tokenizer": { -# "ngram_tokenizer": { -# "type": "ngram", -# "min_gram": 3, -# "max_gram": 5, -# "token_chars": [] -# } -# }, -# "normalizer": { -# "lowercase_normalizer": { -# "type": "custom", -# "filter": [ -# "lowercase" -# ] -# } -# } -# } -# }, -# "mappings": { -# "properties": { -# "id": { -# "type": "long" -# }, -# "name": { -# "type": "keyword", -# "normalizer": "lowercase_normalizer" -# }, -# "name_ngram": { -# "type": "text", -# "analyzer": "ngram_analyzer", -# "search_analyzer": "ngram_analyzer", -# "index_options": "offsets", -# "term_vector": "with_positions_offsets" -# }, -# "description": { -# "type": "text", -# "analyzer": "standard", -# "search_analyzer": "standard_search_analyzer_lowercase", -# "index_options": "offsets", -# "term_vector": "with_positions_offsets" -# }, -# "_class": { -# "type": "text", -# "fields": { -# "keyword": { -# "ignore_above": 256.0, -# "type": "keyword" -# } -# } -# } -# } -# } -# } -# curl -u "elastic:${ELASTIC_PASSWORD}" -X PUT "http://${ES_HOST}:${ES_PORT}/message_v1_idx?pretty" -H 'Content-Type: application/json' -d' -# { -# "settings": { -# "index": { -# "number_of_shards": "3", -# "number_of_replicas": "1" -# }, -# "analysis": { -# "analyzer": { -# "edge_ngram_index_analyzer": { -# "tokenizer": "edge_ngram_index_tokenizer", -# "filter": [ -# "lowercase", -# "apostrophe", -# "classic" -# ] -# }, -# "message_search_analyzer": { -# "tokenizer": "standard" -# } -# }, -# "tokenizer": { -# "edge_ngram_index_tokenizer": { -# "type": "edge_ngram", -# "min_gram": 1, -# "max_gram": 20, -# "token_chars": [ -# "letter", -# "digit" -# ] -# } -# } -# } -# }, -# "mappings": { -# "properties": { -# "chatId": { -# "type": "long" -# }, -# "messageId": { -# "type": "long" -# }, -# "serverTime": { -# "type": "long" -# }, -# "_class": { -# "type": "text", -# "fields": { -# "keyword": { -# "ignore_above": 256.0, -# "type": "keyword" -# } -# } -# }, -# "id": { -# "type": "keyword" -# }, -# "text": { -# "type": "text", -# "analyzer": "edge_ngram_index_analyzer", -# "search_analyzer": "message_search_analyzer", -# "index_options": "offsets", -# "term_vector": "with_positions_offsets" -# } -# } -# } -# } -# curl -u "elastic:${ELASTIC_PASSWORD}" -X PUT "http://${ES_HOST}:${ES_PORT}/user_v1_idx?pretty" -H 'Content-Type: application/json' -d' -# { -# "settings": { -# "index": { -# "number_of_shards": 3, -# "number_of_replicas": 1, -# "max_ngram_diff": 2 -# }, -# "analysis": { -# "analyzer": { -# "ngram_analyzer": { -# "type": "custom", -# "tokenizer": "ngram_tokenizer", -# "filter": [ -# "lowercase" -# ] -# }, -# "standard_search_analyzer_lowercase": { -# "type": "custom", -# "tokenizer": "standard", -# "filter": [ -# "lowercase" -# ] -# } -# }, -# "tokenizer": { -# "ngram_tokenizer": { -# "type": "ngram", -# "min_gram": 3, -# "max_gram": 5, -# "token_chars": [] -# } -# }, -# "normalizer": { -# "lowercase_normalizer": { -# "type": "custom", -# "filter": [ -# "lowercase" -# ] -# } -# } -# } -# }, -# "mappings": { -# "properties": { -# "id": { -# "type": "long" -# }, -# "username": { -# "type": "keyword", -# "normalizer": "lowercase_normalizer" -# }, -# "username_ngram": { -# "type": "text", -# "analyzer": "ngram_analyzer", -# "search_analyzer": "ngram_analyzer", -# "index_options": "offsets", -# "term_vector": "with_positions_offsets" -# }, -# "nickname": { -# "type": "keyword", -# "normalizer": "lowercase_normalizer" -# }, -# "nickname_ngram": { -# "type": "text", -# "analyzer": "ngram_analyzer", -# "search_analyzer": "ngram_analyzer", -# "index_options": "offsets", -# "term_vector": "with_positions_offsets" -# }, -# "phone": { -# "type": "keyword", -# "normalizer": "lowercase_normalizer" -# }, -# "phone_ngram": { -# "type": "text", -# "analyzer": "ngram_analyzer", -# "search_analyzer": "ngram_analyzer", -# "index_options": "offsets", -# "term_vector": "with_positions_offsets" -# }, -# "email": { -# "type": "keyword", -# "normalizer": "lowercase_normalizer" -# }, -# "email_ngram": { -# "type": "text", -# "analyzer": "ngram_analyzer", -# "search_analyzer": "ngram_analyzer", -# "index_options": "offsets", -# "term_vector": "with_positions_offsets" -# }, -# "job_title": { -# "type": "keyword", -# "normalizer": "lowercase_normalizer" -# }, -# "job_title_ngram": { -# "type": "text", -# "analyzer": "ngram_analyzer", -# "search_analyzer": "ngram_analyzer", -# "index_options": "offsets", -# "term_vector": "with_positions_offsets" -# }, -# "_class": { -# "type": "text", -# "fields": { -# "keyword": { -# "ignore_above": 256.0, -# "type": "keyword" -# } -# } -# } -# } -# } -# } -# volumeMounts: -# - name: elasticsearch-password -# mountPath: /etc/elasticsearch-password -# readOnly: true - -extraVolumes: - # Mount the JSON template - - name: index-template - configMap: - name: index-template-1 - - name: http-cert - secret: - secretName: elasticsearch-master-certs - - # (Secret volume is optional; we’ll inject via envFrom) -# This is the PriorityClass settings as defined in -# https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass -priorityClassName: "" - -# By default this will make sure two pods don't end up on the same node -# Changing this to a region would allow you to spread pods across regions -antiAffinityTopologyKey: "kubernetes.io/hostname" - -# Hard means that by default pods will only be scheduled if there are enough nodes for them -# and that they will never end up on the same node. Setting this to soft will do this "best effort" -antiAffinity: "hard" - -# This is the node affinity settings as defined in -# https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#node-affinity-beta-feature -nodeAffinity: {} - -# The default is to deploy all pods serially. By setting this to parallel all pods are started at -# the same time when bootstrapping the cluster -podManagementPolicy: "Parallel" - -# The environment variables injected by service links are not used, but can lead to slow Elasticsearch boot times when -# there are many services in the current namespace. -# If you experience slow pod startups you probably want to set this to `false`. -enableServiceLinks: true - -protocol: http -httpPort: 9200 -transportPort: 9300 - -service: - enabled: true - labels: {} - labelsHeadless: {} - type: ClusterIP - # Consider that all endpoints are considered "ready" even if the Pods themselves are not - # https://kubernetes.io/docs/reference/kubernetes-api/service-resources/service-v1/#ServiceSpec - publishNotReadyAddresses: false - nodePort: "" - annotations: {} - httpPortName: http - transportPortName: transport - loadBalancerIP: "" - loadBalancerSourceRanges: [] - externalTrafficPolicy: "" - -updateStrategy: RollingUpdate - -# This is the max unavailable setting for the pod disruption budget -# The default value of 1 will make sure that kubernetes won't allow more than 1 -# of your pods to be unavailable during maintenance -maxUnavailable: 1 - -podSecurityContext: - fsGroup: 1000 - runAsUser: 1000 - -securityContext: - capabilities: - drop: - - ALL - # readOnlyRootFilesystem: true - runAsNonRoot: true - runAsUser: 1000 - -# How long to wait for elasticsearch to stop gracefully -terminationGracePeriod: 120 - -sysctlVmMaxMapCount: 262144 - -readinessProbe: - failureThreshold: 3 - initialDelaySeconds: 10 - periodSeconds: 10 - successThreshold: 3 - timeoutSeconds: 5 - -# https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-health.html#request-params wait_for_status -clusterHealthCheckParams: "wait_for_status=green&timeout=1s" - -## Use an alternate scheduler. -## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ -## -schedulerName: "" - -imagePullSecrets: [] -nodeSelector: {} -tolerations: [] - -# Enabling this will publicly expose your Elasticsearch instance. -# Only enable this if you have security enabled on your cluster -ingress: - enabled: false - annotations: {} - # kubernetes.io/ingress.class: nginx - # kubernetes.io/tls-acme: "true" - className: "nginx" - pathtype: ImplementationSpecific - hosts: - - host: chart-example.local - paths: - - path: / - tls: [] - # - secretName: chart-example-tls - # hosts: - # - chart-example.local - -nameOverride: "" -fullnameOverride: "" -healthNameOverride: "" -lifecycle: {} -postStart: - exec: - command: - - /bin/bash - - -c - - | - set -euo pipefail - echo "[postStart] Waiting for Elasticsearch to be ready..." >&2 - for ((i=1; i<=MAX_RETRIES; i++)); do - if /usr/bin/curl --cacert "$CA_CERT" -s -u "$ES_USERNAME:$ELASTIC_PASSWORD" "$ES_URL" >/dev/null; then - echo "[postStart] Elasticsearch is up after $i attempts!" >&2 - break - fi - if [ "$i" -eq "$MAX_RETRIES" ]; then - echo "[postStart] ERROR: Elasticsearch did not become ready after $MAX_RETRIES attempts." >&2 - exit 1 - fi - sleep 5 - done - echo "[postStart] Loading index template from $TEMPLATE_PATH" >&2 - if ! /usr/bin/curl --cacert "$CA_CERT" -X PUT "$ES_URL/chat" \ - -u "$ES_USERNAME:$ES_PASSWORD" \ - -H 'Content-Type: application/json' \ - --data-binary @"$TEMPLATE_PATH_1"; then - echo "[postStart] ERROR: Failed to apply index template!" >&2 - exit 1 - fi - if ! /usr/bin/curl --cacert "$CA_CERT" -X PUT "$ES_URL/message" \ - -u "$ES_USERNAME:$ELASTIC_PASSWORD" \ - -H 'Content-Type: application/json' \ - --data-binary @"$TEMPLATE_PATH_2"; then - echo "[postStart] ERROR: Failed to apply index template!" >&2 - exit 1 - fi - if ! /usr/bin/curl --cacert "$CA_CERT" -X PUT "$ES_URL/user" \ - -u "$ES_USERNAME:$ELASTIC_PASSWORD" \ - -H 'Content-Type: application/json' \ - --data-binary @"$TEMPLATE_PATH_3"; then - echo "[postStart] ERROR: Failed to apply index template!" >&2 - exit 1 - fi - echo "[postStart] Index template 'chat_v1_idx' applied." >&2 - echo "Debug message" >> /poststart.log 2>&1 - -sysctlInitContainer: - enabled: true - -keystore: [] - -networkPolicy: - ## Enable creation of NetworkPolicy resources. Only Ingress traffic is filtered for now. - ## In order for a Pod to access Elasticsearch, it needs to have the following label: - ## {{ template "uname" . }}-client: "true" - ## Example for default configuration to access HTTP port: - ## elasticsearch-master-http-client: "true" - ## Example for default configuration to access transport port: - ## elasticsearch-master-transport-client: "true" - - http: - enabled: false - ## if explicitNamespacesSelector is not set or set to {}, only client Pods being in the networkPolicy's namespace - ## and matching all criteria can reach the DB. - ## But sometimes, we want the Pods to be accessible to clients from other namespaces, in this case, we can use this - ## parameter to select these namespaces - ## - # explicitNamespacesSelector: - # # Accept from namespaces with all those different rules (only from whitelisted Pods) - # matchLabels: - # role: frontend - # matchExpressions: - # - {key: role, operator: In, values: [frontend]} - - ## Additional NetworkPolicy Ingress "from" rules to set. Note that all rules are OR-ed. - ## - # additionalRules: - # - podSelector: - # matchLabels: - # role: frontend - # - podSelector: - # matchExpressions: - # - key: role - # operator: In - # values: - # - frontend - - transport: - ## Note that all Elasticsearch Pods can talk to themselves using transport port even if enabled. - enabled: false - # explicitNamespacesSelector: - # matchLabels: - # role: frontend - # matchExpressions: - # - {key: role, operator: In, values: [frontend]} - # additionalRules: - # - podSelector: - # matchLabels: - # role: frontend - # - podSelector: - # matchExpressions: - # - key: role - # operator: In - # values: - # - frontend - -tests: - enabled: true diff --git a/cw-infra-apps-nubes/grafana/Chart.yaml b/cw-infra-apps-nubes/grafana/Chart.yaml deleted file mode 100755 index 2845ff5..0000000 --- a/cw-infra-apps-nubes/grafana/Chart.yaml +++ /dev/null @@ -1,91 +0,0 @@ ---- -apiVersion: v2 -name: k8s-monitoring -description: Capture all telemetry data from your Kubernetes cluster. -type: application -icon: https://raw.githubusercontent.com/grafana/grafana/main/public/img/grafana_icon.svg -sources: - - https://github.com/grafana/k8s-monitoring-helm/tree/main/charts/k8s-monitoring -version: 2.0.26 -appVersion: 2.0.26 -maintainers: - - email: pete.wall@grafana.com - name: petewall - - email: robert.lankford@grafana.com - name: rlankfo -dependencies: - - alias: annotationAutodiscovery - name: feature-annotation-autodiscovery - repository: "" - version: 1.0.0 - condition: annotationAutodiscovery.enabled - - alias: applicationObservability - name: feature-application-observability - repository: "" - version: 1.0.0 - condition: applicationObservability.enabled - - alias: autoInstrumentation - name: feature-auto-instrumentation - repository: "" - version: 1.0.0 - condition: autoInstrumentation.enabled - - alias: clusterEvents - name: feature-cluster-events - repository: "" - version: 1.0.0 - condition: clusterEvents.enabled - - alias: clusterMetrics - name: feature-cluster-metrics - repository: "" - version: 1.0.0 - condition: clusterMetrics.enabled - - alias: integrations - name: feature-integrations - repository: "" - version: 1.0.0 - - alias: nodeLogs - name: feature-node-logs - repository: "" - version: 1.0.0 - condition: nodeLogs.enabled - - alias: podLogs - name: feature-pod-logs - repository: "" - version: 1.0.0 - condition: podLogs.enabled - - alias: profiling - name: feature-profiling - repository: "" - version: 1.0.0 - condition: profiling.enabled - - alias: prometheusOperatorObjects - name: feature-prometheus-operator-objects - repository: "" - version: 1.0.0 - condition: prometheusOperatorObjects.enabled - - - alias: alloy-metrics - name: alloy - version: 1.0.2 - repository: https://grafana.github.io/helm-charts - condition: alloy-metrics.enabled - - alias: alloy-singleton - name: alloy - version: 1.0.2 - repository: https://grafana.github.io/helm-charts - condition: alloy-singleton.enabled - - alias: alloy-logs - name: alloy - version: 1.0.2 - repository: https://grafana.github.io/helm-charts - condition: alloy-logs.enabled - - alias: alloy-receiver - name: alloy - version: 1.0.2 - repository: https://grafana.github.io/helm-charts - condition: alloy-receiver.enabled - - alias: alloy-profiles - name: alloy - version: 1.0.2 - repository: https://grafana.github.io/helm-charts - condition: alloy-profiles.enabled diff --git a/cw-infra-apps-nubes/grafana/charts/alloy-1.0.2.tgz b/cw-infra-apps-nubes/grafana/charts/alloy-1.0.2.tgz deleted file mode 100755 index 5b7c317..0000000 Binary files a/cw-infra-apps-nubes/grafana/charts/alloy-1.0.2.tgz and /dev/null differ diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/.helmignore b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/.helmignore deleted file mode 100755 index 2b29eaf..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/.helmignore +++ /dev/null @@ -1,6 +0,0 @@ -docs -schema-mods -tests -Makefile -README.md -README.md.gotmpl diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/Chart.lock b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/Chart.lock deleted file mode 100755 index b89222e..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/Chart.lock +++ /dev/null @@ -1,3 +0,0 @@ -dependencies: [] -digest: sha256:643d5437104296e21d906ecb15b2c96ad278f20cfc4af53b12bb6069bd853726 -generated: "2024-09-25T13:45:54.706765-05:00" diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/Chart.yaml b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/Chart.yaml deleted file mode 100755 index 55e724d..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/Chart.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -apiVersion: v2 -name: feature-annotation-autodiscovery -description: Gathers metrics automatically based on Kubernetes Pod and Service annotations -icon: https://raw.githubusercontent.com/grafana/grafana/main/public/img/grafana_icon.svg -sources: - - https://github.com/grafana/k8s-monitoring-helm/tree/main/charts/k8s-monitoring/charts/feature-annotation-autodiscovery -version: 1.0.0 -appVersion: 1.0.0 -maintainers: - - email: pete.wall@grafana.com - name: petewall -dependencies: [] diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/Makefile b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/Makefile deleted file mode 100755 index 107caf8..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/Makefile +++ /dev/null @@ -1,34 +0,0 @@ -HAS_HELM_DOCS := $(shell command -v helm-docs;) -HAS_HELM_UNITTEST := $(shell helm plugin list | grep unittest 2> /dev/null) - -.SECONDEXPANSION: -README.md: values.yaml Chart.yaml $$(wildcard README.md.gotmpl) -ifdef HAS_HELM_DOCS - helm-docs -else - docker run --rm --volume "$(shell pwd):/helm-docs" -u $(shell id -u) jnorwood/helm-docs:latest -endif - -Chart.lock: Chart.yaml - helm dependency update . - @touch Chart.lock # Ensure the timestamp is updated - -values.schema.json: values.yaml $$(wildcard schema-mods/*) - ../../../../scripts/schema-gen.sh . - -.PHONY: clean -clean: - rm -f README.md values.schema.json - -.PHONY: build -build: README.md Chart.lock values.schema.json - -.PHONY: test -test: build - helm lint . - ct lint --lint-conf ../../../../.configs/lintconf.yaml --helm-dependency-extra-args=--skip-refresh --charts . -ifdef HAS_HELM_UNITTEST - helm unittest . -else - docker run --rm --volume $(shell pwd):/apps helmunittest/helm-unittest:3.17.0-0.7.1 . -endif diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/README.md b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/README.md deleted file mode 100755 index d0b74d4..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/README.md +++ /dev/null @@ -1,144 +0,0 @@ - - -# feature-annotation-autodiscovery - -![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: 1.0.0](https://img.shields.io/badge/AppVersion-1.0.0-informational?style=flat-square) -Gathers metrics automatically based on Kubernetes Pod and Service annotations - -The annotation-based autodiscovery feature adds scrape targets based on Kubernetes annotations. - -## How it works - -With this feature enabled, any Kubernetes Pods or Services with the `k8s.grafana.com/scrape` annotation set to `true` will be automatically discovered -and scraped by the collector. - -You can use several other annotations to customize the behavior of the scrape configuration, such as: - -* `k8s.grafana.com/job`: The value to use for the `job` label. -* `k8s.grafana.com/instance`: The value to use for the `instance` label. -* `k8s.grafana.com/metrics.path`: The path to scrape for metrics. Defaults to `/metrics`. -* `k8s.grafana.com/metrics.portNumber`: The port on the Pod or Service to scrape for metrics. This is used to target a specific port by its number, rather than all ports. -* `k8s.grafana.com/metrics.portName`: The named port on the Pod or Service to scrape for metrics. This is used to target a specific port by its name, rather than all ports. -* `k8s.grafana.com/metrics.scheme`: The scheme to use when scraping metrics. Defaults to `http`. -* `k8s.grafana.com/metrics.scrapeInterval`: The scrape interval to use when scraping metrics. Defaults to `60s`. - -## Testing - -This chart contains unit tests to verify the generated configuration. The hidden value `deployAsConfigMap` will render -the generated configuration into a ConfigMap object. While this ConfigMap is not used during regular operation, you can -use it to show the outcome of a given values file. - -The unit tests use this ConfigMap to create an object with the configuration that can be asserted against. To run the -tests, use `helm test`. - -Be sure perform actual integration testing in a live environment in the main [k8s-monitoring](../..) chart. - -## Maintainers - -| Name | Email | Url | -| ---- | ------ | --- | -| petewall | | | - - -## Source Code - -* - - - -## Values - -### Annotations - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| annotations.instance | string | `"k8s.grafana.com/instance"` | Annotation for overriding the instance label | -| annotations.job | string | `"k8s.grafana.com/job"` | Annotation for overriding the job label | -| annotations.metricsContainer | string | `"k8s.grafana.com/metrics.container"` | Annotation for selecting the specific container to scrape. | -| annotations.metricsParam | string | `"k8s.grafana.com/metrics.param"` | Annotation for setting `__param_` parameters when scraping. Example: `k8s.grafana.com/metrics.param_key: "value"`. | -| annotations.metricsPath | string | `"k8s.grafana.com/metrics.path"` | Annotation for setting or overriding the metrics path. If not set, it defaults to /metrics | -| annotations.metricsPortName | string | `"k8s.grafana.com/metrics.portName"` | Annotation for setting the metrics port by name. | -| annotations.metricsPortNumber | string | `"k8s.grafana.com/metrics.portNumber"` | Annotation for setting the metrics port by number. | -| annotations.metricsScheme | string | `"k8s.grafana.com/metrics.scheme"` | Annotation for setting the metrics scheme, default: http. | -| annotations.metricsScrapeInterval | string | `"k8s.grafana.com/metrics.scrapeInterval"` | Annotation for overriding the scrape interval for this service or pod. Value should be a duration like "15s, 1m". Overrides metrics.autoDiscover.scrapeInterval | -| annotations.metricsScrapeTimeout | string | `"k8s.grafana.com/metrics.scrapeTimeout"` | Annotation for overriding the scrape timeout for this service or pod. Value should be a duration like "15s, 1m". Overrides metrics.autoDiscover.scrapeTimeout | -| annotations.scrape | string | `"k8s.grafana.com/scrape"` | Annotation for enabling scraping for this service or pod. Value should be either "true" or "false" | - -### Scrape Settings - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| bearerToken | object | `{"enabled":true,"token":"/var/run/secrets/kubernetes.io/serviceaccount/token"}` | Sets bearer_token_file line in the prometheus.scrape annotation_autodiscovery. | -| scrapeInterval | string | 60s | How frequently to scrape metrics from discovered pods and services. Only used if the `k8s.grafana.com/metrics.scrapeInterval` annotation is not set. Overrides global.scrapeInterval | -| scrapeTimeout | string | 10s | The scrape timeout for discovered pods and services. Only used if the `k8s.grafana.com/metrics.scrapeTimeout` annotation is not set. Overrides global.scrapeTimeout | - -### Discovery Settings - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| excludeNamespaces | list | `[]` | The list of namespaces to exclude from autodiscovery. | -| extraDiscoveryRules | string | `""` | Rule blocks to be added to the discovery.relabel component for discovered pods and services. These relabeling rules are applied pre-scrape against the targets from service discovery. Before the scrape, any remaining target labels that start with `__` (i.e. `__meta_kubernetes*`) are dropped. ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) | -| labelSelectors | object | `{}` | Filter the list of discovered pods and services by labels. Example: `labelSelectors: { 'app': 'myapp' }` will only discover pods and services with the label `app=myapp`. Example: `labelSelectors: { 'app': ['myapp', 'myotherapp'] }` will only discover pods and services with the label `app=myapp` or `app=myotherapp`. | -| namespaces | list | `[]` | The list of namespaces to include in autodiscovery. If empty, all namespaces are included. | - -### Metric Processing Settings - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| extraMetricProcessingRules | string | `""` | Rule blocks to be added to the prometheus.relabel component for discovered pods and services. These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) | -| maxCacheSize | string | `nil` | Sets the max_cache_size for cadvisor prometheus.relabel component. This should be at least 2x-5x your largest scrape target or samples appended rate. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) Overrides global.maxCacheSize | -| metricsTuning.excludeMetrics | list | `[]` | Metrics to drop. Can use regular expressions. | -| metricsTuning.includeMetrics | list | `[]` | Metrics to keep. Can use regular expressions. | - -### General settings - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| fullnameOverride | string | `""` | Full name override | -| nameOverride | string | `""` | Name override | - -### Global Settings - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| global.maxCacheSize | int | `100000` | Sets the max_cache_size for every prometheus.relabel component. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) This should be at least 2x-5x your largest scrape target or samples appended rate. | -| global.scrapeInterval | string | `"60s"` | How frequently to scrape metrics. | -| global.scrapeTimeout | string | `"10s"` | The scrape timeout for discovered pods and services. | - -### Pod Discovery Settings - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| pods.enabled | bool | `true` | Enable discovering Pods with annotations. | -| pods.labelSelectors | object | `{}` | Filter the list of discovered Pods by labels. Example: `labelSelectors: { 'app': 'myapp' }` will only discover Pods with the label `app=myapp`. Example: `labelSelectors: { 'app': ['myapp', 'myotherapp'] }` will only discover Pods with the label `app=myapp` or `app=myotherapp`. | - -### Pod Metric Processing Settings - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| pods.labels | object | `{}` | Add labels to metrics from discovered Pods. Runs during discovery, so __meta_ labels are available. See the [documentation](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.kubernetes/#pod-role) for the full list of meta labels. | -| pods.staticLabels | object | `{}` | Metric labels to set with static data for discovered Pods. | -| pods.staticLabelsFrom | object | `{}` | Static labels to set on metrics from discovered Pods, not quoted so it can reference config components. | - -### Services - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| services.enabled | bool | `true` | Enable discovering Services with annotations. | - -### Service Discovery Settings - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| services.labelSelectors | object | `{}` | Filter the list of discovered Services by labels. Example: `labelSelectors: { 'app': 'myapp' }` will only discover Services with the label `app=myapp`. Example: `labelSelectors: { 'app': ['myapp', 'myotherapp'] }` will only discover Services with the label `app=myapp` or `app=myotherapp`. | - -### Service Metric Processing Settings - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| services.labels | object | `{}` | Add labels to metrics from discovered Services. Run during discovery, so __meta_ labels are available. See the [documentation](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.kubernetes/#service-role) for the full list of meta labels. | -| services.staticLabels | object | `{}` | Metric labels to set with static data for discovered Services. | -| services.staticLabelsFrom | object | `{}` | Static labels to set on metrics from discovered Services, not quoted so it can reference config components. | diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/README.md.gotmpl b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/README.md.gotmpl deleted file mode 100755 index 7fea4b6..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/README.md.gotmpl +++ /dev/null @@ -1,47 +0,0 @@ - - -{{ template "chart.header" . }} -{{ template "chart.deprecationWarning" . }} -{{ template "chart.badgesSection" . }} -{{ template "chart.description" . }} -{{ template "chart.homepageLine" . }} - -The annotation-based autodiscovery feature adds scrape targets based on Kubernetes annotations. - -## How it works - -With this feature enabled, any Kubernetes Pods or Services with the `k8s.grafana.com/scrape` annotation set to `true` will be automatically discovered -and scraped by the collector. - -You can use several other annotations to customize the behavior of the scrape configuration, such as: - -* `k8s.grafana.com/job`: The value to use for the `job` label. -* `k8s.grafana.com/instance`: The value to use for the `instance` label. -* `k8s.grafana.com/metrics.path`: The path to scrape for metrics. Defaults to `/metrics`. -* `k8s.grafana.com/metrics.portNumber`: The port on the Pod or Service to scrape for metrics. This is used to target a specific port by its number, rather than all ports. -* `k8s.grafana.com/metrics.portName`: The named port on the Pod or Service to scrape for metrics. This is used to target a specific port by its name, rather than all ports. -* `k8s.grafana.com/metrics.scheme`: The scheme to use when scraping metrics. Defaults to `http`. -* `k8s.grafana.com/metrics.scrapeInterval`: The scrape interval to use when scraping metrics. Defaults to `60s`. - -## Testing - -This chart contains unit tests to verify the generated configuration. The hidden value `deployAsConfigMap` will render -the generated configuration into a ConfigMap object. While this ConfigMap is not used during regular operation, you can -use it to show the outcome of a given values file. - -The unit tests use this ConfigMap to create an object with the configuration that can be asserted against. To run the -tests, use `helm test`. - -Be sure perform actual integration testing in a live environment in the main [k8s-monitoring](../..) chart. - -{{ template "chart.maintainersSection" . }} - - -{{ template "chart.sourcesSection" . }} - - -{{ template "chart.requirementsSection" . }} -{{ template "chart.valuesSection" . }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/templates/_helpers.tpl b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/templates/_helpers.tpl deleted file mode 100755 index b96319f..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/templates/_helpers.tpl +++ /dev/null @@ -1,37 +0,0 @@ -{{/* -Create a default fully qualified 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 "feature.annotationAutodiscovery.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" | lower }} -{{- else }} -{{- $name := default .Chart.Name .Values.nameOverride | lower }} -{{- if contains $name .Release.Name }} -{{- .Release.Name | trunc 63 | trimSuffix "-" | lower }} -{{- else }} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" | lower }} -{{- end }} -{{- end }} -{{- end }} - -{{- define "escape_label_or_annotation" -}} -{{ . | replace "-" "_" | replace "." "_" | replace "/" "_" }} -{{- end }} - -{{- define "pod_annotation" -}} -{{ printf "__meta_kubernetes_pod_annotation_%s" (include "escape_label_or_annotation" .) }} -{{- end }} - -{{- define "pod_label" -}} -{{ printf "__meta_kubernetes_pod_label_%s" (include "escape_label_or_annotation" .) }} -{{- end }} - -{{- define "service_annotation" -}} -{{ printf "__meta_kubernetes_service_annotation_%s" (include "escape_label_or_annotation" .) }} -{{- end }} - -{{- define "service_label" -}} -{{ printf "__meta_kubernetes_service_label_%s" (include "escape_label_or_annotation" .) }} -{{- end }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/templates/_module.alloy.tpl b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/templates/_module.alloy.tpl deleted file mode 100755 index c908e8d..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/templates/_module.alloy.tpl +++ /dev/null @@ -1,139 +0,0 @@ -{{- define "feature.annotationAutodiscovery.module" }} -declare "annotation_autodiscovery" { - argument "metrics_destinations" { - comment = "Must be a list of metric destinations where collected metrics should be forwarded to" - } -{{- if .Values.pods.enabled }} - {{- include "feature.annotationAutodiscovery.pods" . | indent 2 }} -{{- end }} -{{- if .Values.services.enabled }} -{{- include "feature.annotationAutodiscovery.services" . | indent 2 }} -{{- end }} - -{{- $targets := list }} -{{- if .Values.pods.enabled }} - {{- $targets = append $targets "discovery.relabel.annotation_autodiscovery_pods.output" }} -{{- end }} -{{- if .Values.services.enabled }} - {{- $targets = append $targets "discovery.relabel.annotation_autodiscovery_services.output" }} -{{- end }} - - discovery.relabel "annotation_autodiscovery_http" { - targets = array.concat({{ $targets | join ", " }}) - rule { - source_labels = ["__scheme__"] - regex = "https" - action = "drop" - } - } - - discovery.relabel "annotation_autodiscovery_https" { - targets = array.concat({{ $targets | join ", " }}) - rule { - source_labels = ["__scheme__"] - regex = "https" - action = "keep" - } - } - - prometheus.scrape "annotation_autodiscovery_http" { - targets = discovery.relabel.annotation_autodiscovery_http.output - honor_labels = true -{{- if .Values.bearerToken.enabled }} - bearer_token_file = {{ .Values.bearerToken.token | quote }} -{{- end }} - clustering { - enabled = true - } -{{- $metricRelabelRulesNeeded := or .Values.metricsTuning.includeMetrics .Values.metricsTuning.excludeMetrics .Values.extraMetricProcessingRules }} -{{- $metricRelabelRulesNeeded = or $metricRelabelRulesNeeded (and .Values.pods.enabled (or .Values.pods.staticLabels .Values.pods.staticLabelsFrom)) }} -{{- $metricRelabelRulesNeeded = or $metricRelabelRulesNeeded (and .Values.services.enabled (or .Values.services.staticLabels .Values.services.staticLabelsFrom)) }} -{{ if $metricRelabelRulesNeeded }} - forward_to = [prometheus.relabel.annotation_autodiscovery.receiver] -{{- else }} - forward_to = argument.metrics_destinations.value -{{- end }} - } - - prometheus.scrape "annotation_autodiscovery_https" { - targets = discovery.relabel.annotation_autodiscovery_https.output - honor_labels = true -{{- if .Values.bearerToken.enabled }} - bearer_token_file = {{ .Values.bearerToken.token | quote }} -{{- end }} - tls_config { - insecure_skip_verify = true - } - clustering { - enabled = true - } -{{ if $metricRelabelRulesNeeded }} - forward_to = [prometheus.relabel.annotation_autodiscovery.receiver] - } - - prometheus.relabel "annotation_autodiscovery" { - max_cache_size = {{ .Values.maxCacheSize | default .Values.global.maxCacheSize | int }} -{{- if .Values.metricsTuning.includeMetrics }} - rule { - source_labels = ["__name__"] - regex = "up|scrape_samples_scraped|{{ join "|" .Values.metricsTuning.includeMetrics }}" - action = "keep" - } -{{- end }} -{{- if .Values.metricsTuning.excludeMetrics }} - rule { - source_labels = ["__name__"] - regex = {{ join "|" .Values.metricsTuning.excludeMetrics | quote }} - action = "drop" - } -{{- end }} -{{- if .Values.pods.enabled }} -{{- range $k, $v := .Values.pods.staticLabels }} - rule { - source_labels = ["temp_source"] - regex = "pod" - target_label = {{ $k | quote }} - replacement = {{ $v | quote }} - } -{{- end }} -{{- range $k, $v := .Values.pods.staticLabelsFrom }} - rule { - source_labels = ["temp_source"] - regex = "pod" - target_label = {{ $k | quote }} - replacement = {{ $v }} - } -{{- end }} -{{- end }} -{{- if .Values.services.enabled }} -{{- range $k, $v := .Values.services.staticLabels }} - rule { - source_labels = ["temp_source"] - regex = "service" - target_label = {{ $k | quote }} - replacement = {{ $v | quote }} - } -{{- end }} -{{- range $k, $v := .Values.services.staticLabelsFrom }} - rule { - source_labels = ["temp_source"] - regex = "service" - target_label = {{ $k | quote }} - replacement = {{ $v }} - } -{{- end }} -{{- end }} - rule { - action = "labeldrop" - regex = "temp_source" - } -{{- if .Values.extraMetricProcessingRules }} -{{ .Values.extraMetricProcessingRules | indent 4 }} -{{- end }} -{{- end }} - forward_to = argument.metrics_destinations.value - } -} -{{- end -}} - -{{- define "feature.annotationAutodiscovery.alloyModules" }}{{- end }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/templates/_notes.tpl b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/templates/_notes.tpl deleted file mode 100755 index 94939a7..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/templates/_notes.tpl +++ /dev/null @@ -1,11 +0,0 @@ -{{- define "feature.annotationAutodiscovery.notes.deployments" }}{{- end }} - -{{- define "feature.annotationAutodiscovery.notes.task" }} -Scrape metrics from pods and services with the "{{.Values.annotations.scrape}}: true" annotation -{{- end }} - -{{- define "feature.annotationAutodiscovery.notes.actions" }}{{- end }} - -{{- define "feature.annotationAutodiscovery.summary" -}} -version: {{ .Chart.Version }} -{{- end }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/templates/_pods.alloy.tpl b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/templates/_pods.alloy.tpl deleted file mode 100755 index e87c3bd..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/templates/_pods.alloy.tpl +++ /dev/null @@ -1,193 +0,0 @@ -{{- define "feature.annotationAutodiscovery.pods" }} - -discovery.kubernetes "pods" { - role = "pod" -{{- if .Values.namespaces }} - namespaces { - names = {{ .Values.namespaces | toJson }} - } -{{- end }} -{{- $labelSelectors := list }} -{{- range $k, $v := .Values.labelSelectors }} - {{- if kindIs "slice" $v }} - {{- $labelSelectors = append $labelSelectors (printf "%s in (%s)" $k (join "," $v)) }} - {{- else }} - {{- $labelSelectors = append $labelSelectors (printf "%s=%s" $k $v) }} - {{- end }} -{{- end }} -{{- range $k, $v := .Values.pods.labelSelectors }} - {{- if kindIs "slice" $v }} - {{- $labelSelectors = append $labelSelectors (printf "%s in (%s)" $k (join "," $v)) }} - {{- else }} - {{- $labelSelectors = append $labelSelectors (printf "%s=%s" $k $v) }} - {{- end }} -{{- end }} -{{- if $labelSelectors }} - selectors { - role = "pod" - label = {{ $labelSelectors | join "," | quote }} - } -{{- end }} -} - -discovery.relabel "annotation_autodiscovery_pods" { - targets = discovery.kubernetes.pods.targets -{{- if .Values.excludeNamespaces }} - rule { - source_labels = ["__meta_kubernetes_namespace"] - regex = "{{ join "|" .Values.excludeNamespaces }}" - action = "drop" - } -{{- end }} - rule { - source_labels = ["{{ include "pod_annotation" .Values.annotations.scrape }}"] - regex = "true" - action = "keep" - } - // Only keep pods that are running, ready, and not init containers. - rule { - source_labels = [ - "__meta_kubernetes_pod_phase", - "__meta_kubernetes_pod_ready", - "__meta_kubernetes_pod_container_init", - ] - regex = "Running;true;false" - action = "keep" - } - rule { - source_labels = ["__meta_kubernetes_pod_name"] - target_label = "pod" - } - rule { - source_labels = ["__meta_kubernetes_pod_container_name"] - target_label = "container" - } - rule { - source_labels = ["__meta_kubernetes_namespace"] - target_label = "namespace" - } - rule { - source_labels = ["{{ include "pod_annotation" .Values.annotations.job }}"] - target_label = "job" - } - rule { - source_labels = ["{{ include "pod_annotation" .Values.annotations.instance }}"] - target_label = "instance" - } - - // Rules to choose the right container - rule { - source_labels = ["container"] - target_label = "__tmp_container" - } - rule { - source_labels = ["{{ include "pod_annotation" .Values.annotations.metricsContainer }}"] - regex = "(.+)" - target_label = "__tmp_container" - } - rule { - source_labels = ["container"] - action = "keepequal" - target_label = "__tmp_container" - } - rule { - action = "labeldrop" - regex = "__tmp_container" - } - - // Set metrics path - rule { - source_labels = ["{{ include "pod_annotation" .Values.annotations.metricsPath }}"] - regex = "(.+)" - target_label = "__metrics_path__" - } - - // Set metrics scraping URL parameters - rule { - action = "labelmap" - regex = "{{ include "pod_annotation" .Values.annotations.metricsParam }}_(.+)" - replacement = "__param_$1" - } - - // Choose the pod port - // The discovery generates a target for each declared container port of the pod. - // If the metricsPortName annotation has value, keep only the target where the port name matches the one of the annotation. - rule { - source_labels = ["__meta_kubernetes_pod_container_port_name"] - target_label = "__tmp_port" - } - rule { - source_labels = ["{{ include "pod_annotation" .Values.annotations.metricsPortName }}"] - regex = "(.+)" - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_pod_container_port_name"] - action = "keepequal" - target_label = "__tmp_port" - } - rule { - action = "labeldrop" - regex = "__tmp_port" - } - - // If the metrics port number annotation has a value, override the target address to use it, regardless whether it is - // one of the declared ports on that Pod. - rule { - source_labels = ["{{ include "pod_annotation" .Values.annotations.metricsPortNumber }}", "__meta_kubernetes_pod_ip"] - regex = "(\\d+);(([A-Fa-f0-9]{1,4}::?){1,7}[A-Fa-f0-9]{1,4})" - replacement = "[$2]:$1" // IPv6 - target_label = "__address__" - } - rule { - source_labels = ["{{ include "pod_annotation" .Values.annotations.metricsPortNumber }}", "__meta_kubernetes_pod_ip"] - regex = "(\\d+);((([0-9]+?)(\\.|$)){4})" // IPv4, takes priority over IPv6 when both exists - replacement = "$2:$1" - target_label = "__address__" - } - - rule { - source_labels = ["{{ include "pod_annotation" .Values.annotations.metricsScheme }}"] - regex = "(.+)" - target_label = "__scheme__" - } - - rule { - source_labels = ["{{ include "pod_annotation" .Values.annotations.metricsScrapeInterval }}"] - regex = "(.+)" - target_label = "__scrape_interval__" - } - rule { - source_labels = ["__scrape_interval__"] - regex = "" - replacement = {{ .Values.scrapeInterval | default .Values.global.scrapeInterval | quote }} - target_label = "__scrape_interval__" - } - rule { - source_labels = ["{{ include "pod_annotation" .Values.annotations.metricsScrapeTimeout }}"] - regex = "(.+)" - target_label = "__scrape_timeout__" - } - rule { - source_labels = ["__scrape_timeout__"] - regex = "" - replacement = {{ .Values.scrapeTimeout | default .Values.global.scrapeTimeout | quote }} - target_label = "__scrape_timeout__" - } -{{- range $metricLabel, $k8sLabel := .Values.pods.labels }} - rule { - source_labels = ["{{ include "pod_label" $k8sLabel }}"] - target_label = "{{ $metricLabel }}" - } -{{- end }} -{{- if or .Values.pods.staticLabels .Values.pods.staticLabelsFrom }} - rule { - target_label = "temp_source" - replacement = "pod" - } -{{- end }} -{{- if .Values.extraDiscoveryRules }} -{{ .Values.extraDiscoveryRules | indent 4 }} -{{- end }} -} -{{- end -}} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/templates/_services.alloy.tpl b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/templates/_services.alloy.tpl deleted file mode 100755 index 74dee0e..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/templates/_services.alloy.tpl +++ /dev/null @@ -1,156 +0,0 @@ -{{- define "feature.annotationAutodiscovery.services" }} - -discovery.kubernetes "services" { - role = "service" -{{- if .Values.namespaces }} - namespaces { - names = {{ .Values.namespaces | toJson }} - } -{{- end }} -{{- $labelSelectors := list }} -{{- range $k, $v := .Values.labelSelectors }} - {{- if kindIs "slice" $v }} - {{- $labelSelectors = append $labelSelectors (printf "%s in (%s)" $k (join "," $v)) }} - {{- else }} - {{- $labelSelectors = append $labelSelectors (printf "%s=%s" $k $v) }} - {{- end }} -{{- end }} -{{- range $k, $v := .Values.services.labelSelectors }} - {{- if kindIs "slice" $v }} - {{- $labelSelectors = append $labelSelectors (printf "%s in (%s)" $k (join "," $v)) }} - {{- else }} - {{- $labelSelectors = append $labelSelectors (printf "%s=%s" $k $v) }} - {{- end }} -{{- end }} -{{- if $labelSelectors }} - selectors { - role = "service" - label = {{ $labelSelectors | join "," | quote }} - } -{{- end }} -} - -discovery.relabel "annotation_autodiscovery_services" { - targets = discovery.kubernetes.services.targets -{{- if .Values.excludeNamespaces }} - rule { - source_labels = ["__meta_kubernetes_namespace"] - regex = "{{ join "|" .Values.excludeNamespaces }}" - action = "drop" - } -{{- end }} - rule { - source_labels = ["{{ include "service_annotation" .Values.annotations.scrape }}"] - regex = "true" - action = "keep" - } - rule { - source_labels = ["__meta_kubernetes_service_name"] - target_label = "service" - } - rule { - source_labels = ["__meta_kubernetes_namespace"] - target_label = "namespace" - } - rule { - source_labels = ["{{ include "service_annotation" .Values.annotations.job }}"] - target_label = "job" - } - rule { - source_labels = ["{{ include "service_annotation" .Values.annotations.instance }}"] - target_label = "instance" - } - - // Set metrics path - rule { - source_labels = ["{{ include "service_annotation" .Values.annotations.metricsPath }}"] - target_label = "__metrics_path__" - } - - // Set metrics scraping URL parameters - rule { - action = "labelmap" - regex = "{{ include "service_annotation" .Values.annotations.metricsParam }}_(.+)" - replacement = "__param_$1" - } - - // Choose the service port - rule { - source_labels = ["__meta_kubernetes_service_port_name"] - target_label = "__tmp_port" - } - rule { - source_labels = ["{{ include "service_annotation" .Values.annotations.metricsPortName }}"] - regex = "(.+)" - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_service_port_name"] - action = "keepequal" - target_label = "__tmp_port" - } - - rule { - source_labels = ["__meta_kubernetes_service_port_number"] - target_label = "__tmp_port" - } - rule { - source_labels = ["{{ include "service_annotation" .Values.annotations.metricsPortNumber }}"] - regex = "(.+)" - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_service_port_number"] - action = "keepequal" - target_label = "__tmp_port" - } - rule { - action = "labeldrop" - regex = "__tmp_port" - } - - rule { - source_labels = ["{{ include "service_annotation" .Values.annotations.metricsScheme }}"] - regex = "(.+)" - target_label = "__scheme__" - } - - rule { - source_labels = ["{{ include "service_annotation" .Values.annotations.metricsScrapeInterval }}"] - regex = "(.+)" - target_label = "__scrape_interval__" - } - rule { - source_labels = ["__scrape_interval__"] - regex = "" - replacement = {{ .Values.scrapeInterval | default .Values.global.scrapeInterval | quote }} - target_label = "__scrape_interval__" - } - rule { - source_labels = ["{{ include "service_annotation" .Values.annotations.metricsScrapeTimeout }}"] - regex = "(.+)" - target_label = "__scrape_timeout__" - } - rule { - source_labels = ["__scrape_timeout__"] - regex = "" - replacement = {{ .Values.scrapeTimeout | default .Values.global.scrapeTimeout | quote }} - target_label = "__scrape_timeout__" - } -{{- range $metricLabel, $k8sLabel := .Values.services.labels }} - rule { - source_labels = ["{{ include "service_label" $k8sLabel }}"] - target_label = "{{ $metricLabel }}" - } -{{- end }} -{{- if or .Values.pods.staticLabels .Values.pods.staticLabelsFrom }} - rule { - target_label = "temp_source" - replacement = "service" - } -{{- end }} -{{- if .Values.extraDiscoveryRules }} -{{ .Values.extraDiscoveryRules | indent 4 }} -{{- end }} -} -{{- end -}} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/templates/_validation.tpl b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/templates/_validation.tpl deleted file mode 100755 index f47df11..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/templates/_validation.tpl +++ /dev/null @@ -1,14 +0,0 @@ -{{- define "feature.annotationAutodiscovery.validate" }} -{{- if and (not .Values.pods.enabled) (not .Values.services.enabled) }} - {{- $msg := list "" "Either Pods or Services must be enabled for this feature to work." }} - {{- $msg = append $msg "Please enable one or both. For example:" }} - {{- $msg = append $msg "annotationAutodiscovery:" }} - {{- $msg = append $msg " pods:" }} - {{- $msg = append $msg " enabled: true" }} - {{- $msg = append $msg "AND/OR" }} - {{- $msg = append $msg " services:" }} - {{- $msg = append $msg " enabled: true" }} - {{- $msg = append $msg "See https://github.com/grafana/k8s-monitoring-helm/tree/main/charts/k8s-monitoring/charts/feature-annotation-autodiscovery for more details." }} - {{- fail (join "\n" $msg) }} -{{- end }} -{{- end }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/templates/configmap.yaml b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/templates/configmap.yaml deleted file mode 100755 index 3c9fe9e..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/templates/configmap.yaml +++ /dev/null @@ -1,13 +0,0 @@ -{{- if .Values.deployAsConfigMap }} -{{- $alloyConfig := include "feature.annotationAutodiscovery.module" . }} -{{- $alloyConfig = regexReplaceAll `[ \t]+(\r?\n)` $alloyConfig "\n" }} ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ include "feature.annotationAutodiscovery.fullname" . }} - namespace: {{ .Release.Namespace }} -data: - module.alloy: |- - {{- $alloyConfig | trim | nindent 4 }} -{{- end }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/__snapshot__/.gitkeep b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/__snapshot__/.gitkeep deleted file mode 100755 index e69de29..0000000 diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/__snapshot__/default_test.yaml.snap b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/__snapshot__/default_test.yaml.snap deleted file mode 100755 index 7030dd8..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/__snapshot__/default_test.yaml.snap +++ /dev/null @@ -1,300 +0,0 @@ -creates a module with default discovery, scraping, and processing configurations: - 1: | - |- - declare "annotation_autodiscovery" { - argument "metrics_destinations" { - comment = "Must be a list of metric destinations where collected metrics should be forwarded to" - } - - discovery.kubernetes "pods" { - role = "pod" - } - - discovery.relabel "annotation_autodiscovery_pods" { - targets = discovery.kubernetes.pods.targets - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_scrape"] - regex = "true" - action = "keep" - } - // Only keep pods that are running, ready, and not init containers. - rule { - source_labels = [ - "__meta_kubernetes_pod_phase", - "__meta_kubernetes_pod_ready", - "__meta_kubernetes_pod_container_init", - ] - regex = "Running;true;false" - action = "keep" - } - rule { - source_labels = ["__meta_kubernetes_pod_name"] - target_label = "pod" - } - rule { - source_labels = ["__meta_kubernetes_pod_container_name"] - target_label = "container" - } - rule { - source_labels = ["__meta_kubernetes_namespace"] - target_label = "namespace" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_job"] - target_label = "job" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_instance"] - target_label = "instance" - } - - // Rules to choose the right container - rule { - source_labels = ["container"] - target_label = "__tmp_container" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_container"] - regex = "(.+)" - target_label = "__tmp_container" - } - rule { - source_labels = ["container"] - action = "keepequal" - target_label = "__tmp_container" - } - rule { - action = "labeldrop" - regex = "__tmp_container" - } - - // Set metrics path - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_path"] - regex = "(.+)" - target_label = "__metrics_path__" - } - - // Set metrics scraping URL parameters - rule { - action = "labelmap" - regex = "__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_param_(.+)" - replacement = "__param_$1" - } - - // Choose the pod port - // The discovery generates a target for each declared container port of the pod. - // If the metricsPortName annotation has value, keep only the target where the port name matches the one of the annotation. - rule { - source_labels = ["__meta_kubernetes_pod_container_port_name"] - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_portName"] - regex = "(.+)" - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_pod_container_port_name"] - action = "keepequal" - target_label = "__tmp_port" - } - rule { - action = "labeldrop" - regex = "__tmp_port" - } - - // If the metrics port number annotation has a value, override the target address to use it, regardless whether it is - // one of the declared ports on that Pod. - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_portNumber", "__meta_kubernetes_pod_ip"] - regex = "(\\d+);(([A-Fa-f0-9]{1,4}::?){1,7}[A-Fa-f0-9]{1,4})" - replacement = "[$2]:$1" // IPv6 - target_label = "__address__" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_portNumber", "__meta_kubernetes_pod_ip"] - regex = "(\\d+);((([0-9]+?)(\\.|$)){4})" // IPv4, takes priority over IPv6 when both exists - replacement = "$2:$1" - target_label = "__address__" - } - - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_scheme"] - regex = "(.+)" - target_label = "__scheme__" - } - - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_scrapeInterval"] - regex = "(.+)" - target_label = "__scrape_interval__" - } - rule { - source_labels = ["__scrape_interval__"] - regex = "" - replacement = "60s" - target_label = "__scrape_interval__" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_scrapeTimeout"] - regex = "(.+)" - target_label = "__scrape_timeout__" - } - rule { - source_labels = ["__scrape_timeout__"] - regex = "" - replacement = "10s" - target_label = "__scrape_timeout__" - } - } - - discovery.kubernetes "services" { - role = "service" - } - - discovery.relabel "annotation_autodiscovery_services" { - targets = discovery.kubernetes.services.targets - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_scrape"] - regex = "true" - action = "keep" - } - rule { - source_labels = ["__meta_kubernetes_service_name"] - target_label = "service" - } - rule { - source_labels = ["__meta_kubernetes_namespace"] - target_label = "namespace" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_job"] - target_label = "job" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_instance"] - target_label = "instance" - } - - // Set metrics path - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_path"] - target_label = "__metrics_path__" - } - - // Set metrics scraping URL parameters - rule { - action = "labelmap" - regex = "__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_param_(.+)" - replacement = "__param_$1" - } - - // Choose the service port - rule { - source_labels = ["__meta_kubernetes_service_port_name"] - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_portName"] - regex = "(.+)" - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_service_port_name"] - action = "keepequal" - target_label = "__tmp_port" - } - - rule { - source_labels = ["__meta_kubernetes_service_port_number"] - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_portNumber"] - regex = "(.+)" - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_service_port_number"] - action = "keepequal" - target_label = "__tmp_port" - } - rule { - action = "labeldrop" - regex = "__tmp_port" - } - - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_scheme"] - regex = "(.+)" - target_label = "__scheme__" - } - - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_scrapeInterval"] - regex = "(.+)" - target_label = "__scrape_interval__" - } - rule { - source_labels = ["__scrape_interval__"] - regex = "" - replacement = "60s" - target_label = "__scrape_interval__" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_scrapeTimeout"] - regex = "(.+)" - target_label = "__scrape_timeout__" - } - rule { - source_labels = ["__scrape_timeout__"] - regex = "" - replacement = "10s" - target_label = "__scrape_timeout__" - } - } - - discovery.relabel "annotation_autodiscovery_http" { - targets = array.concat(discovery.relabel.annotation_autodiscovery_pods.output, discovery.relabel.annotation_autodiscovery_services.output) - rule { - source_labels = ["__scheme__"] - regex = "https" - action = "drop" - } - } - - discovery.relabel "annotation_autodiscovery_https" { - targets = array.concat(discovery.relabel.annotation_autodiscovery_pods.output, discovery.relabel.annotation_autodiscovery_services.output) - rule { - source_labels = ["__scheme__"] - regex = "https" - action = "keep" - } - } - - prometheus.scrape "annotation_autodiscovery_http" { - targets = discovery.relabel.annotation_autodiscovery_http.output - honor_labels = true - bearer_token_file = "/var/run/secrets/kubernetes.io/serviceaccount/token" - clustering { - enabled = true - } - - forward_to = argument.metrics_destinations.value - } - - prometheus.scrape "annotation_autodiscovery_https" { - targets = discovery.relabel.annotation_autodiscovery_https.output - honor_labels = true - bearer_token_file = "/var/run/secrets/kubernetes.io/serviceaccount/token" - tls_config { - insecure_skip_verify = true - } - clustering { - enabled = true - } - - forward_to = argument.metrics_destinations.value - } - } diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/__snapshot__/namespaced_test.yaml.snap b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/__snapshot__/namespaced_test.yaml.snap deleted file mode 100755 index 3daabec..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/__snapshot__/namespaced_test.yaml.snap +++ /dev/null @@ -1,616 +0,0 @@ -can exclude a specified list of namespaces: - 1: | - |- - declare "annotation_autodiscovery" { - argument "metrics_destinations" { - comment = "Must be a list of metric destinations where collected metrics should be forwarded to" - } - - discovery.kubernetes "pods" { - role = "pod" - } - - discovery.relabel "annotation_autodiscovery_pods" { - targets = discovery.kubernetes.pods.targets - rule { - source_labels = ["__meta_kubernetes_namespace"] - regex = "a|b" - action = "drop" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_scrape"] - regex = "true" - action = "keep" - } - // Only keep pods that are running, ready, and not init containers. - rule { - source_labels = [ - "__meta_kubernetes_pod_phase", - "__meta_kubernetes_pod_ready", - "__meta_kubernetes_pod_container_init", - ] - regex = "Running;true;false" - action = "keep" - } - rule { - source_labels = ["__meta_kubernetes_pod_name"] - target_label = "pod" - } - rule { - source_labels = ["__meta_kubernetes_pod_container_name"] - target_label = "container" - } - rule { - source_labels = ["__meta_kubernetes_namespace"] - target_label = "namespace" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_job"] - target_label = "job" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_instance"] - target_label = "instance" - } - - // Rules to choose the right container - rule { - source_labels = ["container"] - target_label = "__tmp_container" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_container"] - regex = "(.+)" - target_label = "__tmp_container" - } - rule { - source_labels = ["container"] - action = "keepequal" - target_label = "__tmp_container" - } - rule { - action = "labeldrop" - regex = "__tmp_container" - } - - // Set metrics path - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_path"] - regex = "(.+)" - target_label = "__metrics_path__" - } - - // Set metrics scraping URL parameters - rule { - action = "labelmap" - regex = "__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_param_(.+)" - replacement = "__param_$1" - } - - // Choose the pod port - // The discovery generates a target for each declared container port of the pod. - // If the metricsPortName annotation has value, keep only the target where the port name matches the one of the annotation. - rule { - source_labels = ["__meta_kubernetes_pod_container_port_name"] - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_portName"] - regex = "(.+)" - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_pod_container_port_name"] - action = "keepequal" - target_label = "__tmp_port" - } - rule { - action = "labeldrop" - regex = "__tmp_port" - } - - // If the metrics port number annotation has a value, override the target address to use it, regardless whether it is - // one of the declared ports on that Pod. - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_portNumber", "__meta_kubernetes_pod_ip"] - regex = "(\\d+);(([A-Fa-f0-9]{1,4}::?){1,7}[A-Fa-f0-9]{1,4})" - replacement = "[$2]:$1" // IPv6 - target_label = "__address__" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_portNumber", "__meta_kubernetes_pod_ip"] - regex = "(\\d+);((([0-9]+?)(\\.|$)){4})" // IPv4, takes priority over IPv6 when both exists - replacement = "$2:$1" - target_label = "__address__" - } - - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_scheme"] - regex = "(.+)" - target_label = "__scheme__" - } - - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_scrapeInterval"] - regex = "(.+)" - target_label = "__scrape_interval__" - } - rule { - source_labels = ["__scrape_interval__"] - regex = "" - replacement = "60s" - target_label = "__scrape_interval__" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_scrapeTimeout"] - regex = "(.+)" - target_label = "__scrape_timeout__" - } - rule { - source_labels = ["__scrape_timeout__"] - regex = "" - replacement = "10s" - target_label = "__scrape_timeout__" - } - } - - discovery.kubernetes "services" { - role = "service" - } - - discovery.relabel "annotation_autodiscovery_services" { - targets = discovery.kubernetes.services.targets - rule { - source_labels = ["__meta_kubernetes_namespace"] - regex = "a|b" - action = "drop" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_scrape"] - regex = "true" - action = "keep" - } - rule { - source_labels = ["__meta_kubernetes_service_name"] - target_label = "service" - } - rule { - source_labels = ["__meta_kubernetes_namespace"] - target_label = "namespace" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_job"] - target_label = "job" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_instance"] - target_label = "instance" - } - - // Set metrics path - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_path"] - target_label = "__metrics_path__" - } - - // Set metrics scraping URL parameters - rule { - action = "labelmap" - regex = "__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_param_(.+)" - replacement = "__param_$1" - } - - // Choose the service port - rule { - source_labels = ["__meta_kubernetes_service_port_name"] - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_portName"] - regex = "(.+)" - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_service_port_name"] - action = "keepequal" - target_label = "__tmp_port" - } - - rule { - source_labels = ["__meta_kubernetes_service_port_number"] - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_portNumber"] - regex = "(.+)" - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_service_port_number"] - action = "keepequal" - target_label = "__tmp_port" - } - rule { - action = "labeldrop" - regex = "__tmp_port" - } - - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_scheme"] - regex = "(.+)" - target_label = "__scheme__" - } - - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_scrapeInterval"] - regex = "(.+)" - target_label = "__scrape_interval__" - } - rule { - source_labels = ["__scrape_interval__"] - regex = "" - replacement = "60s" - target_label = "__scrape_interval__" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_scrapeTimeout"] - regex = "(.+)" - target_label = "__scrape_timeout__" - } - rule { - source_labels = ["__scrape_timeout__"] - regex = "" - replacement = "10s" - target_label = "__scrape_timeout__" - } - } - - discovery.relabel "annotation_autodiscovery_http" { - targets = array.concat(discovery.relabel.annotation_autodiscovery_pods.output, discovery.relabel.annotation_autodiscovery_services.output) - rule { - source_labels = ["__scheme__"] - regex = "https" - action = "drop" - } - } - - discovery.relabel "annotation_autodiscovery_https" { - targets = array.concat(discovery.relabel.annotation_autodiscovery_pods.output, discovery.relabel.annotation_autodiscovery_services.output) - rule { - source_labels = ["__scheme__"] - regex = "https" - action = "keep" - } - } - - prometheus.scrape "annotation_autodiscovery_http" { - targets = discovery.relabel.annotation_autodiscovery_http.output - honor_labels = true - bearer_token_file = "/var/run/secrets/kubernetes.io/serviceaccount/token" - clustering { - enabled = true - } - - forward_to = argument.metrics_destinations.value - } - - prometheus.scrape "annotation_autodiscovery_https" { - targets = discovery.relabel.annotation_autodiscovery_https.output - honor_labels = true - bearer_token_file = "/var/run/secrets/kubernetes.io/serviceaccount/token" - tls_config { - insecure_skip_verify = true - } - clustering { - enabled = true - } - - forward_to = argument.metrics_destinations.value - } - } -can use a specified list of namespaces: - 1: | - |- - declare "annotation_autodiscovery" { - argument "metrics_destinations" { - comment = "Must be a list of metric destinations where collected metrics should be forwarded to" - } - - discovery.kubernetes "pods" { - role = "pod" - namespaces { - names = ["a","b"] - } - } - - discovery.relabel "annotation_autodiscovery_pods" { - targets = discovery.kubernetes.pods.targets - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_scrape"] - regex = "true" - action = "keep" - } - // Only keep pods that are running, ready, and not init containers. - rule { - source_labels = [ - "__meta_kubernetes_pod_phase", - "__meta_kubernetes_pod_ready", - "__meta_kubernetes_pod_container_init", - ] - regex = "Running;true;false" - action = "keep" - } - rule { - source_labels = ["__meta_kubernetes_pod_name"] - target_label = "pod" - } - rule { - source_labels = ["__meta_kubernetes_pod_container_name"] - target_label = "container" - } - rule { - source_labels = ["__meta_kubernetes_namespace"] - target_label = "namespace" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_job"] - target_label = "job" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_instance"] - target_label = "instance" - } - - // Rules to choose the right container - rule { - source_labels = ["container"] - target_label = "__tmp_container" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_container"] - regex = "(.+)" - target_label = "__tmp_container" - } - rule { - source_labels = ["container"] - action = "keepequal" - target_label = "__tmp_container" - } - rule { - action = "labeldrop" - regex = "__tmp_container" - } - - // Set metrics path - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_path"] - regex = "(.+)" - target_label = "__metrics_path__" - } - - // Set metrics scraping URL parameters - rule { - action = "labelmap" - regex = "__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_param_(.+)" - replacement = "__param_$1" - } - - // Choose the pod port - // The discovery generates a target for each declared container port of the pod. - // If the metricsPortName annotation has value, keep only the target where the port name matches the one of the annotation. - rule { - source_labels = ["__meta_kubernetes_pod_container_port_name"] - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_portName"] - regex = "(.+)" - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_pod_container_port_name"] - action = "keepequal" - target_label = "__tmp_port" - } - rule { - action = "labeldrop" - regex = "__tmp_port" - } - - // If the metrics port number annotation has a value, override the target address to use it, regardless whether it is - // one of the declared ports on that Pod. - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_portNumber", "__meta_kubernetes_pod_ip"] - regex = "(\\d+);(([A-Fa-f0-9]{1,4}::?){1,7}[A-Fa-f0-9]{1,4})" - replacement = "[$2]:$1" // IPv6 - target_label = "__address__" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_portNumber", "__meta_kubernetes_pod_ip"] - regex = "(\\d+);((([0-9]+?)(\\.|$)){4})" // IPv4, takes priority over IPv6 when both exists - replacement = "$2:$1" - target_label = "__address__" - } - - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_scheme"] - regex = "(.+)" - target_label = "__scheme__" - } - - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_scrapeInterval"] - regex = "(.+)" - target_label = "__scrape_interval__" - } - rule { - source_labels = ["__scrape_interval__"] - regex = "" - replacement = "60s" - target_label = "__scrape_interval__" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_scrapeTimeout"] - regex = "(.+)" - target_label = "__scrape_timeout__" - } - rule { - source_labels = ["__scrape_timeout__"] - regex = "" - replacement = "10s" - target_label = "__scrape_timeout__" - } - } - - discovery.kubernetes "services" { - role = "service" - namespaces { - names = ["a","b"] - } - } - - discovery.relabel "annotation_autodiscovery_services" { - targets = discovery.kubernetes.services.targets - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_scrape"] - regex = "true" - action = "keep" - } - rule { - source_labels = ["__meta_kubernetes_service_name"] - target_label = "service" - } - rule { - source_labels = ["__meta_kubernetes_namespace"] - target_label = "namespace" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_job"] - target_label = "job" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_instance"] - target_label = "instance" - } - - // Set metrics path - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_path"] - target_label = "__metrics_path__" - } - - // Set metrics scraping URL parameters - rule { - action = "labelmap" - regex = "__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_param_(.+)" - replacement = "__param_$1" - } - - // Choose the service port - rule { - source_labels = ["__meta_kubernetes_service_port_name"] - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_portName"] - regex = "(.+)" - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_service_port_name"] - action = "keepequal" - target_label = "__tmp_port" - } - - rule { - source_labels = ["__meta_kubernetes_service_port_number"] - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_portNumber"] - regex = "(.+)" - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_service_port_number"] - action = "keepequal" - target_label = "__tmp_port" - } - rule { - action = "labeldrop" - regex = "__tmp_port" - } - - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_scheme"] - regex = "(.+)" - target_label = "__scheme__" - } - - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_scrapeInterval"] - regex = "(.+)" - target_label = "__scrape_interval__" - } - rule { - source_labels = ["__scrape_interval__"] - regex = "" - replacement = "60s" - target_label = "__scrape_interval__" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_scrapeTimeout"] - regex = "(.+)" - target_label = "__scrape_timeout__" - } - rule { - source_labels = ["__scrape_timeout__"] - regex = "" - replacement = "10s" - target_label = "__scrape_timeout__" - } - } - - discovery.relabel "annotation_autodiscovery_http" { - targets = array.concat(discovery.relabel.annotation_autodiscovery_pods.output, discovery.relabel.annotation_autodiscovery_services.output) - rule { - source_labels = ["__scheme__"] - regex = "https" - action = "drop" - } - } - - discovery.relabel "annotation_autodiscovery_https" { - targets = array.concat(discovery.relabel.annotation_autodiscovery_pods.output, discovery.relabel.annotation_autodiscovery_services.output) - rule { - source_labels = ["__scheme__"] - regex = "https" - action = "keep" - } - } - - prometheus.scrape "annotation_autodiscovery_http" { - targets = discovery.relabel.annotation_autodiscovery_http.output - honor_labels = true - bearer_token_file = "/var/run/secrets/kubernetes.io/serviceaccount/token" - clustering { - enabled = true - } - - forward_to = argument.metrics_destinations.value - } - - prometheus.scrape "annotation_autodiscovery_https" { - targets = discovery.relabel.annotation_autodiscovery_https.output - honor_labels = true - bearer_token_file = "/var/run/secrets/kubernetes.io/serviceaccount/token" - tls_config { - insecure_skip_verify = true - } - clustering { - enabled = true - } - - forward_to = argument.metrics_destinations.value - } - } diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/__snapshot__/pods_only_test.yaml.snap b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/__snapshot__/pods_only_test.yaml.snap deleted file mode 100755 index bb8192e..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/__snapshot__/pods_only_test.yaml.snap +++ /dev/null @@ -1,221 +0,0 @@ -will only discover pods: - 1: | - |- - declare "annotation_autodiscovery" { - argument "metrics_destinations" { - comment = "Must be a list of metric destinations where collected metrics should be forwarded to" - } - - discovery.kubernetes "pods" { - role = "pod" - selectors { - role = "pod" - label = "app=myapp" - } - } - - discovery.relabel "annotation_autodiscovery_pods" { - targets = discovery.kubernetes.pods.targets - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_scrape"] - regex = "true" - action = "keep" - } - // Only keep pods that are running, ready, and not init containers. - rule { - source_labels = [ - "__meta_kubernetes_pod_phase", - "__meta_kubernetes_pod_ready", - "__meta_kubernetes_pod_container_init", - ] - regex = "Running;true;false" - action = "keep" - } - rule { - source_labels = ["__meta_kubernetes_pod_name"] - target_label = "pod" - } - rule { - source_labels = ["__meta_kubernetes_pod_container_name"] - target_label = "container" - } - rule { - source_labels = ["__meta_kubernetes_namespace"] - target_label = "namespace" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_job"] - target_label = "job" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_instance"] - target_label = "instance" - } - - // Rules to choose the right container - rule { - source_labels = ["container"] - target_label = "__tmp_container" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_container"] - regex = "(.+)" - target_label = "__tmp_container" - } - rule { - source_labels = ["container"] - action = "keepequal" - target_label = "__tmp_container" - } - rule { - action = "labeldrop" - regex = "__tmp_container" - } - - // Set metrics path - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_path"] - regex = "(.+)" - target_label = "__metrics_path__" - } - - // Set metrics scraping URL parameters - rule { - action = "labelmap" - regex = "__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_param_(.+)" - replacement = "__param_$1" - } - - // Choose the pod port - // The discovery generates a target for each declared container port of the pod. - // If the metricsPortName annotation has value, keep only the target where the port name matches the one of the annotation. - rule { - source_labels = ["__meta_kubernetes_pod_container_port_name"] - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_portName"] - regex = "(.+)" - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_pod_container_port_name"] - action = "keepequal" - target_label = "__tmp_port" - } - rule { - action = "labeldrop" - regex = "__tmp_port" - } - - // If the metrics port number annotation has a value, override the target address to use it, regardless whether it is - // one of the declared ports on that Pod. - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_portNumber", "__meta_kubernetes_pod_ip"] - regex = "(\\d+);(([A-Fa-f0-9]{1,4}::?){1,7}[A-Fa-f0-9]{1,4})" - replacement = "[$2]:$1" // IPv6 - target_label = "__address__" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_portNumber", "__meta_kubernetes_pod_ip"] - regex = "(\\d+);((([0-9]+?)(\\.|$)){4})" // IPv4, takes priority over IPv6 when both exists - replacement = "$2:$1" - target_label = "__address__" - } - - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_scheme"] - regex = "(.+)" - target_label = "__scheme__" - } - - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_scrapeInterval"] - regex = "(.+)" - target_label = "__scrape_interval__" - } - rule { - source_labels = ["__scrape_interval__"] - regex = "" - replacement = "60s" - target_label = "__scrape_interval__" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_scrapeTimeout"] - regex = "(.+)" - target_label = "__scrape_timeout__" - } - rule { - source_labels = ["__scrape_timeout__"] - regex = "" - replacement = "10s" - target_label = "__scrape_timeout__" - } - rule { - source_labels = ["__meta_kubernetes_pod_label___meta_kubernetes_namespace"] - target_label = "namespace" - } - rule { - target_label = "temp_source" - replacement = "pod" - } - } - - discovery.relabel "annotation_autodiscovery_http" { - targets = array.concat(discovery.relabel.annotation_autodiscovery_pods.output) - rule { - source_labels = ["__scheme__"] - regex = "https" - action = "drop" - } - } - - discovery.relabel "annotation_autodiscovery_https" { - targets = array.concat(discovery.relabel.annotation_autodiscovery_pods.output) - rule { - source_labels = ["__scheme__"] - regex = "https" - action = "keep" - } - } - - prometheus.scrape "annotation_autodiscovery_http" { - targets = discovery.relabel.annotation_autodiscovery_http.output - honor_labels = true - bearer_token_file = "/var/run/secrets/kubernetes.io/serviceaccount/token" - clustering { - enabled = true - } - - forward_to = [prometheus.relabel.annotation_autodiscovery.receiver] - } - - prometheus.scrape "annotation_autodiscovery_https" { - targets = discovery.relabel.annotation_autodiscovery_https.output - honor_labels = true - bearer_token_file = "/var/run/secrets/kubernetes.io/serviceaccount/token" - tls_config { - insecure_skip_verify = true - } - clustering { - enabled = true - } - - forward_to = [prometheus.relabel.annotation_autodiscovery.receiver] - } - - prometheus.relabel "annotation_autodiscovery" { - max_cache_size = 100000 - rule { - source_labels = ["temp_source"] - regex = "pod" - target_label = "color" - replacement = "blue" - } - rule { - action = "labeldrop" - regex = "temp_source" - } - forward_to = argument.metrics_destinations.value - } - } diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/__snapshot__/prometheus_annotation_test.yaml.snap b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/__snapshot__/prometheus_annotation_test.yaml.snap deleted file mode 100755 index 0c876ba..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/__snapshot__/prometheus_annotation_test.yaml.snap +++ /dev/null @@ -1,300 +0,0 @@ -creates a module with default discovery, scraping, and processing configurations: - 1: | - |- - declare "annotation_autodiscovery" { - argument "metrics_destinations" { - comment = "Must be a list of metric destinations where collected metrics should be forwarded to" - } - - discovery.kubernetes "pods" { - role = "pod" - } - - discovery.relabel "annotation_autodiscovery_pods" { - targets = discovery.kubernetes.pods.targets - rule { - source_labels = ["__meta_kubernetes_pod_annotation_prometheus_io_scrape"] - regex = "true" - action = "keep" - } - // Only keep pods that are running, ready, and not init containers. - rule { - source_labels = [ - "__meta_kubernetes_pod_phase", - "__meta_kubernetes_pod_ready", - "__meta_kubernetes_pod_container_init", - ] - regex = "Running;true;false" - action = "keep" - } - rule { - source_labels = ["__meta_kubernetes_pod_name"] - target_label = "pod" - } - rule { - source_labels = ["__meta_kubernetes_pod_container_name"] - target_label = "container" - } - rule { - source_labels = ["__meta_kubernetes_namespace"] - target_label = "namespace" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_job"] - target_label = "job" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_instance"] - target_label = "instance" - } - - // Rules to choose the right container - rule { - source_labels = ["container"] - target_label = "__tmp_container" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_container"] - regex = "(.+)" - target_label = "__tmp_container" - } - rule { - source_labels = ["container"] - action = "keepequal" - target_label = "__tmp_container" - } - rule { - action = "labeldrop" - regex = "__tmp_container" - } - - // Set metrics path - rule { - source_labels = ["__meta_kubernetes_pod_annotation_prometheus_io_path"] - regex = "(.+)" - target_label = "__metrics_path__" - } - - // Set metrics scraping URL parameters - rule { - action = "labelmap" - regex = "__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_param_(.+)" - replacement = "__param_$1" - } - - // Choose the pod port - // The discovery generates a target for each declared container port of the pod. - // If the metricsPortName annotation has value, keep only the target where the port name matches the one of the annotation. - rule { - source_labels = ["__meta_kubernetes_pod_container_port_name"] - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_portName"] - regex = "(.+)" - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_pod_container_port_name"] - action = "keepequal" - target_label = "__tmp_port" - } - rule { - action = "labeldrop" - regex = "__tmp_port" - } - - // If the metrics port number annotation has a value, override the target address to use it, regardless whether it is - // one of the declared ports on that Pod. - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_portNumber", "__meta_kubernetes_pod_ip"] - regex = "(\\d+);(([A-Fa-f0-9]{1,4}::?){1,7}[A-Fa-f0-9]{1,4})" - replacement = "[$2]:$1" // IPv6 - target_label = "__address__" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_portNumber", "__meta_kubernetes_pod_ip"] - regex = "(\\d+);((([0-9]+?)(\\.|$)){4})" // IPv4, takes priority over IPv6 when both exists - replacement = "$2:$1" - target_label = "__address__" - } - - rule { - source_labels = ["__meta_kubernetes_pod_annotation_prometheus_io_scheme"] - regex = "(.+)" - target_label = "__scheme__" - } - - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_scrapeInterval"] - regex = "(.+)" - target_label = "__scrape_interval__" - } - rule { - source_labels = ["__scrape_interval__"] - regex = "" - replacement = "60s" - target_label = "__scrape_interval__" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_scrapeTimeout"] - regex = "(.+)" - target_label = "__scrape_timeout__" - } - rule { - source_labels = ["__scrape_timeout__"] - regex = "" - replacement = "10s" - target_label = "__scrape_timeout__" - } - } - - discovery.kubernetes "services" { - role = "service" - } - - discovery.relabel "annotation_autodiscovery_services" { - targets = discovery.kubernetes.services.targets - rule { - source_labels = ["__meta_kubernetes_service_annotation_prometheus_io_scrape"] - regex = "true" - action = "keep" - } - rule { - source_labels = ["__meta_kubernetes_service_name"] - target_label = "service" - } - rule { - source_labels = ["__meta_kubernetes_namespace"] - target_label = "namespace" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_job"] - target_label = "job" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_instance"] - target_label = "instance" - } - - // Set metrics path - rule { - source_labels = ["__meta_kubernetes_service_annotation_prometheus_io_path"] - target_label = "__metrics_path__" - } - - // Set metrics scraping URL parameters - rule { - action = "labelmap" - regex = "__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_param_(.+)" - replacement = "__param_$1" - } - - // Choose the service port - rule { - source_labels = ["__meta_kubernetes_service_port_name"] - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_portName"] - regex = "(.+)" - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_service_port_name"] - action = "keepequal" - target_label = "__tmp_port" - } - - rule { - source_labels = ["__meta_kubernetes_service_port_number"] - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_portNumber"] - regex = "(.+)" - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_service_port_number"] - action = "keepequal" - target_label = "__tmp_port" - } - rule { - action = "labeldrop" - regex = "__tmp_port" - } - - rule { - source_labels = ["__meta_kubernetes_service_annotation_prometheus_io_scheme"] - regex = "(.+)" - target_label = "__scheme__" - } - - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_scrapeInterval"] - regex = "(.+)" - target_label = "__scrape_interval__" - } - rule { - source_labels = ["__scrape_interval__"] - regex = "" - replacement = "60s" - target_label = "__scrape_interval__" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_scrapeTimeout"] - regex = "(.+)" - target_label = "__scrape_timeout__" - } - rule { - source_labels = ["__scrape_timeout__"] - regex = "" - replacement = "10s" - target_label = "__scrape_timeout__" - } - } - - discovery.relabel "annotation_autodiscovery_http" { - targets = array.concat(discovery.relabel.annotation_autodiscovery_pods.output, discovery.relabel.annotation_autodiscovery_services.output) - rule { - source_labels = ["__scheme__"] - regex = "https" - action = "drop" - } - } - - discovery.relabel "annotation_autodiscovery_https" { - targets = array.concat(discovery.relabel.annotation_autodiscovery_pods.output, discovery.relabel.annotation_autodiscovery_services.output) - rule { - source_labels = ["__scheme__"] - regex = "https" - action = "keep" - } - } - - prometheus.scrape "annotation_autodiscovery_http" { - targets = discovery.relabel.annotation_autodiscovery_http.output - honor_labels = true - bearer_token_file = "/var/run/secrets/kubernetes.io/serviceaccount/token" - clustering { - enabled = true - } - - forward_to = argument.metrics_destinations.value - } - - prometheus.scrape "annotation_autodiscovery_https" { - targets = discovery.relabel.annotation_autodiscovery_https.output - honor_labels = true - bearer_token_file = "/var/run/secrets/kubernetes.io/serviceaccount/token" - tls_config { - insecure_skip_verify = true - } - clustering { - enabled = true - } - - forward_to = argument.metrics_destinations.value - } - } diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/__snapshot__/selectors_test.yaml.snap b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/__snapshot__/selectors_test.yaml.snap deleted file mode 100755 index 1f2965e..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/__snapshot__/selectors_test.yaml.snap +++ /dev/null @@ -1,308 +0,0 @@ -will set appropriate selectors: - 1: | - |- - declare "annotation_autodiscovery" { - argument "metrics_destinations" { - comment = "Must be a list of metric destinations where collected metrics should be forwarded to" - } - - discovery.kubernetes "pods" { - role = "pod" - selectors { - role = "pod" - label = "app=myapp,color=blue" - } - } - - discovery.relabel "annotation_autodiscovery_pods" { - targets = discovery.kubernetes.pods.targets - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_scrape"] - regex = "true" - action = "keep" - } - // Only keep pods that are running, ready, and not init containers. - rule { - source_labels = [ - "__meta_kubernetes_pod_phase", - "__meta_kubernetes_pod_ready", - "__meta_kubernetes_pod_container_init", - ] - regex = "Running;true;false" - action = "keep" - } - rule { - source_labels = ["__meta_kubernetes_pod_name"] - target_label = "pod" - } - rule { - source_labels = ["__meta_kubernetes_pod_container_name"] - target_label = "container" - } - rule { - source_labels = ["__meta_kubernetes_namespace"] - target_label = "namespace" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_job"] - target_label = "job" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_instance"] - target_label = "instance" - } - - // Rules to choose the right container - rule { - source_labels = ["container"] - target_label = "__tmp_container" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_container"] - regex = "(.+)" - target_label = "__tmp_container" - } - rule { - source_labels = ["container"] - action = "keepequal" - target_label = "__tmp_container" - } - rule { - action = "labeldrop" - regex = "__tmp_container" - } - - // Set metrics path - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_path"] - regex = "(.+)" - target_label = "__metrics_path__" - } - - // Set metrics scraping URL parameters - rule { - action = "labelmap" - regex = "__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_param_(.+)" - replacement = "__param_$1" - } - - // Choose the pod port - // The discovery generates a target for each declared container port of the pod. - // If the metricsPortName annotation has value, keep only the target where the port name matches the one of the annotation. - rule { - source_labels = ["__meta_kubernetes_pod_container_port_name"] - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_portName"] - regex = "(.+)" - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_pod_container_port_name"] - action = "keepequal" - target_label = "__tmp_port" - } - rule { - action = "labeldrop" - regex = "__tmp_port" - } - - // If the metrics port number annotation has a value, override the target address to use it, regardless whether it is - // one of the declared ports on that Pod. - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_portNumber", "__meta_kubernetes_pod_ip"] - regex = "(\\d+);(([A-Fa-f0-9]{1,4}::?){1,7}[A-Fa-f0-9]{1,4})" - replacement = "[$2]:$1" // IPv6 - target_label = "__address__" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_portNumber", "__meta_kubernetes_pod_ip"] - regex = "(\\d+);((([0-9]+?)(\\.|$)){4})" // IPv4, takes priority over IPv6 when both exists - replacement = "$2:$1" - target_label = "__address__" - } - - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_scheme"] - regex = "(.+)" - target_label = "__scheme__" - } - - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_scrapeInterval"] - regex = "(.+)" - target_label = "__scrape_interval__" - } - rule { - source_labels = ["__scrape_interval__"] - regex = "" - replacement = "60s" - target_label = "__scrape_interval__" - } - rule { - source_labels = ["__meta_kubernetes_pod_annotation_k8s_grafana_com_metrics_scrapeTimeout"] - regex = "(.+)" - target_label = "__scrape_timeout__" - } - rule { - source_labels = ["__scrape_timeout__"] - regex = "" - replacement = "10s" - target_label = "__scrape_timeout__" - } - } - - discovery.kubernetes "services" { - role = "service" - selectors { - role = "service" - label = "app=myapp,region in (north,east)" - } - } - - discovery.relabel "annotation_autodiscovery_services" { - targets = discovery.kubernetes.services.targets - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_scrape"] - regex = "true" - action = "keep" - } - rule { - source_labels = ["__meta_kubernetes_service_name"] - target_label = "service" - } - rule { - source_labels = ["__meta_kubernetes_namespace"] - target_label = "namespace" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_job"] - target_label = "job" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_instance"] - target_label = "instance" - } - - // Set metrics path - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_path"] - target_label = "__metrics_path__" - } - - // Set metrics scraping URL parameters - rule { - action = "labelmap" - regex = "__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_param_(.+)" - replacement = "__param_$1" - } - - // Choose the service port - rule { - source_labels = ["__meta_kubernetes_service_port_name"] - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_portName"] - regex = "(.+)" - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_service_port_name"] - action = "keepequal" - target_label = "__tmp_port" - } - - rule { - source_labels = ["__meta_kubernetes_service_port_number"] - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_portNumber"] - regex = "(.+)" - target_label = "__tmp_port" - } - rule { - source_labels = ["__meta_kubernetes_service_port_number"] - action = "keepequal" - target_label = "__tmp_port" - } - rule { - action = "labeldrop" - regex = "__tmp_port" - } - - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_scheme"] - regex = "(.+)" - target_label = "__scheme__" - } - - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_scrapeInterval"] - regex = "(.+)" - target_label = "__scrape_interval__" - } - rule { - source_labels = ["__scrape_interval__"] - regex = "" - replacement = "60s" - target_label = "__scrape_interval__" - } - rule { - source_labels = ["__meta_kubernetes_service_annotation_k8s_grafana_com_metrics_scrapeTimeout"] - regex = "(.+)" - target_label = "__scrape_timeout__" - } - rule { - source_labels = ["__scrape_timeout__"] - regex = "" - replacement = "10s" - target_label = "__scrape_timeout__" - } - } - - discovery.relabel "annotation_autodiscovery_http" { - targets = array.concat(discovery.relabel.annotation_autodiscovery_pods.output, discovery.relabel.annotation_autodiscovery_services.output) - rule { - source_labels = ["__scheme__"] - regex = "https" - action = "drop" - } - } - - discovery.relabel "annotation_autodiscovery_https" { - targets = array.concat(discovery.relabel.annotation_autodiscovery_pods.output, discovery.relabel.annotation_autodiscovery_services.output) - rule { - source_labels = ["__scheme__"] - regex = "https" - action = "keep" - } - } - - prometheus.scrape "annotation_autodiscovery_http" { - targets = discovery.relabel.annotation_autodiscovery_http.output - honor_labels = true - bearer_token_file = "/var/run/secrets/kubernetes.io/serviceaccount/token" - clustering { - enabled = true - } - - forward_to = argument.metrics_destinations.value - } - - prometheus.scrape "annotation_autodiscovery_https" { - targets = discovery.relabel.annotation_autodiscovery_https.output - honor_labels = true - bearer_token_file = "/var/run/secrets/kubernetes.io/serviceaccount/token" - tls_config { - insecure_skip_verify = true - } - clustering { - enabled = true - } - - forward_to = argument.metrics_destinations.value - } - } diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/default_test.yaml b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/default_test.yaml deleted file mode 100755 index eca5280..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/default_test.yaml +++ /dev/null @@ -1,13 +0,0 @@ -# yamllint disable rule:document-start rule:line-length rule:trailing-spaces -suite: Test default values -templates: - - configmap.yaml -tests: - - it: creates a module with default discovery, scraping, and processing configurations - set: - deployAsConfigMap: true - asserts: - - isKind: - of: ConfigMap - - matchSnapshot: - path: data["module.alloy"] diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/namespaced_test.yaml b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/namespaced_test.yaml deleted file mode 100755 index e18989f..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/namespaced_test.yaml +++ /dev/null @@ -1,23 +0,0 @@ -# yamllint disable rule:document-start rule:line-length rule:trailing-spaces -suite: Test default values -templates: - - configmap.yaml -tests: - - it: can use a specified list of namespaces - set: - deployAsConfigMap: true - namespaces: ["a", "b"] - asserts: - - isKind: - of: ConfigMap - - matchSnapshot: - path: data["module.alloy"] - - it: can exclude a specified list of namespaces - set: - deployAsConfigMap: true - excludeNamespaces: ["a", "b"] - asserts: - - isKind: - of: ConfigMap - - matchSnapshot: - path: data["module.alloy"] diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/pods_only_test.yaml b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/pods_only_test.yaml deleted file mode 100755 index f4322fb..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/pods_only_test.yaml +++ /dev/null @@ -1,23 +0,0 @@ -# yamllint disable rule:document-start rule:line-length rule:trailing-spaces -suite: Test Pods only -templates: - - configmap.yaml -tests: - - it: will only discover pods - set: - deployAsConfigMap: true - labelSelectors: - app: myapp - pods: - enabled: true - labels: - namespace: __meta_kubernetes_namespace - staticLabels: - color: blue - services: - enabled: false - asserts: - - isKind: - of: ConfigMap - - matchSnapshot: - path: data["module.alloy"] diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/prometheus_annotation_test.yaml b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/prometheus_annotation_test.yaml deleted file mode 100755 index 3e356f8..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/prometheus_annotation_test.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# yamllint disable rule:document-start rule:line-length rule:trailing-spaces -suite: Test with prometheus.io annotations -templates: - - configmap.yaml -tests: - - it: creates a module with default discovery, scraping, and processing configurations - set: - deployAsConfigMap: true - annotations: - scrape: prometheus.io/scrape - metricsScheme: prometheus.io/scheme - metricsPath: prometheus.io/path - metricsPort: prometheus.io/port - asserts: - - isKind: - of: ConfigMap - - matchSnapshot: - path: data["module.alloy"] diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/selectors_test.yaml b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/selectors_test.yaml deleted file mode 100755 index 4f58496..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/tests/selectors_test.yaml +++ /dev/null @@ -1,23 +0,0 @@ -# yamllint disable rule:document-start rule:line-length rule:trailing-spaces -suite: Test selectors -templates: - - configmap.yaml -tests: - - it: will set appropriate selectors - set: - deployAsConfigMap: true - labelSelectors: - app: myapp - pods: - labelSelectors: - color: blue - services: - labelSelectors: - region: - - north - - east - asserts: - - isKind: - of: ConfigMap - - matchSnapshot: - path: data["module.alloy"] diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/values.schema.json b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/values.schema.json deleted file mode 100755 index b8af1ca..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/values.schema.json +++ /dev/null @@ -1,153 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema#", - "type": "object", - "properties": { - "annotations": { - "type": "object", - "properties": { - "instance": { - "type": "string" - }, - "job": { - "type": "string" - }, - "metricsContainer": { - "type": "string" - }, - "metricsParam": { - "type": "string" - }, - "metricsPath": { - "type": "string" - }, - "metricsPortName": { - "type": "string" - }, - "metricsPortNumber": { - "type": "string" - }, - "metricsScheme": { - "type": "string" - }, - "metricsScrapeInterval": { - "type": "string" - }, - "metricsScrapeTimeout": { - "type": "string" - }, - "scrape": { - "type": "string" - } - } - }, - "bearerToken": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "token": { - "type": "string" - } - } - }, - "deployAsConfigMap": { - "type": "boolean" - }, - "excludeNamespaces": { - "type": "array" - }, - "extraDiscoveryRules": { - "type": "string" - }, - "extraMetricProcessingRules": { - "type": "string" - }, - "fullnameOverride": { - "type": "string" - }, - "global": { - "type": "object", - "properties": { - "maxCacheSize": { - "type": "integer" - }, - "scrapeInterval": { - "type": "string" - }, - "scrapeTimeout": { - "type": "string" - } - } - }, - "labelSelectors": { - "type": "object" - }, - "maxCacheSize": { - "type": "null" - }, - "metricsTuning": { - "type": "object", - "properties": { - "excludeMetrics": { - "type": "array" - }, - "includeMetrics": { - "type": "array" - } - } - }, - "nameOverride": { - "type": "string" - }, - "namespaces": { - "type": "array" - }, - "pods": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "labelSelectors": { - "type": "object" - }, - "labels": { - "type": "object" - }, - "staticLabels": { - "type": "object" - }, - "staticLabelsFrom": { - "type": "object" - } - } - }, - "scrapeInterval": { - "type": "string" - }, - "scrapeTimeout": { - "type": "string" - }, - "services": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "labelSelectors": { - "type": "object" - }, - "labels": { - "type": "object" - }, - "staticLabels": { - "type": "object" - }, - "staticLabelsFrom": { - "type": "object" - } - } - } - } -} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/values.yaml b/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/values.yaml deleted file mode 100755 index fe1363b..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-annotation-autodiscovery/values.yaml +++ /dev/null @@ -1,178 +0,0 @@ ---- -# -- Name override -# @section -- General settings -nameOverride: "" - -# -- Full name override -# @section -- General settings -fullnameOverride: "" - -global: - # -- How frequently to scrape metrics. - # @section -- Global Settings - scrapeInterval: 60s - - # -- The scrape timeout for discovered pods and services. - # @section -- Global Settings - scrapeTimeout: 10s - - # -- Sets the max_cache_size for every prometheus.relabel component. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) - # This should be at least 2x-5x your largest scrape target or samples appended rate. - # @section -- Global Settings - maxCacheSize: 100000 - -# Annotations that are used to discover and configure metric scraping targets. Add these annotations -# to your services or pods to control how autodiscovery will find and scrape metrics from your service or pod. -annotations: - # -- Annotation for enabling scraping for this service or pod. Value should be either "true" or "false" - # @section -- Annotations - scrape: "k8s.grafana.com/scrape" - # -- Annotation for overriding the job label - # @section -- Annotations - job: "k8s.grafana.com/job" - # -- Annotation for overriding the instance label - # @section -- Annotations - instance: "k8s.grafana.com/instance" - # -- Annotation for selecting the specific container to scrape. - # @section -- Annotations - metricsContainer: "k8s.grafana.com/metrics.container" - # -- Annotation for setting or overriding the metrics path. If not set, it defaults to /metrics - # @section -- Annotations - metricsPath: "k8s.grafana.com/metrics.path" - # -- Annotation for setting the metrics port by name. - # @section -- Annotations - metricsPortName: "k8s.grafana.com/metrics.portName" - # -- Annotation for setting the metrics port by number. - # @section -- Annotations - metricsPortNumber: "k8s.grafana.com/metrics.portNumber" - # -- Annotation for setting the metrics scheme, default: http. - # @section -- Annotations - metricsScheme: "k8s.grafana.com/metrics.scheme" - # -- Annotation for setting `__param_` parameters when scraping. - # Example: `k8s.grafana.com/metrics.param_key: "value"`. - # @section -- Annotations - metricsParam: "k8s.grafana.com/metrics.param" - # -- Annotation for overriding the scrape interval for this service or pod. Value should be a duration like "15s, 1m". - # Overrides metrics.autoDiscover.scrapeInterval - # @section -- Annotations - metricsScrapeInterval: "k8s.grafana.com/metrics.scrapeInterval" - # -- Annotation for overriding the scrape timeout for this service or pod. Value should be a duration like "15s, 1m". - # Overrides metrics.autoDiscover.scrapeTimeout - # @section -- Annotations - metricsScrapeTimeout: "k8s.grafana.com/metrics.scrapeTimeout" - -# -- The list of namespaces to include in autodiscovery. If empty, all namespaces are included. -# @section -- Discovery Settings -namespaces: [] - -# -- The list of namespaces to exclude from autodiscovery. -# @section -- Discovery Settings -excludeNamespaces: [] - -# -- Filter the list of discovered pods and services by labels. -# Example: `labelSelectors: { 'app': 'myapp' }` will only discover pods and services with the label `app=myapp`. -# Example: `labelSelectors: { 'app': ['myapp', 'myotherapp'] }` will only discover pods and services with the label `app=myapp` or `app=myotherapp`. -# @section -- Discovery Settings -labelSelectors: {} - -pods: - # -- Enable discovering Pods with annotations. - # @section -- Pod Discovery Settings - enabled: true - - # -- Filter the list of discovered Pods by labels. - # Example: `labelSelectors: { 'app': 'myapp' }` will only discover Pods with the label `app=myapp`. - # Example: `labelSelectors: { 'app': ['myapp', 'myotherapp'] }` will only discover Pods with the label `app=myapp` or `app=myotherapp`. - # @section -- Pod Discovery Settings - labelSelectors: {} - - # -- Add labels to metrics from discovered Pods. Runs during discovery, so __meta_ labels are available. See the - # [documentation](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.kubernetes/#pod-role) - # for the full list of meta labels. - # @section -- Pod Metric Processing Settings - labels: {} - - # -- Metric labels to set with static data for discovered Pods. - # @section -- Pod Metric Processing Settings - staticLabels: {} - - # -- Static labels to set on metrics from discovered Pods, not quoted so it can reference config components. - # @section -- Pod Metric Processing Settings - staticLabelsFrom: {} - -services: - # -- Enable discovering Services with annotations. - # @section -- Services - enabled: true - - # -- Filter the list of discovered Services by labels. - # Example: `labelSelectors: { 'app': 'myapp' }` will only discover Services with the label `app=myapp`. - # Example: `labelSelectors: { 'app': ['myapp', 'myotherapp'] }` will only discover Services with the label `app=myapp` or `app=myotherapp`. - # @section -- Service Discovery Settings - labelSelectors: {} - - # -- Add labels to metrics from discovered Services. Run during discovery, so __meta_ labels are available. See the - # [documentation](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.kubernetes/#service-role) - # for the full list of meta labels. - # @section -- Service Metric Processing Settings - labels: {} - - # -- Metric labels to set with static data for discovered Services. - # @section -- Service Metric Processing Settings - staticLabels: {} - - # -- Static labels to set on metrics from discovered Services, not quoted so it can reference config components. - # @section -- Service Metric Processing Settings - staticLabelsFrom: {} - -# -- Rule blocks to be added to the discovery.relabel component for discovered pods and services. -# These relabeling rules are applied pre-scrape against the targets from service discovery. -# Before the scrape, any remaining target labels that start with `__` (i.e. `__meta_kubernetes*`) are dropped. -# ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) -# @section -- Discovery Settings -extraDiscoveryRules: "" - -# -- How frequently to scrape metrics from discovered pods and services. Only used if the `k8s.grafana.com/metrics.scrapeInterval` annotation is not set. -# Overrides global.scrapeInterval -# @default -- 60s -# @section -- Scrape Settings -scrapeInterval: "" - -# -- The scrape timeout for discovered pods and services. Only used if the `k8s.grafana.com/metrics.scrapeTimeout` annotation is not set. -# Overrides global.scrapeTimeout -# @default -- 10s -# @section -- Scrape Settings -scrapeTimeout: "" - -# Adjustments to the scraped metrics to filter the amount of metrics sent to storage. -# @section -- Metric Processing Settings -metricsTuning: - # -- Metrics to keep. Can use regular expressions. - # @section -- Metric Processing Settings - includeMetrics: [] - # -- Metrics to drop. Can use regular expressions. - # @section -- Metric Processing Settings - excludeMetrics: [] - -# -- Rule blocks to be added to the prometheus.relabel component for discovered pods and services. -# These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. -# ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) -# @section -- Metric Processing Settings -extraMetricProcessingRules: "" - -# -- Sets the max_cache_size for cadvisor prometheus.relabel component. -# This should be at least 2x-5x your largest scrape target or samples appended rate. -# ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) -# Overrides global.maxCacheSize -# @raw -# @section -- Metric Processing Settings -maxCacheSize: - -# -- Sets bearer_token_file line in the prometheus.scrape annotation_autodiscovery. -# @section -- Scrape Settings -bearerToken: - enabled: true - token: /var/run/secrets/kubernetes.io/serviceaccount/token - -# @ignore -deployAsConfigMap: false diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/.helmignore b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/.helmignore deleted file mode 100755 index 2b29eaf..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/.helmignore +++ /dev/null @@ -1,6 +0,0 @@ -docs -schema-mods -tests -Makefile -README.md -README.md.gotmpl diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/Chart.lock b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/Chart.lock deleted file mode 100755 index e39a95f..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/Chart.lock +++ /dev/null @@ -1,3 +0,0 @@ -dependencies: [] -digest: sha256:643d5437104296e21d906ecb15b2c96ad278f20cfc4af53b12bb6069bd853726 -generated: "2024-09-25T13:46:10.334192-05:00" diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/Chart.yaml b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/Chart.yaml deleted file mode 100755 index 74a2b06..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/Chart.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -apiVersion: v2 -name: feature-application-observability -description: Gathers application data -icon: https://raw.githubusercontent.com/grafana/grafana/main/public/img/grafana_icon.svg -sources: - - https://github.com/grafana/k8s-monitoring-helm/tree/main/charts/k8s-monitoring/charts/feature-application-observability -version: 1.0.0 -appVersion: 1.0.0 -maintainers: - - email: pete.wall@grafana.com - name: petewall -dependencies: [] diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/Makefile b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/Makefile deleted file mode 100755 index 107caf8..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/Makefile +++ /dev/null @@ -1,34 +0,0 @@ -HAS_HELM_DOCS := $(shell command -v helm-docs;) -HAS_HELM_UNITTEST := $(shell helm plugin list | grep unittest 2> /dev/null) - -.SECONDEXPANSION: -README.md: values.yaml Chart.yaml $$(wildcard README.md.gotmpl) -ifdef HAS_HELM_DOCS - helm-docs -else - docker run --rm --volume "$(shell pwd):/helm-docs" -u $(shell id -u) jnorwood/helm-docs:latest -endif - -Chart.lock: Chart.yaml - helm dependency update . - @touch Chart.lock # Ensure the timestamp is updated - -values.schema.json: values.yaml $$(wildcard schema-mods/*) - ../../../../scripts/schema-gen.sh . - -.PHONY: clean -clean: - rm -f README.md values.schema.json - -.PHONY: build -build: README.md Chart.lock values.schema.json - -.PHONY: test -test: build - helm lint . - ct lint --lint-conf ../../../../.configs/lintconf.yaml --helm-dependency-extra-args=--skip-refresh --charts . -ifdef HAS_HELM_UNITTEST - helm unittest . -else - docker run --rm --volume $(shell pwd):/apps helmunittest/helm-unittest:3.17.0-0.7.1 . -endif diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/README.md b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/README.md deleted file mode 100755 index 1a4f07a..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/README.md +++ /dev/null @@ -1,179 +0,0 @@ - - -# feature-application-observability - -![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: 1.0.0](https://img.shields.io/badge/AppVersion-1.0.0-informational?style=flat-square) -Gathers application data - -The Application Observability feature enables the collection of application telemetry data. - -## Before enabling - -Before you enable this feature, you must enable one or more receivers where data will be sent from the application. - -## Testing - -This chart contains unit tests to verify the generated configuration. The hidden value `deployAsConfigMap` will render -the generated configuration into a ConfigMap object. While this ConfigMap is not used during regular operation, you can -use it to show the outcome of a given values file. - -The unit tests use this ConfigMap to create an object with the configuration that can be asserted against. To run the -tests, use `helm test`. - -Be sure perform actual integration testing in a live environment in the main [k8s-monitoring](../..) chart. - -## Maintainers - -| Name | Email | Url | -| ---- | ------ | --- | -| petewall | | | - - -## Source Code - -* - - - - -## Values - -### Connectors: Grafana Cloud Host Info - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| connectors.grafanaCloudMetrics.enabled | bool | `true` | Generate host info metrics from telemetry data. These metrics are required for using Application Observability in Grafana Cloud. Note: Enabling this may incur additional costs. See [Application Observability Pricing](https://grafana.com/docs/grafana-cloud/monitor-applications/application-observability/pricing/) | - -### Connectors: Span Logs - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| connectors.spanLogs.enabled | bool | `false` | Use a span logs connector which creates logs from spans. | -| connectors.spanLogs.labels | list | `[]` | A list of keys that will be logged as labels. | -| connectors.spanLogs.process | bool | `false` | Log one line for every process. | -| connectors.spanLogs.processAttributes | list | `[]` | Additional process attributes to log. | -| connectors.spanLogs.roots | bool | `false` | Log one line for every root span of a trace. | -| connectors.spanLogs.spanAttributes | list | `[]` | Additional span attributes to log. | -| connectors.spanLogs.spans | bool | `false` | Create a log line for each span. This can lead to a large number of logs. | - -### Connectors: Span Metrics - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| connectors.spanMetrics.dimensions | list | `[]` | Define dimensions to be added. Some are set internally by default: [service.name, span.name, span.kind, status.code] Example: - name: "http.status_code" - name: "http.method" default: "GET" | -| connectors.spanMetrics.dimensionsCacheSize | int | `1000` | How many dimensions to cache | -| connectors.spanMetrics.enabled | bool | `false` | Use a span metrics connector which creates metrics from spans. | -| connectors.spanMetrics.events.enabled | bool | `false` | Capture events metrics, which track span events. | -| connectors.spanMetrics.exemplars.enabled | bool | `false` | Attach exemplars to histograms. | -| connectors.spanMetrics.exemplars.maxPerDataPoint | number | `nil` | Limits the number of exemplars that can be added to a unique dimension set. | -| connectors.spanMetrics.histogram.enabled | bool | `true` | Capture histogram metrics, derived from spans’ durations. | -| connectors.spanMetrics.histogram.explicit.buckets | list | `["2ms","4ms","6ms","8ms","10ms","50ms","100ms","200ms","400ms","800ms","1s","1400ms","2s","5s","10s","15s"]` | The histogram buckets to use. | -| connectors.spanMetrics.histogram.exponential.maxSize | int | `160` | Maximum number of buckets per positive or negative number range. | -| connectors.spanMetrics.histogram.type | string | `"explicit"` | Type of histograms to create. Must be either "explicit" or "exponential". | -| connectors.spanMetrics.histogram.unit | string | `"ms"` | The histogram unit. | -| connectors.spanMetrics.namespace | string | `"traces.span.metrics"` | The Metric namespace. | - -### General settings - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| fullnameOverride | string | `""` | Full name override | -| nameOverride | string | `""` | Name override | - -### Processors: Batch - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| processors.batch.maxSize | int | `0` | The upper limit of the amount of data contained in a single batch. When set to 0, batches can be any size. | -| processors.batch.size | int | `8192` | What batch size to use | -| processors.batch.timeout | string | `"2s"` | How long before sending (Processors) | - -### Processors: Interval - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| processors.interval.enabled | bool | `false` | Utilize an interval processor to aggregate metrics and periodically forward the latest values to the next component in the pipeline. | -| processors.interval.interval | string | `"60s"` | The interval at which to emit aggregated metrics. | -| processors.interval.passthrough.gauge | bool | `false` | Determines whether gauge metrics should be passed through as they are or aggregated. | -| processors.interval.passthrough.summary | bool | `false` | Determines whether summary metrics should be passed through as they are or aggregated. | - -### Processors: K8s Attributes - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| processors.k8sattributes.annotations | list | `[]` | Kubernetes annotations to extract and add to the attributes of the received telemetry data. | -| processors.k8sattributes.labels | list | `[]` | Kubernetes labels to extract and add to the attributes of the received telemetry data. | -| processors.k8sattributes.metadata | list | `["k8s.namespace.name","k8s.pod.name","k8s.deployment.name","k8s.statefulset.name","k8s.daemonset.name","k8s.cronjob.name","k8s.job.name","k8s.node.name","k8s.pod.uid","k8s.pod.start_time"]` | Kubernetes metadata to extract and add to the attributes of the received telemetry data. | - -### Processors: Memory Limiter - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| processors.memoryLimiter.checkInterval | string | `"1s"` | How often to check memory usage. | -| processors.memoryLimiter.enabled | bool | `false` | Use a memory limiter. | -| processors.memoryLimiter.limit | string | `"0MiB"` | Maximum amount of memory targeted to be allocated by the process heap. | - -### Processors: Resource Detection - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| processors.resourceDetection.env.enabled | bool | `true` | Enable getting resource attributes from the OTEL_RESOURCE_ATTRIBUTES environment variable. | -| processors.resourceDetection.kubernetesNode.authType | string | `"serviceAccount"` | The authentication method. This should not be changed. | -| processors.resourceDetection.kubernetesNode.enabled | bool | `false` | Enable getting resource attributes about the Kubernetes node from the API server. | -| processors.resourceDetection.kubernetesNode.nodeFromEnvVar | string | `"K8S_NODE_NAME"` | The name of an environment variable from which to retrieve the node name. | -| processors.resourceDetection.override | bool | `true` | Configures whether existing resource attributes should be overridden or preserved. | -| processors.resourceDetection.system.enabled | bool | `true` | Enable getting resource attributes from the host machine. | -| processors.resourceDetection.system.hostnameSources | list | `["os"]` | The priority list of sources from which the hostname will be determined. Options: ["dns", "os", "cname", "lookup"]. | -| processors.resourceDetection.system.resourceAttributes | object | `{}` | The list of resource attributes to add for system resource detection. See the [Alloy documentation](https://grafana.com/docs/alloy/latest/reference/components/otelcol/otelcol.processor.resourcedetection/#system--resource_attributes) for a list of available attributes. | - -### Receivers: Jaeger - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| receivers.jaeger.grpc | object | `{"enabled":false,"port":14250}` | Configuration for the Jaeger receiver using the gRPC protocol. | -| receivers.jaeger.includeDebugMetrics | bool | `false` | Whether to include high-cardinality debug metrics. | -| receivers.jaeger.thriftBinary | object | `{"enabled":false,"port":6832}` | Configuration for the Jaeger receiver using the Thrift binary protocol. | -| receivers.jaeger.thriftCompact | object | `{"enabled":false,"port":6831}` | Configuration for the Jaeger receiver using the Thrift compact protocol. | -| receivers.jaeger.thriftHttp | object | `{"enabled":false,"port":14268}` | Configuration for the Jaeger receiver using the Thrift HTTP protocol. | - -### Receivers: OTLP - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| receivers.otlp.grpc.enabled | bool | `false` | Accept application data over OTLP gRPC. | -| receivers.otlp.grpc.maxConcurrentStreams | int | `0` | Limit the number of concurrent streaming gRPC calls. 0 means no limit. | -| receivers.otlp.grpc.maxReceivedMessageSize | string | `"4MiB"` | Maximum size of messages the gRPC server will accept. | -| receivers.otlp.grpc.port | int | `4317` | The port to listen on for OTLP gRPC requests. | -| receivers.otlp.grpc.readBufferSize | string | `"512KiB"` | Size of the read buffer the gRPC server will use for reading from clients. | -| receivers.otlp.grpc.writeBufferSize | string | `"32KiB"` | Size of the write buffer the gRPC server will use for writing to clients. | -| receivers.otlp.http.enabled | bool | `false` | Accept application data over OTLP HTTP. | -| receivers.otlp.http.maxRequestBodySize | string | `"20MiB"` | Maximum request body size the server will allow. | -| receivers.otlp.http.port | int | `4318` | The port to listen on for OTLP HTTP requests. | -| receivers.otlp.includeDebugMetrics | bool | `false` | Whether to include high-cardinality debug metrics. | - -### Receivers: Zipkin - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| receivers.zipkin | object | `{"enabled":false,"includeDebugMetrics":false,"port":9411}` | The Zipkin receiver configuration. | -| receivers.zipkin.includeDebugMetrics | bool | `false` | Whether to include high-cardinality debug metrics. | - -### Other Values - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| logs.enabled | bool | `true` | | -| logs.filters | object | `{"log_record":[]}` | Apply a filter to logs received via receivers. ([docs](https://grafana.com/docs/alloy/latest/reference/components/otelcol/otelcol.processor.filter/)) | -| logs.transforms | object | `{"labels":["cluster","namespace","job","pod"],"log":[],"resource":[]}` | Apply a transformation to logs received via the OTLP or OTLP HTTP receivers. ([docs](https://grafana.com/docs/alloy/latest/reference/components/otelcol/otelcol.processor.transform/)) | -| logs.transforms.labels | list | `["cluster","namespace","job","pod"]` | The list of labels to set in the log stream. | -| logs.transforms.log | list | `[]` | Log transformation rules. | -| logs.transforms.resource | list | `[]` | Resource transformation rules. | -| metrics.enabled | bool | `true` | | -| metrics.filters | object | `{"datapoint":[],"metric":[]}` | Apply a filter to metrics received via the OTLP or OTLP HTTP receivers. ([docs](https://grafana.com/docs/alloy/latest/reference/components/otelcol/otelcol.processor.filter/)) | -| metrics.transforms | object | `{"datapoint":[],"metric":[],"resource":[]}` | Apply a transformation to metrics received via the OTLP or OTLP HTTP receivers. ([docs](https://grafana.com/docs/alloy/latest/reference/components/otelcol/otelcol.processor.transform/)) | -| traces.enabled | bool | `true` | | -| traces.filters | object | `{"span":[],"spanevent":[]}` | Apply a filter to traces received via the OTLP or OTLP HTTP receivers. ([docs](https://grafana.com/docs/alloy/latest/reference/components/otelcol/otelcol.processor.filter/)) | -| traces.transforms | object | `{"resource":[],"span":[],"spanevent":[]}` | Apply a transformation to traces received via the OTLP or OTLP HTTP receivers. ([docs](https://grafana.com/docs/alloy/latest/reference/components/otelcol/otelcol.processor.transform/)) | diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/README.md.gotmpl b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/README.md.gotmpl deleted file mode 100755 index c3c21d4..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/README.md.gotmpl +++ /dev/null @@ -1,37 +0,0 @@ - - -{{ template "chart.header" . }} -{{ template "chart.deprecationWarning" . }} -{{ template "chart.badgesSection" . }} -{{ template "chart.description" . }} -{{ template "chart.homepageLine" . }} - -The Application Observability feature enables the collection of application telemetry data. - -## Before enabling - -Before you enable this feature, you must enable one or more receivers where data will be sent from the application. - -## Testing - -This chart contains unit tests to verify the generated configuration. The hidden value `deployAsConfigMap` will render -the generated configuration into a ConfigMap object. While this ConfigMap is not used during regular operation, you can -use it to show the outcome of a given values file. - -The unit tests use this ConfigMap to create an object with the configuration that can be asserted against. To run the -tests, use `helm test`. - -Be sure perform actual integration testing in a live environment in the main [k8s-monitoring](../..) chart. - -{{ template "chart.maintainersSection" . }} - - -{{ template "chart.sourcesSection" . }} - - -{{ template "chart.requirementsSection" . }} - -{{ template "chart.valuesSection" . }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/schema-mods/types-and-enums.json b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/schema-mods/types-and-enums.json deleted file mode 100755 index 6f21856..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/schema-mods/types-and-enums.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "properties": { - "connectors": { - "properties": { - "spanMetrics": { - "properties": { - "histogram": {"properties": {"type": {"enum": ["explicit", "exponential"]}}} - } - } - } - } - } -} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_connector_host_info.tpl b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_connector_host_info.tpl deleted file mode 100755 index 5c646d5..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_connector_host_info.tpl +++ /dev/null @@ -1,14 +0,0 @@ -{{/* Inputs: Values (values) metricsOutput, name */}} -{{/* https://grafana.com/docs/alloy/latest/reference/components/otelcol/otelcol.connector.host_info/ */}} -{{- define "feature.applicationObservability.connector.host_info.alloy.target" }}otelcol.connector.host_info.{{ .name | default "default" }}.input{{- end }} -{{- define "feature.applicationObservability.connector.host_info.alloy" }} -otelcol.connector.host_info "{{ .name | default "default" }}" { - host_identifiers = [ "k8s.node.name" ] - - output { -{{- if and .metrics .Values.metrics.enabled }} - metrics = {{ .metrics }} -{{- end }} - } -} -{{- end }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_connector_span_logs.tpl b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_connector_span_logs.tpl deleted file mode 100755 index 01eb343..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_connector_span_logs.tpl +++ /dev/null @@ -1,31 +0,0 @@ -{{/* Inputs: Values (values) metricsOutput, name */}} -{{/* https://grafana.com/docs/alloy/latest/reference/components/otelcol/otelcol.connector.spanlogs/ */}} -{{- define "feature.applicationObservability.connector.spanlogs.alloy.target" }}otelcol.connector.spanlogs.{{ .name | default "default" }}.input{{- end }} -{{- define "feature.applicationObservability.connector.spanlogs.alloy" }} -otelcol.connector.spanlogs "{{ .name | default "default" }}" { -{{- if .Values.connectors.spanLogs.spans }} - spans = true -{{- end }} -{{- if .Values.connectors.spanLogs.spansAttributes }} - spans_attributes = {{ .Values.connectors.spanLogs.spansAttributes | toJson }} -{{- end }} -{{- if .Values.connectors.spanLogs.roots }} - roots = true -{{- end }} -{{- if .Values.connectors.spanLogs.process }} - process = true -{{- end }} -{{- if .Values.connectors.spanLogs.processAttributes }} - process_attributes = {{ .Values.connectors.spanLogs.processAttributes | toJson }} -{{- end }} -{{- if .Values.connectors.spanLogs.labels }} - labels = {{ .Values.connectors.spanLogs.labels | toJson }} -{{- end }} - - output { -{{- if and .logs .Values.logs.enabled }} - logs = {{ .logs }} -{{- end }} - } -} -{{- end }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_connector_span_metrics.tpl b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_connector_span_metrics.tpl deleted file mode 100755 index 5aa1e9f..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_connector_span_metrics.tpl +++ /dev/null @@ -1,51 +0,0 @@ -{{/* Inputs: Values (values) metricsOutput, name */}} -{{/* https://grafana.com/docs/alloy/latest/reference/components/otelcol/otelcol.connector.spanmetrics/ */}} -{{- define "feature.applicationObservability.connector.spanmetrics.alloy.target" }}otelcol.connector.spanmetrics.{{ .name | default "default" }}.input{{- end }} -{{- define "feature.applicationObservability.connector.spanmetrics.alloy" }} -otelcol.connector.spanmetrics "{{ .name | default "default" }}" { -{{- range $dimension := .Values.connectors.spanMetrics.dimensions }} - dimension { - name = {{ $dimension.name | quote }} -{{- if $dimension.default }} - default = {{ $dimension.default | quote }} -{{- end }} - } -{{- end }} - dimensions_cache_size = {{ .Values.connectors.spanMetrics.dimensionsCacheSize }} - namespace = {{ .Values.connectors.spanMetrics.namespace | quote }} -{{- if .Values.connectors.spanMetrics.events.enabled }} - events { - enabled = true - } -{{- end }} -{{ if .Values.connectors.spanMetrics.exemplars.enabled }} - exemplars { - enabled = true -{{- if .Values.connectors.spanMetrics.exemplars.maxPerDataPoint }} - max_per_data_point = {{ .Values.connectors.spanMetrics.exemplars.maxPerDataPoint }} -{{- end }} - } -{{- end }} -{{- if .Values.connectors.spanMetrics.histogram.enabled }} - histogram { - disable = false - unit = {{ .Values.connectors.spanMetrics.histogram.unit | quote }} -{{- if eq .Values.connectors.spanMetrics.histogram.type "explicit" }} - explicit { - buckets = {{ .Values.connectors.spanMetrics.histogram.explicit.buckets | toJson }} - } -{{- else if eq .Values.connectors.spanMetrics.histogram.type "exponential" }} - exponential { - max_size = {{ .Values.connectors.spanMetrics.histogram.exponential.maxSize }} - } -{{- end }} - } -{{- end }} - - output { -{{- if and .metrics .Values.metrics.enabled }} - metrics = {{ .metrics }} -{{- end }} - } -} -{{- end }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_helpers.tpl b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_helpers.tpl deleted file mode 100755 index edef617..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_helpers.tpl +++ /dev/null @@ -1,30 +0,0 @@ -{{/* -Create a default fully qualified 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 "feature.applicationObservability.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" | lower }} -{{- else }} -{{- $name := default .Chart.Name .Values.nameOverride | lower }} -{{- if contains $name .Release.Name }} -{{- .Release.Name | trunc 63 | trimSuffix "-" | lower }} -{{- else }} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" | lower }} -{{- end }} -{{- end }} -{{- end }} - -{{- define "english_list" }} -{{- if eq (len .) 0 }} -{{- else if eq (len .) 1 }} -{{- index . 0 }} -{{- else if eq (len .) 2 }} -{{- index . 0 }} and {{ index . 1 }} -{{- else }} -{{- $last := index . (sub (len .) 1) }} -{{- $rest := slice . 0 (sub (len .) 1) }} -{{- join ", " $rest }}, and {{ $last }} -{{- end }} -{{- end }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_module.alloy.tpl b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_module.alloy.tpl deleted file mode 100755 index 41d471a..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_module.alloy.tpl +++ /dev/null @@ -1,36 +0,0 @@ -{{- define "feature.applicationObservability.module" }} -declare "application_observability" { - argument "metrics_destinations" { - comment = "Must be a list of metrics destinations where collected metrics should be forwarded to" - } - - argument "logs_destinations" { - comment = "Must be a list of log destinations where collected logs should be forwarded to" - } - - argument "traces_destinations" { - comment = "Must be a list of trace destinations where collected trace should be forwarded to" - } -{{- $pipeline := include "feature.applicationObservability.pipeline" . | fromYamlArray }} -{{- range $component := $pipeline }} - {{- $args := (dict "Values" $.Values "name" $component.name) }} - - {{- range $dataType := (list "metrics" "logs" "traces")}} - {{- if kindIs "string" (index $component.targets $dataType) }} - {{- $args = merge $args (dict $dataType (index $component.targets $dataType)) }} - {{- else if kindIs "slice" (index $component.targets $dataType) }} - {{- $targets := list }} - {{- range $target := (index $component.targets $dataType) }} - {{- $targets = append $targets (include (printf "feature.applicationObservability.%s.alloy.target" $target.component) $target) }} - {{- end }} - {{- $args = merge $args (dict $dataType (printf "[%s]" (join ", " $targets))) }} - {{- end }} - {{- end }} - - // {{ $component.description | trim }} - {{- include (printf "feature.applicationObservability.%s.alloy" $component.component) $args | indent 2 }} -{{- end }} -} -{{- end }} - -{{- define "feature.applicationObservability.alloyModules" }}{{- end }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_notes.tpl b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_notes.tpl deleted file mode 100755 index 6deeba2..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_notes.tpl +++ /dev/null @@ -1,52 +0,0 @@ -{{- define "feature.applicationObservability.notes.deployments" }}{{- end }} - -{{- define "feature.applicationObservability.notes.task" }} -{{- $receivers := list }} -{{- if .Values.receivers.otlp.grpc.enabled }}{{- $receivers = append $receivers "OTLP gRPC" }}{{ end }} -{{- if .Values.receivers.otlp.http.enabled }}{{- $receivers = append $receivers "OTLP HTTP" }}{{ end }} -{{- if .Values.receivers.jaeger.grpc.enabled }}{{- $receivers = append $receivers "Jaeger gRPC" }}{{ end }} -{{- if .Values.receivers.jaeger.thriftBinary.enabled }}{{- $receivers = append $receivers "Jaeger Thrift Binary" }}{{ end }} -{{- if .Values.receivers.jaeger.thriftCompact.enabled }}{{- $receivers = append $receivers "Jaeger Thrift Compact" }}{{ end }} -{{- if .Values.receivers.jaeger.thriftHttp.enabled }}{{- $receivers = append $receivers "Jaeger Thrift HTTP" }}{{ end }} -{{- if .Values.receivers.zipkin.enabled }}{{- $receivers = append $receivers "Zipkin" }}{{ end }} -{{- $receiverWord := len $receivers | plural "receiver" "receivers" }} -Gather application data via {{ include "english_list" $receivers }} {{ $receiverWord }} -{{- end }} - -{{- define "feature.applicationObservability.notes.actions" }} -Configure your applications to send telemetry data to: -{{- if .Values.receivers.otlp.grpc.enabled }} -* http://{{ .Collector.ServiceName }}.{{ .Collector.Namespace }}.svc.cluster.local:{{ .Values.receivers.otlp.grpc.port }} (OTLP gRPC) -{{- end }} -{{- if .Values.receivers.otlp.http.enabled }} -* http://{{ .Collector.ServiceName }}.{{ .Collector.Namespace }}.svc.cluster.local:{{ .Values.receivers.otlp.http.port }} (OTLP HTTP) -{{- end }} -{{- if .Values.receivers.jaeger.grpc.enabled }} -* http://{{ .Collector.ServiceName }}.{{ .Collector.Namespace }}.svc.cluster.local:{{ .Values.receivers.jaeger.grpc.port }} (Jaeger gRPC) -{{- end }} -{{- if .Values.receivers.jaeger.thriftBinary.enabled }} -* http://{{ .Collector.ServiceName }}.{{ .Collector.Namespace }}.svc.cluster.local:{{ .Values.receivers.jaeger.thriftBinary.port }} (Jaeger Thrift Binary) -{{- end }} -{{- if .Values.receivers.jaeger.thriftCompact.enabled }} -* http://{{ .Collector.ServiceName }}.{{ .Collector.Namespace }}.svc.cluster.local:{{ .Values.receivers.jaeger.thriftCompact.port }} (Jaeger Thrift Compact) -{{- end }} -{{- if .Values.receivers.jaeger.thriftHttp.enabled }} -* http://{{ .Collector.ServiceName }}.{{ .Collector.Namespace }}.svc.cluster.local:{{ .Values.receivers.jaeger.thriftHttp.port }} (Jaeger Thrift HTTP) -{{- end }} -{{- if .Values.receivers.zipkin.enabled }} -* http://{{ .Collector.ServiceName }}.{{ .Collector.Namespace }}.svc.cluster.local:{{ .Values.receivers.zipkin.port }} (Zipkin) -{{- end }} -{{- end }} - -{{- define "feature.applicationObservability.summary" -}} -{{- $receivers := list }} -{{- if .Values.receivers.otlp.grpc.enabled }}{{- $receivers = append $receivers "otlpgrpc" }}{{ end }} -{{- if .Values.receivers.otlp.http.enabled }}{{- $receivers = append $receivers "otlphttp" }}{{ end }} -{{- if .Values.receivers.jaeger.grpc.enabled }}{{- $receivers = append $receivers "jaegergrpc" }}{{ end }} -{{- if .Values.receivers.jaeger.thriftBinary.enabled }}{{- $receivers = append $receivers "jaegerthriftbinary" }}{{ end }} -{{- if .Values.receivers.jaeger.thriftCompact.enabled }}{{- $receivers = append $receivers "jaegerthriftcompact" }}{{ end }} -{{- if .Values.receivers.jaeger.thriftHttp.enabled }}{{- $receivers = append $receivers "jaegerthrifthttp" }}{{ end }} -{{- if .Values.receivers.zipkin.enabled }}{{- $receivers = append $receivers "zipkin" }}{{ end }} -version: {{ .Chart.Version }} -protocols: {{ $receivers | join "," }} -{{- end }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_pipeline.tpl b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_pipeline.tpl deleted file mode 100755 index 7b142f7..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_pipeline.tpl +++ /dev/null @@ -1,161 +0,0 @@ -{{- define "feature.applicationObservability.pipeline" }} -# Format: -# - name: Alloy component name -# description: Human friendly description of the component -# component: Component slug (used for including "feature.applicationObservability.%s.alloy") -# targets: -# : -# - name: Name of the target -# component: Component slug (used for including "feature.applicationObservability.%s.alloy.target") -# : Raw target string (useful for terminating with argument._destinations.value) -# : No target defined for this type -{{- if or .Values.receivers.otlp.grpc.enabled .Values.receivers.otlp.http.enabled }} -- name: default - description: OTLP Receiver - component: receiver.otlp - targets: -{{- if .Values.processors.memoryLimiter.enabled }} - metrics: [{name: default, component: processor.memory_limiter}] - logs: [{name: default, component: processor.memory_limiter}] - traces: [{name: default, component: processor.memory_limiter}] -{{- else }} - metrics: [{name: default, component: processor.resourcedetection}] - logs: [{name: default, component: processor.resourcedetection}] - traces: [{name: default, component: processor.resourcedetection}] -{{- end }} -{{- end }} -{{- if or .Values.receivers.jaeger.grpc.enabled .Values.receivers.jaeger.thriftBinary.enabled .Values.receivers.jaeger.thriftCompact.enabled .Values.receivers.jaeger.thriftHttp.enabled }} -- name: default - description: Jaeger Receiver - component: receiver.jaeger - targets: -{{- if .Values.processors.memoryLimiter.enabled }} - traces: [{name: default, component: processor.memory_limiter}] -{{- else }} - traces: [{name: default, component: processor.resourcedetection}] -{{- end }} -{{- end }} -{{- if .Values.receivers.zipkin.enabled }} -- name: default - description: Zipkin Receiver - component: receiver.zipkin - targets: -{{- if .Values.processors.memoryLimiter.enabled }} - traces: [{name: default, component: processor.memory_limiter}] -{{- else }} - traces: [{name: default, component: processor.resourcedetection}] -{{- end }} -{{- end }} - -{{- if .Values.processors.memoryLimiter.enabled }} -- name: default - description: Memory Limiter - component: processor.memory_limiter - targets: - metrics: [{name: default, component: processor.resourcedetection}] - logs: [{name: default, component: processor.resourcedetection}] - traces: [{name: default, component: processor.resourcedetection}] -{{- end }} - - -- name: default - description: Resource Detection Processor - component: processor.resourcedetection - targets: - metrics: [{name: default, component: processor.k8sattributes}] - logs: [{name: default, component: processor.k8sattributes}] - traces: [{name: default, component: processor.k8sattributes}] - -- name: default - description: K8s Attributes Processor - component: processor.k8sattributes - targets: - metrics: [{name: default, component: processor.transform}] - logs: [{name: default, component: processor.transform}] -{{- if (index .Values.processors "grafanaCloudMetrics").enabled | default .Values.connectors.grafanaCloudMetrics.enabled }} - traces: [{name: default, component: processor.transform}, {name: default, component: connector.host_info}] - -- name: default - description: Host Info Connector - component: connector.host_info - targets: - metrics: [{name: default, component: processor.batch}] -{{- else }} - traces: [{name: default, component: processor.transform}] -{{- end }} - -{{- $filterEnabled := eq (include "feature.applicationObservability.processor.filter.enabled" .) "true" }} -- name: default - description: Transform Processor - component: processor.transform - targets: - traces: [{name: default, component: processor.batch}] - traces: -{{- if .Values.connectors.spanLogs.enabled}} - - {name: default, component: connector.spanlogs} -{{- end }} -{{- if .Values.connectors.spanMetrics.enabled}} - - {name: default, component: connector.spanmetrics} -{{- end }} -{{- if $filterEnabled }} - - {name: default, component: processor.filter} - metrics: [{name: default, component: processor.filter}] - logs: [{name: default, component: processor.filter}] -{{- else }} - - {name: default, component: processor.batch} - metrics: [{name: default, component: processor.batch}] - logs: [{name: default, component: processor.batch}] -{{- end }} - -{{- if .Values.connectors.spanLogs.enabled}} -- name: default - description: Span Logs Connector - component: connector.spanlogs - targets: -{{- if $filterEnabled }} - logs: [{name: default, component: processor.filter}] -{{- else }} - logs: [{name: default, component: processor.batch}] -{{- end }} -{{- end }} -{{- if .Values.connectors.spanMetrics.enabled}} -- name: default - description: Span Metrics Connector - component: connector.spanmetrics - targets: -{{- if $filterEnabled }} - metrics: [{name: default, component: processor.filter}] -{{- else }} - metrics: [{name: default, component: processor.batch}] -{{- end }} -{{- end }} - -{{- if $filterEnabled }} -- name: default - description: Filter Processor - component: processor.filter - targets: - metrics: [{name: default, component: processor.batch}] - logs: [{name: default, component: processor.batch}] - traces: [{name: default, component: processor.batch}] -{{- end }} - -- name: default - description: Batch Processor - component: processor.batch - targets: -{{- if .Values.processors.interval.enabled }} - metrics: [{name: default, component: processor.interval}] - logs: [{name: default, component: processor.interval}] - traces: [{name: default, component: processor.interval}] - -- name: default - description: Interval Processor - component: processor.interval - targets: -{{- end }} - metrics: argument.metrics_destinations.value - logs: argument.logs_destinations.value - traces: argument.traces_destinations.value - -{{- end }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_processor_batch.tpl b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_processor_batch.tpl deleted file mode 100755 index 146596e..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_processor_batch.tpl +++ /dev/null @@ -1,21 +0,0 @@ -{{/* Inputs: Values (values) metricsOutput, logsOutput, tracesOutput, name */}} -{{- define "feature.applicationObservability.processor.batch.alloy.target" }}otelcol.processor.batch.{{ .name | default "default" }}.input{{ end }} -{{- define "feature.applicationObservability.processor.batch.alloy" }} -otelcol.processor.batch {{ .name | default "default" | quote }} { - send_batch_size = {{ .Values.processors.batch.size }} - send_batch_max_size = {{ .Values.processors.batch.maxSize }} - timeout = {{ .Values.processors.batch.timeout | quote}} - - output { -{{- if and .metrics .Values.metrics.enabled }} - metrics = {{ .metrics }} -{{- end }} -{{- if and .logs .Values.logs.enabled }} - logs = {{ .logs }} -{{- end }} -{{- if and .traces .Values.traces.enabled }} - traces = {{ .traces }} -{{- end }} - } -} -{{- end }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_processor_filter.tpl b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_processor_filter.tpl deleted file mode 100755 index b4cae96..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_processor_filter.tpl +++ /dev/null @@ -1,74 +0,0 @@ -{{/* Inputs: Values (values) metricsOutput, logsOutput, tracesOutput, name */}} -{{/* https://grafana.com/docs/alloy/latest/reference/components/otelcol/otelcol.processor.filter/ */}} -{{- define "feature.applicationObservability.processor.filter.enabled" }} -{{- if and .Values.metrics.enabled (or .Values.metrics.filters.metric .Values.metrics.filters.datapoint) -}} -true -{{- else if and .Values.logs.enabled .Values.logs.filters.log_record -}} -true -{{- else if and .Values.traces.enabled (or .Values.traces.filters.span .Values.traces.filters.spanevent) -}} -true -{{- else -}} -false -{{- end }} -{{- end }} -{{- define "feature.applicationObservability.processor.filter.alloy.target" }}otelcol.processor.filter.{{ .name | default "default" }}.input{{ end }} -{{- define "feature.applicationObservability.processor.filter.alloy" }} -otelcol.processor.filter "{{ .name | default "default" }}" { -{{- if and .Values.metrics.enabled (or .Values.metrics.filters.metric .Values.metrics.filters.datapoint) }} - metrics { -{{- if .Values.metrics.filters.metric }} - metric = [ -{{- range $filter := .Values.metrics.filters.metric }} -{{ $filter | quote | indent 6 }}, -{{- end }} - ] -{{- end }} -{{- if .Values.metrics.filters.datapoint }} - datapoint = [ -{{- range $filter := .Values.metrics.filters.datapoint }} -{{ $filter | quote | indent 6 }}, -{{- end }} - ] -{{- end }} - } -{{- end }} -{{- if and .Values.logs.enabled .Values.logs.filters.log_record }} - logs { - log_record = [ -{{- range $filter := .Values.logs.filters.log_record }} -{{ $filter | quote | indent 6 }}, -{{- end }} - ] - } -{{- end }} -{{- if and .Values.traces.enabled (or .Values.traces.filters.span .Values.traces.filters.spanevent) }} - traces { -{{- if .Values.traces.filters.span }} - span = [ -{{- range $filter := .Values.traces.filters.span }} -{{ $filter | quote | indent 6 }}, -{{- end }} - ] -{{- end }} -{{- if .Values.traces.filters.spanevent }} - spanevent = [ -{{- range $filter := .Values.traces.filters.spanevent }} -{{ $filter | quote | indent 6 }}, -{{- end }} - ] -{{- end }} - } -{{- end }} - output { -{{- if and .metrics .Values.metrics.enabled }} - metrics = {{ .metrics }} -{{- end }} -{{- if and .logs .Values.logs.enabled }} - logs = {{ .logs }} -{{- end }} -{{- if and .traces .Values.traces.enabled }} - traces = {{ .traces }} -{{- end }} - } -} -{{- end }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_processor_interval.tpl b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_processor_interval.tpl deleted file mode 100755 index 04fdecf..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_processor_interval.tpl +++ /dev/null @@ -1,23 +0,0 @@ -{{/* Inputs: Values (values) metricsOutput, logsOutput, tracesOutput, name */}} -{{- define "feature.applicationObservability.processor.interval.alloy.target" }}otelcol.processor.interval.{{ .name | default "default" }}.input{{ end }} -{{- define "feature.applicationObservability.processor.interval.alloy" }} -otelcol.processor.interval {{ .name | default "default" | quote }} { - interval = {{ .Values.processors.interval.interval | quote }} - passthrough { - gauge = {{ .Values.processors.interval.passthrough.gauge }} - summary = {{ .Values.processors.interval.passthrough.summary }} - } - - output { -{{- if and .metrics .Values.metrics.enabled }} - metrics = {{ .metrics }} -{{- end }} -{{- if and .logs .Values.logs.enabled }} - logs = {{ .logs }} -{{- end }} -{{- if and .traces .Values.traces.enabled }} - traces = {{ .traces }} -{{- end }} - } -} -{{- end }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_processor_k8sattributes.tpl b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_processor_k8sattributes.tpl deleted file mode 100755 index 6d50002..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_processor_k8sattributes.tpl +++ /dev/null @@ -1,55 +0,0 @@ -{{/* Inputs: Values (values) metricsOutput, logsOutput, tracesOutput, name */}} -{{/* https://grafana.com/docs/alloy/latest/reference/components/otelcol/otelcol.processor.k8sattributes/ */}} -{{- define "feature.applicationObservability.processor.k8sattributes.alloy.target" }}otelcol.processor.k8sattributes.{{ .name | default "default" }}.input{{ end }} -{{- define "feature.applicationObservability.processor.k8sattributes.alloy" }} -otelcol.processor.k8sattributes "{{ .name | default "default" }}" { - extract { -{{- if .Values.processors.k8sattributes.metadata }} - metadata = {{ .Values.processors.k8sattributes.metadata | toJson }} -{{- end }} -{{- range .Values.processors.k8sattributes.labels }} - label { - {{- range $k, $v := . }} - {{ $k }} = {{ $v | quote }} - {{- end }} - } -{{- end }} -{{- range .Values.processors.k8sattributes.annotations }} - annotation { - {{- range $k, $v := . }} - {{ $k }} = {{ $v | quote }} - {{- end }} - } -{{- end }} - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.ip" - } - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.uid" - } - } - pod_association { - source { - from = "connection" - } - } - - output { -{{- if and .metrics .Values.metrics.enabled }} - metrics = {{ .metrics }} -{{- end }} -{{- if and .logs .Values.logs.enabled }} - logs = {{ .logs }} -{{- end }} -{{- if and .traces .Values.traces.enabled }} - traces = {{ .traces }} -{{- end }} - } -} -{{- end }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_processor_memory_limiter.tpl b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_processor_memory_limiter.tpl deleted file mode 100755 index 86754e2..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_processor_memory_limiter.tpl +++ /dev/null @@ -1,20 +0,0 @@ -{{/* Inputs: Values (values) metricsOutput, logsOutput, tracesOutput, name */}} -{{- define "feature.applicationObservability.processor.memory_limiter.alloy.target" }}otelcol.processor.memory_limiter.{{ .name | default "default" }}.input{{ end }} -{{- define "feature.applicationObservability.processor.memory_limiter.alloy" }} -otelcol.processor.memory_limiter "{{ .name | default "default" }}" { - check_interval = {{ .Values.processors.memoryLimiter.checkInterval | quote }} - limit = {{ .Values.processors.memoryLimiter.limit | quote }} - - output { -{{- if and .metrics .Values.metrics.enabled }} - metrics = {{ .metrics }} -{{- end }} -{{- if and .logs .Values.logs.enabled }} - logs = {{ .logs }} -{{- end }} -{{- if and .traces .Values.traces.enabled }} - traces = {{ .traces }} -{{- end }} - } -} -{{- end }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_processor_resourcedetection.tpl b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_processor_resourcedetection.tpl deleted file mode 100755 index 423b58b..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_processor_resourcedetection.tpl +++ /dev/null @@ -1,89 +0,0 @@ -{{/* Inputs: Values (values) metricsOutput, logsOutput, tracesOutput, name */}} -{{/* https://grafana.com/docs/alloy/latest/reference/components/otelcol/otelcol.processor.resourcedetection/ */}} -{{- define "feature.applicationObservability.processor.resourcedetection.alloy.target" }}otelcol.processor.resourcedetection.{{ .name | default "default" }}.input{{ end }} -{{- define "feature.applicationObservability.processor.resourcedetection.alloy" }} -{{- $detectors := include "feature.applicationObservability.processor.resourcedetection.detectors" . | fromYamlArray }} -otelcol.processor.resourcedetection "{{ .name | default "default" }}" { - detectors = {{ $detectors | sortAlpha | toJson }} - override = {{ .Values.processors.resourceDetection.override }} - -{{- range $detector := $detectors }} - {{- /* Skip env, it has no settings */}} - {{- if ne $detector "env" }} - {{ $detectorValues := index $.Values.processors.resourceDetection $detector }} - - {{- /* Fix the case style for kubernetesNode --> kubernetes_node */}} - {{- if eq $detector "kubernetesNode" }} - kubernetes_node { - {{- else }} - {{ $detector }} { - {{- end }} - - {{- /* Handle detectors with special arguments */}} - {{- if eq $detector "ec2" }} - {{- if $detectorValues.tags }} - tags = {{ $detectorValues.tags | toJson }} - {{- end }} - {{- end }} - {{- if eq $detector "consul" }} - {{ if $detectorValues.address }}address = {{ $detectorValues.address | quote }}{{ end }} - {{ if $detectorValues.datacenter }}datacenter = {{ $detectorValues.datacenter | quote }}{{ end }} - {{ if $detectorValues.token }}token = {{ $detectorValues.token | quote }}{{ end }} - {{ if $detectorValues.namespace }}namespace = {{ $detectorValues.namespace | quote }}{{ end }} - {{ if $detectorValues.meta }}meta = {{ $detectorValues.meta | toJson }}{{ end }} - {{- end }} - {{- if eq $detector "system" }} - {{- if $detectorValues.hostnameSources }} - hostname_sources = {{ $detectorValues.hostnameSources | toJson }} - {{- end }} - {{- end }} - {{- if eq $detector "openshift" }} - {{ if $detectorValues.address }}address = {{ $detectorValues.address | quote }}{{ end }} - {{ if $detectorValues.token }}token = {{ $detectorValues.token | quote }}{{ end }} - {{- end }} - {{- if eq $detector "kubernetesNode" }} - {{ if $detectorValues.authType }}auth_type = {{ $detectorValues.authType | quote }}{{ end }} - {{ if $detectorValues.nodeFromEnvVar }}node_from_env_var = {{ $detectorValues.nodeFromEnvVar | quote }}{{ end }} - {{- end }} - - {{- if $detectorValues.resourceAttributes }} - resource_attributes { - {{- range $key, $value := $detectorValues.resourceAttributes }} - {{ if $value.enabled }}{{ $key }} { enabled = true }{{ end }} - {{- end }} - } - {{- end }} - } - {{- end }} -{{- end }} - - output { -{{- if and .metrics .Values.metrics.enabled }} - metrics = {{ .metrics }} -{{- end }} -{{- if and .logs .Values.logs.enabled }} - logs = {{ .logs }} -{{- end }} -{{- if and .traces .Values.traces.enabled }} - traces = {{ .traces }} -{{- end }} - } -} -{{- end }} - -{{- define "feature.applicationObservability.processor.resourcedetection.detectors" }} -{{- $enabledDetectors := list }} -{{- range $detector, $options := .Values.processors.resourceDetection }} - {{- if ne $detector "override" }} - {{- if $options.enabled }} - {{- $enabledDetectors = append $enabledDetectors $detector }} - {{- end }} - {{- end }} -{{- end }} -{{ $enabledDetectors | toJson }} -{{- end }} - -{{- define "feature.applicationObservability.processor.resourcedetection.enabled" }} -{{- $detectors := include "feature.applicationObservability.processor.resourcedetection.detectors" . | fromYamlArray }} -{{- gt (len $detectors) 0 }} -{{- end }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_processor_transform.tpl b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_processor_transform.tpl deleted file mode 100755 index 3d77434..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_processor_transform.tpl +++ /dev/null @@ -1,110 +0,0 @@ -{{/* Inputs: Values (values) metricsOutput, logsOutput, tracesOutput, name */}} -{{/* https://grafana.com/docs/alloy/latest/reference/components/otelcol/otelcol.processor.transform/ */}} -{{- define "feature.applicationObservability.processor.transform.alloy.target" }}otelcol.processor.transform.{{ .name | default "default" }}.input{{ end }} -{{- define "feature.applicationObservability.processor.transform.alloy" }} -otelcol.processor.transform "{{ .name | default "default" }}" { - error_mode = "ignore" - -{{- if .Values.metrics.enabled }} -{{- if .Values.metrics.transforms.resource }} - metric_statements { - context = "resource" - statements = [ -{{- range $transform := .Values.metrics.transforms.resource }} -{{ $transform | quote | indent 6 }}, -{{- end }} - ] - } -{{- end }} -{{- if .Values.metrics.transforms.metric }} - metric_statements { - context = "metric" - statements = [ -{{- range $transform := .Values.metrics.transforms.metric }} -{{ $transform | quote | indent 6 }}, -{{- end }} - ] - } -{{- end }} -{{- if .Values.metrics.transforms.datapoint }} - metric_statements { - context = "datapoint" - statements = [ -{{- range $transform := .Values.metrics.transforms.datapoint }} -{{ $transform | quote | indent 6 }}, -{{- end }} - ] - } -{{- end }} -{{- end }} -{{- if .Values.logs.enabled }} - log_statements { - context = "resource" - statements = [ -{{- if .Values.logs.transforms.resource }} -{{- range $transform := .Values.logs.transforms.resource }} -{{ $transform | quote | indent 6 }}, -{{- end }} -{{- end }} - "set(attributes[\"pod\"], attributes[\"k8s.pod.name\"])", - "set(attributes[\"namespace\"], attributes[\"k8s.namespace.name\"])", - "set(attributes[\"loki.resource.labels\"], \"{{ .Values.logs.transforms.labels | join ", " }}\")", - ] - } -{{- if .Values.logs.transforms.log }} - log_statements { - context = "log" - statements = [ -{{- range $transform := .Values.logs.transforms.log }} -{{ $transform | quote | indent 6 }}, -{{- end }} - ] - } -{{- end }} -{{- end }} -{{- if .Values.traces.enabled }} -{{- if .Values.traces.transforms.resource }} - trace_statements { - context = "resource" - statements = [ -{{- range $transform := .Values.traces.transforms.resource }} -{{ $transform | quote | indent 6 }}, -{{- end }} - ] - } -{{- end }} -{{- if .Values.traces.transforms.span }} - trace_statements { - context = "span" - statements = [ -{{- range $transform := .Values.traces.transforms.span }} -{{ $transform | quote | indent 6 }}, -{{- end }} - ] - } -{{- end }} -{{- if .Values.traces.transforms.spanevent }} - trace_statements { - context = "spanevent" - statements = [ -{{- range $transform := .Values.traces.transforms.spanevent }} -{{ $transform | quote | indent 6 }}, -{{- end }} - ] - } -{{- end }} -{{- end }} - - output { -{{- if and .metrics .Values.metrics.enabled }} - metrics = {{ .metrics }} -{{- end }} -{{- if and .logs .Values.logs.enabled }} - logs = {{ .logs }} -{{- end }} -{{- if and .traces .Values.traces.enabled }} - traces = {{ .traces }} -{{- end }} - } -} -{{- end }} \ No newline at end of file diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_receiver_jaeger.tpl b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_receiver_jaeger.tpl deleted file mode 100755 index bb400e1..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_receiver_jaeger.tpl +++ /dev/null @@ -1,36 +0,0 @@ -{{/* Inputs: Values (values) tracesOutput */}} -{{- define "feature.applicationObservability.receiver.jaeger.alloy" }} -otelcol.receiver.jaeger "receiver" { - protocols { -{{- if .Values.receivers.jaeger.grpc.enabled }} - grpc { - endpoint = "0.0.0.0:{{ .Values.receivers.jaeger.grpc.port | int }}" - } -{{- end }} -{{- if .Values.receivers.jaeger.thriftBinary.enabled }} - thrift_binary { - endpoint = "0.0.0.0:{{ .Values.receivers.jaeger.thriftBinary.port | int }}" - } -{{- end }} -{{- if .Values.receivers.jaeger.thriftCompact.enabled }} - thrift_compact { - endpoint = "0.0.0.0:{{ .Values.receivers.jaeger.thriftCompact.port | int }}" - } -{{- end }} -{{- if .Values.receivers.jaeger.thriftHttp.enabled }} - thrift_http { - endpoint = "0.0.0.0:{{ .Values.receivers.jaeger.thriftHttp.port | int }}" - } -{{- end }} - } - - debug_metrics { - disable_high_cardinality_metrics = {{ not .Values.receivers.jaeger.includeDebugMetrics }} - } - output { -{{- if and .traces .Values.traces.enabled }} - traces = {{ .traces }} -{{- end }} - } -} -{{- end }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_receiver_otlp.tpl b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_receiver_otlp.tpl deleted file mode 100755 index 32e4fba..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_receiver_otlp.tpl +++ /dev/null @@ -1,36 +0,0 @@ -{{/* Inputs: Values (values) metricsOutput, logsOutput, tracesOutput */}} -{{- define "feature.applicationObservability.receiver.otlp.alloy" }} -otelcol.receiver.otlp "receiver" { -{{- if .Values.receivers.otlp.grpc.enabled }} - grpc { - endpoint = "0.0.0.0:{{ .Values.receivers.otlp.grpc.port | int }}" - max_recv_msg_size = {{ .Values.receivers.otlp.grpc.maxReceivedMessageSize | quote }} -{{- if ne (int .Values.receivers.otlp.grpc.maxConcurrentStreams) 0 }} - max_concurrent_streams = {{ .Values.receivers.otlp.grpc.maxConcurrentStreams }} -{{- end }} - read_buffer_size = {{ .Values.receivers.otlp.grpc.readBufferSize | quote }} - write_buffer_size = {{ .Values.receivers.otlp.grpc.writeBufferSize | quote }} - } -{{- end }} -{{- if .Values.receivers.otlp.http.enabled }} - http { - endpoint = "0.0.0.0:{{ .Values.receivers.otlp.http.port | int }}" - max_request_body_size = {{ .Values.receivers.otlp.http.maxRequestBodySize | quote }} - } -{{- end }} - debug_metrics { - disable_high_cardinality_metrics = {{ not .Values.receivers.otlp.includeDebugMetrics }} - } - output { -{{- if and .metrics .Values.metrics.enabled }} - metrics = {{ .metrics }} -{{- end }} -{{- if and .logs .Values.logs.enabled }} - logs = {{ .logs }} -{{- end }} -{{- if and .traces .Values.traces.enabled }} - traces = {{ .traces }} -{{- end }} - } -} -{{- end }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_receiver_zipkin.tpl b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_receiver_zipkin.tpl deleted file mode 100755 index 73efff7..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_receiver_zipkin.tpl +++ /dev/null @@ -1,14 +0,0 @@ -{{/* Inputs: Values (values) tracesOutput */}} -{{- define "feature.applicationObservability.receiver.zipkin.alloy" }} -otelcol.receiver.zipkin "receiver" { - endpoint = "0.0.0.0:{{ .Values.receivers.zipkin.port | int }}" - debug_metrics { - disable_high_cardinality_metrics = {{ not .Values.receivers.zipkin.includeDebugMetrics }} - } - output { -{{- if and .traces .Values.traces.enabled }} - traces = {{ .traces }} -{{- end }} - } -} -{{- end }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_validation.tpl b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_validation.tpl deleted file mode 100755 index 0e7e539..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/_validation.tpl +++ /dev/null @@ -1,16 +0,0 @@ -{{- define "feature.applicationObservability.validate" }} -{{- $aRecevierIsEnabled := or .Values.receivers.otlp.grpc.enabled .Values.receivers.otlp.http.enabled }} -{{- $aRecevierIsEnabled = or $aRecevierIsEnabled .Values.receivers.zipkin.enabled }} -{{- $aRecevierIsEnabled = or $aRecevierIsEnabled .Values.receivers.jaeger.grpc.enabled .Values.receivers.jaeger.thriftBinary.enabled .Values.receivers.jaeger.thriftCompact.enabled .Values.receivers.jaeger.thriftHttp.enabled }} -{{- if not $aRecevierIsEnabled }} - {{- $msg := list "" "At least one receiver must be enabled to use Application Observability." }} - {{- $msg = append $msg "Please enable one. For example:" }} - {{- $msg = append $msg "applicationObservability:" }} - {{- $msg = append $msg " receivers:" }} - {{- $msg = append $msg " otlp:" }} - {{- $msg = append $msg " grpc:" }} - {{- $msg = append $msg " enabled: true" }} - {{- $msg = append $msg "See https://github.com/grafana/k8s-monitoring-helm/tree/main/charts/k8s-monitoring/charts/feature-application-observability for more details." }} - {{- fail (join "\n" $msg) }} -{{- end }} -{{- end }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/configmap.yaml b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/configmap.yaml deleted file mode 100755 index 190a187..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/templates/configmap.yaml +++ /dev/null @@ -1,14 +0,0 @@ -{{- if .Values.deployAsConfigMap }} -{{- include "feature.applicationObservability.validate" . }} -{{- $alloyConfig := include "feature.applicationObservability.module" . }} -{{- $alloyConfig = regexReplaceAll `[ \t]+(\r?\n)` $alloyConfig "\n" }} ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ include "feature.applicationObservability.fullname" . }} - namespace: {{ .Release.Namespace }} -data: - module.alloy: |- - {{- $alloyConfig | trim | nindent 4 }} -{{- end }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/__snapshot__/.gitkeep b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/__snapshot__/.gitkeep deleted file mode 100755 index e69de29..0000000 diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/__snapshot__/default_test.yaml.snap b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/__snapshot__/default_test.yaml.snap deleted file mode 100755 index 16e3be1..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/__snapshot__/default_test.yaml.snap +++ /dev/null @@ -1,161 +0,0 @@ -creates the default pipeline: - 1: | - |- - declare "application_observability" { - argument "metrics_destinations" { - comment = "Must be a list of metrics destinations where collected metrics should be forwarded to" - } - - argument "logs_destinations" { - comment = "Must be a list of log destinations where collected logs should be forwarded to" - } - - argument "traces_destinations" { - comment = "Must be a list of trace destinations where collected trace should be forwarded to" - } - - // OTLP Receiver - otelcol.receiver.otlp "receiver" { - grpc { - endpoint = "0.0.0.0:4317" - max_recv_msg_size = "4MiB" - read_buffer_size = "512KiB" - write_buffer_size = "32KiB" - } - http { - endpoint = "0.0.0.0:4318" - max_request_body_size = "20MiB" - } - debug_metrics { - disable_high_cardinality_metrics = true - } - output { - metrics = [otelcol.processor.resourcedetection.default.input] - logs = [otelcol.processor.resourcedetection.default.input] - traces = [otelcol.processor.resourcedetection.default.input] - } - } - - // Jaeger Receiver - otelcol.receiver.jaeger "receiver" { - protocols { - grpc { - endpoint = "0.0.0.0:14250" - } - thrift_binary { - endpoint = "0.0.0.0:6832" - } - thrift_compact { - endpoint = "0.0.0.0:6831" - } - thrift_http { - endpoint = "0.0.0.0:14268" - } - } - - debug_metrics { - disable_high_cardinality_metrics = true - } - output { - traces = [otelcol.processor.resourcedetection.default.input] - } - } - - // Zipkin Receiver - otelcol.receiver.zipkin "receiver" { - endpoint = "0.0.0.0:9411" - debug_metrics { - disable_high_cardinality_metrics = true - } - output { - traces = [otelcol.processor.resourcedetection.default.input] - } - } - - // Resource Detection Processor - otelcol.processor.resourcedetection "default" { - detectors = ["env","system"] - override = true - - system { - hostname_sources = ["os"] - } - - output { - metrics = [otelcol.processor.k8sattributes.default.input] - logs = [otelcol.processor.k8sattributes.default.input] - traces = [otelcol.processor.k8sattributes.default.input] - } - } - - // K8s Attributes Processor - otelcol.processor.k8sattributes "default" { - extract { - metadata = ["k8s.namespace.name","k8s.pod.name","k8s.deployment.name","k8s.statefulset.name","k8s.daemonset.name","k8s.cronjob.name","k8s.job.name","k8s.node.name","k8s.pod.uid","k8s.pod.start_time"] - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.ip" - } - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.uid" - } - } - pod_association { - source { - from = "connection" - } - } - - output { - metrics = [otelcol.processor.transform.default.input] - logs = [otelcol.processor.transform.default.input] - traces = [otelcol.processor.transform.default.input, otelcol.connector.host_info.default.input] - } - } - - // Host Info Connector - otelcol.connector.host_info "default" { - host_identifiers = [ "k8s.node.name" ] - - output { - metrics = [otelcol.processor.batch.default.input] - } - } - - // Transform Processor - otelcol.processor.transform "default" { - error_mode = "ignore" - log_statements { - context = "resource" - statements = [ - "set(attributes[\"pod\"], attributes[\"k8s.pod.name\"])", - "set(attributes[\"namespace\"], attributes[\"k8s.namespace.name\"])", - "set(attributes[\"loki.resource.labels\"], \"cluster, namespace, job, pod\")", - ] - } - - output { - metrics = [otelcol.processor.batch.default.input] - logs = [otelcol.processor.batch.default.input] - traces = [otelcol.processor.batch.default.input] - } - } - - // Batch Processor - otelcol.processor.batch "default" { - send_batch_size = 8192 - send_batch_max_size = 0 - timeout = "2s" - - output { - metrics = argument.metrics_destinations.value - logs = argument.logs_destinations.value - traces = argument.traces_destinations.value - } - } - } diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/__snapshot__/interval_test.yaml.snap b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/__snapshot__/interval_test.yaml.snap deleted file mode 100755 index ce465dc..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/__snapshot__/interval_test.yaml.snap +++ /dev/null @@ -1,176 +0,0 @@ -creates the pipeline with the interval processor: - 1: | - |- - declare "application_observability" { - argument "metrics_destinations" { - comment = "Must be a list of metrics destinations where collected metrics should be forwarded to" - } - - argument "logs_destinations" { - comment = "Must be a list of log destinations where collected logs should be forwarded to" - } - - argument "traces_destinations" { - comment = "Must be a list of trace destinations where collected trace should be forwarded to" - } - - // OTLP Receiver - otelcol.receiver.otlp "receiver" { - grpc { - endpoint = "0.0.0.0:4317" - max_recv_msg_size = "4MiB" - read_buffer_size = "512KiB" - write_buffer_size = "32KiB" - } - http { - endpoint = "0.0.0.0:4318" - max_request_body_size = "20MiB" - } - debug_metrics { - disable_high_cardinality_metrics = true - } - output { - metrics = [otelcol.processor.resourcedetection.default.input] - logs = [otelcol.processor.resourcedetection.default.input] - traces = [otelcol.processor.resourcedetection.default.input] - } - } - - // Jaeger Receiver - otelcol.receiver.jaeger "receiver" { - protocols { - grpc { - endpoint = "0.0.0.0:14250" - } - thrift_binary { - endpoint = "0.0.0.0:6832" - } - thrift_compact { - endpoint = "0.0.0.0:6831" - } - thrift_http { - endpoint = "0.0.0.0:14268" - } - } - - debug_metrics { - disable_high_cardinality_metrics = true - } - output { - traces = [otelcol.processor.resourcedetection.default.input] - } - } - - // Zipkin Receiver - otelcol.receiver.zipkin "receiver" { - endpoint = "0.0.0.0:9411" - debug_metrics { - disable_high_cardinality_metrics = true - } - output { - traces = [otelcol.processor.resourcedetection.default.input] - } - } - - // Resource Detection Processor - otelcol.processor.resourcedetection "default" { - detectors = ["env","system"] - override = true - - system { - hostname_sources = ["os"] - } - - output { - metrics = [otelcol.processor.k8sattributes.default.input] - logs = [otelcol.processor.k8sattributes.default.input] - traces = [otelcol.processor.k8sattributes.default.input] - } - } - - // K8s Attributes Processor - otelcol.processor.k8sattributes "default" { - extract { - metadata = ["k8s.namespace.name","k8s.pod.name","k8s.deployment.name","k8s.statefulset.name","k8s.daemonset.name","k8s.cronjob.name","k8s.job.name","k8s.node.name","k8s.pod.uid","k8s.pod.start_time"] - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.ip" - } - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.uid" - } - } - pod_association { - source { - from = "connection" - } - } - - output { - metrics = [otelcol.processor.transform.default.input] - logs = [otelcol.processor.transform.default.input] - traces = [otelcol.processor.transform.default.input, otelcol.connector.host_info.default.input] - } - } - - // Host Info Connector - otelcol.connector.host_info "default" { - host_identifiers = [ "k8s.node.name" ] - - output { - metrics = [otelcol.processor.batch.default.input] - } - } - - // Transform Processor - otelcol.processor.transform "default" { - error_mode = "ignore" - log_statements { - context = "resource" - statements = [ - "set(attributes[\"pod\"], attributes[\"k8s.pod.name\"])", - "set(attributes[\"namespace\"], attributes[\"k8s.namespace.name\"])", - "set(attributes[\"loki.resource.labels\"], \"cluster, namespace, job, pod\")", - ] - } - - output { - metrics = [otelcol.processor.batch.default.input] - logs = [otelcol.processor.batch.default.input] - traces = [otelcol.processor.batch.default.input] - } - } - - // Batch Processor - otelcol.processor.batch "default" { - send_batch_size = 8192 - send_batch_max_size = 0 - timeout = "2s" - - output { - metrics = [otelcol.processor.interval.default.input] - logs = [otelcol.processor.interval.default.input] - traces = [otelcol.processor.interval.default.input] - } - } - - // Interval Processor - otelcol.processor.interval "default" { - interval = "60s" - passthrough { - gauge = false - summary = false - } - - output { - metrics = argument.metrics_destinations.value - logs = argument.logs_destinations.value - traces = argument.traces_destinations.value - } - } - } diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/__snapshot__/jaeger_test.yaml.snap b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/__snapshot__/jaeger_test.yaml.snap deleted file mode 100755 index 0f4706e..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/__snapshot__/jaeger_test.yaml.snap +++ /dev/null @@ -1,476 +0,0 @@ -should allow you to enable just the jaeger grpc receiver: - 1: | - |- - declare "application_observability" { - argument "metrics_destinations" { - comment = "Must be a list of metrics destinations where collected metrics should be forwarded to" - } - - argument "logs_destinations" { - comment = "Must be a list of log destinations where collected logs should be forwarded to" - } - - argument "traces_destinations" { - comment = "Must be a list of trace destinations where collected trace should be forwarded to" - } - - // Jaeger Receiver - otelcol.receiver.jaeger "receiver" { - protocols { - grpc { - endpoint = "0.0.0.0:14250" - } - } - - debug_metrics { - disable_high_cardinality_metrics = true - } - output { - traces = [otelcol.processor.resourcedetection.default.input] - } - } - - // Resource Detection Processor - otelcol.processor.resourcedetection "default" { - detectors = ["env","system"] - override = true - - system { - hostname_sources = ["os"] - } - - output { - metrics = [otelcol.processor.k8sattributes.default.input] - logs = [otelcol.processor.k8sattributes.default.input] - traces = [otelcol.processor.k8sattributes.default.input] - } - } - - // K8s Attributes Processor - otelcol.processor.k8sattributes "default" { - extract { - metadata = ["k8s.namespace.name","k8s.pod.name","k8s.deployment.name","k8s.statefulset.name","k8s.daemonset.name","k8s.cronjob.name","k8s.job.name","k8s.node.name","k8s.pod.uid","k8s.pod.start_time"] - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.ip" - } - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.uid" - } - } - pod_association { - source { - from = "connection" - } - } - - output { - metrics = [otelcol.processor.transform.default.input] - logs = [otelcol.processor.transform.default.input] - traces = [otelcol.processor.transform.default.input, otelcol.connector.host_info.default.input] - } - } - - // Host Info Connector - otelcol.connector.host_info "default" { - host_identifiers = [ "k8s.node.name" ] - - output { - metrics = [otelcol.processor.batch.default.input] - } - } - - // Transform Processor - otelcol.processor.transform "default" { - error_mode = "ignore" - log_statements { - context = "resource" - statements = [ - "set(attributes[\"pod\"], attributes[\"k8s.pod.name\"])", - "set(attributes[\"namespace\"], attributes[\"k8s.namespace.name\"])", - "set(attributes[\"loki.resource.labels\"], \"cluster, namespace, job, pod\")", - ] - } - - output { - metrics = [otelcol.processor.batch.default.input] - logs = [otelcol.processor.batch.default.input] - traces = [otelcol.processor.batch.default.input] - } - } - - // Batch Processor - otelcol.processor.batch "default" { - send_batch_size = 8192 - send_batch_max_size = 0 - timeout = "2s" - - output { - metrics = argument.metrics_destinations.value - logs = argument.logs_destinations.value - traces = argument.traces_destinations.value - } - } - } -should allow you to enable just the jaeger thrift binary receiver: - 1: | - |- - declare "application_observability" { - argument "metrics_destinations" { - comment = "Must be a list of metrics destinations where collected metrics should be forwarded to" - } - - argument "logs_destinations" { - comment = "Must be a list of log destinations where collected logs should be forwarded to" - } - - argument "traces_destinations" { - comment = "Must be a list of trace destinations where collected trace should be forwarded to" - } - - // Jaeger Receiver - otelcol.receiver.jaeger "receiver" { - protocols { - thrift_binary { - endpoint = "0.0.0.0:6832" - } - } - - debug_metrics { - disable_high_cardinality_metrics = true - } - output { - traces = [otelcol.processor.resourcedetection.default.input] - } - } - - // Resource Detection Processor - otelcol.processor.resourcedetection "default" { - detectors = ["env","system"] - override = true - - system { - hostname_sources = ["os"] - } - - output { - metrics = [otelcol.processor.k8sattributes.default.input] - logs = [otelcol.processor.k8sattributes.default.input] - traces = [otelcol.processor.k8sattributes.default.input] - } - } - - // K8s Attributes Processor - otelcol.processor.k8sattributes "default" { - extract { - metadata = ["k8s.namespace.name","k8s.pod.name","k8s.deployment.name","k8s.statefulset.name","k8s.daemonset.name","k8s.cronjob.name","k8s.job.name","k8s.node.name","k8s.pod.uid","k8s.pod.start_time"] - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.ip" - } - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.uid" - } - } - pod_association { - source { - from = "connection" - } - } - - output { - metrics = [otelcol.processor.transform.default.input] - logs = [otelcol.processor.transform.default.input] - traces = [otelcol.processor.transform.default.input, otelcol.connector.host_info.default.input] - } - } - - // Host Info Connector - otelcol.connector.host_info "default" { - host_identifiers = [ "k8s.node.name" ] - - output { - metrics = [otelcol.processor.batch.default.input] - } - } - - // Transform Processor - otelcol.processor.transform "default" { - error_mode = "ignore" - log_statements { - context = "resource" - statements = [ - "set(attributes[\"pod\"], attributes[\"k8s.pod.name\"])", - "set(attributes[\"namespace\"], attributes[\"k8s.namespace.name\"])", - "set(attributes[\"loki.resource.labels\"], \"cluster, namespace, job, pod\")", - ] - } - - output { - metrics = [otelcol.processor.batch.default.input] - logs = [otelcol.processor.batch.default.input] - traces = [otelcol.processor.batch.default.input] - } - } - - // Batch Processor - otelcol.processor.batch "default" { - send_batch_size = 8192 - send_batch_max_size = 0 - timeout = "2s" - - output { - metrics = argument.metrics_destinations.value - logs = argument.logs_destinations.value - traces = argument.traces_destinations.value - } - } - } -should allow you to enable just the jaeger thrift compact receiver: - 1: | - |- - declare "application_observability" { - argument "metrics_destinations" { - comment = "Must be a list of metrics destinations where collected metrics should be forwarded to" - } - - argument "logs_destinations" { - comment = "Must be a list of log destinations where collected logs should be forwarded to" - } - - argument "traces_destinations" { - comment = "Must be a list of trace destinations where collected trace should be forwarded to" - } - - // Jaeger Receiver - otelcol.receiver.jaeger "receiver" { - protocols { - thrift_compact { - endpoint = "0.0.0.0:6831" - } - } - - debug_metrics { - disable_high_cardinality_metrics = true - } - output { - traces = [otelcol.processor.resourcedetection.default.input] - } - } - - // Resource Detection Processor - otelcol.processor.resourcedetection "default" { - detectors = ["env","system"] - override = true - - system { - hostname_sources = ["os"] - } - - output { - metrics = [otelcol.processor.k8sattributes.default.input] - logs = [otelcol.processor.k8sattributes.default.input] - traces = [otelcol.processor.k8sattributes.default.input] - } - } - - // K8s Attributes Processor - otelcol.processor.k8sattributes "default" { - extract { - metadata = ["k8s.namespace.name","k8s.pod.name","k8s.deployment.name","k8s.statefulset.name","k8s.daemonset.name","k8s.cronjob.name","k8s.job.name","k8s.node.name","k8s.pod.uid","k8s.pod.start_time"] - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.ip" - } - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.uid" - } - } - pod_association { - source { - from = "connection" - } - } - - output { - metrics = [otelcol.processor.transform.default.input] - logs = [otelcol.processor.transform.default.input] - traces = [otelcol.processor.transform.default.input, otelcol.connector.host_info.default.input] - } - } - - // Host Info Connector - otelcol.connector.host_info "default" { - host_identifiers = [ "k8s.node.name" ] - - output { - metrics = [otelcol.processor.batch.default.input] - } - } - - // Transform Processor - otelcol.processor.transform "default" { - error_mode = "ignore" - log_statements { - context = "resource" - statements = [ - "set(attributes[\"pod\"], attributes[\"k8s.pod.name\"])", - "set(attributes[\"namespace\"], attributes[\"k8s.namespace.name\"])", - "set(attributes[\"loki.resource.labels\"], \"cluster, namespace, job, pod\")", - ] - } - - output { - metrics = [otelcol.processor.batch.default.input] - logs = [otelcol.processor.batch.default.input] - traces = [otelcol.processor.batch.default.input] - } - } - - // Batch Processor - otelcol.processor.batch "default" { - send_batch_size = 8192 - send_batch_max_size = 0 - timeout = "2s" - - output { - metrics = argument.metrics_destinations.value - logs = argument.logs_destinations.value - traces = argument.traces_destinations.value - } - } - } -should allow you to enable just the jaeger thrift http receiver: - 1: | - |- - declare "application_observability" { - argument "metrics_destinations" { - comment = "Must be a list of metrics destinations where collected metrics should be forwarded to" - } - - argument "logs_destinations" { - comment = "Must be a list of log destinations where collected logs should be forwarded to" - } - - argument "traces_destinations" { - comment = "Must be a list of trace destinations where collected trace should be forwarded to" - } - - // Jaeger Receiver - otelcol.receiver.jaeger "receiver" { - protocols { - thrift_http { - endpoint = "0.0.0.0:14268" - } - } - - debug_metrics { - disable_high_cardinality_metrics = true - } - output { - traces = [otelcol.processor.resourcedetection.default.input] - } - } - - // Resource Detection Processor - otelcol.processor.resourcedetection "default" { - detectors = ["env","system"] - override = true - - system { - hostname_sources = ["os"] - } - - output { - metrics = [otelcol.processor.k8sattributes.default.input] - logs = [otelcol.processor.k8sattributes.default.input] - traces = [otelcol.processor.k8sattributes.default.input] - } - } - - // K8s Attributes Processor - otelcol.processor.k8sattributes "default" { - extract { - metadata = ["k8s.namespace.name","k8s.pod.name","k8s.deployment.name","k8s.statefulset.name","k8s.daemonset.name","k8s.cronjob.name","k8s.job.name","k8s.node.name","k8s.pod.uid","k8s.pod.start_time"] - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.ip" - } - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.uid" - } - } - pod_association { - source { - from = "connection" - } - } - - output { - metrics = [otelcol.processor.transform.default.input] - logs = [otelcol.processor.transform.default.input] - traces = [otelcol.processor.transform.default.input, otelcol.connector.host_info.default.input] - } - } - - // Host Info Connector - otelcol.connector.host_info "default" { - host_identifiers = [ "k8s.node.name" ] - - output { - metrics = [otelcol.processor.batch.default.input] - } - } - - // Transform Processor - otelcol.processor.transform "default" { - error_mode = "ignore" - log_statements { - context = "resource" - statements = [ - "set(attributes[\"pod\"], attributes[\"k8s.pod.name\"])", - "set(attributes[\"namespace\"], attributes[\"k8s.namespace.name\"])", - "set(attributes[\"loki.resource.labels\"], \"cluster, namespace, job, pod\")", - ] - } - - output { - metrics = [otelcol.processor.batch.default.input] - logs = [otelcol.processor.batch.default.input] - traces = [otelcol.processor.batch.default.input] - } - } - - // Batch Processor - otelcol.processor.batch "default" { - send_batch_size = 8192 - send_batch_max_size = 0 - timeout = "2s" - - output { - metrics = argument.metrics_destinations.value - logs = argument.logs_destinations.value - traces = argument.traces_destinations.value - } - } - } diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/__snapshot__/memorylimiter_test.yaml.snap b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/__snapshot__/memorylimiter_test.yaml.snap deleted file mode 100755 index e9b7ef2..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/__snapshot__/memorylimiter_test.yaml.snap +++ /dev/null @@ -1,126 +0,0 @@ -creates the pipeline with the interval processor: - 1: | - |- - declare "application_observability" { - argument "metrics_destinations" { - comment = "Must be a list of metrics destinations where collected metrics should be forwarded to" - } - - argument "logs_destinations" { - comment = "Must be a list of log destinations where collected logs should be forwarded to" - } - - argument "traces_destinations" { - comment = "Must be a list of trace destinations where collected trace should be forwarded to" - } - - // Zipkin Receiver - otelcol.receiver.zipkin "receiver" { - endpoint = "0.0.0.0:9411" - debug_metrics { - disable_high_cardinality_metrics = true - } - output { - traces = [otelcol.processor.memory_limiter.default.input] - } - } - - // Memory Limiter - otelcol.processor.memory_limiter "default" { - check_interval = "1s" - limit = "100MiB" - - output { - metrics = [otelcol.processor.resourcedetection.default.input] - logs = [otelcol.processor.resourcedetection.default.input] - traces = [otelcol.processor.resourcedetection.default.input] - } - } - - // Resource Detection Processor - otelcol.processor.resourcedetection "default" { - detectors = ["env","system"] - override = true - - system { - hostname_sources = ["os"] - } - - output { - metrics = [otelcol.processor.k8sattributes.default.input] - logs = [otelcol.processor.k8sattributes.default.input] - traces = [otelcol.processor.k8sattributes.default.input] - } - } - - // K8s Attributes Processor - otelcol.processor.k8sattributes "default" { - extract { - metadata = ["k8s.namespace.name","k8s.pod.name","k8s.deployment.name","k8s.statefulset.name","k8s.daemonset.name","k8s.cronjob.name","k8s.job.name","k8s.node.name","k8s.pod.uid","k8s.pod.start_time"] - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.ip" - } - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.uid" - } - } - pod_association { - source { - from = "connection" - } - } - - output { - metrics = [otelcol.processor.transform.default.input] - logs = [otelcol.processor.transform.default.input] - traces = [otelcol.processor.transform.default.input, otelcol.connector.host_info.default.input] - } - } - - // Host Info Connector - otelcol.connector.host_info "default" { - host_identifiers = [ "k8s.node.name" ] - - output { - metrics = [otelcol.processor.batch.default.input] - } - } - - // Transform Processor - otelcol.processor.transform "default" { - error_mode = "ignore" - log_statements { - context = "resource" - statements = [ - "set(attributes[\"pod\"], attributes[\"k8s.pod.name\"])", - "set(attributes[\"namespace\"], attributes[\"k8s.namespace.name\"])", - "set(attributes[\"loki.resource.labels\"], \"cluster, namespace, job, pod\")", - ] - } - - output { - metrics = [otelcol.processor.batch.default.input] - logs = [otelcol.processor.batch.default.input] - traces = [otelcol.processor.batch.default.input] - } - } - - // Batch Processor - otelcol.processor.batch "default" { - send_batch_size = 8192 - send_batch_max_size = 0 - timeout = "2s" - - output { - metrics = argument.metrics_destinations.value - logs = argument.logs_destinations.value - traces = argument.traces_destinations.value - } - } - } diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/__snapshot__/resourcedetection_test.yaml.snap b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/__snapshot__/resourcedetection_test.yaml.snap deleted file mode 100755 index f2a6d0a..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/__snapshot__/resourcedetection_test.yaml.snap +++ /dev/null @@ -1,353 +0,0 @@ -creates the pipeline with the default resource detection processor: - 1: | - |- - declare "application_observability" { - argument "metrics_destinations" { - comment = "Must be a list of metrics destinations where collected metrics should be forwarded to" - } - - argument "logs_destinations" { - comment = "Must be a list of log destinations where collected logs should be forwarded to" - } - - argument "traces_destinations" { - comment = "Must be a list of trace destinations where collected trace should be forwarded to" - } - - // Zipkin Receiver - otelcol.receiver.zipkin "receiver" { - endpoint = "0.0.0.0:9411" - debug_metrics { - disable_high_cardinality_metrics = true - } - output { - traces = [otelcol.processor.resourcedetection.default.input] - } - } - - // Resource Detection Processor - otelcol.processor.resourcedetection "default" { - detectors = ["env","system"] - override = true - - system { - hostname_sources = ["os"] - } - - output { - metrics = [otelcol.processor.k8sattributes.default.input] - logs = [otelcol.processor.k8sattributes.default.input] - traces = [otelcol.processor.k8sattributes.default.input] - } - } - - // K8s Attributes Processor - otelcol.processor.k8sattributes "default" { - extract { - metadata = ["k8s.namespace.name","k8s.pod.name","k8s.deployment.name","k8s.statefulset.name","k8s.daemonset.name","k8s.cronjob.name","k8s.job.name","k8s.node.name","k8s.pod.uid","k8s.pod.start_time"] - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.ip" - } - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.uid" - } - } - pod_association { - source { - from = "connection" - } - } - - output { - metrics = [otelcol.processor.transform.default.input] - logs = [otelcol.processor.transform.default.input] - traces = [otelcol.processor.transform.default.input, otelcol.connector.host_info.default.input] - } - } - - // Host Info Connector - otelcol.connector.host_info "default" { - host_identifiers = [ "k8s.node.name" ] - - output { - metrics = [otelcol.processor.batch.default.input] - } - } - - // Transform Processor - otelcol.processor.transform "default" { - error_mode = "ignore" - log_statements { - context = "resource" - statements = [ - "set(attributes[\"pod\"], attributes[\"k8s.pod.name\"])", - "set(attributes[\"namespace\"], attributes[\"k8s.namespace.name\"])", - "set(attributes[\"loki.resource.labels\"], \"cluster, namespace, job, pod\")", - ] - } - - output { - metrics = [otelcol.processor.batch.default.input] - logs = [otelcol.processor.batch.default.input] - traces = [otelcol.processor.batch.default.input] - } - } - - // Batch Processor - otelcol.processor.batch "default" { - send_batch_size = 8192 - send_batch_max_size = 0 - timeout = "2s" - - output { - metrics = argument.metrics_destinations.value - logs = argument.logs_destinations.value - traces = argument.traces_destinations.value - } - } - } -creates the resource detection processor with EKS info: - 1: | - |- - declare "application_observability" { - argument "metrics_destinations" { - comment = "Must be a list of metrics destinations where collected metrics should be forwarded to" - } - - argument "logs_destinations" { - comment = "Must be a list of log destinations where collected logs should be forwarded to" - } - - argument "traces_destinations" { - comment = "Must be a list of trace destinations where collected trace should be forwarded to" - } - - // Zipkin Receiver - otelcol.receiver.zipkin "receiver" { - endpoint = "0.0.0.0:9411" - debug_metrics { - disable_high_cardinality_metrics = true - } - output { - traces = [otelcol.processor.resourcedetection.default.input] - } - } - - // Resource Detection Processor - otelcol.processor.resourcedetection "default" { - detectors = ["eks","env","system"] - override = false - - eks { - resource_attributes { - k8s.cluster.name { enabled = true } - } - } - - system { - hostname_sources = ["os"] - } - - output { - metrics = [otelcol.processor.k8sattributes.default.input] - logs = [otelcol.processor.k8sattributes.default.input] - traces = [otelcol.processor.k8sattributes.default.input] - } - } - - // K8s Attributes Processor - otelcol.processor.k8sattributes "default" { - extract { - metadata = ["k8s.namespace.name","k8s.pod.name","k8s.deployment.name","k8s.statefulset.name","k8s.daemonset.name","k8s.cronjob.name","k8s.job.name","k8s.node.name","k8s.pod.uid","k8s.pod.start_time"] - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.ip" - } - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.uid" - } - } - pod_association { - source { - from = "connection" - } - } - - output { - metrics = [otelcol.processor.transform.default.input] - logs = [otelcol.processor.transform.default.input] - traces = [otelcol.processor.transform.default.input, otelcol.connector.host_info.default.input] - } - } - - // Host Info Connector - otelcol.connector.host_info "default" { - host_identifiers = [ "k8s.node.name" ] - - output { - metrics = [otelcol.processor.batch.default.input] - } - } - - // Transform Processor - otelcol.processor.transform "default" { - error_mode = "ignore" - log_statements { - context = "resource" - statements = [ - "set(attributes[\"pod\"], attributes[\"k8s.pod.name\"])", - "set(attributes[\"namespace\"], attributes[\"k8s.namespace.name\"])", - "set(attributes[\"loki.resource.labels\"], \"cluster, namespace, job, pod\")", - ] - } - - output { - metrics = [otelcol.processor.batch.default.input] - logs = [otelcol.processor.batch.default.input] - traces = [otelcol.processor.batch.default.input] - } - } - - // Batch Processor - otelcol.processor.batch "default" { - send_batch_size = 8192 - send_batch_max_size = 0 - timeout = "2s" - - output { - metrics = argument.metrics_destinations.value - logs = argument.logs_destinations.value - traces = argument.traces_destinations.value - } - } - } -creates the resource detection processor with Kubernetes node info: - 1: | - |- - declare "application_observability" { - argument "metrics_destinations" { - comment = "Must be a list of metrics destinations where collected metrics should be forwarded to" - } - - argument "logs_destinations" { - comment = "Must be a list of log destinations where collected logs should be forwarded to" - } - - argument "traces_destinations" { - comment = "Must be a list of trace destinations where collected trace should be forwarded to" - } - - // Zipkin Receiver - otelcol.receiver.zipkin "receiver" { - endpoint = "0.0.0.0:9411" - debug_metrics { - disable_high_cardinality_metrics = true - } - output { - traces = [otelcol.processor.resourcedetection.default.input] - } - } - - // Resource Detection Processor - otelcol.processor.resourcedetection "default" { - detectors = ["env","kubernetesNode","system"] - override = true - - kubernetes_node { - auth_type = "serviceAccount" - node_from_env_var = "K8S_NODE_NAME" - } - - system { - hostname_sources = ["os"] - } - - output { - metrics = [otelcol.processor.k8sattributes.default.input] - logs = [otelcol.processor.k8sattributes.default.input] - traces = [otelcol.processor.k8sattributes.default.input] - } - } - - // K8s Attributes Processor - otelcol.processor.k8sattributes "default" { - extract { - metadata = ["k8s.namespace.name","k8s.pod.name","k8s.deployment.name","k8s.statefulset.name","k8s.daemonset.name","k8s.cronjob.name","k8s.job.name","k8s.node.name","k8s.pod.uid","k8s.pod.start_time"] - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.ip" - } - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.uid" - } - } - pod_association { - source { - from = "connection" - } - } - - output { - metrics = [otelcol.processor.transform.default.input] - logs = [otelcol.processor.transform.default.input] - traces = [otelcol.processor.transform.default.input, otelcol.connector.host_info.default.input] - } - } - - // Host Info Connector - otelcol.connector.host_info "default" { - host_identifiers = [ "k8s.node.name" ] - - output { - metrics = [otelcol.processor.batch.default.input] - } - } - - // Transform Processor - otelcol.processor.transform "default" { - error_mode = "ignore" - log_statements { - context = "resource" - statements = [ - "set(attributes[\"pod\"], attributes[\"k8s.pod.name\"])", - "set(attributes[\"namespace\"], attributes[\"k8s.namespace.name\"])", - "set(attributes[\"loki.resource.labels\"], \"cluster, namespace, job, pod\")", - ] - } - - output { - metrics = [otelcol.processor.batch.default.input] - logs = [otelcol.processor.batch.default.input] - traces = [otelcol.processor.batch.default.input] - } - } - - // Batch Processor - otelcol.processor.batch "default" { - send_batch_size = 8192 - send_batch_max_size = 0 - timeout = "2s" - - output { - metrics = argument.metrics_destinations.value - logs = argument.logs_destinations.value - traces = argument.traces_destinations.value - } - } - } diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/__snapshot__/spanlogs_test.yaml.snap b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/__snapshot__/spanlogs_test.yaml.snap deleted file mode 100755 index 5395eb5..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/__snapshot__/spanlogs_test.yaml.snap +++ /dev/null @@ -1,145 +0,0 @@ -creates the pipeline with the spanmetrics connector: - 1: | - |- - declare "application_observability" { - argument "metrics_destinations" { - comment = "Must be a list of metrics destinations where collected metrics should be forwarded to" - } - - argument "logs_destinations" { - comment = "Must be a list of log destinations where collected logs should be forwarded to" - } - - argument "traces_destinations" { - comment = "Must be a list of trace destinations where collected trace should be forwarded to" - } - - // OTLP Receiver - otelcol.receiver.otlp "receiver" { - grpc { - endpoint = "0.0.0.0:4317" - max_recv_msg_size = "4MiB" - read_buffer_size = "512KiB" - write_buffer_size = "32KiB" - } - debug_metrics { - disable_high_cardinality_metrics = true - } - output { - metrics = [otelcol.processor.resourcedetection.default.input] - logs = [otelcol.processor.resourcedetection.default.input] - traces = [otelcol.processor.resourcedetection.default.input] - } - } - - // Resource Detection Processor - otelcol.processor.resourcedetection "default" { - detectors = ["env","system"] - override = true - - system { - hostname_sources = ["os"] - } - - output { - metrics = [otelcol.processor.k8sattributes.default.input] - logs = [otelcol.processor.k8sattributes.default.input] - traces = [otelcol.processor.k8sattributes.default.input] - } - } - - // K8s Attributes Processor - otelcol.processor.k8sattributes "default" { - extract { - metadata = ["k8s.namespace.name","k8s.pod.name","k8s.deployment.name","k8s.statefulset.name","k8s.daemonset.name","k8s.cronjob.name","k8s.job.name","k8s.node.name","k8s.pod.uid","k8s.pod.start_time"] - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.ip" - } - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.uid" - } - } - pod_association { - source { - from = "connection" - } - } - - output { - metrics = [otelcol.processor.transform.default.input] - logs = [otelcol.processor.transform.default.input] - traces = [otelcol.processor.transform.default.input, otelcol.connector.host_info.default.input] - } - } - - // Host Info Connector - otelcol.connector.host_info "default" { - host_identifiers = [ "k8s.node.name" ] - - output { - metrics = [otelcol.processor.batch.default.input] - } - } - - // Transform Processor - otelcol.processor.transform "default" { - error_mode = "ignore" - log_statements { - context = "resource" - statements = [ - "set(attributes[\"pod\"], attributes[\"k8s.pod.name\"])", - "set(attributes[\"namespace\"], attributes[\"k8s.namespace.name\"])", - "set(attributes[\"loki.resource.labels\"], \"cluster, namespace, job, pod\")", - ] - } - - output { - metrics = [otelcol.processor.batch.default.input] - logs = [otelcol.processor.batch.default.input] - traces = [otelcol.connector.spanlogs.default.input, otelcol.processor.batch.default.input] - } - } - - // Span Logs Connector - otelcol.connector.spanlogs "default" { - spans = true - - output { - logs = [otelcol.processor.batch.default.input] - } - } - - // Batch Processor - otelcol.processor.batch "default" { - send_batch_size = 8192 - send_batch_max_size = 0 - timeout = "2s" - - output { - metrics = [otelcol.processor.interval.default.input] - logs = [otelcol.processor.interval.default.input] - traces = [otelcol.processor.interval.default.input] - } - } - - // Interval Processor - otelcol.processor.interval "default" { - interval = "60s" - passthrough { - gauge = false - summary = false - } - - output { - metrics = argument.metrics_destinations.value - logs = argument.logs_destinations.value - traces = argument.traces_destinations.value - } - } - } diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/__snapshot__/spanmetrics_test.yaml.snap b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/__snapshot__/spanmetrics_test.yaml.snap deleted file mode 100755 index db5c045..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/__snapshot__/spanmetrics_test.yaml.snap +++ /dev/null @@ -1,161 +0,0 @@ -creates the pipeline with the spanmetrics connector: - 1: | - |- - declare "application_observability" { - argument "metrics_destinations" { - comment = "Must be a list of metrics destinations where collected metrics should be forwarded to" - } - - argument "logs_destinations" { - comment = "Must be a list of log destinations where collected logs should be forwarded to" - } - - argument "traces_destinations" { - comment = "Must be a list of trace destinations where collected trace should be forwarded to" - } - - // OTLP Receiver - otelcol.receiver.otlp "receiver" { - grpc { - endpoint = "0.0.0.0:4317" - max_recv_msg_size = "4MiB" - read_buffer_size = "512KiB" - write_buffer_size = "32KiB" - } - debug_metrics { - disable_high_cardinality_metrics = true - } - output { - metrics = [otelcol.processor.resourcedetection.default.input] - logs = [otelcol.processor.resourcedetection.default.input] - traces = [otelcol.processor.resourcedetection.default.input] - } - } - - // Resource Detection Processor - otelcol.processor.resourcedetection "default" { - detectors = ["env","system"] - override = true - - system { - hostname_sources = ["os"] - } - - output { - metrics = [otelcol.processor.k8sattributes.default.input] - logs = [otelcol.processor.k8sattributes.default.input] - traces = [otelcol.processor.k8sattributes.default.input] - } - } - - // K8s Attributes Processor - otelcol.processor.k8sattributes "default" { - extract { - metadata = ["k8s.namespace.name","k8s.pod.name","k8s.deployment.name","k8s.statefulset.name","k8s.daemonset.name","k8s.cronjob.name","k8s.job.name","k8s.node.name","k8s.pod.uid","k8s.pod.start_time"] - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.ip" - } - } - pod_association { - source { - from = "resource_attribute" - name = "k8s.pod.uid" - } - } - pod_association { - source { - from = "connection" - } - } - - output { - metrics = [otelcol.processor.transform.default.input] - logs = [otelcol.processor.transform.default.input] - traces = [otelcol.processor.transform.default.input, otelcol.connector.host_info.default.input] - } - } - - // Host Info Connector - otelcol.connector.host_info "default" { - host_identifiers = [ "k8s.node.name" ] - - output { - metrics = [otelcol.processor.batch.default.input] - } - } - - // Transform Processor - otelcol.processor.transform "default" { - error_mode = "ignore" - log_statements { - context = "resource" - statements = [ - "set(attributes[\"pod\"], attributes[\"k8s.pod.name\"])", - "set(attributes[\"namespace\"], attributes[\"k8s.namespace.name\"])", - "set(attributes[\"loki.resource.labels\"], \"cluster, namespace, job, pod\")", - ] - } - - output { - metrics = [otelcol.processor.batch.default.input] - logs = [otelcol.processor.batch.default.input] - traces = [otelcol.connector.spanmetrics.default.input, otelcol.processor.batch.default.input] - } - } - - // Span Metrics Connector - otelcol.connector.spanmetrics "default" { - dimension { - name = "http.status_code" - } - dimension { - name = "http.method" - default = "GET" - } - dimensions_cache_size = 1000 - namespace = "traces.span.metrics" - - histogram { - disable = false - unit = "ms" - explicit { - buckets = ["2ms","4ms","6ms","8ms","10ms","50ms","100ms","200ms","400ms","800ms","1s","1400ms","2s","5s","10s","15s"] - } - } - - output { - metrics = [otelcol.processor.batch.default.input] - } - } - - // Batch Processor - otelcol.processor.batch "default" { - send_batch_size = 8192 - send_batch_max_size = 0 - timeout = "2s" - - output { - metrics = [otelcol.processor.interval.default.input] - logs = [otelcol.processor.interval.default.input] - traces = [otelcol.processor.interval.default.input] - } - } - - // Interval Processor - otelcol.processor.interval "default" { - interval = "60s" - passthrough { - gauge = false - summary = false - } - - output { - metrics = argument.metrics_destinations.value - logs = argument.logs_destinations.value - traces = argument.traces_destinations.value - } - } - } diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/default_test.yaml b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/default_test.yaml deleted file mode 100755 index d06224a..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/default_test.yaml +++ /dev/null @@ -1,30 +0,0 @@ -# yamllint disable rule:document-start rule:line-length rule:trailing-spaces -suite: Test default values -templates: - - configmap.yaml -tests: - - it: creates the default pipeline - set: - deployAsConfigMap: true - receivers: - otlp: - grpc: - enabled: true - http: - enabled: true - jaeger: - grpc: - enabled: true - thriftBinary: - enabled: true - thriftCompact: - enabled: true - thriftHttp: - enabled: true - zipkin: - enabled: true - asserts: - - isKind: - of: ConfigMap - - matchSnapshot: - path: data["module.alloy"] diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/interval_test.yaml b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/interval_test.yaml deleted file mode 100755 index 978649b..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/interval_test.yaml +++ /dev/null @@ -1,33 +0,0 @@ -# yamllint disable rule:document-start rule:line-length rule:trailing-spaces -suite: Test with interval processor -templates: - - configmap.yaml -tests: - - it: creates the pipeline with the interval processor - set: - deployAsConfigMap: true - processors: - interval: - enabled: true - receivers: - otlp: - grpc: - enabled: true - http: - enabled: true - jaeger: - grpc: - enabled: true - thriftBinary: - enabled: true - thriftCompact: - enabled: true - thriftHttp: - enabled: true - zipkin: - enabled: true - asserts: - - isKind: - of: ConfigMap - - matchSnapshot: - path: data["module.alloy"] diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/jaeger_test.yaml b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/jaeger_test.yaml deleted file mode 100755 index 54b4a61..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/jaeger_test.yaml +++ /dev/null @@ -1,57 +0,0 @@ ---- -# yamllint disable rule:document-start rule:line-length rule:trailing-spaces rule:empty-lines -suite: Test Loki integration -templates: - - configmap.yaml -tests: - - it: should allow you to enable just the jaeger grpc receiver - set: - deployAsConfigMap: true - receivers: - jaeger: - grpc: - enabled: true - asserts: - - isKind: - of: ConfigMap - - matchSnapshot: - path: data["module.alloy"] - - - it: should allow you to enable just the jaeger thrift binary receiver - set: - deployAsConfigMap: true - receivers: - jaeger: - thriftBinary: - enabled: true - asserts: - - isKind: - of: ConfigMap - - matchSnapshot: - path: data["module.alloy"] - - - it: should allow you to enable just the jaeger thrift compact receiver - set: - deployAsConfigMap: true - receivers: - jaeger: - thriftCompact: - enabled: true - asserts: - - isKind: - of: ConfigMap - - matchSnapshot: - path: data["module.alloy"] - - - it: should allow you to enable just the jaeger thrift http receiver - set: - deployAsConfigMap: true - receivers: - jaeger: - thriftHttp: - enabled: true - asserts: - - isKind: - of: ConfigMap - - matchSnapshot: - path: data["module.alloy"] diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/memorylimiter_test.yaml b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/memorylimiter_test.yaml deleted file mode 100755 index b467f23..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/memorylimiter_test.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# yamllint disable rule:document-start rule:line-length rule:trailing-spaces -suite: Test with interval processor -templates: - - configmap.yaml -tests: - - it: creates the pipeline with the interval processor - set: - deployAsConfigMap: true - processors: - memoryLimiter: - enabled: true - limit: 100MiB - receivers: - zipkin: - enabled: true - asserts: - - isKind: - of: ConfigMap - - matchSnapshot: - path: data["module.alloy"] diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/resourcedetection_test.yaml b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/resourcedetection_test.yaml deleted file mode 100755 index 969442e..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/resourcedetection_test.yaml +++ /dev/null @@ -1,52 +0,0 @@ -# yamllint disable rule:document-start rule:line-length rule:trailing-spaces -suite: Test with resource detection processor -templates: - - configmap.yaml -tests: - - it: creates the pipeline with the default resource detection processor - set: - deployAsConfigMap: true - receivers: - zipkin: - enabled: true - asserts: - - isKind: - of: ConfigMap - - matchSnapshot: - path: data["module.alloy"] - - - it: creates the resource detection processor with Kubernetes node info - set: - deployAsConfigMap: true - processors: - resourceDetection: - kubernetesNode: - enabled: true - receivers: - zipkin: - enabled: true - asserts: - - isKind: - of: ConfigMap - - matchSnapshot: - path: data["module.alloy"] - - - it: creates the resource detection processor with EKS info - set: - deployAsConfigMap: true - processors: - resourceDetection: - override: false - eks: - enabled: true - resourceAttributes: - k8s.cluster.name: - enabled: true - receivers: - zipkin: - enabled: true - asserts: - - isKind: - of: ConfigMap - - matchSnapshot: - path: data["module.alloy"] diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/spanlogs_test.yaml b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/spanlogs_test.yaml deleted file mode 100755 index cd9e647..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/spanlogs_test.yaml +++ /dev/null @@ -1,24 +0,0 @@ -# yamllint disable rule:document-start rule:line-length rule:trailing-spaces -suite: Test with spanmetrics processor -templates: - - configmap.yaml -tests: - - it: creates the pipeline with the spanmetrics connector - set: - deployAsConfigMap: true - processors: - interval: - enabled: true - connectors: - spanLogs: - enabled: true - spans: true - receivers: - otlp: - grpc: - enabled: true - asserts: - - isKind: - of: ConfigMap - - matchSnapshot: - path: data["module.alloy"] diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/spanmetrics_test.yaml b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/spanmetrics_test.yaml deleted file mode 100755 index aed84fc..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/spanmetrics_test.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# yamllint disable rule:document-start rule:line-length rule:trailing-spaces -suite: Test with spanmetrics processor -templates: - - configmap.yaml -tests: - - it: creates the pipeline with the spanmetrics connector - set: - deployAsConfigMap: true - processors: - interval: - enabled: true - connectors: - spanMetrics: - enabled: true - dimensions: - - name: "http.status_code" - - name: "http.method" - default: "GET" - receivers: - otlp: - grpc: - enabled: true - asserts: - - isKind: - of: ConfigMap - - matchSnapshot: - path: data["module.alloy"] diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/validation_test.yaml b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/validation_test.yaml deleted file mode 100755 index 5795cbf..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/tests/validation_test.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# yamllint disable rule:document-start rule:line-length rule:trailing-spaces -suite: Test validation -templates: - - configmap.yaml -tests: - - it: requires at least one receiver - set: - deployAsConfigMap: true - asserts: - - failedTemplate: - errorMessage: |- - execution error at (feature-application-observability/templates/configmap.yaml:2:4): - At least one receiver must be enabled to use Application Observability. - Please enable one. For example: - applicationObservability: - receivers: - otlp: - grpc: - enabled: true - See https://github.com/grafana/k8s-monitoring-helm/tree/main/charts/k8s-monitoring/charts/feature-application-observability for more details. diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/values.schema.json b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/values.schema.json deleted file mode 100755 index 4e35bf8..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/values.schema.json +++ /dev/null @@ -1,461 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema#", - "type": "object", - "properties": { - "connectors": { - "type": "object", - "properties": { - "grafanaCloudMetrics": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - } - } - }, - "spanLogs": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "labels": { - "type": "array" - }, - "process": { - "type": "boolean" - }, - "processAttributes": { - "type": "array" - }, - "roots": { - "type": "boolean" - }, - "spanAttributes": { - "type": "array" - }, - "spans": { - "type": "boolean" - } - } - }, - "spanMetrics": { - "type": "object", - "properties": { - "dimensions": { - "type": "array" - }, - "dimensionsCacheSize": { - "type": "integer" - }, - "enabled": { - "type": "boolean" - }, - "events": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - } - } - }, - "exemplars": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "maxPerDataPoint": { - "type": "null" - } - } - }, - "histogram": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "explicit": { - "type": "object", - "properties": { - "buckets": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "exponential": { - "type": "object", - "properties": { - "maxSize": { - "type": "integer" - } - } - }, - "type": { - "type": "string", - "enum": [ - "explicit", - "exponential" - ] - }, - "unit": { - "type": "string" - } - } - }, - "namespace": { - "type": "string" - } - } - } - } - }, - "deployAsConfigMap": { - "type": "boolean" - }, - "fullnameOverride": { - "type": "string" - }, - "logs": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "filters": { - "type": "object", - "properties": { - "log_record": { - "type": "array" - } - } - }, - "transforms": { - "type": "object", - "properties": { - "labels": { - "type": "array", - "items": { - "type": "string" - } - }, - "log": { - "type": "array" - }, - "resource": { - "type": "array" - } - } - } - } - }, - "metrics": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "filters": { - "type": "object", - "properties": { - "datapoint": { - "type": "array" - }, - "metric": { - "type": "array" - } - } - }, - "transforms": { - "type": "object", - "properties": { - "datapoint": { - "type": "array" - }, - "metric": { - "type": "array" - }, - "resource": { - "type": "array" - } - } - } - } - }, - "nameOverride": { - "type": "string" - }, - "processors": { - "type": "object", - "properties": { - "batch": { - "type": "object", - "properties": { - "maxSize": { - "type": "integer" - }, - "size": { - "type": "integer" - }, - "timeout": { - "type": "string" - } - } - }, - "interval": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "interval": { - "type": "string" - }, - "passthrough": { - "type": "object", - "properties": { - "gauge": { - "type": "boolean" - }, - "summary": { - "type": "boolean" - } - } - } - } - }, - "k8sattributes": { - "type": "object", - "properties": { - "annotations": { - "type": "array" - }, - "labels": { - "type": "array" - }, - "metadata": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "memoryLimiter": { - "type": "object", - "properties": { - "checkInterval": { - "type": "string" - }, - "enabled": { - "type": "boolean" - }, - "limit": { - "type": "string" - } - } - }, - "resourceDetection": { - "type": "object", - "properties": { - "env": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - } - } - }, - "kubernetesNode": { - "type": "object", - "properties": { - "authType": { - "type": "string" - }, - "enabled": { - "type": "boolean" - }, - "nodeFromEnvVar": { - "type": "string" - } - } - }, - "override": { - "type": "boolean" - }, - "system": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "hostnameSources": { - "type": "array", - "items": { - "type": "string" - } - }, - "resourceAttributes": { - "type": "object" - } - } - } - } - } - } - }, - "receivers": { - "type": "object", - "properties": { - "jaeger": { - "type": "object", - "properties": { - "grpc": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "port": { - "type": "integer" - } - } - }, - "includeDebugMetrics": { - "type": "boolean" - }, - "thriftBinary": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "port": { - "type": "integer" - } - } - }, - "thriftCompact": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "port": { - "type": "integer" - } - } - }, - "thriftHttp": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "port": { - "type": "integer" - } - } - } - } - }, - "otlp": { - "type": "object", - "properties": { - "grpc": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "maxConcurrentStreams": { - "type": "integer" - }, - "maxReceivedMessageSize": { - "type": "string" - }, - "port": { - "type": "integer" - }, - "readBufferSize": { - "type": "string" - }, - "writeBufferSize": { - "type": "string" - } - } - }, - "http": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "maxRequestBodySize": { - "type": "string" - }, - "port": { - "type": "integer" - } - } - }, - "includeDebugMetrics": { - "type": "boolean" - } - } - }, - "zipkin": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "includeDebugMetrics": { - "type": "boolean" - }, - "port": { - "type": "integer" - } - } - } - } - }, - "traces": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - }, - "filters": { - "type": "object", - "properties": { - "span": { - "type": "array" - }, - "spanevent": { - "type": "array" - } - } - }, - "transforms": { - "type": "object", - "properties": { - "resource": { - "type": "array" - }, - "span": { - "type": "array" - }, - "spanevent": { - "type": "array" - } - } - } - } - } - } -} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/values.yaml b/cw-infra-apps-nubes/grafana/charts/feature-application-observability/values.yaml deleted file mode 100755 index b1c1e31..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-application-observability/values.yaml +++ /dev/null @@ -1,350 +0,0 @@ ---- -# -- Name override -# @section -- General settings -nameOverride: "" - -# -- Full name override -# @section -- General settings -fullnameOverride: "" - -receivers: - otlp: - # The OTLP gRPC receiver configuration. - grpc: - # -- Accept application data over OTLP gRPC. - # @section -- Receivers: OTLP - enabled: false - - # -- The port to listen on for OTLP gRPC requests. - # @section -- Receivers: OTLP - port: 4317 - - # -- Maximum size of messages the gRPC server will accept. - # @section -- Receivers: OTLP - maxReceivedMessageSize: 4MiB - - # -- Limit the number of concurrent streaming gRPC calls. 0 means no limit. - # @section -- Receivers: OTLP - maxConcurrentStreams: 0 - - # -- Size of the read buffer the gRPC server will use for reading from clients. - # @section -- Receivers: OTLP - readBufferSize: 512KiB - - # -- Size of the write buffer the gRPC server will use for writing to clients. - # @section -- Receivers: OTLP - writeBufferSize: 32KiB - - # The OTLP HTTP receiver configuration. - http: - # -- Accept application data over OTLP HTTP. - # @section -- Receivers: OTLP - enabled: false - - # -- The port to listen on for OTLP HTTP requests. - # @section -- Receivers: OTLP - port: 4318 - - # -- Maximum request body size the server will allow. - # @section -- Receivers: OTLP - maxRequestBodySize: 20MiB - - # -- Whether to include high-cardinality debug metrics. - # @section -- Receivers: OTLP - includeDebugMetrics: false - - jaeger: - # -- Configuration for the Jaeger receiver using the gRPC protocol. - # @section -- Receivers: Jaeger - grpc: - enabled: false - port: 14250 - - # -- Configuration for the Jaeger receiver using the Thrift binary protocol. - # @section -- Receivers: Jaeger - thriftBinary: - enabled: false - port: 6832 - - # -- Configuration for the Jaeger receiver using the Thrift compact protocol. - # @section -- Receivers: Jaeger - thriftCompact: - enabled: false - port: 6831 - - # -- Configuration for the Jaeger receiver using the Thrift HTTP protocol. - # @section -- Receivers: Jaeger - thriftHttp: - enabled: false - port: 14268 - - # -- Whether to include high-cardinality debug metrics. - # @section -- Receivers: Jaeger - includeDebugMetrics: false - - # -- The Zipkin receiver configuration. - # @section -- Receivers: Zipkin - zipkin: - enabled: false - port: 9411 - - # -- Whether to include high-cardinality debug metrics. - # @section -- Receivers: Zipkin - includeDebugMetrics: false - -# Processors are components that modify the telemetry data, such as filtering, batching, and adding metadata. -processors: - batch: - # -- What batch size to use - # @section -- Processors: Batch - size: 8192 - # -- The upper limit of the amount of data contained in a single batch. When set to 0, batches can be any size. - # @section -- Processors: Batch - maxSize: 0 - # -- How long before sending (Processors) - # @section -- Processors: Batch - timeout: 2s - - interval: - # -- Utilize an interval processor to aggregate metrics and periodically forward the latest values to the next - # component in the pipeline. - # @section -- Processors: Interval - enabled: false - - # -- The interval at which to emit aggregated metrics. - # @section -- Processors: Interval - interval: 60s - - passthrough: - # -- Determines whether gauge metrics should be passed through as they are or aggregated. - # @section -- Processors: Interval - gauge: false - - # -- Determines whether summary metrics should be passed through as they are or aggregated. - # @section -- Processors: Interval - summary: false - - # Capture Resource attributes from various sources. You can add more than is listed here. For example: - # resourceDetection: - # sourceType: - # enabled: true - # resourceAttributes: - # host.name: - # enabled: true - # @section -- Processors: Resource Detection - resourceDetection: - # -- Configures whether existing resource attributes should be overridden or preserved. - # @section -- Processors: Resource Detection - override: true - - env: - # -- Enable getting resource attributes from the OTEL_RESOURCE_ATTRIBUTES environment variable. - # @section -- Processors: Resource Detection - enabled: true - - system: - # -- Enable getting resource attributes from the host machine. - # @section -- Processors: Resource Detection - enabled: true - # -- The priority list of sources from which the hostname will be determined. Options: ["dns", "os", "cname", "lookup"]. - # @section -- Processors: Resource Detection - hostnameSources: - - os - # -- The list of resource attributes to add for system resource detection. See the - # [Alloy documentation](https://grafana.com/docs/alloy/latest/reference/components/otelcol/otelcol.processor.resourcedetection/#system--resource_attributes) - # for a list of available attributes. - # @section -- Processors: Resource Detection - resourceAttributes: {} - - kubernetesNode: - # -- Enable getting resource attributes about the Kubernetes node from the API server. - # @section -- Processors: Resource Detection - enabled: false - - # -- The authentication method. This should not be changed. - # @section -- Processors: Resource Detection - authType: serviceAccount - - # -- The name of an environment variable from which to retrieve the node name. - # @section -- Processors: Resource Detection - nodeFromEnvVar: K8S_NODE_NAME - - k8sattributes: - # -- Kubernetes metadata to extract and add to the attributes of the received telemetry data. - # @section -- Processors: K8s Attributes - metadata: - - k8s.namespace.name - - k8s.pod.name - - k8s.deployment.name - - k8s.statefulset.name - - k8s.daemonset.name - - k8s.cronjob.name - - k8s.job.name - - k8s.node.name - - k8s.pod.uid - - k8s.pod.start_time - - # -- Kubernetes labels to extract and add to the attributes of the received telemetry data. - # @section -- Processors: K8s Attributes - labels: [] - - # -- Kubernetes annotations to extract and add to the attributes of the received telemetry data. - # @section -- Processors: K8s Attributes - annotations: [] - - memoryLimiter: - # -- Use a memory limiter. - # @section -- Processors: Memory Limiter - enabled: false - # -- How often to check memory usage. - # @section -- Processors: Memory Limiter - checkInterval: 1s - # -- Maximum amount of memory targeted to be allocated by the process heap. - # @section -- Processors: Memory Limiter - limit: 0MiB - -# Connectors are components that create new telemetry data from existing telemetry data. -connectors: - grafanaCloudMetrics: - # -- Generate host info metrics from telemetry data. These metrics are required for using Application Observability - # in Grafana Cloud. Note: Enabling this may incur additional costs. - # See [Application Observability Pricing](https://grafana.com/docs/grafana-cloud/monitor-applications/application-observability/pricing/) - # @section -- Connectors: Grafana Cloud Host Info - enabled: true - - # Span Logs connector settings. - spanLogs: - # -- Use a span logs connector which creates logs from spans. - # @section -- Connectors: Span Logs - enabled: false - - # -- Create a log line for each span. This can lead to a large number of logs. - # @section -- Connectors: Span Logs - spans: false - # -- Additional span attributes to log. - # @section -- Connectors: Span Logs - spanAttributes: [] - - # -- Log one line for every root span of a trace. - # @section -- Connectors: Span Logs - roots: false - - # -- Log one line for every process. - # @section -- Connectors: Span Logs - process: false - # -- Additional process attributes to log. - # @section -- Connectors: Span Logs - processAttributes: [] - - # -- A list of keys that will be logged as labels. - # @section -- Connectors: Span Logs - labels: [] - - # Span Metrics connector settings. - spanMetrics: - # -- Use a span metrics connector which creates metrics from spans. - # @section -- Connectors: Span Metrics - enabled: false - - # -- Define dimensions to be added. - # Some are set internally by default: [service.name, span.name, span.kind, status.code] - # Example: - # - name: "http.status_code" - # - name: "http.method" - # default: "GET" - # @section -- Connectors: Span Metrics - dimensions: [] - - # -- How many dimensions to cache - # @section -- Connectors: Span Metrics - dimensionsCacheSize: 1000 - - # -- The Metric namespace. - # @section -- Connectors: Span Metrics - namespace: traces.span.metrics - - events: - # -- Capture events metrics, which track span events. - # @section -- Connectors: Span Metrics - enabled: false - - exemplars: - # -- Attach exemplars to histograms. - # @section -- Connectors: Span Metrics - enabled: false - - # -- (number) Limits the number of exemplars that can be added to a unique dimension set. - # @section -- Connectors: Span Metrics - maxPerDataPoint: - - histogram: - # -- Capture histogram metrics, derived from spans’ durations. - # @section -- Connectors: Span Metrics - enabled: true - - # -- Type of histograms to create. Must be either "explicit" or "exponential". - # @section -- Connectors: Span Metrics - type: explicit - - # -- The histogram unit. - # @section -- Connectors: Span Metrics - unit: ms - - # Settings for explicit histograms. - explicit: - # -- The histogram buckets to use. - # @section -- Connectors: Span Metrics - buckets: ["2ms", "4ms", "6ms", "8ms", "10ms", "50ms", "100ms", "200ms", "400ms", "800ms", "1s", "1400ms", "2s", "5s", "10s", "15s"] - - # Settings for exponential histograms. - exponential: - # -- Maximum number of buckets per positive or negative number range. - # @section -- Connectors: Span Metrics - maxSize: 160 - -metrics: - enabled: true - # -- Apply a filter to metrics received via the OTLP or OTLP HTTP receivers. - # ([docs](https://grafana.com/docs/alloy/latest/reference/components/otelcol/otelcol.processor.filter/)) - filters: - metric: [] - datapoint: [] - # -- Apply a transformation to metrics received via the OTLP or OTLP HTTP receivers. - # ([docs](https://grafana.com/docs/alloy/latest/reference/components/otelcol/otelcol.processor.transform/)) - transforms: - resource: [] - metric: [] - datapoint: [] - -logs: - enabled: true - # -- Apply a filter to logs received via receivers. - # ([docs](https://grafana.com/docs/alloy/latest/reference/components/otelcol/otelcol.processor.filter/)) - filters: - log_record: [] - # -- Apply a transformation to logs received via the OTLP or OTLP HTTP receivers. - # ([docs](https://grafana.com/docs/alloy/latest/reference/components/otelcol/otelcol.processor.transform/)) - transforms: - # -- Resource transformation rules. - resource: [] - # -- Log transformation rules. - log: [] - # -- The list of labels to set in the log stream. - labels: ["cluster", "namespace", "job", "pod"] - -traces: - enabled: true - # -- Apply a filter to traces received via the OTLP or OTLP HTTP receivers. - # ([docs](https://grafana.com/docs/alloy/latest/reference/components/otelcol/otelcol.processor.filter/)) - filters: - span: [] - spanevent: [] - # -- Apply a transformation to traces received via the OTLP or OTLP HTTP receivers. - # ([docs](https://grafana.com/docs/alloy/latest/reference/components/otelcol/otelcol.processor.transform/)) - transforms: - resource: [] - span: [] - spanevent: [] - -# @ignore -deployAsConfigMap: false diff --git a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/.helmignore b/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/.helmignore deleted file mode 100755 index 2b29eaf..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/.helmignore +++ /dev/null @@ -1,6 +0,0 @@ -docs -schema-mods -tests -Makefile -README.md -README.md.gotmpl diff --git a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/Chart.lock b/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/Chart.lock deleted file mode 100755 index 0fff476..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/Chart.lock +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: -- name: beyla - repository: https://grafana.github.io/helm-charts - version: 1.7.3 -digest: sha256:e67b8d0fbdd6fa7c09916ee2d5b64ad61d543ed72738966a0da818e88574a64f -generated: "2025-02-24T20:08:13.331063-06:00" diff --git a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/Chart.yaml b/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/Chart.yaml deleted file mode 100755 index 344ced5..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/Chart.yaml +++ /dev/null @@ -1,17 +0,0 @@ ---- -apiVersion: v2 -name: feature-auto-instrumentation -description: Gathers telemetry data via automatic instrumentation -icon: https://raw.githubusercontent.com/grafana/grafana/main/public/img/grafana_icon.svg -sources: - - https://github.com/grafana/k8s-monitoring-helm/tree/main/charts/k8s-monitoring/charts/feature-annotation-autodiscovery -version: 1.0.0 -appVersion: 1.0.0 -maintainers: - - email: pete.wall@grafana.com - name: petewall -dependencies: - - name: beyla - version: 1.7.3 - repository: https://grafana.github.io/helm-charts - condition: beyla.enabled diff --git a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/Makefile b/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/Makefile deleted file mode 100755 index e32e8bc..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/Makefile +++ /dev/null @@ -1,36 +0,0 @@ -HAS_HELM_DOCS := $(shell command -v helm-docs;) -HAS_HELM_UNITTEST := $(shell helm plugin list | grep unittest 2> /dev/null) - -.SECONDEXPANSION: -README.md: values.yaml Chart.yaml $$(wildcard README.md.gotmpl) -ifdef HAS_HELM_DOCS - helm-docs -else - docker run --rm --volume "$(shell pwd):/helm-docs" -u $(shell id -u) jnorwood/helm-docs:latest -endif - -Chart.lock: Chart.yaml - helm dependency update . - @touch Chart.lock # Ensure the timestamp is updated - -values.schema.json: values.yaml $$(wildcard schema-mods/*) - ../../../../scripts/schema-gen.sh . - -.PHONY: clean -clean: - rm -f README.md values.schema.json - -.PHONY: build -build: README.md Chart.lock values.schema.json - -.PHONY: test -test: build - helm repo add grafana https://grafana.github.io/helm-charts - - helm lint . - ct lint --lint-conf ../../../../.configs/lintconf.yaml --helm-dependency-extra-args=--skip-refresh --charts . -ifdef HAS_HELM_UNITTEST - helm unittest . -else - docker run --rm --volume $(shell pwd):/apps helmunittest/helm-unittest:3.17.0-0.7.1 . -endif diff --git a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/README.md b/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/README.md deleted file mode 100755 index 7a35deb..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/README.md +++ /dev/null @@ -1,74 +0,0 @@ - - -# feature-auto-instrumentation - -![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: 1.0.0](https://img.shields.io/badge/AppVersion-1.0.0-informational?style=flat-square) -Gathers telemetry data via automatic instrumentation - -The auto-instrumentation feature deploys Grafana Beyla to automatically instrument programs running on this cluster using eBPF. - -## Testing - -This chart contains unit tests to verify the generated configuration. The hidden value `deployAsConfigMap` will render -the generated configuration into a ConfigMap object. While this ConfigMap is not used during regular operation, you can -use it to show the outcome of a given values file. - -The unit tests use this ConfigMap to create an object with the configuration that can be asserted against. To run the -tests, use `helm test`. - -Be sure perform actual integration testing in a live environment in the main [k8s-monitoring](../..) chart. - -## Maintainers - -| Name | Email | Url | -| ---- | ------ | --- | -| petewall | | | - - -## Source Code - -* - -## Requirements - -| Repository | Name | Version | -|------------|------|---------| -| https://grafana.github.io/helm-charts | beyla | 1.7.3 | - - - -## Values - -### Beyla - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| beyla.config.data | object | `{"attributes":{"kubernetes":{"enable":true}},"internal_metrics":{"prometheus":{"path":"/internal/metrics"}},"prometheus_export":{"features":["application","network","application_service_graph","application_span"],"path":"/metrics"}}` | The configuration for Grafana Beyla Some sections will be set automatically, such as the cluster name. Others will be modified depending on the value of beyla.preset. | -| beyla.extraDiscoveryRules | string | `""` | Rule blocks to be added to the discovery.relabel component for Beyla. These relabeling rules are applied pre-scrape against the targets from service discovery. Before the scrape, any remaining target labels that start with __ (i.e. __meta_kubernetes*) are dropped. ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery.relabel/#rule-block)) | -| beyla.extraMetricProcessingRules | string | `""` | Rule blocks to be added to the prometheus.relabel component for Beyla. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus.relabel/#rule-block)) These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no __meta* labels are present. | -| beyla.labelMatchers | object | `{"app.kubernetes.io/name":"beyla"}` | Label matchers used to select the Beyla pods for scraping metrics. | -| beyla.maxCacheSize | string | 100000 | Sets the max_cache_size for the prometheus.relabel component for Beyla. This should be at least 2x-5x your largest scrape target or samples appended rate. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus.relabel/#arguments)) Overrides metrics.maxCacheSize | -| beyla.metricsTuning.excludeMetrics | list | `[]` | Metrics to drop. Can use regular expressions. | -| beyla.metricsTuning.includeMetrics | list | `[]` | Metrics to keep. Can use regular expressions. | -| beyla.preset | string | `"application"` | The configuration preset to use. Valid options are "application" or "network". | -| beyla.scrapeInterval | string | 60s | How frequently to scrape metrics from Beyla. Overrides metrics.scrapeInterval | -| beyla.service | object | `{"targetPort":9090}` | The port number for the Beyla service. | - -### General settings - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| fullnameOverride | string | `""` | Full name override | -| nameOverride | string | `""` | Name override | - -### Global Settings - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| global.maxCacheSize | int | `100000` | Sets the max_cache_size for every prometheus.relabel component. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus.relabel/#arguments)) This should be at least 2x-5x your largest scrape target or samples appended rate. | -| global.platform | string | `""` | The specific platform for this cluster. Will enable compatibility for some platforms. Supported options: (empty) or "openshift". | -| global.scrapeInterval | string | `"60s"` | How frequently to scrape metrics. | - diff --git a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/README.md.gotmpl b/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/README.md.gotmpl deleted file mode 100755 index 72ff780..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/README.md.gotmpl +++ /dev/null @@ -1,35 +0,0 @@ - - -{{ template "chart.header" . }} -{{ template "chart.deprecationWarning" . }} -{{ template "chart.badgesSection" . }} -{{ template "chart.description" . }} -{{ template "chart.homepageLine" . }} - -The auto-instrumentation feature deploys Grafana Beyla to automatically instrument programs running on this cluster using eBPF. - -## Testing - -This chart contains unit tests to verify the generated configuration. The hidden value `deployAsConfigMap` will render -the generated configuration into a ConfigMap object. While this ConfigMap is not used during regular operation, you can -use it to show the outcome of a given values file. - -The unit tests use this ConfigMap to create an object with the configuration that can be asserted against. To run the -tests, use `helm test`. - -Be sure perform actual integration testing in a live environment in the main [k8s-monitoring](../..) chart. - -{{ template "chart.maintainersSection" . }} - - -{{ template "chart.sourcesSection" . }} - -{{ template "chart.requirementsSection" . }} - - - -{{ template "chart.valuesSection" . }} - diff --git a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/charts/beyla-1.7.3.tgz b/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/charts/beyla-1.7.3.tgz deleted file mode 100755 index 343a3e2..0000000 Binary files a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/charts/beyla-1.7.3.tgz and /dev/null differ diff --git a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/schema-mods/remote-beyla-config-data.jq b/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/schema-mods/remote-beyla-config-data.jq deleted file mode 100755 index ca8ccb2..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/schema-mods/remote-beyla-config-data.jq +++ /dev/null @@ -1 +0,0 @@ -del(.properties.beyla.properties.config.properties.data.properties) diff --git a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/schema-mods/types-and-enums.json b/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/schema-mods/types-and-enums.json deleted file mode 100755 index 374770d..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/schema-mods/types-and-enums.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "properties": { - "beyla": {"properties": {"preset": {"enum": ["application", "network"]}}} - } -} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/templates/_helpers.tpl b/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/templates/_helpers.tpl deleted file mode 100755 index a37170c..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/templates/_helpers.tpl +++ /dev/null @@ -1,29 +0,0 @@ -{{/* -Create a default fully qualified 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 "feature.autoInstrumentation.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" | lower }} -{{- else }} -{{- $name := default .Chart.Name .Values.nameOverride | lower }} -{{- if contains $name .Release.Name }} -{{- .Release.Name | trunc 63 | trimSuffix "-" | lower }} -{{- else }} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" | lower }} -{{- end }} -{{- end }} -{{- end }} - -{{- define "escape_annotation" -}} -{{ . | replace "-" "_" | replace "." "_" | replace "/" "_" }} -{{- end }} - -{{- define "pod_annotation" -}} -{{ printf "__meta_kubernetes_pod_annotation_%s" (include "escape_annotation" .) }} -{{- end }} - -{{- define "service_annotation" -}} -{{ printf "__meta_kubernetes_service_annotation_%s" (include "escape_annotation" .) }} -{{- end }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/templates/_module.alloy.tpl b/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/templates/_module.alloy.tpl deleted file mode 100755 index d7f165e..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/templates/_module.alloy.tpl +++ /dev/null @@ -1,89 +0,0 @@ -{{- define "feature.autoInstrumentation.module" }} -{{- $metricAllowList := .Values.beyla.metricsTuning.includeMetrics }} -{{- $metricDenyList := .Values.beyla.metricsTuning.excludeMetrics }} -{{- $labelSelectors := list }} -{{- range $k, $v := .Values.beyla.labelMatchers }} -{{- $labelSelectors = append $labelSelectors (printf "%s=%s" $k $v) }} -{{- end }} -declare "auto_instrumentation" { - argument "metrics_destinations" { - comment = "Must be a list of metric destinations where collected metrics should be forwarded to" - } - - discovery.kubernetes "beyla_pods" { - role = "pod" - namespaces { - own_namespace = true - } - selectors { - role = "pod" - label = {{ $labelSelectors | join "," | quote }} - } - } - - discovery.relabel "beyla_pods" { - targets = discovery.kubernetes.beyla_pods.targets - rule { - source_labels = ["__meta_kubernetes_pod_node_name"] - action = "replace" - target_label = "instance" - } - -{{- if .Values.beyla.extraDiscoveryRules }} -{{ .Values.beyla.extraDiscoveryRules | indent 4 }} -{{- end }} - } - - prometheus.scrape "beyla_applications" { - targets = discovery.relabel.beyla_pods.output - honor_labels = true - scrape_interval = {{ .Values.beyla.scrapeInterval | default .Values.global.scrapeInterval | quote }} - clustering { - enabled = true - } -{{- if or $metricAllowList $metricDenyList .Values.beyla.extraMetricProcessingRules }} - forward_to = [prometheus.relabel.beyla.receiver] -{{- else }} - forward_to = argument.metrics_destinations.value -{{- end }} - } - - prometheus.scrape "beyla_internal" { - targets = discovery.relabel.beyla_pods.output - metrics_path = "/internal/metrics" - job_name = "integrations/beyla" - honor_labels = true - scrape_interval = {{ .Values.beyla.scrapeInterval | default .Values.global.scrapeInterval | quote }} - clustering { - enabled = true - } -{{- if or $metricAllowList $metricDenyList .Values.beyla.extraMetricProcessingRules }} - forward_to = [prometheus.relabel.beyla.receiver] - } - -prometheus.relabel "beyla" { - max_cache_size = {{ .Values.beyla.maxCacheSize | default .Values.global.maxCacheSize | int }} -{{- if $metricAllowList }} - rule { - source_labels = ["__name__"] - regex = "up|scrape_samples_scraped|{{ $metricAllowList | join "|" }}" - action = "keep" - } -{{- end }} -{{- if $metricDenyList }} - rule { - source_labels = ["__name__"] - regex = {{ $metricDenyList | join "|" | quote }} - action = "drop" - } -{{- end }} -{{- if .Values.beyla.extraMetricProcessingRules }} -{{ .Values.beyla.extraMetricProcessingRules | indent 4 }} -{{- end }} -{{- end }} - forward_to = argument.metrics_destinations.value - } -} -{{- end -}} - -{{- define "feature.autoInstrumentation.alloyModules" }}{{- end }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/templates/_notes.tpl b/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/templates/_notes.tpl deleted file mode 100755 index 84e3800..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/templates/_notes.tpl +++ /dev/null @@ -1,13 +0,0 @@ -{{- define "feature.autoInstrumentation.notes.deployments" }} -* Grafana Beyla (Daemonset) -{{- end }} - -{{- define "feature.autoInstrumentation.notes.task" }} -Automatically instrument applications and services running in the cluster with Grafana Beyla -{{- end }} - -{{- define "feature.autoInstrumentation.notes.actions" }}{{- end }} - -{{- define "feature.autoInstrumentation.summary" -}} -version: {{ .Chart.Version }} -{{- end }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/templates/configmap.yaml b/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/templates/configmap.yaml deleted file mode 100755 index 23e8781..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/templates/configmap.yaml +++ /dev/null @@ -1,11 +0,0 @@ -{{- if .Values.deployAsConfigMap }} ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ include "feature.autoInstrumentation.fullname" . }} - namespace: {{ .Release.Namespace }} -data: - module.alloy: |- - {{- include "feature.autoInstrumentation.module" . | indent 4 }} -{{- end }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/templates/platform_specific/openshift/beyla-scc.yaml b/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/templates/platform_specific/openshift/beyla-scc.yaml deleted file mode 100755 index 575b023..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/templates/platform_specific/openshift/beyla-scc.yaml +++ /dev/null @@ -1,66 +0,0 @@ -{{- if eq .Values.global.platform "openshift" }} ---- -apiVersion: security.openshift.io/v1 -kind: SecurityContextConstraints -metadata: - name: {{ include "beyla.fullname" .Subcharts.beyla }} -allowHostDirVolumePlugin: true -allowHostIPC: false -allowHostNetwork: true -allowHostPID: true -allowHostPorts: false -allowPrivilegeEscalation: true -allowPrivilegedContainer: true -allowedCapabilities: [] -defaultAddCapabilities: null -defaultAllowPrivilegeEscalation: false -forbiddenSysctls: - - '*' -fsGroup: - type: RunAsAny -groups: [] -priority: null -readOnlyRootFilesystem: false -requiredDropCapabilities: null -runAsUser: - type: RunAsAny -seLinuxContext: - type: RunAsAny -seccompProfiles: - - runtime/default -supplementalGroups: - type: RunAsAny -users: - - system:serviceaccount:{{ .Release.Namespace }}:{{ include "beyla.fullname" .Subcharts.beyla }} -volumes: - - configMap - - hostPath - - projected ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: {{ include "beyla.fullname" .Subcharts.beyla }}-scc -rules: - - verbs: - - use - apiGroups: - - security.openshift.io - resources: - - securitycontextconstraints - resourceNames: - - {{ include "beyla.fullname" .Subcharts.beyla }} ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: {{ include "beyla.fullname" .Subcharts.beyla }}-scc -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: {{ include "beyla.fullname" .Subcharts.beyla }}-scc -subjects: - - kind: ServiceAccount - name: {{ include "beyla.fullname" .Subcharts.beyla }} - namespace: {{ .Release.Namespace }} -{{- end -}} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/tests/__snapshot__/.gitkeep b/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/tests/__snapshot__/.gitkeep deleted file mode 100755 index e69de29..0000000 diff --git a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/tests/default_test.yaml b/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/tests/default_test.yaml deleted file mode 100755 index e094c05..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/tests/default_test.yaml +++ /dev/null @@ -1,61 +0,0 @@ -# yamllint disable rule:document-start rule:line-length rule:trailing-spaces -suite: Test default values -templates: - - configmap.yaml -tests: - - it: creates a module with default Beyla configuration - set: - deployAsConfigMap: true - asserts: - - isKind: - of: ConfigMap - - equal: - path: data["module.alloy"] - value: |- - declare "auto_instrumentation" { - argument "metrics_destinations" { - comment = "Must be a list of metric destinations where collected metrics should be forwarded to" - } - - discovery.kubernetes "beyla_pods" { - role = "pod" - namespaces { - own_namespace = true - } - selectors { - role = "pod" - label = "app.kubernetes.io/name=beyla" - } - } - - discovery.relabel "beyla_pods" { - targets = discovery.kubernetes.beyla_pods.targets - rule { - source_labels = ["__meta_kubernetes_pod_node_name"] - action = "replace" - target_label = "instance" - } - } - - prometheus.scrape "beyla_applications" { - targets = discovery.relabel.beyla_pods.output - honor_labels = true - scrape_interval = "60s" - clustering { - enabled = true - } - forward_to = argument.metrics_destinations.value - } - - prometheus.scrape "beyla_internal" { - targets = discovery.relabel.beyla_pods.output - metrics_path = "/internal/metrics" - job_name = "integrations/beyla" - honor_labels = true - scrape_interval = "60s" - clustering { - enabled = true - } - forward_to = argument.metrics_destinations.value - } - } diff --git a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/values.schema.json b/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/values.schema.json deleted file mode 100755 index d59cd09..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/values.schema.json +++ /dev/null @@ -1,113 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema#", - "type": "object", - "properties": { - "beyla": { - "type": "object", - "properties": { - "config": { - "type": "object", - "properties": { - "create": { - "type": "boolean" - }, - "data": { - "type": "object" - }, - "skipConfigMapCheck": { - "type": "boolean" - } - } - }, - "extraDiscoveryRules": { - "type": "string" - }, - "extraMetricProcessingRules": { - "type": "string" - }, - "labelMatchers": { - "type": "object", - "properties": { - "app.kubernetes.io/name": { - "type": "string" - } - } - }, - "maxCacheSize": { - "type": "null" - }, - "metricsTuning": { - "type": "object", - "properties": { - "excludeMetrics": { - "type": "array" - }, - "includeMetrics": { - "type": "array" - } - } - }, - "nodeSelector": { - "type": "object", - "properties": { - "kubernetes.io/os": { - "type": "string" - } - } - }, - "podAnnotations": { - "type": "object", - "properties": { - "k8s.grafana.com/job": { - "type": "string" - }, - "k8s.grafana.com/logs.job": { - "type": "string" - } - } - }, - "preset": { - "type": "string", - "enum": [ - "application", - "network" - ] - }, - "scrapeInterval": { - "type": "string" - }, - "service": { - "type": "object", - "properties": { - "targetPort": { - "type": "integer" - } - } - } - } - }, - "deployAsConfigMap": { - "type": "boolean" - }, - "fullnameOverride": { - "type": "string" - }, - "global": { - "type": "object", - "properties": { - "maxCacheSize": { - "type": "integer" - }, - "platform": { - "type": "string" - }, - "scrapeInterval": { - "type": "string" - } - } - }, - "nameOverride": { - "type": "string" - } - } -} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/values.yaml b/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/values.yaml deleted file mode 100755 index 7cf152f..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-auto-instrumentation/values.yaml +++ /dev/null @@ -1,122 +0,0 @@ -# yamllint disable rule:comments-indentation ---- -# -- Name override -# @section -- General settings -nameOverride: "" - -# -- Full name override -# @section -- General settings -fullnameOverride: "" - -global: - # -- The specific platform for this cluster. Will enable compatibility for some platforms. Supported options: (empty) or "openshift". - # @section -- Global Settings - platform: "" - - # -- How frequently to scrape metrics. - # @section -- Global Settings - scrapeInterval: 60s - - # -- Sets the max_cache_size for every prometheus.relabel component. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus.relabel/#arguments)) - # This should be at least 2x-5x your largest scrape target or samples appended rate. - # @section -- Global Settings - maxCacheSize: 100000 - -beyla: - # -- The configuration preset to use. Valid options are "application" or "network". - # @section -- Beyla - preset: application - - # -- How frequently to scrape metrics from Beyla. - # Overrides metrics.scrapeInterval - # @default -- 60s - # @section -- Beyla - scrapeInterval: "" - - # -- Label matchers used to select the Beyla pods for scraping metrics. - # @section -- Beyla - labelMatchers: - app.kubernetes.io/name: beyla - - # -- Rule blocks to be added to the discovery.relabel component for Beyla. - # These relabeling rules are applied pre-scrape against the targets from service discovery. - # Before the scrape, any remaining target labels that start with __ (i.e. __meta_kubernetes*) are dropped. - # ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery.relabel/#rule-block)) - # @section -- Beyla - extraDiscoveryRules: "" - - # -- Rule blocks to be added to the prometheus.relabel component for Beyla. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus.relabel/#rule-block)) - # These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no __meta* labels are present. - # @section -- Beyla - extraMetricProcessingRules: "" - - # Adjustments to the scraped metrics to filter the amount of data sent to storage. - # @section -- Beyla - metricsTuning: - # -- Metrics to keep. Can use regular expressions. - # @section -- Beyla - includeMetrics: [] - # -- Metrics to drop. Can use regular expressions. - # @section -- Beyla - excludeMetrics: [] - - # -- Sets the max_cache_size for the prometheus.relabel component for Beyla. - # This should be at least 2x-5x your largest scrape target or samples appended rate. - # ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus.relabel/#arguments)) - # Overrides metrics.maxCacheSize - # @default -- 100000 - # @section -- Beyla - maxCacheSize: - - config: - # @ignored -- This allows this chart to create the ConfigMap while also keeping the default name - skipConfigMapCheck: true - # @ignored -- This allows this chart to create the Beyla ConfigMap with required modifications - create: false - - # -- The configuration for Grafana Beyla - # Some sections will be set automatically, such as the cluster name. - # Others will be modified depending on the value of beyla.preset. - # @section -- Beyla - data: - attributes: - kubernetes: - enable: true - # @ignored -- This will be replaced by the actual cluster name - # cluster_name: "" - internal_metrics: - prometheus: - # @ignored -- This will be replaced with service.targetPort below - port: 9090 - path: /internal/metrics - prometheus_export: - # @ignored -- This will be replaced with service.targetPort below - port: 9090 - path: /metrics - features: - - application - - network - - application_service_graph - - application_span - - # @ignored -- If the Application Observability feature is enabled, and if there is an HTTP or gRPC receiver, the - # endpoint will be set here. - # otel_traces_export: - # endpoint: "" - - # -- The port number for the Beyla service. - # @section -- Beyla - service: - targetPort: 9090 - - # @ignored - podAnnotations: - k8s.grafana.com/job: default/beyla - k8s.grafana.com/logs.job: integrations/beyla - - # @ignored -- Beyla can only install to Linux nodes - nodeSelector: - kubernetes.io/os: linux - -# @ignore -deployAsConfigMap: false diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/.helmignore b/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/.helmignore deleted file mode 100755 index 2b29eaf..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/.helmignore +++ /dev/null @@ -1,6 +0,0 @@ -docs -schema-mods -tests -Makefile -README.md -README.md.gotmpl diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/Chart.lock b/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/Chart.lock deleted file mode 100755 index 1e36a52..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/Chart.lock +++ /dev/null @@ -1,3 +0,0 @@ -dependencies: [] -digest: sha256:643d5437104296e21d906ecb15b2c96ad278f20cfc4af53b12bb6069bd853726 -generated: "2024-08-21T14:40:45.012164-05:00" diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/Chart.yaml b/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/Chart.yaml deleted file mode 100755 index 3651861..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/Chart.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -apiVersion: v2 -name: feature-cluster-events -description: Gathers Kubernetes Events -icon: https://raw.githubusercontent.com/grafana/grafana/main/public/img/grafana_icon.svg -sources: - - https://github.com/grafana/k8s-monitoring-helm/tree/main/charts/k8s-monitoring/charts/feature-cluster-events -version: 1.0.0 -appVersion: 1.0.0 -maintainers: - - email: pete.wall@grafana.com - name: petewall -dependencies: [] diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/Makefile b/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/Makefile deleted file mode 100755 index 107caf8..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/Makefile +++ /dev/null @@ -1,34 +0,0 @@ -HAS_HELM_DOCS := $(shell command -v helm-docs;) -HAS_HELM_UNITTEST := $(shell helm plugin list | grep unittest 2> /dev/null) - -.SECONDEXPANSION: -README.md: values.yaml Chart.yaml $$(wildcard README.md.gotmpl) -ifdef HAS_HELM_DOCS - helm-docs -else - docker run --rm --volume "$(shell pwd):/helm-docs" -u $(shell id -u) jnorwood/helm-docs:latest -endif - -Chart.lock: Chart.yaml - helm dependency update . - @touch Chart.lock # Ensure the timestamp is updated - -values.schema.json: values.yaml $$(wildcard schema-mods/*) - ../../../../scripts/schema-gen.sh . - -.PHONY: clean -clean: - rm -f README.md values.schema.json - -.PHONY: build -build: README.md Chart.lock values.schema.json - -.PHONY: test -test: build - helm lint . - ct lint --lint-conf ../../../../.configs/lintconf.yaml --helm-dependency-extra-args=--skip-refresh --charts . -ifdef HAS_HELM_UNITTEST - helm unittest . -else - docker run --rm --volume $(shell pwd):/apps helmunittest/helm-unittest:3.17.0-0.7.1 . -endif diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/README.md b/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/README.md deleted file mode 100755 index 3300d85..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/README.md +++ /dev/null @@ -1,65 +0,0 @@ - - -# feature-cluster-events - -![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: 1.0.0](https://img.shields.io/badge/AppVersion-1.0.0-informational?style=flat-square) -Gathers Kubernetes Events - -The Cluster Events feature enables the collection of Kubernetes events from the cluster. - -## How it works - -Events are captured as logs and are annotated with additional metadata to make them easier to search and filter. - -## Testing - -This chart contains unit tests to verify the generated configuration. The hidden value `deployAsConfigMap` will render -the generated configuration into a ConfigMap object. While this ConfigMap is not used during regular operation, you can -use it to show the outcome of a given values file. - -The unit tests use this ConfigMap to create an object with the configuration that can be asserted against. To run the -tests, use `helm test`. - -Be sure perform actual integration testing in a live environment in the main [k8s-monitoring](../..) chart. - -## Maintainers - -| Name | Email | Url | -| ---- | ------ | --- | -| petewall | | | - - -## Source Code - -* - - - -## Values - -### Gather settings - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| excludeNamespaces | list | `[]` | List of namespaces to ignore events for. | -| logFormat | string | `"logfmt"` | Log format used to forward cluster events. Allowed values: `logfmt` (default), `json`. | -| namespaces | list | `[]` | List of namespaces to watch for events (`[]` means all namespaces) | - -### Processing settings - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| extraLogProcessingStages | string | `""` | Stage blocks to be added to the loki.process component for cluster events. ([docs](https://grafana.com/docs/alloy/latest/reference/components/loki/loki.process/#blocks)) This value is templated so that you can refer to other values from this file. | -| jobLabel | string | `"integrations/kubernetes/eventhandler"` | The value for the job label. | -| labelsToKeep | list | `["job","level","namespace","node","source"]` | The list of labels to keep on the logs, all other pipeline labels will be dropped. | -| structuredMetadata | object | `{}` | The structured metadata mappings to set. To not set any structured metadata, set this to an empty object (e.g. `{}`) Format: `: `. Example: structuredMetadata: component: component kind: kind name: name | - -### General settings - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| fullnameOverride | string | `""` | Full name override | -| nameOverride | string | `""` | Name override | diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/README.md.gotmpl b/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/README.md.gotmpl deleted file mode 100755 index b82b6ff..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/README.md.gotmpl +++ /dev/null @@ -1,36 +0,0 @@ - - -{{ template "chart.header" . }} -{{ template "chart.deprecationWarning" . }} -{{ template "chart.badgesSection" . }} -{{ template "chart.description" . }} -{{ template "chart.homepageLine" . }} - -The Cluster Events feature enables the collection of Kubernetes events from the cluster. - -## How it works - -Events are captured as logs and are annotated with additional metadata to make them easier to search and filter. - -## Testing - -This chart contains unit tests to verify the generated configuration. The hidden value `deployAsConfigMap` will render -the generated configuration into a ConfigMap object. While this ConfigMap is not used during regular operation, you can -use it to show the outcome of a given values file. - -The unit tests use this ConfigMap to create an object with the configuration that can be asserted against. To run the -tests, use `helm test`. - -Be sure perform actual integration testing in a live environment in the main [k8s-monitoring](../..) chart. - -{{ template "chart.maintainersSection" . }} - - -{{ template "chart.sourcesSection" . }} - - -{{ template "chart.requirementsSection" . }} -{{ template "chart.valuesSection" . }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/templates/_helpers.tpl b/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/templates/_helpers.tpl deleted file mode 100755 index a282412..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/templates/_helpers.tpl +++ /dev/null @@ -1,17 +0,0 @@ -{{/* -Create a default fully qualified 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 "feature.clusterEvents.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" | lower }} -{{- else }} -{{- $name := default .Chart.Name .Values.nameOverride | lower }} -{{- if contains $name .Release.Name }} -{{- .Release.Name | trunc 63 | trimSuffix "-" | lower }} -{{- else }} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" | lower }} -{{- end }} -{{- end }} -{{- end }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/templates/_module.alloy.tpl b/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/templates/_module.alloy.tpl deleted file mode 100755 index 2fcc1d0..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/templates/_module.alloy.tpl +++ /dev/null @@ -1,120 +0,0 @@ -{{- define "feature.clusterEvents.module" }} -declare "cluster_events" { - argument "logs_destinations" { - comment = "Must be a list of log destinations where collected logs should be forwarded to" - } - - loki.source.kubernetes_events "cluster_events" { - job_name = {{ .Values.jobLabel | quote }} - log_format = "{{ .Values.logFormat }}" - {{- if .Values.namespaces }} - namespaces = {{ .Values.namespaces | toJson }} - {{- end }} - forward_to = [loki.process.cluster_events.receiver] - } - - loki.process "cluster_events" { - {{- if .Values.excludeNamespaces }} - stage.drop { - source = "namespace" - expression = {{ .Values.excludeNamespaces | join "|" | quote }} - drop_counter_reason = "excluded_namespaces" - } - {{- end }} - - // add a static source label to the logs so they can be differentiated / restricted if necessary - stage.static_labels { - values = { - "source" = "kubernetes-events", - } - } - - // extract some of the fields from the log line, these could be used as labels, structured metadata, etc. - {{- if eq .Values.logFormat "json" }} - stage.json { - expressions = { - "component" = "sourcecomponent", // map the sourcecomponent field to component - "kind" = "", - "level" = "type", // most events don't have a level but they do have a "type" i.e. Normal, Warning, Error, etc. - "name" = "", - "node" = "sourcehost", // map the sourcehost field to node - } - } - {{- else }} - stage.logfmt { - mapping = { - "component" = "sourcecomponent", // map the sourcecomponent field to component - "kind" = "", - "level" = "type", // most events don't have a level but they do have a "type" i.e. Normal, Warning, Error, etc. - "name" = "", - "node" = "sourcehost", // map the sourcehost field to node - } - } - {{- end }} - // set these values as labels, they may or may not be used as index labels in Loki as they can be dropped - // prior to being written to Loki, but this makes them available - stage.labels { - values = { - "component" = "", - "kind" = "", - "level" = "", - "name" = "", - "node" = "", - } - } - - // if kind=Node, set the node label by copying the instance label - stage.match { - selector = "{kind=\"Node\"}" - - stage.labels { - values = { - "node" = "name", - } - } - } - - // set the level extracted key value as a normalized log level - stage.match { - selector = "{level=\"Normal\"}" - - stage.static_labels { - values = { - level = "Info", - } - } - } - - {{- if .Values.extraLogProcessingStages }} - {{ tpl .Values.extraLogProcessingStages $ | indent 4 }} - {{ end }} - - {{- /* the stage.structured_metadata block needs to be conditionalized because the support for enabling structured metadata can be disabled */ -}} - {{- /* through the loki limits_conifg on a per-tenant basis, even if there are no values defined or there are values defined but it is disabled */ -}} - {{- /* in Loki, the write will fail. */ -}} - {{- if gt (len (keys .Values.structuredMetadata)) 0 }} - // set the structured metadata values - stage.structured_metadata { - values = { - {{- range $key, $value := .Values.structuredMetadata }} - {{ $key | quote }} = {{ if $value }}{{ $value | quote }}{{ else }}{{ $key | quote }}{{ end }}, - {{- end }} - } - } - {{- end }} - - // Only keep the labels that are defined in the `keepLabels` list. - stage.label_keep { - values = {{ .Values.labelsToKeep | toJson }} - } - stage.labels { - values = { - "service_name" = "job", - } - } - forward_to = argument.logs_destinations.value - } -} -{{- end -}} - -{{- define "feature.clusterEvents.alloyModules" }}{{- end }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/templates/_notes.tpl b/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/templates/_notes.tpl deleted file mode 100755 index b5aa085..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/templates/_notes.tpl +++ /dev/null @@ -1,11 +0,0 @@ -{{- define "feature.clusterEvents.notes.deployments" }}{{- end }} - -{{- define "feature.clusterEvents.notes.task" }} -Gather Kubernetes Cluster events{{- if .Values.namespaces }} from the namespaces {{ .Values.namespaces | join "," }}{{- end }} -{{- end }} - -{{- define "feature.clusterEvents.notes.actions" }}{{- end }} - -{{- define "feature.clusterEvents.summary" -}} -version: {{ .Chart.Version }} -{{- end }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/templates/configmap.yaml b/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/templates/configmap.yaml deleted file mode 100755 index ed9f9b7..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/templates/configmap.yaml +++ /dev/null @@ -1,13 +0,0 @@ -{{- if .Values.deployAsConfigMap }} -{{- $alloyConfig := include "feature.clusterEvents.module" . }} -{{- $alloyConfig = regexReplaceAll `[ \t]+(\r?\n)` $alloyConfig "\n" }} ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ include "feature.clusterEvents.fullname" . }} - namespace: {{ .Release.Namespace }} -data: - module.alloy: |- - {{- $alloyConfig | trim | nindent 4 }} -{{- end }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/__snapshot__/default_test.yaml.snap b/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/__snapshot__/default_test.yaml.snap deleted file mode 100755 index c5dd707..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/__snapshot__/default_test.yaml.snap +++ /dev/null @@ -1,79 +0,0 @@ -should create a ConfigMap: - 1: | - |- - declare "cluster_events" { - argument "logs_destinations" { - comment = "Must be a list of log destinations where collected logs should be forwarded to" - } - - loki.source.kubernetes_events "cluster_events" { - job_name = "integrations/kubernetes/eventhandler" - log_format = "logfmt" - forward_to = [loki.process.cluster_events.receiver] - } - - loki.process "cluster_events" { - - // add a static source label to the logs so they can be differentiated / restricted if necessary - stage.static_labels { - values = { - "source" = "kubernetes-events", - } - } - - // extract some of the fields from the log line, these could be used as labels, structured metadata, etc. - stage.logfmt { - mapping = { - "component" = "sourcecomponent", // map the sourcecomponent field to component - "kind" = "", - "level" = "type", // most events don't have a level but they do have a "type" i.e. Normal, Warning, Error, etc. - "name" = "", - "node" = "sourcehost", // map the sourcehost field to node - } - } - // set these values as labels, they may or may not be used as index labels in Loki as they can be dropped - // prior to being written to Loki, but this makes them available - stage.labels { - values = { - "component" = "", - "kind" = "", - "level" = "", - "name" = "", - "node" = "", - } - } - - // if kind=Node, set the node label by copying the instance label - stage.match { - selector = "{kind=\"Node\"}" - - stage.labels { - values = { - "node" = "name", - } - } - } - - // set the level extracted key value as a normalized log level - stage.match { - selector = "{level=\"Normal\"}" - - stage.static_labels { - values = { - level = "Info", - } - } - } - - // Only keep the labels that are defined in the `keepLabels` list. - stage.label_keep { - values = ["job","level","namespace","node","source"] - } - stage.labels { - values = { - "service_name" = "job", - } - } - forward_to = argument.logs_destinations.value - } - } diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/__snapshot__/extra_processing_stages_test.yaml.snap b/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/__snapshot__/extra_processing_stages_test.yaml.snap deleted file mode 100755 index 45ca491..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/__snapshot__/extra_processing_stages_test.yaml.snap +++ /dev/null @@ -1,84 +0,0 @@ -should create a ConfigMap with extra processing stages: - 1: | - |- - declare "cluster_events" { - argument "logs_destinations" { - comment = "Must be a list of log destinations where collected logs should be forwarded to" - } - - loki.source.kubernetes_events "cluster_events" { - job_name = "integrations/kubernetes/eventhandler" - log_format = "logfmt" - forward_to = [loki.process.cluster_events.receiver] - } - - loki.process "cluster_events" { - - // add a static source label to the logs so they can be differentiated / restricted if necessary - stage.static_labels { - values = { - "source" = "kubernetes-events", - } - } - - // extract some of the fields from the log line, these could be used as labels, structured metadata, etc. - stage.logfmt { - mapping = { - "component" = "sourcecomponent", // map the sourcecomponent field to component - "kind" = "", - "level" = "type", // most events don't have a level but they do have a "type" i.e. Normal, Warning, Error, etc. - "name" = "", - "node" = "sourcehost", // map the sourcehost field to node - } - } - // set these values as labels, they may or may not be used as index labels in Loki as they can be dropped - // prior to being written to Loki, but this makes them available - stage.labels { - values = { - "component" = "", - "kind" = "", - "level" = "", - "name" = "", - "node" = "", - } - } - - // if kind=Node, set the node label by copying the instance label - stage.match { - selector = "{kind=\"Node\"}" - - stage.labels { - values = { - "node" = "name", - } - } - } - - // set the level extracted key value as a normalized log level - stage.match { - selector = "{level=\"Normal\"}" - - stage.static_labels { - values = { - level = "Info", - } - } - } - stage.drop { - source = "namespace" - value = "private" - } - - - // Only keep the labels that are defined in the `keepLabels` list. - stage.label_keep { - values = ["job","level","namespace","node","source"] - } - stage.labels { - values = { - "service_name" = "job", - } - } - forward_to = argument.logs_destinations.value - } - } diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/__snapshot__/labels_test.yaml.snap b/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/__snapshot__/labels_test.yaml.snap deleted file mode 100755 index c95ba6d..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/__snapshot__/labels_test.yaml.snap +++ /dev/null @@ -1,79 +0,0 @@ -should create a ConfigMap that sets custom labels to keep: - 1: | - |- - declare "cluster_events" { - argument "logs_destinations" { - comment = "Must be a list of log destinations where collected logs should be forwarded to" - } - - loki.source.kubernetes_events "cluster_events" { - job_name = "integrations/kubernetes/eventhandler" - log_format = "logfmt" - forward_to = [loki.process.cluster_events.receiver] - } - - loki.process "cluster_events" { - - // add a static source label to the logs so they can be differentiated / restricted if necessary - stage.static_labels { - values = { - "source" = "kubernetes-events", - } - } - - // extract some of the fields from the log line, these could be used as labels, structured metadata, etc. - stage.logfmt { - mapping = { - "component" = "sourcecomponent", // map the sourcecomponent field to component - "kind" = "", - "level" = "type", // most events don't have a level but they do have a "type" i.e. Normal, Warning, Error, etc. - "name" = "", - "node" = "sourcehost", // map the sourcehost field to node - } - } - // set these values as labels, they may or may not be used as index labels in Loki as they can be dropped - // prior to being written to Loki, but this makes them available - stage.labels { - values = { - "component" = "", - "kind" = "", - "level" = "", - "name" = "", - "node" = "", - } - } - - // if kind=Node, set the node label by copying the instance label - stage.match { - selector = "{kind=\"Node\"}" - - stage.labels { - values = { - "node" = "name", - } - } - } - - // set the level extracted key value as a normalized log level - stage.match { - selector = "{level=\"Normal\"}" - - stage.static_labels { - values = { - level = "Info", - } - } - } - - // Only keep the labels that are defined in the `keepLabels` list. - stage.label_keep { - values = ["job","namespace","level","node","name","source"] - } - stage.labels { - values = { - "service_name" = "job", - } - } - forward_to = argument.logs_destinations.value - } - } diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/__snapshot__/namespace_test.yaml.snap b/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/__snapshot__/namespace_test.yaml.snap deleted file mode 100755 index 84d32e2..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/__snapshot__/namespace_test.yaml.snap +++ /dev/null @@ -1,80 +0,0 @@ -should create a ConfigMap that restricts events to the given namespaces: - 1: | - |- - declare "cluster_events" { - argument "logs_destinations" { - comment = "Must be a list of log destinations where collected logs should be forwarded to" - } - - loki.source.kubernetes_events "cluster_events" { - job_name = "integrations/kubernetes/eventhandler" - log_format = "logfmt" - namespaces = ["a","b"] - forward_to = [loki.process.cluster_events.receiver] - } - - loki.process "cluster_events" { - - // add a static source label to the logs so they can be differentiated / restricted if necessary - stage.static_labels { - values = { - "source" = "kubernetes-events", - } - } - - // extract some of the fields from the log line, these could be used as labels, structured metadata, etc. - stage.logfmt { - mapping = { - "component" = "sourcecomponent", // map the sourcecomponent field to component - "kind" = "", - "level" = "type", // most events don't have a level but they do have a "type" i.e. Normal, Warning, Error, etc. - "name" = "", - "node" = "sourcehost", // map the sourcehost field to node - } - } - // set these values as labels, they may or may not be used as index labels in Loki as they can be dropped - // prior to being written to Loki, but this makes them available - stage.labels { - values = { - "component" = "", - "kind" = "", - "level" = "", - "name" = "", - "node" = "", - } - } - - // if kind=Node, set the node label by copying the instance label - stage.match { - selector = "{kind=\"Node\"}" - - stage.labels { - values = { - "node" = "name", - } - } - } - - // set the level extracted key value as a normalized log level - stage.match { - selector = "{level=\"Normal\"}" - - stage.static_labels { - values = { - level = "Info", - } - } - } - - // Only keep the labels that are defined in the `keepLabels` list. - stage.label_keep { - values = ["job","level","namespace","node","source"] - } - stage.labels { - values = { - "service_name" = "job", - } - } - forward_to = argument.logs_destinations.value - } - } diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/__snapshot__/structured_metadata_test.yaml.snap b/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/__snapshot__/structured_metadata_test.yaml.snap deleted file mode 100755 index b077a51..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/__snapshot__/structured_metadata_test.yaml.snap +++ /dev/null @@ -1,87 +0,0 @@ -should create a ConfigMap that sets structured metadata k/v pairs: - 1: | - |- - declare "cluster_events" { - argument "logs_destinations" { - comment = "Must be a list of log destinations where collected logs should be forwarded to" - } - - loki.source.kubernetes_events "cluster_events" { - job_name = "integrations/kubernetes/eventhandler" - log_format = "logfmt" - forward_to = [loki.process.cluster_events.receiver] - } - - loki.process "cluster_events" { - - // add a static source label to the logs so they can be differentiated / restricted if necessary - stage.static_labels { - values = { - "source" = "kubernetes-events", - } - } - - // extract some of the fields from the log line, these could be used as labels, structured metadata, etc. - stage.logfmt { - mapping = { - "component" = "sourcecomponent", // map the sourcecomponent field to component - "kind" = "", - "level" = "type", // most events don't have a level but they do have a "type" i.e. Normal, Warning, Error, etc. - "name" = "", - "node" = "sourcehost", // map the sourcehost field to node - } - } - // set these values as labels, they may or may not be used as index labels in Loki as they can be dropped - // prior to being written to Loki, but this makes them available - stage.labels { - values = { - "component" = "", - "kind" = "", - "level" = "", - "name" = "", - "node" = "", - } - } - - // if kind=Node, set the node label by copying the instance label - stage.match { - selector = "{kind=\"Node\"}" - - stage.labels { - values = { - "node" = "name", - } - } - } - - // set the level extracted key value as a normalized log level - stage.match { - selector = "{level=\"Normal\"}" - - stage.static_labels { - values = { - level = "Info", - } - } - } - // set the structured metadata values - stage.structured_metadata { - values = { - "component" = "component", - "kind" = "kind", - "name" = "name", - } - } - - // Only keep the labels that are defined in the `keepLabels` list. - stage.label_keep { - values = ["job","level","namespace","node","source"] - } - stage.labels { - values = { - "service_name" = "job", - } - } - forward_to = argument.logs_destinations.value - } - } diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/default_test.yaml b/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/default_test.yaml deleted file mode 100755 index 2235773..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/default_test.yaml +++ /dev/null @@ -1,13 +0,0 @@ -# yamllint disable rule:document-start rule:line-length rule:trailing-spaces -suite: Test default values -templates: - - configmap.yaml -tests: - - it: should create a ConfigMap - set: - deployAsConfigMap: true - asserts: - - isKind: - of: ConfigMap - - matchSnapshot: - path: data["module.alloy"] diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/extra_processing_stages_test.yaml b/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/extra_processing_stages_test.yaml deleted file mode 100755 index 334a056..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/extra_processing_stages_test.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# yamllint disable rule:document-start rule:line-length rule:trailing-spaces -suite: Test extra processing stages -templates: - - configmap.yaml -tests: - - it: should create a ConfigMap with extra processing stages - set: - deployAsConfigMap: true - extraLogProcessingStages: |- - stage.drop { - source = "namespace" - value = "private" - } - asserts: - - isKind: - of: ConfigMap - - matchSnapshot: - path: data["module.alloy"] diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/labels_test.yaml b/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/labels_test.yaml deleted file mode 100755 index 7c69175..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/labels_test.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# yamllint disable rule:document-start rule:line-length rule:trailing-spaces -suite: Test namespaces -templates: - - configmap.yaml -tests: - - it: should create a ConfigMap that sets custom labels to keep - set: - deployAsConfigMap: true - labelsToKeep: - - job - - namespace - - level - - node - - name - - source - asserts: - - isKind: - of: ConfigMap - - matchSnapshot: - path: data["module.alloy"] diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/namespace_test.yaml b/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/namespace_test.yaml deleted file mode 100755 index f6f6832..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/namespace_test.yaml +++ /dev/null @@ -1,14 +0,0 @@ -# yamllint disable rule:document-start rule:line-length rule:trailing-spaces -suite: Test namespaces -templates: - - configmap.yaml -tests: - - it: should create a ConfigMap that restricts events to the given namespaces - set: - deployAsConfigMap: true - namespaces: ["a", "b"] - asserts: - - isKind: - of: ConfigMap - - matchSnapshot: - path: data["module.alloy"] diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/structured_metadata_test.yaml b/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/structured_metadata_test.yaml deleted file mode 100755 index 38c0a09..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/tests/structured_metadata_test.yaml +++ /dev/null @@ -1,17 +0,0 @@ -# yamllint disable rule:document-start rule:line-length rule:trailing-spaces -suite: Test namespaces -templates: - - configmap.yaml -tests: - - it: should create a ConfigMap that sets structured metadata k/v pairs - set: - deployAsConfigMap: true - structuredMetadata: - kind: kind - component: component - name: name - asserts: - - isKind: - of: ConfigMap - - matchSnapshot: - path: data["module.alloy"] diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/values.schema.json b/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/values.schema.json deleted file mode 100755 index b895482..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/values.schema.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema#", - "type": "object", - "properties": { - "deployAsConfigMap": { - "type": "boolean" - }, - "excludeNamespaces": { - "type": "array" - }, - "extraLogProcessingStages": { - "type": "string" - }, - "fullnameOverride": { - "type": "string" - }, - "jobLabel": { - "type": "string" - }, - "labelsToKeep": { - "type": "array", - "items": { - "type": "string" - } - }, - "logFormat": { - "type": "string" - }, - "nameOverride": { - "type": "string" - }, - "namespaces": { - "type": "array" - }, - "structuredMetadata": { - "type": "object" - } - } -} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/values.yaml b/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/values.yaml deleted file mode 100755 index bdf3c45..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-events/values.yaml +++ /dev/null @@ -1,53 +0,0 @@ ---- -# -- Name override -# @section -- General settings -nameOverride: "" - -# -- Full name override -# @section -- General settings -fullnameOverride: "" - -# -- List of namespaces to watch for events (`[]` means all namespaces) -# @section -- Gather settings -namespaces: [] - -# -- List of namespaces to ignore events for. -# @section -- Gather settings -excludeNamespaces: [] - -# -- Log format used to forward cluster events. Allowed values: `logfmt` (default), `json`. -# @section -- Gather settings -logFormat: logfmt - -# -- The value for the job label. -# @section -- Processing settings -jobLabel: "integrations/kubernetes/eventhandler" - -# -- Stage blocks to be added to the loki.process component for cluster events. -# ([docs](https://grafana.com/docs/alloy/latest/reference/components/loki/loki.process/#blocks)) -# This value is templated so that you can refer to other values from this file. -# @section -- Processing settings -extraLogProcessingStages: "" - -# -- The list of labels to keep on the logs, all other pipeline labels will be dropped. -# @section -- Processing settings -labelsToKeep: - - job - - level - - namespace - - node - - source - -# -- The structured metadata mappings to set. -# To not set any structured metadata, set this to an empty object (e.g. `{}`) -# Format: `: `. -# Example: -# structuredMetadata: -# component: component -# kind: kind -# name: name -# @section -- Processing settings -structuredMetadata: {} - -# @ignore -deployAsConfigMap: false diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/.ct.yaml b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/.ct.yaml deleted file mode 100755 index 7a53888..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/.ct.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -chart-repos: - - kepler=https://sustainable-computing-io.github.io/kepler-helm-chart - - prometheus-community=https://prometheus-community.github.io/helm-charts diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/.helmignore b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/.helmignore deleted file mode 100755 index 2b29eaf..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/.helmignore +++ /dev/null @@ -1,6 +0,0 @@ -docs -schema-mods -tests -Makefile -README.md -README.md.gotmpl diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/Chart.lock b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/Chart.lock deleted file mode 100755 index 38e4ee0..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/Chart.lock +++ /dev/null @@ -1,18 +0,0 @@ -dependencies: -- name: kube-state-metrics - repository: https://prometheus-community.github.io/helm-charts - version: 5.32.0 -- name: prometheus-node-exporter - repository: https://prometheus-community.github.io/helm-charts - version: 4.45.2 -- name: prometheus-windows-exporter - repository: https://prometheus-community.github.io/helm-charts - version: 0.10.0 -- name: kepler - repository: https://sustainable-computing-io.github.io/kepler-helm-chart - version: 0.5.13 -- name: opencost - repository: https://opencost.github.io/opencost-helm-chart - version: 1.43.2 -digest: sha256:19e851fee0b7e51df9b948648a5d1ab6b92abd241dc3fecc30199fcaf2438e6a -generated: "2025-04-21T16:34:51.131211-05:00" diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/Chart.yaml b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/Chart.yaml deleted file mode 100755 index dd0b5dd..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/Chart.yaml +++ /dev/null @@ -1,39 +0,0 @@ ---- -apiVersion: v2 -name: feature-cluster-metrics -description: Gathers Kubernetes Cluster metrics -icon: https://raw.githubusercontent.com/grafana/grafana/main/public/img/grafana_icon.svg -sources: - - https://github.com/grafana/k8s-monitoring-helm/tree/main/charts/k8s-monitoring/charts/feature-cluster-metrics -version: 1.0.0 -appVersion: 1.0.0 -maintainers: - - email: pete.wall@grafana.com - name: petewall -dependencies: - - name: kube-state-metrics - version: 5.32.0 - repository: https://prometheus-community.github.io/helm-charts - condition: kube-state-metrics.deploy - - - alias: node-exporter - name: prometheus-node-exporter - version: 4.45.2 - repository: https://prometheus-community.github.io/helm-charts - condition: node-exporter.deploy - - - alias: windows-exporter - name: prometheus-windows-exporter - version: 0.10.0 - repository: https://prometheus-community.github.io/helm-charts - condition: windows-exporter.deploy - - - name: kepler - version: 0.5.13 - repository: https://sustainable-computing-io.github.io/kepler-helm-chart - condition: kepler.enabled - - - name: opencost - version: 1.43.2 - repository: https://opencost.github.io/opencost-helm-chart - condition: opencost.enabled diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/Makefile b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/Makefile deleted file mode 100755 index 1296b41..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -HAS_HELM_DOCS := $(shell command -v helm-docs;) -HAS_HELM_UNITTEST := $(shell helm plugin list | grep unittest 2> /dev/null) -ALLOW_LISTS := default-allow-lists/kube-state-metrics.yaml - -.SECONDEXPANSION: -README.md: values.yaml Chart.yaml $$(wildcard README.md.gotmpl) -ifdef HAS_HELM_DOCS - helm-docs -else - docker run --rm --volume "$(shell pwd):/helm-docs" -u $(shell id -u) jnorwood/helm-docs:latest -endif - -Chart.lock: Chart.yaml - helm dependency update . - @touch Chart.lock # Ensure the timestamp is updated - -values.schema.json: values.yaml $$(wildcard schema-mods/*) - ../../../../scripts/schema-gen.sh . - -default-allow-lists/%.yaml: ../../../../allowLists/%.yaml - cp $< $@ - -.PHONY: clean -clean: - rm -f README.md values.schema.json $(ALLOW_LISTS) - -.PHONY: build -build: README.md Chart.lock values.schema.json $(ALLOW_LISTS) - -.PHONY: test -test: build - helm repo add prometheus-community https://prometheus-community.github.io/helm-charts - helm repo add kepler https://sustainable-computing-io.github.io/kepler-helm-chart - helm repo add opencost https://opencost.github.io/opencost-helm-chart - - helm lint . - ct lint --lint-conf ../../../../.configs/lintconf.yaml --helm-dependency-extra-args=--skip-refresh --charts . -ifdef HAS_HELM_UNITTEST - helm unittest . -else - docker run --rm --volume $(shell pwd):/apps helmunittest/helm-unittest:3.17.0-0.7.1 . -endif diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/README.md b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/README.md deleted file mode 100755 index 91b789d..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/README.md +++ /dev/null @@ -1,385 +0,0 @@ - - -# feature-cluster-metrics - -![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: 1.0.0](https://img.shields.io/badge/AppVersion-1.0.0-informational?style=flat-square) - -Gathers Kubernetes Cluster metrics - -This chart deploys the Cluster Metrics feature of the Kubernetes Observability Helm chart, which uses allow -lists to limit the metrics needed. An allow list is a set of metric names that will be kept, while any metrics -not on the list will be dropped. With [metrics tuning](#metrics-tuning--allow-lists), you can further customize which metrics are collected. - -## How it works - -This chart includes the ability to collect metrics from the following: - -* The Kubernetes cluster itself -* Sources like the Kubelet and cAdvisor -* Common supporting services like [kube-state-metrics](https://github.com/kubernetes/kube-state-metrics) and - [Node Exporter](https://github.com/prometheus/node_exporter) -* Systems to capture additional data like Kepler - -### Metrics sources - -The Cluster Metrics feature of the Kubernetes Observability Helm chart includes the following metric systems and -their default allow lists: - -| Metric source | Gathers information about | Allow list | -|------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| API Server | Kubernetes API Server | NA | -| [cAdvisor](https://github.com/google/cadvisor) | Containers on each node | [default-allow-lists/cadvisor.yaml](./default-allow-lists/cadvisor.yaml) | -| [Kepler](https://sustainable-computing.io/) | Kubernetes cluster | [default-allow-lists/kepler.yaml](./default-allow-lists/kepler.yaml) | -| Kube Controller Manager | Kubernetes Controller Manager | NA | -| Kube Proxy | Kube Proxy | NA | -| Kube Scheduler | Kube Scheduler | NA | -| Kubelet | Kubernetes information on each node | [default-allow-lists/kubelet.yaml](./default-allow-lists/kubelet.yaml) | -| [kube-state-metrics](https://github.com/kubernetes/kube-state-metrics) | Kubernetes | | -| resources inside the cluster | [default-allow-lists/kube-state-metrics.yaml](./default-allow-lists/kube-state-metrics.yaml) | | -| [Node Exporter](https://github.com/prometheus/node_exporter) | Linux Kubernetes nodes | [default-allow-lists/node-exporter.yaml](./default-allow-lists/node-exporter.yaml), [default-allow-lists/node-exporter-integration.yaml](./default-allow-lists/node-exporter-integration.yaml) | -| [Windows Exporter](https://github.com/prometheus-community/windows_exporter) | Windows Kubernetes nodes | [default-allow-lists/windows-exporter.yaml](./default-allow-lists/windows-exporter.yaml) | - -## Metrics tuning and allow lists - -For any metric source, you can adjust the amount of metrics being scraped and their labels to limit the number of metrics delivered to your destinations. Many of the metric sources have a default allow list. The allow list for a metric source is designed to return a useful, but minimal set of metrics for typical use cases. Some metrics sources have an integration allow list, which contains even more metrics for diving into the details of the source itself. - -To control metrics with allow lists or label filters, use the `metricsTuning` section in the values file. - -```yaml -: - metricsTuning: - useDefaultAllowList: # Use the allow list for this metric source - useIntegrationAllowList: # Use the integration allow list for this metric source - includeMetrics: [] # Metrics to be kept - excludeMetrics: [] # Metrics to be dropped -``` - -The behavior of the combination of these settings is shown in this table: - -| Allow list | includeMetrics | excludeMetrics | Result | -|------------|------------------|--------------------------|-----------------------------------------------------------------------------------------------------------------------------------------| -| true | `[]` | `[]` | Use the allow list metric list | -| false | `[]` | `[]` | No filter, keep all metrics | -| true | `[my_metric]` | `[]` | Use the allow list metric list with an additional metric | -| false | `[my_metric_.*]` | `[]` | *Only* keep metrics that start with `my_metric_` | -| true | `[]` | `[my_metric_.*]` | Use the allow list metric filter, but exclude anything that starts with `my_metric_` | -| false | `[]` | `[my_metric_.*]` | Keep all metrics except anything that starts with `my_metric_` | -| true | `[my_metric_.*]` | `[other_metric_.*]` | Use the allow list metric filter, and keep anything that starts with `my_metric_`, but remove anything that starts with `other_metric_` | -| false | `[my_metric_.*]` | `[my_metric_not_needed]` | *Only* keep metrics that start with `my_metric_`, but remove any that are named `my_metric_not_needed` | - -## Relabeling rules - -You can also use relabeling rules to take any action on the metrics allow list, such as to filter based on a label. -To do so, use `extraMetricProcessingRules` section in the values file to add arbitrary relabeling rules. - -## Testing - -This chart contains unit tests to verify the generated configuration. The hidden value `deployAsConfigMap` will render -the generated configuration into a ConfigMap object. While this ConfigMap is not used during regular operation, you can -use it to show the outcome of a given values file. - -The unit tests use this ConfigMap to create an object with the configuration that can be asserted against. To run the -tests, use `helm test`. - -Be sure perform actual integration testing in a live environment in the main [k8s-monitoring](../..) chart. - -## Maintainers - -| Name | Email | Url | -| ---- | ------ | --- | -| petewall | | | - - - -## Source Code - -* - - -## Requirements - -| Repository | Name | Version | -|------------|------|---------| -| https://opencost.github.io/opencost-helm-chart | opencost | 1.43.2 | -| https://prometheus-community.github.io/helm-charts | kube-state-metrics | 5.32.0 | -| https://prometheus-community.github.io/helm-charts | node-exporter(prometheus-node-exporter) | 4.45.2 | -| https://prometheus-community.github.io/helm-charts | windows-exporter(prometheus-windows-exporter) | 0.10.0 | -| https://sustainable-computing-io.github.io/kepler-helm-chart | kepler | 0.5.13 | - - - -## Values - -### API Server - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| apiServer.enabled | bool | `false` | Scrape metrics from the API Server. | -| apiServer.extraDiscoveryRules | string | `""` | Rule blocks to be added to the discovery.relabel component for the API Server. These relabeling rules are applied pre-scrape against the targets from service discovery. Before the scrape, any remaining target labels that start with `__` (i.e. `__meta_kubernetes*`) are dropped. ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) | -| apiServer.extraMetricProcessingRules | string | `""` | Rule blocks to be added to the prometheus.relabel component for the API Server. These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) | -| apiServer.jobLabel | string | `"integrations/kubernetes/kube-apiserver"` | The value for the job label. | -| apiServer.maxCacheSize | string | `nil` | Sets the max_cache_size for the API Server prometheus.relabel component. This should be at least 2x-5x your largest scrape target or samples appended rate. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) Overrides metrics.maxCacheSize | -| apiServer.metricsTuning.excludeMetrics | list | `[]` | Metrics to drop. Can use regular expressions. | -| apiServer.metricsTuning.includeMetrics | list | `[]` | Metrics to keep. Can use regular expressions. An empty list means keep all. | -| apiServer.scrapeInterval | string | 60s | How frequently to scrape metrics from the API Server Overrides metrics.scrapeInterval | - -### cAdvisor - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| cadvisor.enabled | bool | `true` | Scrape metrics from cAdvisor. | -| cadvisor.extraDiscoveryRules | string | `""` | Rule blocks to be added to the discovery.relabel component for cAdvisor. These relabeling rules are applied pre-scrape against the targets from service discovery. Before the scrape, any remaining target labels that start with `__` (i.e. `__meta_kubernetes*`) are dropped. ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) | -| cadvisor.extraMetricProcessingRules | string | `""` | Rule blocks to be added to the prometheus.relabel component for cAdvisor metrics. These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) | -| cadvisor.jobLabel | string | `"integrations/kubernetes/cadvisor"` | The value for the job label. | -| cadvisor.maxCacheSize | string | `100000` | Sets the max_cache_size for the cAdvisor prometheus.relabel component. This should be at least 2x-5x your largest scrape target or samples appended rate. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) Overrides global.maxCacheSize | -| cadvisor.metricsTuning.dropEmptyContainerLabels | bool | `true` | Drop metrics that have an empty container label | -| cadvisor.metricsTuning.dropEmptyImageLabels | bool | `true` | Drop metrics that have an empty image label | -| cadvisor.metricsTuning.excludeMetrics | list | `[]` | Metrics to drop. Can use regular expressions. | -| cadvisor.metricsTuning.excludeNamespaces | list | `[]` | For metrics with a `namespace` label, drop those that are in this list. | -| cadvisor.metricsTuning.includeMetrics | list | `[]` | Metrics to keep. Can use regular expressions. | -| cadvisor.metricsTuning.includeNamespaces | list | `[]` | For metrics with a `namespace` label, only keep those that are in this list. | -| cadvisor.metricsTuning.keepPhysicalFilesystemDevices | list | `["mmcblk.p.+","nvme.+","rbd.+","sd.+","vd.+","xvd.+","dasd.+"]` | Only keep filesystem metrics that use the following physical devices | -| cadvisor.metricsTuning.keepPhysicalNetworkDevices | list | `["en[ospx][0-9].*","wlan[0-9].*","eth[0-9].*"]` | Only keep network metrics that use the following physical devices | -| cadvisor.metricsTuning.normalizeUnnecessaryLabels | list | `[{"labels":["boot_id","system_uuid"],"metric":"machine_memory_bytes"}]` | Normalize labels to the same value for the given metric and label pairs | -| cadvisor.metricsTuning.useDefaultAllowList | bool | `true` | Filter the list of metrics from cAdvisor to the minimal set required for Kubernetes Monitoring. | -| cadvisor.nodeAddressFormat | string | `"direct"` | How to access cAdvisor to get metrics, either "direct" (use node IP) or "proxy" (uses API Server) | - -### cadvisor - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| cadvisor.scrapeInterval | string | `60s` | How frequently to scrape cAdvisor metrics. | - -### Control Plane - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| controlPlane.enabled | bool | `false` | enable all Kubernetes Control Plane metrics sources. This includes api-server, kube-scheduler, kube-controller-manager, and KubeDNS. | - -### General settings - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| fullnameOverride | string | `""` | Full name override | -| nameOverride | string | `""` | Name override | - -### Global Settings - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| global.alloyModules.branch | string | `"main"` | If using git, the branch of the git repository to use. | -| global.alloyModules.source | string | `"git"` | The source of the Alloy modules. The valid options are "configMap" or "git" | -| global.kubernetesAPIService | string | `""` | The Kubernetes service. Change this if your cluster DNS is configured differently than the default. | -| global.maxCacheSize | int | `100000` | Sets the max_cache_size for every prometheus.relabel component. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) This should be at least 2x-5x your largest scrape target or samples appended rate. | -| global.platform | string | `""` | The specific platform for this cluster. Will enable compatibility for some platforms. Supported options: (empty) or "openshift". | -| global.scrapeInterval | string | `"60s"` | How frequently to scrape metrics. | - -### Kepler - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| kepler.enabled | bool | `false` | Deploy and scrape Kepler metrics. | -| kepler.extraDiscoveryRules | string | `""` | Rule blocks to be added to the discovery.relabel component for Kepler. These relabeling rules are applied pre-scrape against the targets from service discovery. Before the scrape, any remaining target labels that start with __ (i.e. __meta_kubernetes*) are dropped. ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) | -| kepler.extraMetricProcessingRules | string | `""` | Rule blocks to be added to the prometheus.relabel component for Kepler. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no __meta* labels are present. | -| kepler.jobLabel | string | `"integrations/kepler"` | The value for the job label. | -| kepler.labelMatchers | object | `{"app.kubernetes.io/name":"kepler"}` | Label matchers used to select the Kepler pods | -| kepler.maxCacheSize | string | `100000` | Sets the max_cache_size for the prometheus.relabel component for Kepler. This should be at least 2x-5x your largest scrape target or samples appended rate. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) Overrides global.maxCacheSize | -| kepler.metricsTuning.excludeMetrics | list | `[]` | Metrics to drop. Can use regular expressions. | -| kepler.metricsTuning.includeMetrics | list | `[]` | Metrics to keep. Can use regular expressions. | -| kepler.metricsTuning.useDefaultAllowList | bool | `true` | Filter the list of metrics from Kepler to the minimal set required for Kubernetes Monitoring. | -| kepler.scrapeInterval | string | `60s` | How frequently to scrape metrics from Kepler. Overrides global.scrapeInterval. | - -### kube-state-metrics - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| kube-state-metrics.bearerTokenFile | string | `""` | The bearer token file to use when scraping metrics from kube-state-metrics. | -| kube-state-metrics.deploy | bool | `true` | Deploy kube-state-metrics. Set to false if your cluster already has kube-state-metrics deployed. | -| kube-state-metrics.discoveryType | string | `"endpoints"` | How to discover the kube-state-metrics service. Either `endpoints` or `pod`. | -| kube-state-metrics.enabled | bool | `true` | Scrape metrics from kube-state-metrics. | -| kube-state-metrics.extraDiscoveryRules | string | `""` | Rule blocks to be added to the discovery.relabel component for kube-state-metrics. These relabeling rules are applied pre-scrape against the targets from service discovery. Before the scrape, any remaining target labels that start with __ (i.e. __meta_kubernetes*) are dropped. ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) | -| kube-state-metrics.extraMetricProcessingRules | string | `""` | Rule blocks to be added to the prometheus.relabel component for kube-state-metrics metrics. These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) | -| kube-state-metrics.jobLabel | string | `"integrations/kubernetes/kube-state-metrics"` | The value for the job label. | -| kube-state-metrics.labelMatchers | object | `{"app.kubernetes.io/name":"kube-state-metrics"}` | Labels used to select the kube-state-metrics service. | -| kube-state-metrics.maxCacheSize | string | `100000` | Sets the max_cache_size for the kube-state-metrics prometheus.relabel component. This should be at least 2x-5x your largest scrape target or samples appended rate. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) Overrides global.maxCacheSize | -| kube-state-metrics.metricLabelsAllowlist | list | `["nodes=[agentpool,alpha.eksctl.io/cluster-name,alpha.eksctl.io/nodegroup-name,beta.kubernetes.io/instance-type,cloud.google.com/gke-nodepool,cluster-name,ec2.amazonaws.com/Name,ec2.amazonaws.com/aws-autoscaling-groupName,ec2.amazonaws.com/aws-autoscaling-group-name,ec2.amazonaws.com/name,eks.amazonaws.com/nodegroup,k8s.io/cloud-provider-aws,karpenter.sh/nodepool,kubernetes.azure.com/cluster,kubernetes.io/arch,kubernetes.io/hostname,kubernetes.io/os,node.kubernetes.io/instance-type,topology.kubernetes.io/region,topology.kubernetes.io/zone]"]` | `kube__labels` metrics to generate. The default is to include a useful set for Node labels. | -| kube-state-metrics.metricsTuning.excludeMetrics | list | `[]` | Metrics to drop. Can use regular expressions. | -| kube-state-metrics.metricsTuning.includeMetrics | list | `[]` | Metrics to keep. Can use regular expressions. | -| kube-state-metrics.metricsTuning.useDefaultAllowList | bool | `true` | Filter the list of metrics from Kube State Metrics to a useful, minimal set. | -| kube-state-metrics.namespace | string | `""` | Namespace to locate kube-state-metrics pods. If `deploy` is set to `true`, this will automatically be set to the namespace where this Helm chart is deployed. | -| kube-state-metrics.namespaces | list | `[]` | List (or comma-separated string) of namespaces to be enabled for collecting resources. By default, all namespaces are collected. Requires kube-state-metrics to be deployed by this chart. | -| kube-state-metrics.namespacesDenylist | list | `[]` | List (or comma-separated string) of namespaces to be excluded from collecting resources. If namespaces and namespaces denylist are both set, only namespaces that are excluded in namespaces denylist will be used. Requires kube-state-metrics to be deployed by this chart. | -| kube-state-metrics.scrapeInterval | string | `60s` | How frequently to scrape kube-state-metrics metrics. | -| kube-state-metrics.service.portName | string | `"http"` | The port name used by kube-state-metrics. | -| kube-state-metrics.service.scheme | string | `"http"` | The scrape scheme used by kube-state-metrics. | - -### Kube Controller Manager - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| kubeControllerManager.enabled | bool | `false` | Scrape metrics from the Kube Controller Manager | -| kubeControllerManager.extraDiscoveryRules | string | `""` | Rule blocks to be added to the discovery.relabel component for the Kube Controller Manager. These relabeling rules are applied pre-scrape against the targets from service discovery. Before the scrape, any remaining target labels that start with `__` (i.e. `__meta_kubernetes*`) are dropped. ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) | -| kubeControllerManager.extraMetricProcessingRules | string | `""` | Rule blocks to be added to the prometheus.relabel component for the Kube Controller Manager. These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) | -| kubeControllerManager.jobLabel | string | `"kube-controller-manager"` | The value for the job label. | -| kubeControllerManager.maxCacheSize | string | `nil` | Sets the max_cache_size for the Kube Controller Manager prometheus.relabel component. This should be at least 2x-5x your largest scrape target or samples appended rate. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) Overrides metrics.maxCacheSize | -| kubeControllerManager.metricsTuning.excludeMetrics | list | `[]` | Metrics to drop. Can use regular expressions. | -| kubeControllerManager.metricsTuning.includeMetrics | list | `[]` | Metrics to keep. Can use regular expressions. An empty list means keep all. | -| kubeControllerManager.port | int | `10257` | Port number used by the Kube Controller Manager, set by `--secure-port.` | -| kubeControllerManager.scrapeInterval | string | 60s | How frequently to scrape metrics from the Kube Controller Manager Overrides metrics.scrapeInterval | -| kubeControllerManager.selectorLabel | string | `"component=kube-controller-manager"` | Selector label. | - -### KubeDNS - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| kubeDNS.enabled | bool | `false` | Scrape metrics from KubeDNS | -| kubeDNS.extraDiscoveryRules | string | `""` | Rule blocks to be added to the discovery.relabel component for KubeDNS. These relabeling rules are applied pre-scrape against the targets from service discovery. Before the scrape, any remaining target labels that start with `__` (i.e. `__meta_kubernetes*`) are dropped. ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) | -| kubeDNS.extraMetricProcessingRules | string | `""` | Rule blocks to be added to the prometheus.relabel component for KubeDNS. These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) | -| kubeDNS.jobLabel | string | `"integrations/kubernetes/kube-dns"` | The value for the job label. | -| kubeDNS.maxCacheSize | string | `nil` | Sets the max_cache_size for the KubeDNS prometheus.relabel component. This should be at least 2x-5x your largest scrape target or samples appended rate. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) Overrides metrics.maxCacheSize | -| kubeDNS.metricsTuning.excludeMetrics | list | `[]` | Metrics to drop. Can use regular expressions. | -| kubeDNS.metricsTuning.includeMetrics | list | `[]` | Metrics to keep. Can use regular expressions. An empty list means keep all. | -| kubeDNS.scrapeInterval | string | 60s | How frequently to scrape metrics from KubeDNS Overrides metrics.scrapeInterval | - -### Kube Proxy - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| kubeProxy.enabled | bool | `false` | Scrape metrics from the Kube Proxy | -| kubeProxy.extraDiscoveryRules | string | `""` | Rule blocks to be added to the discovery.relabel component for the Kube Proxy. These relabeling rules are applied pre-scrape against the targets from service discovery. Before the scrape, any remaining target labels that start with `__` (i.e. `__meta_kubernetes*`) are dropped. ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) | -| kubeProxy.extraMetricProcessingRules | string | `""` | Rule blocks to be added to the prometheus.relabel component for the Kube Proxy. These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) | -| kubeProxy.jobLabel | string | `"integrations/kubernetes/kube-proxy"` | The value for the job label. | -| kubeProxy.maxCacheSize | string | `nil` | Sets the max_cache_size for the Kube Proxy prometheus.relabel component. This should be at least 2x-5x your largest scrape target or samples appended rate. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) Overrides metrics.maxCacheSize | -| kubeProxy.metricsTuning.excludeMetrics | list | `[]` | Metrics to drop. Can use regular expressions. | -| kubeProxy.metricsTuning.includeMetrics | list | `[]` | Metrics to keep. Can use regular expressions. An empty list means keep all. | -| kubeProxy.port | int | `10249` | Port number used by the Kube Proxy, set in `--metrics-bind-address`. | -| kubeProxy.scrapeInterval | string | 60s | How frequently to scrape metrics from the Kube Proxy Overrides metrics.scrapeInterval | -| kubeProxy.selectorLabel | string | `"k8s-app=kube-proxy"` | Selector label. | - -### Kube Scheduler - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| kubeScheduler.enabled | bool | `false` | Scrape metrics from the Kube Scheduler | -| kubeScheduler.extraDiscoveryRules | string | `""` | Rule blocks to be added to the discovery.relabel component for the Kube Scheduler. These relabeling rules are applied pre-scrape against the targets from service discovery. Before the scrape, any remaining target labels that start with `__` (i.e. `__meta_kubernetes*`) are dropped. ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) | -| kubeScheduler.extraMetricProcessingRules | string | `""` | Rule blocks to be added to the prometheus.relabel component for the Kube Scheduler. These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) | -| kubeScheduler.jobLabel | string | `"kube-scheduler"` | The value for the job label. | -| kubeScheduler.maxCacheSize | string | `nil` | Sets the max_cache_size for the Kube Scheduler prometheus.relabel component. This should be at least 2x-5x your largest scrape target or samples appended rate. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) Overrides metrics.maxCacheSize | -| kubeScheduler.metricsTuning.excludeMetrics | list | `[]` | Metrics to drop. Can use regular expressions. | -| kubeScheduler.metricsTuning.includeMetrics | list | `[]` | Metrics to keep. Can use regular expressions. An empty list means keep all. | -| kubeScheduler.port | int | `10259` | Port number used by the Kube Scheduler, set by `--secure-port`. | -| kubeScheduler.scrapeInterval | string | 60s | How frequently to scrape metrics from the Kube Scheduler Overrides metrics.scrapeInterval | -| kubeScheduler.selectorLabel | string | `"component=kube-scheduler"` | Selector label. | - -### Kubelet - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| kubelet.enabled | bool | `true` | Scrape metrics from kubelet. | -| kubelet.extraDiscoveryRules | string | `""` | Rule blocks to be added to the discovery.relabel component for the Kubelet. These relabeling rules are applied pre-scrape against the targets from service discovery. Before the scrape, any remaining target labels that start with `__` (i.e. `__meta_kubernetes*`) are dropped. ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) | -| kubelet.extraMetricProcessingRules | string | `""` | Rule blocks to be added to the prometheus.relabel component for Kubelet metrics. These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) | -| kubelet.jobLabel | string | `"integrations/kubernetes/kubelet"` | The value for the job label. | -| kubelet.maxCacheSize | string | `100000` | Sets the max_cache_size for the Kubelet prometheus.relabel component. This should be at least 2x-5x your largest scrape target or samples appended rate. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) Overrides global.maxCacheSize | -| kubelet.metricsTuning.excludeMetrics | list | `[]` | Metrics to drop. Can use regular expressions. | -| kubelet.metricsTuning.includeMetrics | list | `[]` | Metrics to keep. Can use regular expressions. | -| kubelet.metricsTuning.useDefaultAllowList | bool | `true` | Filter the list of metrics from the Kubelet to the minimal set required for Kubernetes Monitoring. | -| kubelet.nodeAddressFormat | string | `"direct"` | How to access the Kubelet to get metrics, either "direct" (use node IP) or "proxy" (uses API Server) | -| kubelet.scrapeInterval | string | `60s` | How frequently to scrape Kubelet metrics. | - -### Kubelet Probes - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| kubeletProbes.enabled | bool | `false` | Scrape probe metrics from the Kubelet. | -| kubeletProbes.extraDiscoveryRules | string | `""` | Rule blocks to be added to the discovery.relabel component for Kubelet probes. These relabeling rules are applied pre-scrape against the targets from service discovery. Before the scrape, any remaining target labels that start with `__` (i.e. `__meta_kubernetes*`) are dropped. ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) | -| kubeletProbes.extraMetricProcessingRules | string | `""` | Rule blocks to be added to the prometheus.relabel component for Kubelet probe metrics. These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) | -| kubeletProbes.jobLabel | string | `"integrations/kubernetes/probes"` | The value for the job label. | -| kubeletProbes.maxCacheSize | string | `100000` | Sets the max_cache_size for prometheus.relabel components. This should be at least 2x-5x your largest scrape target or samples appended rate. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) Overrides global.maxCacheSize | -| kubeletProbes.metricsTuning.excludeMetrics | list | `[]` | Metrics to drop. Can use regular expressions. | -| kubeletProbes.metricsTuning.includeMetrics | list | `[]` | Metrics to keep. Can use regular expressions. | -| kubeletProbes.metricsTuning.useDefaultAllowList | bool | `true` | Filter the list of probe metrics from the Kubelet to the minimal set required for Kubernetes Monitoring. | -| kubeletProbes.nodeAddressFormat | string | `"direct"` | How to access the Kubelet to get probe metrics, either "direct" (use node IP) or "proxy" (uses API Server) | -| kubeletProbes.scrapeInterval | string | `60s` | How frequently to scrape Kubelet probe metrics. | - -### Kubelet Resources - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| kubeletResource.enabled | bool | `true` | Scrape resource metrics from the Kubelet. | -| kubeletResource.extraDiscoveryRules | string | `""` | Rule blocks to be added to the discovery.relabel component for Kubelet resources. These relabeling rules are applied pre-scrape against the targets from service discovery. Before the scrape, any remaining target labels that start with `__` (i.e. `__meta_kubernetes*`) are dropped. ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) | -| kubeletResource.extraMetricProcessingRules | string | `""` | Rule blocks to be added to the prometheus.relabel component for Kubelet resource metrics. These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) | -| kubeletResource.jobLabel | string | `"integrations/kubernetes/resources"` | The value for the job label. | -| kubeletResource.maxCacheSize | string | `100000` | Sets the max_cache_size for prometheus.relabel components. This should be at least 2x-5x your largest scrape target or samples appended rate. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) Overrides global.maxCacheSize | -| kubeletResource.metricsTuning.excludeMetrics | list | `[]` | Metrics to drop. Can use regular expressions. | -| kubeletResource.metricsTuning.includeMetrics | list | `[]` | Metrics to keep. Can use regular expressions. | -| kubeletResource.metricsTuning.useDefaultAllowList | bool | `true` | Filter the list of resource metrics from the Kubelet to the minimal set required for Kubernetes Monitoring. | -| kubeletResource.nodeAddressFormat | string | `"direct"` | How to access the Kubelet to get resource metrics, either "direct" (use node IP) or "proxy" (uses API Server) | -| kubeletResource.scrapeInterval | string | `60s` | How frequently to scrape Kubelet resource metrics. | - -### Node Exporter - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| node-exporter.bearerTokenFile | string | `""` | The bearer token file to use when scraping metrics from Node Exporter. | -| node-exporter.deploy | bool | `true` | Deploy Node Exporter. Set to false if your cluster already has Node Exporter deployed. | -| node-exporter.enabled | bool | `true` | Scrape metrics from Node Exporter. | -| node-exporter.extraDiscoveryRules | string | `""` | Rule blocks to be added to the discovery.relabel component for Node Exporter. These relabeling rules are applied pre-scrape against the targets from service discovery. Before the scrape, any remaining target labels that start with __ (i.e. __meta_kubernetes*) are dropped. ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) | -| node-exporter.extraMetricProcessingRules | string | `""` | Rule blocks to be added to the prometheus.relabel component for Node Exporter metrics. These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) | -| node-exporter.jobLabel | string | `"integrations/node_exporter"` | The value for the job label. | -| node-exporter.labelMatchers | object | `{"app.kubernetes.io/name":"node-exporter"}` | Labels used to select the Node Exporter pods. | -| node-exporter.maxCacheSize | string | `100000` | Sets the max_cache_size for the Node Exporter prometheus.relabel component. This should be at least 2x-5x your largest scrape target or samples appended rate. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) Overrides global.maxCacheSize | -| node-exporter.metricsTuning.dropMetricsForFilesystem | list | `["ramfs","tmpfs"]` | Drop metrics for the given filesystem types | -| node-exporter.metricsTuning.excludeMetrics | list | `[]` | Metrics to drop. Can use regular expressions. | -| node-exporter.metricsTuning.includeMetrics | list | `[]` | Metrics to keep. Can use regular expressions. | -| node-exporter.metricsTuning.useDefaultAllowList | bool | `true` | Filter the list of metrics from Node Exporter to the minimal set required for Kubernetes Monitoring. | -| node-exporter.metricsTuning.useIntegrationAllowList | bool | `false` | Filter the list of metrics from Node Exporter to the minimal set required for Kubernetes Monitoring as well as the Node Exporter integration. | -| node-exporter.namespace | string | `""` | Namespace to locate Node Exporter pods. If `deploy` is set to `true`, this will automatically be set to the namespace where this Helm chart is deployed. | -| node-exporter.scrapeInterval | string | `60s` | How frequently to scrape Node Exporter metrics. | -| node-exporter.service.portName | string | `"metrics"` | The port name used by Node Exporter. | -| node-exporter.service.scheme | string | `"http"` | The scrape scheme used by Node Exporter. | - -### OpenCost - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| opencost.enabled | bool | `false` | Deploy and scrape OpenCost. | -| opencost.extraDiscoveryRules | string | `""` | Rule blocks to be added to the discovery.relabel component for OpenCost. These relabeling rules are applied pre-scrape against the targets from service discovery. Before the scrape, any remaining target labels that start with __ (i.e. __meta_kubernetes*) are dropped. ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) | -| opencost.extraMetricProcessingRules | string | `""` | Rule blocks to be added to the prometheus.relabel component for OpenCost. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no __meta* labels are present. | -| opencost.jobLabel | string | `"integrations/opencost"` | The value for the job label. | -| opencost.labelMatchers | object | `{"app.kubernetes.io/name":"opencost"}` | Label matchers used to select the OpenCost service | -| opencost.maxCacheSize | string | `100000` | Sets the max_cache_size for the prometheus.relabel component for OpenCost. This should be at least 2x-5x your largest scrape target or samples appended rate. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) Overrides global.maxCacheSize | -| opencost.metricsSource | string | `""` | The name of the metric destination where OpenCost will query for required metrics. Setting this will enable guided setup for required OpenCost parameters. To skip guided setup, set this to "custom". | -| opencost.metricsTuning.excludeMetrics | list | `[]` | Metrics to drop. Can use regular expressions. | -| opencost.metricsTuning.includeMetrics | list | `[]` | Metrics to keep. Can use regular expressions. | -| opencost.metricsTuning.useDefaultAllowList | bool | `true` | Filter the list of metrics from OpenCost to the minimal set required for Kubernetes Monitoring. | -| opencost.opencost.prometheus.existingSecretName | string | `""` | The name of the secret containing the username and password for the metrics service. This must be in the same namespace as the OpenCost deployment. | -| opencost.opencost.prometheus.external.url | string | `""` | The URL for Prometheus queries. It should match externalServices.prometheus.host + "/api/prom" | -| opencost.opencost.prometheus.password_key | string | `"password"` | The key for the password property in the secret. | -| opencost.opencost.prometheus.username_key | string | `"username"` | The key for the username property in the secret. | -| opencost.scrapeInterval | string | `60s` | How frequently to scrape metrics from Kepler. Overrides global.scrapeInterval. | - -### Windows Exporter - Deployment settings - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| windows-exporter.deploy | bool | `true` | Deploy Windows Exporter. Set to false if your cluster already has Windows Exporter deployed. | - -### Windows Exporter - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| windows-exporter.enabled | bool | `true` | Scrape node metrics | -| windows-exporter.extraDiscoveryRules | string | `""` | Rule blocks to be added to the discovery.relabel component for Windows Exporter. These relabeling rules are applied pre-scrape against the targets from service discovery. Before the scrape, any remaining target labels that start with __ (i.e. __meta_kubernetes*) are dropped. ([docs](https://grafana.com/docs/alloy/latest/reference/components/discovery/discovery.relabel/#rule-block)) | -| windows-exporter.extraMetricProcessingRules | string | `""` | Rule blocks to be added to the prometheus.relabel component for Windows Exporter metrics. These relabeling rules are applied post-scrape against the metrics returned from the scraped target, no `__meta*` labels are present. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#rule-block)) | -| windows-exporter.jobLabel | string | `"integrations/windows-exporter"` | The value for the job label. | -| windows-exporter.labelMatchers | object | `{"app.kubernetes.io/name":"windows-exporter"}` | Labels used to select the Windows Exporter pods. | -| windows-exporter.maxCacheSize | string | `100000` | Sets the max_cache_size for the Windows Exporter prometheus.relabel component. This should be at least 2x-5x your largest scrape target or samples appended rate. ([docs](https://grafana.com/docs/alloy/latest/reference/components/prometheus/prometheus.relabel/#arguments)) Overrides global.maxCacheSize | -| windows-exporter.metricsTuning.excludeMetrics | list | `[]` | Metrics to drop. Can use regular expressions. | -| windows-exporter.metricsTuning.includeMetrics | list | `[]` | Metrics to keep. Can use regular expressions. | -| windows-exporter.metricsTuning.useDefaultAllowList | bool | `true` | Filter the list of metrics from Windows Exporter to the minimal set required for Kubernetes Monitoring. | -| windows-exporter.namespace | string | `""` | Namespace to locate Windows Exporter pods. If `deploy` is set to `true`, this will automatically be set to the namespace where this Helm chart is deployed. | -| windows-exporter.scrapeInterval | string | `60s` | How frequently to scrape metrics from Windows Exporter. | - diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/README.md.gotmpl b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/README.md.gotmpl deleted file mode 100755 index a226118..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/README.md.gotmpl +++ /dev/null @@ -1,104 +0,0 @@ - - -{{ template "chart.header" . }} -{{ template "chart.deprecationWarning" . }} - -{{ template "chart.badgesSection" . }} - -{{ template "chart.description" . }} - -{{ template "chart.homepageLine" . }} - -This chart deploys the Cluster Metrics feature of the Kubernetes Observability Helm chart, which uses allow -lists to limit the metrics needed. An allow list is a set of metric names that will be kept, while any metrics -not on the list will be dropped. With [metrics tuning](#metrics-tuning--allow-lists), you can further customize which metrics are collected. - -## How it works - -This chart includes the ability to collect metrics from the following: - -* The Kubernetes cluster itself -* Sources like the Kubelet and cAdvisor -* Common supporting services like [kube-state-metrics](https://github.com/kubernetes/kube-state-metrics) and - [Node Exporter](https://github.com/prometheus/node_exporter) -* Systems to capture additional data like Kepler - -### Metrics sources - -The Cluster Metrics feature of the Kubernetes Observability Helm chart includes the following metric systems and -their default allow lists: - -| Metric source | Gathers information about | Allow list | -|------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| API Server | Kubernetes API Server | NA | -| [cAdvisor](https://github.com/google/cadvisor) | Containers on each node | [default-allow-lists/cadvisor.yaml](./default-allow-lists/cadvisor.yaml) | -| [Kepler](https://sustainable-computing.io/) | Kubernetes cluster | [default-allow-lists/kepler.yaml](./default-allow-lists/kepler.yaml) | -| Kube Controller Manager | Kubernetes Controller Manager | NA | -| Kube Proxy | Kube Proxy | NA | -| Kube Scheduler | Kube Scheduler | NA | -| Kubelet | Kubernetes information on each node | [default-allow-lists/kubelet.yaml](./default-allow-lists/kubelet.yaml) | -| [kube-state-metrics](https://github.com/kubernetes/kube-state-metrics) | Kubernetes | | -| resources inside the cluster | [default-allow-lists/kube-state-metrics.yaml](./default-allow-lists/kube-state-metrics.yaml) | | -| [Node Exporter](https://github.com/prometheus/node_exporter) | Linux Kubernetes nodes | [default-allow-lists/node-exporter.yaml](./default-allow-lists/node-exporter.yaml), [default-allow-lists/node-exporter-integration.yaml](./default-allow-lists/node-exporter-integration.yaml) | -| [Windows Exporter](https://github.com/prometheus-community/windows_exporter) | Windows Kubernetes nodes | [default-allow-lists/windows-exporter.yaml](./default-allow-lists/windows-exporter.yaml) | - -## Metrics tuning and allow lists - -For any metric source, you can adjust the amount of metrics being scraped and their labels to limit the number of metrics delivered to your destinations. Many of the metric sources have a default allow list. The allow list for a metric source is designed to return a useful, but minimal set of metrics for typical use cases. Some metrics sources have an integration allow list, which contains even more metrics for diving into the details of the source itself. - -To control metrics with allow lists or label filters, use the `metricsTuning` section in the values file. - -```yaml -: - metricsTuning: - useDefaultAllowList: # Use the allow list for this metric source - useIntegrationAllowList: # Use the integration allow list for this metric source - includeMetrics: [] # Metrics to be kept - excludeMetrics: [] # Metrics to be dropped -``` - -The behavior of the combination of these settings is shown in this table: - -| Allow list | includeMetrics | excludeMetrics | Result | -|------------|------------------|--------------------------|-----------------------------------------------------------------------------------------------------------------------------------------| -| true | `[]` | `[]` | Use the allow list metric list | -| false | `[]` | `[]` | No filter, keep all metrics | -| true | `[my_metric]` | `[]` | Use the allow list metric list with an additional metric | -| false | `[my_metric_.*]` | `[]` | *Only* keep metrics that start with `my_metric_` | -| true | `[]` | `[my_metric_.*]` | Use the allow list metric filter, but exclude anything that starts with `my_metric_` | -| false | `[]` | `[my_metric_.*]` | Keep all metrics except anything that starts with `my_metric_` | -| true | `[my_metric_.*]` | `[other_metric_.*]` | Use the allow list metric filter, and keep anything that starts with `my_metric_`, but remove anything that starts with `other_metric_` | -| false | `[my_metric_.*]` | `[my_metric_not_needed]` | *Only* keep metrics that start with `my_metric_`, but remove any that are named `my_metric_not_needed` | - -## Relabeling rules - -You can also use relabeling rules to take any action on the metrics allow list, such as to filter based on a label. -To do so, use `extraMetricProcessingRules` section in the values file to add arbitrary relabeling rules. - -## Testing - -This chart contains unit tests to verify the generated configuration. The hidden value `deployAsConfigMap` will render -the generated configuration into a ConfigMap object. While this ConfigMap is not used during regular operation, you can -use it to show the outcome of a given values file. - -The unit tests use this ConfigMap to create an object with the configuration that can be asserted against. To run the -tests, use `helm test`. - -Be sure perform actual integration testing in a live environment in the main [k8s-monitoring](../..) chart. - -{{ template "chart.maintainersSection" . }} - - - -{{ template "chart.sourcesSection" . }} - - -{{ template "chart.requirementsSection" . }} - - - -{{ template "chart.valuesSection" . }} - diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/charts/kepler-0.5.13.tgz b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/charts/kepler-0.5.13.tgz deleted file mode 100755 index a9c4473..0000000 Binary files a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/charts/kepler-0.5.13.tgz and /dev/null differ diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/charts/kube-state-metrics-5.32.0.tgz b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/charts/kube-state-metrics-5.32.0.tgz deleted file mode 100755 index bc685d5..0000000 Binary files a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/charts/kube-state-metrics-5.32.0.tgz and /dev/null differ diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/charts/opencost-1.43.2.tgz b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/charts/opencost-1.43.2.tgz deleted file mode 100755 index e49155a..0000000 Binary files a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/charts/opencost-1.43.2.tgz and /dev/null differ diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/charts/prometheus-node-exporter-4.45.2.tgz b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/charts/prometheus-node-exporter-4.45.2.tgz deleted file mode 100755 index 7dca560..0000000 Binary files a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/charts/prometheus-node-exporter-4.45.2.tgz and /dev/null differ diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/charts/prometheus-windows-exporter-0.10.0.tgz b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/charts/prometheus-windows-exporter-0.10.0.tgz deleted file mode 100755 index 2ada201..0000000 Binary files a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/charts/prometheus-windows-exporter-0.10.0.tgz and /dev/null differ diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/cadvisor.yaml b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/cadvisor.yaml deleted file mode 100755 index c8db3c1..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/cadvisor.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- -# The minimal set of metrics from cAdvisor required for Kubernetes Monitoring -- container_cpu_cfs_periods_total -- container_cpu_cfs_throttled_periods_total -- container_cpu_usage_seconds_total -- container_fs_reads_bytes_total -- container_fs_reads_total -- container_fs_writes_bytes_total -- container_fs_writes_total -- container_memory_cache -- container_memory_rss -- container_memory_swap -- container_memory_working_set_bytes -- container_network_receive_bytes_total -- container_network_receive_packets_dropped_total -- container_network_receive_packets_total -- container_network_transmit_bytes_total -- container_network_transmit_packets_dropped_total -- container_network_transmit_packets_total -- machine_memory_bytes diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/kepler.yaml b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/kepler.yaml deleted file mode 100755 index 58e46a3..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/kepler.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -# The minimal set of metrics from Kepler required for Kubernetes Monitoring -- kepler_.* diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/kube-state-metrics.yaml b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/kube-state-metrics.yaml deleted file mode 100755 index b483e1b..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/kube-state-metrics.yaml +++ /dev/null @@ -1,40 +0,0 @@ ---- -# The minimal set of metrics from kube-state-metrics required for Kubernetes Monitoring -- kube_configmap_info -- kube_configmap_metadata_resource_version -- kube_daemonset.* -- kube_deployment_metadata_generation -- kube_deployment_spec_replicas -- kube_deployment_status_condition -- kube_deployment_status_observed_generation -- kube_deployment_status_replicas_available -- kube_deployment_status_replicas_updated -- kube_horizontalpodautoscaler_spec_max_replicas -- kube_horizontalpodautoscaler_spec_min_replicas -- kube_horizontalpodautoscaler_status_current_replicas -- kube_horizontalpodautoscaler_status_desired_replicas -- kube_job.* -- kube_namespace_status_phase -- kube_node.* -- kube_persistentvolume_status_phase -- kube_persistentvolumeclaim_access_mode -- kube_persistentvolumeclaim_info -- kube_persistentvolumeclaim_labels -- kube_persistentvolumeclaim_resource_requests_storage_bytes -- kube_persistentvolumeclaim_status_phase -- kube_pod_container_info -- kube_pod_container_resource_limits -- kube_pod_container_resource_requests -- kube_pod_container_status_last_terminated_reason -- kube_pod_container_status_restarts_total -- kube_pod_container_status_waiting_reason -- kube_pod_info -- kube_pod_owner -- kube_pod_spec_volumes_persistentvolumeclaims_info -- kube_pod_start_time -- kube_pod_status_phase -- kube_pod_status_reason -- kube_replicaset.* -- kube_resourcequota -- kube_secret_metadata_resource_version -- kube_statefulset.* diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/kubelet.yaml b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/kubelet.yaml deleted file mode 100755 index 62a5a7c..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/kubelet.yaml +++ /dev/null @@ -1,38 +0,0 @@ ---- -# The minimal set of metrics from the Kubelet required for Kubernetes Monitoring -- go_goroutines -- kubelet_certificate_manager_client_expiration_renew_errors -- kubelet_certificate_manager_client_ttl_seconds -- kubelet_certificate_manager_server_ttl_seconds -- kubelet_cgroup_manager_duration_seconds_bucket -- kubelet_cgroup_manager_duration_seconds_count -- kubelet_node_config_error -- kubelet_node_name -- kubelet_pleg_relist_duration_seconds_bucket -- kubelet_pleg_relist_duration_seconds_count -- kubelet_pleg_relist_interval_seconds_bucket -- kubelet_pod_start_duration_seconds_bucket -- kubelet_pod_start_duration_seconds_count -- kubelet_pod_worker_duration_seconds_bucket -- kubelet_pod_worker_duration_seconds_count -- kubelet_running_container_count -- kubelet_running_containers -- kubelet_running_pod_count -- kubelet_running_pods -- kubelet_runtime_operations_errors_total -- kubelet_runtime_operations_total -- kubelet_server_expiration_renew_errors -- kubelet_volume_stats_available_bytes -- kubelet_volume_stats_capacity_bytes -- kubelet_volume_stats_inodes -- kubelet_volume_stats_inodes_free -- kubelet_volume_stats_inodes_used -- kubelet_volume_stats_used_bytes -- kubernetes_build_info -- namespace_workload_pod -- process_cpu_seconds_total -- process_resident_memory_bytes -- rest_client_requests_total -- storage_operation_duration_seconds_count -- storage_operation_errors_total -- volume_manager_total_volumes diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/kubelet_probes.yaml b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/kubelet_probes.yaml deleted file mode 100755 index 7a1b39a..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/kubelet_probes.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -# The minimal set of probe metrics from the Kubelet required for Kubernetes Monitoring -- prober_.* diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/kubelet_resource.yaml b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/kubelet_resource.yaml deleted file mode 100755 index 75ce974..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/kubelet_resource.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -# The minimal set of resource metrics from the Kubelet required for Kubernetes Monitoring -- node_cpu_usage_seconds_total -- node_memory_working_set_bytes diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/node-exporter-integration.yaml b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/node-exporter-integration.yaml deleted file mode 100755 index 590f190..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/node-exporter-integration.yaml +++ /dev/null @@ -1,157 +0,0 @@ ---- -# The set of metrics from Node Exporter required for the Node Exporter integration -- node_arp_entries -- node_boot_time_seconds -- node_context_switches_total -- node_cpu_seconds_total -- node_disk_io_time_seconds_total -- node_disk_io_time_weighted_seconds_total -- node_disk_read_bytes_total -- node_disk_read_time_seconds_total -- node_disk_reads_completed_total -- node_disk_write_time_seconds_total -- node_disk_writes_completed_total -- node_disk_written_bytes_total -- node_filefd_allocated -- node_filefd_maximum -- node_filesystem_avail_bytes -- node_filesystem_device_error -- node_filesystem_files -- node_filesystem_files_free -- node_filesystem_readonly -- node_filesystem_size_bytes -- node_intr_total -- node_load1 -- node_load15 -- node_load5 -- node_md_disks -- node_md_disks_required -- node_memory_Active_anon_bytes -- node_memory_Active_bytes -- node_memory_Active_file_bytes -- node_memory_AnonHugePages_bytes -- node_memory_AnonPages_bytes -- node_memory_Bounce_bytes -- node_memory_Buffers_bytes -- node_memory_Cached_bytes -- node_memory_CommitLimit_bytes -- node_memory_Committed_AS_bytes -- node_memory_DirectMap1G_bytes -- node_memory_DirectMap2M_bytes -- node_memory_DirectMap4k_bytes -- node_memory_Dirty_bytes -- node_memory_HugePages_Free -- node_memory_HugePages_Rsvd -- node_memory_HugePages_Surp -- node_memory_HugePages_Total -- node_memory_Hugepagesize_bytes -- node_memory_Inactive_anon_bytes -- node_memory_Inactive_bytes -- node_memory_Inactive_file_bytes -- node_memory_Mapped_bytes -- node_memory_MemAvailable_bytes -- node_memory_MemFree_bytes -- node_memory_MemTotal_bytes -- node_memory_Shmem_bytes -- node_memory_ShmemHugePages_bytes -- node_memory_Slab_bytes -- node_memory_SReclaimable_bytes -- node_memory_SUnreclaim_bytes -- node_memory_SwapTotal_bytes -- node_memory_VmallocChunk_bytes -- node_memory_VmallocTotal_bytes -- node_memory_VmallocUsed_bytes -- node_memory_Writeback_bytes -- node_memory_WritebackTmp_bytes -- node_netstat_Icmp_InErrors -- node_netstat_Icmp_InMsgs -- node_netstat_Icmp_OutMsgs -- node_netstat_Icmp6_InErrors -- node_netstat_Icmp6_InMsgs -- node_netstat_Icmp6_OutMsgs -- node_netstat_IpExt_InOctets -- node_netstat_IpExt_OutOctets -- node_netstat_Tcp_InErrs -- node_netstat_Tcp_InSegs -- node_netstat_Tcp_OutRsts -- node_netstat_Tcp_OutSegs -- node_netstat_Tcp_RetransSegs -- node_netstat_TcpExt_ListenDrops -- node_netstat_TcpExt_ListenOverflows -- node_netstat_TcpExt_TCPSynRetrans -- node_netstat_Udp_InDatagrams -- node_netstat_Udp_InErrors -- node_netstat_Udp_NoPorts -- node_netstat_Udp_OutDatagrams -- node_netstat_Udp_RcvbufErrors -- node_netstat_Udp_SndbufErrors -- node_netstat_Udp6_InDatagrams -- node_netstat_Udp6_InErrors -- node_netstat_Udp6_NoPorts -- node_netstat_Udp6_OutDatagrams -- node_netstat_Udp6_RcvbufErrors -- node_netstat_Udp6_SndbufErrors -- node_netstat_UdpLite_InErrors -- node_network_carrier -- node_network_info -- node_network_mtu_bytes -- node_network_receive_bytes_total -- node_network_receive_compressed_total -- node_network_receive_drop_total -- node_network_receive_errs_total -- node_network_receive_fifo_total -- node_network_receive_multicast_total -- node_network_receive_packets_total -- node_network_speed_bytes -- node_network_transmit_bytes_total -- node_network_transmit_compressed_total -- node_network_transmit_drop_total -- node_network_transmit_errs_total -- node_network_transmit_fifo_total -- node_network_transmit_multicast_total -- node_network_transmit_packets_total -- node_network_transmit_queue_length -- node_network_up -- node_nf_conntrack_entries -- node_nf_conntrack_entries_limit -- node_os_info -- node_procs_running -- node_sockstat_FRAG_inuse -- node_sockstat_FRAG6_inuse -- node_sockstat_RAW_inuse -- node_sockstat_RAW6_inuse -- node_sockstat_sockets_used -- node_sockstat_TCP_alloc -- node_sockstat_TCP_inuse -- node_sockstat_TCP_mem -- node_sockstat_TCP_mem_bytes -- node_sockstat_TCP_orphan -- node_sockstat_TCP_tw -- node_sockstat_TCP6_inuse -- node_sockstat_UDP_inuse -- node_sockstat_UDP_mem -- node_sockstat_UDP_mem_bytes -- node_sockstat_UDP6_inuse -- node_sockstat_UDPLITE_inuse -- node_sockstat_UDPLITE6_inuse -- node_softnet_dropped_total -- node_softnet_processed_total -- node_softnet_times_squeezed_total -- node_systemd_service_restart_total -- node_systemd_unit_state -- node_textfile_scrape_error -- node_time_zone_offset_seconds -- node_timex_estimated_error_seconds -- node_timex_maxerror_seconds -- node_timex_offset_seconds -- node_timex_sync_status -- node_uname_info -- node_vmstat_oom_kill -- node_vmstat_pgfault -- node_vmstat_pgmajfault -- node_vmstat_pgpgin -- node_vmstat_pgpgout -- node_vmstat_pswpin -- node_vmstat_pswpout -- process_max_fds -- process_open_fds diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/node-exporter.yaml b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/node-exporter.yaml deleted file mode 100755 index 871d9bc..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/node-exporter.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -# The minimal set of metrics from the Node Exporter required for Kubernetes Monitoring -- node_cpu.* -- node_exporter_build_info -- node_filesystem.* -- node_memory.* -- node_network_receive_bytes_total -- node_network_receive_drop_total -- node_network_transmit_bytes_total -- node_network_transmit_drop_total -- process_cpu_seconds_total -- process_resident_memory_bytes diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/opencost.yaml b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/opencost.yaml deleted file mode 100755 index e7c5ce8..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/opencost.yaml +++ /dev/null @@ -1,27 +0,0 @@ ---- -# The minimal set of metrics from OpenCost required for Kubernetes Monitoring -- container_cpu_allocation -- container_gpu_allocation -- container_memory_allocation_bytes -- deployment_match_labels -- kubecost_cluster_info -- kubecost_cluster_management_cost -- kubecost_cluster_memory_working_set_bytes -- kubecost_http_requests_total -- kubecost_http_response_size_bytes -- kubecost_http_response_time_seconds -- kubecost_load_balancer_cost -- kubecost_network_internet_egress_cost -- kubecost_network_region_egress_cost -- kubecost_network_zone_egress_cost -- kubecost_node_is_spot -- node_cpu_hourly_cost -- node_gpu_count -- node_gpu_hourly_cost -- node_ram_hourly_cost -- node_total_hourly_cost -- opencost_build_info -- pod_pvc_allocation -- pv_hourly_cost -- service_selector_labels -- statefulSet_match_labels diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/windows-exporter.yaml b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/windows-exporter.yaml deleted file mode 100755 index 765f923..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/default-allow-lists/windows-exporter.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# The minimal set of metrics from Windows Exporter required for Kubernetes Monitoring -- windows_.* -- node_cpu_seconds_total -- node_filesystem_size_bytes -- node_filesystem_avail_bytes -- container_cpu_usage_seconds_total diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/schema-mods/remove-subchart-fields.jq b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/schema-mods/remove-subchart-fields.jq deleted file mode 100755 index 45dd438..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/schema-mods/remove-subchart-fields.jq +++ /dev/null @@ -1 +0,0 @@ -del(.properties["node-exporter"].properties.service) diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/schema-mods/types-and-enums.json b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/schema-mods/types-and-enums.json deleted file mode 100755 index 48ee6bb..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/schema-mods/types-and-enums.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "properties": { - "apiServer": {"properties": {"enabled": {"type": ["null", "boolean"]}}}, - "cadvisor": {"properties": {"nodeAddressFormat": {"enum": ["direct", "proxy"]}}}, - "kubeControllerManager": {"properties": {"enabled": {"type": ["null", "boolean"]}}}, - "kubeDNS": {"properties": {"enabled": {"type": ["null", "boolean"]}}}, - "kubeProxy": {"properties": {"enabled": {"type": ["null", "boolean"]}}}, - "kubeScheduler": {"properties": {"enabled": {"type": ["null", "boolean"]}}}, - "kubelet": {"properties": {"nodeAddressFormat": {"enum": ["direct", "proxy"]}}}, - "kubeletResource": {"properties": {"nodeAddressFormat": {"enum": ["direct", "proxy"]}}}, - "kube-state-metrics": {"properties": { - "namespaces": {"type": ["string", "array"]}, - "namespacesDenylist": {"type": ["string", "array"]} - }}, - "global": {"properties": {"platform": {"enum": ["", "openshift"]}}} - } -} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/templates/_api_server.alloy.tpl b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/templates/_api_server.alloy.tpl deleted file mode 100755 index 5795ab2..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/templates/_api_server.alloy.tpl +++ /dev/null @@ -1,95 +0,0 @@ -{{- define "feature.clusterMetrics.apiServer.alloy" }} -{{- if or .Values.apiServer.enabled (and .Values.controlPlane.enabled (not (eq .Values.apiServer.enabled false))) }} -{{- $metricAllowList := .Values.apiServer.metricsTuning.includeMetrics }} -{{- $metricDenyList := .Values.apiServer.metricsTuning.excludeMetrics }} - -discovery.kubernetes "apiserver" { - role = "endpoints" - - selectors { - role = "endpoints" - field = "metadata.name=kubernetes" - } - - namespaces { - names = ["default"] - } -} - -discovery.relabel "apiserver" { - targets = discovery.kubernetes.apiserver.targets - - rule { - source_labels = ["__meta_kubernetes_endpoint_port_name"] - regex = "https" - action = "keep" - } - - rule { - source_labels = ["__meta_kubernetes_namespace"] - target_label = "namespace" - } - - rule { - source_labels = ["__meta_kubernetes_service_name"] - target_label = "service" - } - - rule { - replacement = "kubernetes" - target_label = "source" - } - -{{- if .Values.apiServer.extraDiscoveryRules }} - {{ .Values.apiServer.extraDiscoveryRules | indent 2 }} -{{- end }} -} - -prometheus.scrape "apiserver" { - targets = discovery.relabel.apiserver.output - job_name = {{ .Values.apiServer.jobLabel | quote }} - scheme = "https" - scrape_interval = {{ .Values.apiServer.scrapeInterval | default .Values.global.scrapeInterval | quote }} - bearer_token_file = "/var/run/secrets/kubernetes.io/serviceaccount/token" - - tls_config { - ca_file = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt" - insecure_skip_verify = false - server_name = "kubernetes" - } - - clustering { - enabled = true - } -{{- if or $metricAllowList $metricDenyList .Values.apiServer.extraMetricProcessingRules }} - - forward_to = [prometheus.relabel.apiserver.receiver] -} - -prometheus.relabel "apiserver" { - max_cache_size = {{ .Values.apiServer.maxCacheSize | default .Values.global.maxCacheSize | int }} - -{{- if $metricAllowList }} - rule { - source_labels = ["__name__"] - regex = "up|scrape_samples_scraped|{{ $metricAllowList | join "|" }}" - action = "keep" - } -{{- end }} -{{- if $metricDenyList }} - rule { - source_labels = ["__name__"] - regex = {{ $metricDenyList | join "|" | quote }} - action = "drop" - } -{{- end }} - -{{- if .Values.apiServer.extraMetricProcessingRules }} - {{ .Values.apiServer.extraMetricProcessingRules | indent 2 }} -{{- end }} - -{{- end }} - forward_to = argument.metrics_destinations.value -} -{{- end }} -{{- end }} diff --git a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/templates/_cadvisor.alloy.tpl b/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/templates/_cadvisor.alloy.tpl deleted file mode 100755 index 1566d7b..0000000 --- a/cw-infra-apps-nubes/grafana/charts/feature-cluster-metrics/templates/_cadvisor.alloy.tpl +++ /dev/null @@ -1,200 +0,0 @@ -{{ define "feature.clusterMetrics.cadvisor.allowList" }} -{{- $allowList := list }} -{{ if .Values.cadvisor.metricsTuning.useDefaultAllowList }} -{{- $allowList = concat $allowList (list "up" "scrape_samples_scraped") (.Files.Get "default-allow-lists/cadvisor.yaml" | fromYamlArray) -}} -{{ end }} -{{ if .Values.cadvisor.metricsTuning.includeMetrics }} -{{- $allowList = concat $allowList (list "up" "scrape_samples_scraped") .Values.cadvisor.metricsTuning.includeMetrics -}} -{{ end }} -{{ $allowList | uniq | toYaml }} -{{ end }} - -{{- define "feature.clusterMetrics.cadvisor.alloy" }} -{{- if .Values.cadvisor.enabled }} -{{- $metricAllowList := include "feature.clusterMetrics.cadvisor.allowList" . | fromYamlArray }} -{{- $metricDenyList := .Values.cadvisor.metricsTuning.excludeMetrics }} - -// cAdvisor -discovery.relabel "cadvisor" { - targets = discovery.kubernetes.nodes.targets -{{- if eq .Values.cadvisor.nodeAddressFormat "proxy" }} - rule { - target_label = "__address__" - replacement = "{{ .Values.global.kubernetesAPIService | default "kubernetes.default.svc.cluster.local:443" }}" - } - rule { - source_labels = ["__meta_kubernetes_node_name"] - regex = "(.+)" - replacement = "/api/v1/nodes/${1}/proxy/metrics/cadvisor" - target_label = "__metrics_path__" - } -{{ else if eq .Values.cadvisor.nodeAddressFormat "direct" }} - rule { - replacement = "/metrics/cadvisor" - target_label = "__metrics_path__" - } -{{- end }} - rule { - source_labels = ["__meta_kubernetes_node_name"] - target_label = "node" - } - // set the app name if specified as metadata labels "app:" or "app.kubernetes.io/name:" or "k8s-app:" - rule { - action = "replace" - source_labels = [ - "__meta_kubernetes_node_label_app_kubernetes_io_name", - "__meta_kubernetes_node_label_k8s_app", - "__meta_kubernetes_node_label_app", - ] - separator = ";" - regex = "^(?:;*)?([^;]+).*$" - replacement = "$1" - target_label = "app" - } - - // set a source label - rule { - action = "replace" - replacement = "kubernetes" - target_label = "source" - } - -{{- if .Values.cadvisor.extraDiscoveryRules }} -{{ .Values.cadvisor.extraDiscoveryRules | indent 2 }} -{{- end }} -} - -prometheus.scrape "cadvisor" { - targets = discovery.relabel.cadvisor.output - job_name = {{ .Values.cadvisor.jobLabel | quote }} - scheme = "https" - scrape_interval = {{ .Values.cadvisor.scrapeInterval | default .Values.global.scrapeInterval | quote }} - bearer_token_file = "/var/run/secrets/kubernetes.io/serviceaccount/token" - - tls_config { - ca_file = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt" - insecure_skip_verify = true - server_name = "kubernetes" - } - - clustering { - enabled = true - } - - forward_to = [prometheus.relabel.cadvisor.receiver] -} - -prometheus.relabel "cadvisor" { - max_cache_size = {{ .Values.cadvisor.maxCacheSize | default .Values.global.maxCacheSize | int }} - -{{- if $metricAllowList }} - rule { - source_labels = ["__name__"] - regex = {{ $metricAllowList | join "|" | quote }} - action = "keep" - } -{{- end }} -{{- if $metricDenyList }} - rule { - source_labels = ["__name__"] - regex = {{ $metricDenyList | join "|" | quote }} - action = "drop" - } -{{- end }} - -{{- if .Values.cadvisor.metricsTuning.dropEmptyContainerLabels }} - // Drop empty container labels, addressing https://github.com/google/cadvisor/issues/2688 - rule { - source_labels = ["__name__","container"] - separator = "@" - regex = "(container_cpu_.*|container_fs_.*|container_memory_.*)@" - action = "drop" - } -{{- end }} -{{- if .Values.cadvisor.metricsTuning.dropEmptyImageLabels }} - // Drop empty image labels, addressing https://github.com/google/cadvisor/issues/2688 - rule { - source_labels = ["__name__","image"] - separator = "@" - regex = "(container_cpu_.*|container_fs_.*|container_memory_.*|container_network_.*)@" - action = "drop" - } -{{- end }} -{{- if .Values.cadvisor.metricsTuning.normalizeUnnecessaryLabels }} - // Normalizing unimportant labels (not deleting to continue satisfying