diff --git a/charts/intelligence/Chart.lock b/charts/intelligence/Chart.lock new file mode 100644 index 00000000..7d33b2c9 --- /dev/null +++ b/charts/intelligence/Chart.lock @@ -0,0 +1,12 @@ +dependencies: +- name: kafka + repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami + version: 31.2.0 +- name: mongodb + repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami + version: 16.4.1 +- name: mysql + repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami + version: 10.3.0 +digest: sha256:6ca37e64a48a3e6e9cc6e4596d8a9687fb787a0f31997d9288611e935f2fb752 +generated: "2025-01-17T12:50:09.691806+05:30" diff --git a/charts/intelligence/Chart.yaml b/charts/intelligence/Chart.yaml new file mode 100644 index 00000000..baee25e9 --- /dev/null +++ b/charts/intelligence/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: "0.0.1" +description: APIM Intelligence +name: apim-intelligence +version: 0.0.1 +type: application +home: https://github.com/CAAPIM/apim-chart +maintainers: + - name: Layer7 +sources: + - https://github.com/CAAPIM/apim-charts +engine: gotpl +dependencies: +- name: kafka + version: 31.2.0 + repository: "https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami" +- name: mongodb + version: 16.4.1 + repository: "https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami" +- name: mysql + version: 10.3.0 + repository: "https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami" + condition: global.setupDemoDatabase \ No newline at end of file diff --git a/charts/intelligence/README.md b/charts/intelligence/README.md new file mode 100644 index 00000000..e69de29b diff --git a/charts/intelligence/apim-intelligence-0.0.1.tgz b/charts/intelligence/apim-intelligence-0.0.1.tgz new file mode 100644 index 00000000..2a65e48b Binary files /dev/null and b/charts/intelligence/apim-intelligence-0.0.1.tgz differ diff --git a/charts/intelligence/charts/kafka-31.2.0.tgz b/charts/intelligence/charts/kafka-31.2.0.tgz new file mode 100644 index 00000000..cdfb21ac Binary files /dev/null and b/charts/intelligence/charts/kafka-31.2.0.tgz differ diff --git a/charts/intelligence/charts/mongodb-16.4.1.tgz b/charts/intelligence/charts/mongodb-16.4.1.tgz new file mode 100644 index 00000000..3879c528 Binary files /dev/null and b/charts/intelligence/charts/mongodb-16.4.1.tgz differ diff --git a/charts/intelligence/charts/mysql-10.3.0.tgz b/charts/intelligence/charts/mysql-10.3.0.tgz new file mode 100644 index 00000000..920bca02 Binary files /dev/null and b/charts/intelligence/charts/mysql-10.3.0.tgz differ diff --git a/charts/intelligence/service-accounts/service-account.yaml b/charts/intelligence/service-accounts/service-account.yaml new file mode 100644 index 00000000..e69de29b diff --git a/charts/intelligence/templates/_helpers.tpl b/charts/intelligence/templates/_helpers.tpl new file mode 100644 index 00000000..51e2cf44 --- /dev/null +++ b/charts/intelligence/templates/_helpers.tpl @@ -0,0 +1,95 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "intelligence.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 "intelligence.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 "intelligence.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + + +{{/* + Set the service account name for the Portal Stack + */}} +{{- define "intelligence.serviceAccountName" -}} +{{- if .Values.global.serviceAccountName }} + {{ default "default" .Values.global.serviceAccountName }} +{{- else }} +{{- if .Values.serviceAccount.create -}} + {{ default (include "intelligence.fullname" .) .Values.serviceAccount.name }} +{{- else -}} + {{ default "default" .Values.serviceAccount.name }} +{{- end -}} +{{- end -}} +{{- end -}} + + +{{/* +Get "intelligence" database name +*/}} +{{- define "intelligence-db-name" -}} + {{ if .Values.global.legacyDatabaseNames }} + {{- print "intelligence" }} + {{- else }} + {{- $f:= .Values.global.subdomainPrefix -}} + {{ if empty $f }} + {{- fail "Please define subdomainPrefix in values.yaml" }} + {{- else }} + {{- printf "%s_%s" $f "intelligence" | replace "-" "_" -}} + {{- end }} + {{- end }} +{{- end -}} + +{{/* +Get "database-port" based on databaseType value +*/}} +{{- define "database-port" -}} + {{- print .Values.global.databasePort -}} +{{- end -}} + +{{/* +Get "mongodb" host +*/}} +{{- define "mongodb-host" -}} + {{- printf "%s-%s" .Release.Name "mongodb" -}} +{{- end -}} + +{{/* +Get "kafka" brokers +*/}} +{{- define "kafka-brokers" -}} + {{- printf "%s-kafka:%g" .Release.Name .Values.kafka.listeners.client.containerPort -}} +{{- end -}} + +{{/* +Create Image Pull Secret +*/}} +{{- define "intelligence-imagePullSecret" }} +{{- if and (not .Values.intelligence.useExistingPullSecret) (.Values.intelligence.imagePullSecret.enabled) }} +{{- printf "{\"auths\":{\"%s\":{\"username\":\"%s\",\"password\":\"%s\",\"auth\":\"%s\"}}}" .Values.global.portalRepository .Values.intelligence.imagePullSecret.username .Values.intelligence.imagePullSecret.password (printf "%s:%s" .Values.intelligence.imagePullSecret.username .Values.intelligence.imagePullSecret.password | b64enc) | b64enc }} +{{- end }} +{{- end }} \ No newline at end of file diff --git a/charts/intelligence/templates/database-secret.yaml b/charts/intelligence/templates/database-secret.yaml new file mode 100644 index 00000000..fb79a961 --- /dev/null +++ b/charts/intelligence/templates/database-secret.yaml @@ -0,0 +1,34 @@ +{{ if and (.Values.standalone) (not .Values.global.useExistingDatabaseSecret) }} +apiVersion: v1 +kind: Secret +metadata: + name: {{.Values.global.databaseSecret}} + annotations: + helm.sh/hook: pre-install + helm.sh/hook-weight: "-10" + labels: + app: {{ template "intelligence.name" . }} + chart: {{ template "intelligence.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +type: Opaque +data: +{{ if eq .Values.global.databaseType "mysql" }} +{{- if and .Values.global.setupDemoDatabase .Values.global.demoDatabaseRootPassword }} + mysql-root-password: {{ .Values.global.demoDatabaseRootPassword | b64enc | quote }} +{{ else }} + mysql-root-password: {{ randAlphaNum 10 | b64enc | quote }} +{{ end }} +{{- if and .Values.global.setupDemoDatabase .Values.global.demoDatabaseReplicationPassword }} + mysql-replication-password: {{ .Values.global.demoDatabaseReplicationPassword | b64enc | quote }} +{{ else }} + mysql-replication-password: {{ randAlphaNum 10 | b64enc | quote }} +{{ end }} +{{if .Values.global.databasePassword }} + mysql-password: {{ .Values.global.databasePassword | b64enc | quote }} +{{ else }} + mysql-password: {{ randAlphaNum 10 | b64enc | quote }} +{{ end }} + +{{ end }} +{{ end }} diff --git a/charts/intelligence/templates/docker-secret.yaml b/charts/intelligence/templates/docker-secret.yaml new file mode 100644 index 00000000..20ae4e99 --- /dev/null +++ b/charts/intelligence/templates/docker-secret.yaml @@ -0,0 +1,29 @@ +{{ if and (not .Values.intelligence.useExistingPullSecret) (.Values.standalone) }} +{{ if or (.Values.intelligence.registryCredentials) (.Values.intelligence.imagePullSecret.enabled) }} +apiVersion: v1 +kind: Secret +metadata: + name: {{ .Values.global.pullSecret }} + annotations: + helm.sh/hook: pre-install + helm.sh/hook-weight: "-10" + labels: + app: {{ template "intelligence.name" . }} + chart: {{ template "intelligence.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +type: kubernetes.io/dockerconfigjson +data: + {{- if .Values.intelligence.registryCredentials }} + {{- range $key, $value := fromYaml .Values.intelligence.registryCredentials }} + {{- if eq $key "data" }} + {{- range $value }} + .dockerconfigjson: {{ . }} + {{- end }} + {{- end }} + {{- end }} + {{- else }} + .dockerconfigjson: {{ template "intelligence-imagePullSecret" . }} + {{ end }} +{{ end }} +{{ end }} \ No newline at end of file diff --git a/charts/intelligence/templates/mongodb/mongodb-secret.yaml b/charts/intelligence/templates/mongodb/mongodb-secret.yaml new file mode 100644 index 00000000..779a1be8 --- /dev/null +++ b/charts/intelligence/templates/mongodb/mongodb-secret.yaml @@ -0,0 +1,15 @@ +{{if not .Values.security.mongodb.useExistingSectet }} +apiVersion: v1 +kind: Secret +metadata: + name: mongodb-secret + labels: + app: mongodb + chart: {{ template "intelligence.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +type: Opaque +data: + mongodb-passwords: {{ required "Please fill in security.mongodb.dbPassword in values.yaml" .Values.security.mongodb.dbPassword | b64enc | quote }} + mongodb-root-password: {{ required "Please fill in security.mongodb.rootPassword in values.yaml" .Values.security.mongodb.rootPassword | b64enc | quote }} +{{- end }} \ No newline at end of file diff --git a/charts/intelligence/templates/server/server-config.yaml b/charts/intelligence/templates/server/server-config.yaml new file mode 100644 index 00000000..49461261 --- /dev/null +++ b/charts/intelligence/templates/server/server-config.yaml @@ -0,0 +1,23 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: intelligence-server-config + labels: + app: intelligence-server + chart: {{ template "intelligence.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +data: +{{ if .Values.global.setupDemoDatabase}} + DATABASE_HOST: {{ .Release.Name }}-{{ .Values.global.databaseHost }} +{{ else }} + DATABASE_HOST: {{ .Values.global.databaseHost | quote }} +{{ end }} + DATABASE_PORT: {{ include "database-port" . | quote }} + DATABASE_USE_SSL: {{ .Values.global.databaseUseSSL | quote }} + DATABASE_REQUIRE_SSL: {{ .Values.global.databaseRequireSSL | quote }} + INTELLIGENCE_DATABASE_NAME: {{ include "intelligence-db-name" . | quote }} + MONGO_DB_HOST: {{ include "mongodb-host" . | quote}} + MONGO_DB_PORT: {{ .Values.mongodb.containerPorts.mongodb | quote}} + MONGO_DB_NAME: {{ required "Please fill in mongodb.auth.database in values.yaml" .Values.mongodb.auth.database | quote }} + KAFKA_BROKERS: {{ include "kafka-brokers" . | quote}} \ No newline at end of file diff --git a/charts/intelligence/templates/server/server-deployment.yaml b/charts/intelligence/templates/server/server-deployment.yaml new file mode 100644 index 00000000..49133403 --- /dev/null +++ b/charts/intelligence/templates/server/server-deployment.yaml @@ -0,0 +1,110 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: intelligence-server + labels: + app: intelligence-server + chart: {{ template "intelligence.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} + {{- range $key, $val := .Values.global.additionalLabels }} + {{ $key }}: "{{ $val }}" + {{- end }} + {{- range $key, $val := .Values.intelligenceServer.additionalLabels }} + {{ $key }}: "{{ $val }}" + {{- end }} +spec: + strategy: + type: RollingUpdate + rollingUpdate: + maxSurge: 1 + maxUnavailable: 1 + replicas: {{ .Values.intelligenceServer.replicaCount }} + selector: + matchLabels: + app: intelligence-server + template: + metadata: + labels: + app: intelligence-server + {{ if .Values.forceRedeploy }} + annotations: + timestamp: {{ now | quote }} + {{- end }} + spec: + serviceAccountName: {{ include "intelligence.serviceAccountName" . }} + {{- if .Values.intelligenceServer.affinity }} + affinity: {{- toYaml .Values.intelligenceServer.affinity | nindent 12 }} + {{- end }} + {{- if .Values.intelligenceServer.nodeSelector }} + nodeSelector: {{- toYaml .Values.intelligenceServer.nodeSelector | nindent 12 }} + {{- end }} + {{- if .Values.intelligenceServer.tolerations }} + tolerations: {{- toYaml .Values.intelligenceServer.tolerations | nindent 12 }} + {{- end }} + {{- if .Values.intelligenceServer.podSecurityContext }} + securityContext: {{- toYaml .Values.intelligenceServer.podSecurityContext | nindent 12 }} + {{- else if .Values.global.podSecurityContext }} + securityContext: {{- toYaml .Values.global.podSecurityContext | nindent 12 }} + {{- end }} + containers: + - name: intelligence-server + image: "{{ .Values.global.portalRepository }}{{ .Values.image.intelligenceServer }}" + imagePullPolicy: "{{ .Values.intelligenceServer.image.pullPolicy }}" + {{- if .Values.intelligenceServer.containerSecurityContext }} + securityContext: {{- toYaml .Values.intelligenceServer.containerSecurityContext | nindent 12 }} + {{- else if .Values.global.containerSecurityContext }} + securityContext: {{- toYaml .Values.global.containerSecurityContext | nindent 12 }} + {{- end }} + {{- if .Values.intelligenceServer.affinity }} + affinity: {{- toYaml .Values.intelligenceServer.affinity | nindent 12 }} + {{- end }} + {{- if .Values.intelligenceServer.nodeSelector }} + nodeSelector: {{- toYaml .Values.intelligenceServer.nodeSelector | nindent 12 }} + {{- end }} + {{- if .Values.intelligenceServer.tolerations }} + tolerations: {{- toYaml .Values.intelligenceServer.tolerations | nindent 12 }} + {{- end }} + {{- if .Values.global.schedulerName }} + schedulerName: "{{ .Values.global.schedulerName }}" + {{- end }} + env: + - name: DATABASE_PASSWORD + valueFrom: + secretKeyRef: + name: {{ .Values.global.databaseSecret }} + {{ if eq .Values.global.databaseType "mysql" }} + key: mysql-password + {{ end }} + envFrom: + - configMapRef: + name: intelligence-server-config + - secretRef: + name: intelligence-server-secret + # readinessProbe: + # httpGet: + # path: "/actuator/health/readiness" + # port: 8282 + # initialDelaySeconds: 90 + # timeoutSeconds: 1 + # periodSeconds: 15 + # successThreshold: 1 + # livenessProbe: + # httpGet: + # path: "/actuator/health/liveness" + # port: 8282 + # initialDelaySeconds: 120 + # timeoutSeconds: 1 + # periodSeconds: 15 + # successThreshold: 1 + {{- if .Values.intelligenceServer.resources }} + resources: {{- toYaml .Values.intelligenceServer.resources | nindent 12 }} + {{- end }} + ports: + - containerPort: 8282 + {{- if .Values.global.pullSecret }} + imagePullSecrets: + - name: "{{ .Values.global.pullSecret }}" + {{- end }} + restartPolicy: Always + terminationGracePeriodSeconds: 30 \ No newline at end of file diff --git a/charts/intelligence/templates/server/server-secret.yaml b/charts/intelligence/templates/server/server-secret.yaml new file mode 100644 index 00000000..07dfae43 --- /dev/null +++ b/charts/intelligence/templates/server/server-secret.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Secret +metadata: + name: intelligence-server-secret + labels: + app: intelligence-server + chart: {{ template "intelligence.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +type: Opaque +data: + DATABASE_USERNAME: {{ required "Please fill in databaseUsername in values.yaml" .Values.global.databaseUsername | b64enc | quote }} + MONGO_DB_USERNAME: {{ required "Please fill in mongodb.auth.username in values.yaml" .Values.mongodb.auth.username | b64enc | quote }} \ No newline at end of file diff --git a/charts/intelligence/templates/server/server-service.yaml b/charts/intelligence/templates/server/server-service.yaml new file mode 100644 index 00000000..75f30cd9 --- /dev/null +++ b/charts/intelligence/templates/server/server-service.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: Service +metadata: + name: intelligence-server + labels: + app: intelligence-server + chart: {{ template "intelligence.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + clusterIP: None + ports: + - name: "8282" + port: {{ .Values.intelligenceServer.port }} + targetPort: 8282 + selector: + app: intelligence-server + sessionAffinity: ClientIP \ No newline at end of file diff --git a/charts/intelligence/templates/service-account.yaml b/charts/intelligence/templates/service-account.yaml new file mode 100644 index 00000000..9e3a5c0d --- /dev/null +++ b/charts/intelligence/templates/service-account.yaml @@ -0,0 +1,14 @@ +{{- if and .Values.serviceAccount.create (not .Values.global.serviceAccountName) }} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "intelligence.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} + labels: + app: {{ template "intelligence.name" . }} + chart: {{ template "intelligence.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +secrets: + - name: {{ include "intelligence.fullname" . }} +{{- end }} \ No newline at end of file diff --git a/charts/intelligence/values.yaml b/charts/intelligence/values.yaml new file mode 100644 index 00000000..23c16312 --- /dev/null +++ b/charts/intelligence/values.yaml @@ -0,0 +1,159 @@ + +# Global values +global: + portalRepository: caapim/ + pullSecret: broadcom-apim + databaseType: mysql + databaseHost: mysql + databasePort: 3306 + databaseUseSSL: true + databaseRequireSSL: false + databaseUsername: portal + databaseSecret: database-secret + subdomainPrefix: dev-portal + legacyHostnames: false + legacyDatabaseNames: false + setupDemoDatabase: true + intelligence: + enabled: true +# databasePassword: 7layer + + imageRegistry: "" + imagePullSecrets: + - broadcom-apim + defaultStorageClass: "" + storageClass: "" + +forceRedeploy: false +standalone: false + +serviceAccount: + create: true + +# Valid only if standalone is true +intelligence: + useExistingPullSecret: false + registryCredentials: + # Set this if you would like to add an image pull secret directly to the Portal deployment. + imagePullSecret: + enabled: false + username: + password: + +image: + intelligenceServer: intelligence-server:develop + +security: + mongodb: + useExistingSectet: false + secretName: mongodb-secret + rootPassword: password + dbPassword: 7layer + +kafka: + listeners: + client: + containerPort: 9092 + protocol: PLAINTEXT + name: CLIENT + sslClientAuth: "" + controller: + name: CONTROLLER + containerPort: 9093 + protocol: SASL_PLAINTEXT + sslClientAuth: "" + interbroker: + containerPort: 9094 + protocol: SASL_PLAINTEXT + name: INTERNAL + sslClientAuth: "" + external: + containerPort: 9095 + protocol: SASL_PLAINTEXT + name: EXTERNAL + sslClientAuth: "" + +mongodb: + useStatefulSet: true + architecture: standalone + containerPorts: + mongodb: 27017 + auth: + enabled: true + rootUser: root + username: portal + database: intelligence + existingSecret: mongodb-secret + + +intelligenceServer: + replicaCount: 1 + port: 8282 + image: + pullPolicy: IfNotPresent + resources: + requests: {} + limits: {} + + +# We recommend that MySQL is externalised, the default implementation here is for reference only and is NOT suitable for use +# in any production environment. +# MySQL Stable Chart values - https://github.com/bitnami/charts/tree/master/bitnami/mysql +mysql: + image: + tag: "8.0.37-debian-12-r2" + auth: + username: portal + existingSecret: database-secret + # primary: + # podSecurityContext: + # enabled: true + # fsGroup: 100 + # containerSecurityContext: + # enabled: true + # runAsUser: 1001 + initdbScripts: + elevate-admin.sql: | + GRANT ALL PRIVILEGES ON *.* TO 'portal'@'%'; FLUSH PRIVILEGES; + primary: + configuration: |- + [client] + port=3306 + socket=/opt/bitnami/mysql/tmp/mysql.sock + default-character-set=utf8mb4 + plugin_dir=/opt/bitnami/mysql/plugin + [mysqld] + default_authentication_plugin=mysql_native_password + skip-name-resolve + explicit_defaults_for_timestamp + basedir=/opt/bitnami/mysql + plugin_dir=/opt/bitnami/mysql/plugin + port=3306 + socket=/opt/bitnami/mysql/tmp/mysql.sock + datadir=/bitnami/mysql/data + tmpdir=/opt/bitnami/mysql/tmp + collation-server=utf8mb4_0900_ai_ci + character-set-server=utf8mb4 + innodb_log_buffer_size=32M + innodb_log_file_size=80M + max_allowed_packet=8M + group_concat_max_len=512000 + sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION" + bind-address=0.0.0.0 + pid-file=/opt/bitnami/mysql/tmp/mysqld.pid + log-error=/opt/bitnami/mysql/logs/mysqld.log + [manager] + port=3306 + socket=/opt/bitnami/mysql/tmp/mysql.sock + pid-file=/opt/bitnami/mysql/tmp/mysqld.pid + pdb: + create: false + maxUnavailable: "" + minAvailable: "" + persistence: + annotations: + helm.sh/hook: pre-install + helm.sh/hook-weight: "-10" + commonAnnotations: + helm.sh/hook: pre-install + helm.sh/hook-weight: "-10" \ No newline at end of file diff --git a/charts/portal/Chart.lock b/charts/portal/Chart.lock index ec265a08..308d8049 100644 --- a/charts/portal/Chart.lock +++ b/charts/portal/Chart.lock @@ -2,6 +2,9 @@ dependencies: - name: druid repository: file://../druid version: 1.0.14 +- name: apim-intelligence + repository: file://../intelligence + version: 0.0.1 - name: mysql repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami version: 10.3.0 @@ -11,5 +14,5 @@ dependencies: - name: ingress-nginx repository: https://kubernetes.github.io/ingress-nginx/ version: 4.10.0 -digest: sha256:37372a7aae49609a719e1e1d0f9f9c6ba66b41caaeed4892981db2b50289cda4 -generated: "2024-10-14T18:34:34.4433706+05:30" +digest: sha256:1951610e498dbe6394b522c227b4ae95b9e31676ea4283351da5fbff86f0b401 +generated: "2025-01-22T12:10:23.594522+05:30" diff --git a/charts/portal/Chart.yaml b/charts/portal/Chart.yaml index a7fc7518..048f794d 100644 --- a/charts/portal/Chart.yaml +++ b/charts/portal/Chart.yaml @@ -15,6 +15,10 @@ dependencies: version: ^1.0.0 condition: portal.analytics.enabled repository: "file://../druid" +- name: apim-intelligence + version: ^0.0.1 + condition: portal.intelligence.enabled + repository: "file://../intelligence" - name: mysql version: 10.3.0 repository: "https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami" @@ -27,3 +31,4 @@ dependencies: repository: "https://kubernetes.github.io/ingress-nginx/" version: 4.10.0 condition: ingress.create + \ No newline at end of file diff --git a/charts/portal/charts/apim-intelligence-0.0.1.tgz b/charts/portal/charts/apim-intelligence-0.0.1.tgz new file mode 100644 index 00000000..933581a6 Binary files /dev/null and b/charts/portal/charts/apim-intelligence-0.0.1.tgz differ diff --git a/charts/portal/templates/dispatcher/dispatcher-config.yaml b/charts/portal/templates/dispatcher/dispatcher-config.yaml index da20cd44..cb593b33 100644 --- a/charts/portal/templates/dispatcher/dispatcher-config.yaml +++ b/charts/portal/templates/dispatcher/dispatcher-config.yaml @@ -13,6 +13,8 @@ data: PORTAL_VERSION: {{ .Chart.AppVersion | quote }} TSSG_PUBLIC_HOST: {{ include "tssg-public-host" . | quote }} USE_PROXY_PROTOCOL: "false" + PORTAL_UI_HEADER: {{ .Values.portal.intelligence.enabled | quote}} + INTELLIGENCE_ENABLED: {{ .Values.portal.intelligence.enabled | quote}} {{ if .Values.dispatcher.additionalEnv }} {{- range $key, $val := .Values.dispatcher.additionalEnv }} {{ $key }}: {{ $val | quote }} diff --git a/charts/portal/values.yaml b/charts/portal/values.yaml index daf54300..95b5b9df 100644 --- a/charts/portal/values.yaml +++ b/charts/portal/values.yaml @@ -43,6 +43,8 @@ portal: enrollNotificationEmail: noreply@mail.example.com analytics: enabled: true + intelligence: + enabled: true # Please set analytics.replicaCount to a minimum of 2 aggregation: false # Specify a Gateway v9.x license file via set portal.license.value @@ -439,6 +441,13 @@ image: ## Subchart Configuration ## +intellignce: + standalone: false + serviceAccount: + create: true + image: + intelligenceServer: intelligence-server:develop + # Settings for Druid - this is a local sub chart druid: enabled: true