Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: AI Navigator cluster info app changes #1706

Merged
merged 17 commits into from
Nov 6, 2023
Merged
2 changes: 2 additions & 0 deletions .github/service-labeler.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
services/ai-navigator-app:
- services/ai-navigator-app/**
services/ai-navigator-cluster-info-agent:
- services/ai-navigator-cluster-info-agent/**
services/centralized-grafana:
- services/centralized-grafana/**
services/centralized-kubecost:
Expand Down
20 changes: 20 additions & 0 deletions common/helm-repositories/mesosphere-repos.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,23 @@ spec:
interval: 10m
timeout: 1m
url: "${helmMirrorURL:=https://mesosphere.github.io/dkp-insights-charts-attached}"
---
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
name: mesosphere.github.io-ai-navigator-cluster-info-api-charts
namespace: kommander-flux
spec:
interval: 10m
timeout: 1m
url: "${helmMirrorURL:=https://mesosphere.github.io/ai-navigator-cluster-info-api}"
---
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
name: mesosphere.github.io-ai-navigator-cluster-info-agent-charts
namespace: kommander-flux
spec:
interval: 10m
timeout: 1m
url: "${helmMirrorURL:=https://mesosphere.github.io/ai-navigator-cluster-info-agent}"
19 changes: 19 additions & 0 deletions licenses.d2iq.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ ignore:
- docker.io/bitnami/external-dns:0.13.6-debian-11-r11
- docker.io/bitnami/postgresql:11.16.0-debian-11-r9
- docker.io/bitnami/postgresql:15.2.0-debian-11-r21
- docker.io/bitnami/postgresql:15.4.0-debian-11-r44
lukeogg marked this conversation as resolved.
Show resolved Hide resolved
- docker.io/bitnami/redis-cluster:7.0.12-debian-11-r2
- docker.io/library/busybox:1
- gcr.io/kubecost1/cost-model:prod-1.106.2
Expand Down Expand Up @@ -610,3 +611,21 @@ resources:
notice_path: NOTICE
ref: ${image_tag}
url: https://github.com/kubernetes-sigs/prometheus-adapter
- container_image: docker.io/mesosphere/ai-navigator-cluster-info-agent:v0.1.0
sources:
- ref: ${image_tag}
url: https://github.com/mesosphere/ai-navigator-cluster-info-agent
- container_image: docker.io/mesosphere/ai-navigator-cluster-info-api:v0.1.0
sources:
- ref: ${image_tag}
url: https://github.com/mesosphere/ai-navigator-cluster-info-api
- container_image: docker.io/semitechnologies/weaviate:1.21.4
sources:
- license_path: LICENSE
ref: v${image_tag}
url: https://github.com/weaviate/weaviate
- container_image: docker.io/library/alpine:3.18.4
sources:
- license_path: LICENSE
ref: master
url: https://github.com/alpinelinux/docker-alpine
Empty file.
109 changes: 109 additions & 0 deletions services/ai-navigator-app/0.2.0/defaults/cm.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: ai-navigator-cluster-info-api-0.2.0-d2iq-defaults
namespace: ${releaseNamespace}
data:
values.yaml: |
# api.enabled enables the collector service as a whole - will not install anything if set to false
api:
enabled: true

# Default values for configmap
modelSettings:
model_name: thenlper/gte-large
chunk_size: 2000
chunk_overlap: 250
path: /models
volumeSize: 4Gi

vector_db:
url: http://weaviate
index_name: Cluster_Info

record_manager:
driver_name: "postgresql"
username: "postgres"
port: 5432
database: record-manager

# Default values for subcharts
weaviate:
enabled: true
service:
type: ClusterIP
image:
tag: 1.21.4
initContainers:
#enabled: false
sysctlInitContainer:
image:
tag: 3.18.4
securityContext:
runAsUser: 65532
fsGroup: 65532
runAsGroup: 65532

postgresql:
enabled: true
image:
tag: 15.4.0-debian-11-r44

# Default values for cluster-info-api
replicaCount: 1

image:
repository: mesosphere/ai-navigator-cluster-info-api
pullPolicy: Always
# Overrides the image tag whose default is the chart appVersion.
tag: ""

imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""

serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: ""

podAnnotations: {}

securityContext:
capabilities:
drop:
- ALL
readOnlyRootFilesystem: false
allowPrivilegeEscalation: false
runAsNonRoot: true
runAsUser: 1000

service:
type: ClusterIP
port: 8080

resources:
limits:
cpu: 4000m
memory: 4Gi
requests:
cpu: 1000m
memory: 1Gi

initContainerResources:
limits:
cpu: 500m
memory: 4Gi
requests:
cpu: 100m
memory: 1Gi

nodeSelector: {}

tolerations: []

affinity: {}
adityajariwala marked this conversation as resolved.
Show resolved Hide resolved
File renamed without changes.
20 changes: 20 additions & 0 deletions services/ai-navigator-app/0.2.0/helmrelease.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
kind: Kustomization
metadata:
name: ai-navigator-cluster-info-api
lukeogg marked this conversation as resolved.
Show resolved Hide resolved
namespace: ${releaseNamespace}
spec:
force: false
interval: 6h
path: ./services/ai-navigator-app/0.2.0/helmrelease
postBuild:
substitute:
releaseNamespace: ${releaseNamespace}
prune: true
retryInterval: 1m
sourceRef:
kind: GitRepository
name: management
namespace: kommander-flux
timeout: 1m
wait: true
26 changes: 26 additions & 0 deletions services/ai-navigator-app/0.2.0/helmrelease/helmrelease.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: ai-navigator-cluster-info-api
namespace: ${releaseNamespace}
spec:
chart:
spec:
chart: ai-navigator-cluster-info-api
sourceRef:
kind: HelmRepository
name: mesosphere.github.io-ai-navigator-cluster-info-api-charts
namespace: kommander-flux
version: 0.1.0
install:
remediation:
retries: 30
interval: 15s
releaseName: ai-navigator-cluster-info-api
targetNamespace: ${releaseNamespace}
upgrade:
remediation:
retries: 30
valuesFrom:
- kind: ConfigMap
name: ai-navigator-cluster-info-api-0.2.0-d2iq-defaults
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ai-navigator-app.yaml
- helmrelease.yaml
59 changes: 59 additions & 0 deletions services/ai-navigator-cluster-info-agent/0.1.0/defaults/cm.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: ai-navigator-cluster-info-agent-0.1.0-d2iq-defaults
namespace: ${releaseNamespace}
data:
values.yaml: |
# Default values for configmap
collector:
url: http://ai-navigator-cluster-info-api.kommander.svc/api/v1/documents/collect/

watchNamespaces: {}

# Default values for cluster-info-agent
replicaCount: 1

image:
repository: mesosphere/ai-navigator-cluster-info-agent
pullPolicy: Always
# Overrides the image tag whose default is the chart appVersion.
tag: "v0.1.0"

imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""

serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: ""

podAnnotations: {}

securityContext:
capabilities:
drop:
- ALL
readOnlyRootFilesystem: false
allowPrivilegeEscalation: false
runAsNonRoot: true
runAsUser: 1000

resources:
limits:
cpu: 4000m
memory: 4Gi
requests:
cpu: 1000m
memory: 250Mi

nodeSelector: {}

tolerations: []

affinity: {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- cm.yaml
20 changes: 20 additions & 0 deletions services/ai-navigator-cluster-info-agent/0.1.0/helmrelease.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
kind: Kustomization
metadata:
name: ai-navigator-cluster-info-agent
namespace: ${releaseNamespace}
spec:
force: false
interval: 6h
path: ./services/ai-navigator-cluster-info-agent/0.1.0/helmrelease
postBuild:
substitute:
releaseNamespace: ${releaseNamespace}
prune: true
retryInterval: 1m
sourceRef:
kind: GitRepository
name: management
namespace: kommander-flux
timeout: 1m
wait: true
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: ai-navigator-cluster-info-agent
namespace: ${releaseNamespace}
spec:
chart:
spec:
chart: ai-navigator-cluster-info-agent
sourceRef:
kind: HelmRepository
name: mesosphere.github.io-ai-navigator-cluster-info-agent-charts
namespace: kommander-flux
version: 0.1.0
install:
remediation:
retries: 30
interval: 15s
releaseName: ai-navigator-cluster-info-agent
targetNamespace: ${releaseNamespace}
upgrade:
remediation:
retries: 30
valuesFrom:
- kind: ConfigMap
name: ai-navigator-cluster-info-agent-0.1.0-d2iq-defaults
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- helmrelease.yaml
25 changes: 25 additions & 0 deletions services/ai-navigator-cluster-info-agent/metadata.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
displayName: DKP AI Navigator Cluster Info Agent
description: The AI Navigator Cluster Info Agent collects information about the DKP cluster and sends it to the AI Navigator service.
category:
- tools
type: platform
allowMultipleInstances: false
scope:
- workspace
overview: |-
# Overview
The AI Navigator Cluster Info Agent collects information about the DKP cluster and sends it to the AI Navigator service.

## Key Features
### Intuitive Query Processing
The AI Navigator Cluster Info Agent uses natural language processing to understand user queries and provide relevant answers.

### Real-time Troubleshooting Assistance
The AI Navigator Cluster Info Agent provides real-time troubleshooting assistance by analyzing the cluster state and providing cluster specific commands.

### Seamless DKP Integration
Being native to the DKP platform, the AI Navigator ensures users get the most out of their DKP environments by offering insights, best practices, and performance optimization tips.

### Privacy First Approach
Data privacy and security remain paramount, ensuring user trust and compliance.
icon: PHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjQ4IiBoZWlnaHQ9IjQ4IiBmaWxsPSIjMzMwMDcyIi8+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMzkzXzEyMzUpIj4KPHBhdGggb3BhY2l0eT0iMC40IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTIzLjg3NTEgMTAuMTcxN0MyMC42ODAxIDEwLjE3MTcgMTcuNDkyNSAxMS4yNjExIDE0Ljg5NjYgMTMuNDM5M0MxMy4zMzQyIDE0Ljc1MDMgMTIuMTI2NyAxNi4zNDU1IDExLjI4ODEgMTguMDkyM0MxMS4xNzE3IDE4LjA4MTIgMTEuMDU4NCAxOC4wNTYgMTAuOTM4OSAxOC4wNTZDOC44NTIxMSAxOC4wNTYgNy4xNzE4OCAxOS43MzYxIDcuMTcxODggMjEuODIyOVYyNi40Nzg2QzcuMTcxODggMjguNTY1NCA4Ljg1MjExIDMwLjI0NTUgMTAuOTM4OSAzMC4yNDU1QzExLjA1ODQgMzAuMjQ1NSAxMS4xNzE3IDMwLjIxOTYgMTEuMjg4MSAzMC4yMDkzQzExLjQzODIgMzAuNTIwNSAxMS41OTM2IDMwLjgyOTQgMTEuNzY4NyAzMS4xMzI5QzEyLjQ1MzEgMzIuMzU0NSAxNC4yODE4IDMxLjMwODYgMTMuNTc1NiAzMC4wOTkyQzEwLjY4NDQgMjUuMDkxMyAxMS44MDQxIDE4Ljc0NTUgMTYuMjMzNyAxNS4wMjg2QzIwLjY2MzQgMTEuMzExNyAyNy4wOTc1IDExLjMxMTcgMzEuNTI3MSAxNS4wMjg2QzM1Ljk1NjggMTguNzQ1NSAzNy4wNzY1IDI1LjA5MTMgMzQuMTg1MiAzMC4wOTkyTDM0LjE1NDEgMzAuMTUxTDM0LjEzMzIgMzAuMjAyOUMzNC4xMzMyIDMwLjIwMjkgMzIuNzI5IDMzLjMwOTQgMjkuOTcxNiAzMy4zMDk0TDI2LjQ4MTIgMzMuMjc4MkMyNi4xNTM5IDMyLjgwMDEgMjUuNjMgMzIuNDY3MyAyNS4wMDQ1IDMyLjQ2NzNIMjIuNzU0NUMyMS43NDU3IDMyLjQ2NzMgMjAuOTM0MSAzMy4yODE1IDIwLjkzNDEgMzQuMjkwNEMyMC45MzQxIDM0LjkxMjYgMjEuMzI4OSAzNS4zODUyIDIyLjIzMjUgMzUuMzg1MkwyOS45NzE2IDM1LjM4NThDMzQuMTA5NCAzNS4zODU4IDM1Ljg5OTEgMzEuMzIzNSAzNS45ODA1IDMxLjEzNTVWMzEuMTI0NEMzNi4xNTQxIDMwLjgyMzYgMzYuMzA2OCAzMC41MTQ3IDM2LjQ1NTkgMzAuMjA2M0MzNi41Nzc1IDMwLjIxNzMgMzYuNjk1OSAzMC4yNDI2IDM2LjgyMTIgMzAuMjQyNkMzOC45MDc5IDMwLjI0MjYgNDAuNTg4MiAyOC41NjI0IDQwLjU4ODIgMjYuNDc1NlYyMS44MTk5QzQwLjU4ODIgMTkuNzMzMiAzOC45MDc5IDE4LjA1MyAzNi44MjEyIDE4LjA1M0MzNi43MDA2IDE4LjA1MyAzNi41ODY5IDE4LjA3MjkgMzYuNDY5NCAxOC4wODkzQzM1LjYzMjcgMTYuMzQyNCAzNC40Mjg4IDE0Ljc0NzQgMzIuODY2MiAxMy40MzYzQzMwLjI3MDQgMTEuMjU4MSAyNy4wNjk1IDEwLjE2ODcgMjMuODc0NCAxMC4xNjg3TDIzLjg3NTEgMTAuMTcxN1oiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0xNy4xMzU5IDE3LjU5MDVDMTcuNzgzMSAxNi45MDkgMTguNTIzOSAxNi43Mzc1IDE5LjMzNDggMTYuNzkwNEMyMC42ODYzIDE2Ljg3OTIgMjIuMjM0MyAxNy41OTA1IDIzLjg4MDQgMTcuNTkwNUMyNi41MTQzIDE3LjU5MDUgMjguODk5IDE1Ljc3MzMgMzAuNjI1IDE3LjU5MDVDMzIuMzUxMSAxOS40MDc3IDMzLjQyIDIxLjg4MTEgMzMuNDIgMjQuNTE1QzMzLjQyIDI2LjUwMjggMzIuODExOCAyOC45ODk1IDMxLjc3MTUgMjkuMTczM0MzMC4wNTQ5IDI5LjQ3NzQgMjcuMTYwNSAyOC4xOTM0IDIzLjg4MDQgMjguMTkzNEMyMC43ODUyIDI4LjE5MzQgMTguMDM1NCAyOS4zMzc3IDE2LjI5MjggMjkuMjEwOUMxNS4wNjk2IDI5LjEyMjEgMTQuMzQzNSAyNi42ODc3IDE0LjM0MzUgMjQuNTE1QzE0LjM0MzUgMjEuODgxMSAxNS40MDk4IDE5LjQwNzcgMTcuMTM1OSAxNy41OTA1WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTIwLjY5MDkgMjMuMDExNEMyMC42OTA1IDIyLjA0OTEgMTkuOTEwNiAyMS4yNjkyIDE4Ljk0ODMgMjEuMjY4OEMxNy45ODYxIDIxLjI2OTIgMTcuMjA2MSAyMi4wNDkxIDE3LjIwNTggMjMuMDExNEMxNy4yMDYxIDIzLjk3MzYgMTcuOTg2MSAyNC43NTM2IDE4Ljk0ODMgMjQuNzUzOUMxOS45MTA2IDI0Ljc1MzYgMjAuNjkwNSAyMy45NzM2IDIwLjY5MDkgMjMuMDExNFoiIGZpbGw9IiMzMzAwNzIiLz4KPHBhdGggZD0iTTMwLjU1NTQgMjMuMDExNEMzMC41NTUgMjIuMDQ5MSAyOS43NzUxIDIxLjI2OTIgMjguODEyOCAyMS4yNjg4QzI3Ljg1MDYgMjEuMjY5MiAyNy4wNzA2IDIyLjA0OTEgMjcuMDcwMyAyMy4wMTE0QzI3LjA3MDYgMjMuOTczNiAyNy44NTA2IDI0Ljc1MzYgMjguODEyOCAyNC43NTM5QzI5Ljc3NTEgMjQuNzUzNiAzMC41NTUgMjMuOTczNiAzMC41NTU0IDIzLjAxMTRaIiBmaWxsPSIjMzMwMDcyIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMTM5M18xMjM1Ij4KPHJlY3Qgd2lkdGg9IjM0IiBoZWlnaHQ9IjI1Ljc5MzEiIGZpbGw9IndoaXRlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3IDEwLjAwMDcpIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==
Loading