karpor
This commit is contained in:
@@ -1078,6 +1078,33 @@ kubectl get secret keycloak-client-<app> -n keycloak -o jsonpath='{.metadata.ann
|
|||||||
|
|
||||||
**See**: [Developer Guide - Adding a New Keycloak Client](DEVELOPER-GUIDE.md#adding-a-new-keycloak-client)
|
**See**: [Developer Guide - Adding a New Keycloak Client](DEVELOPER-GUIDE.md#adding-a-new-keycloak-client)
|
||||||
|
|
||||||
|
### Karpor
|
||||||
|
|
||||||
|
**Chart**: `karpor` from `https://kusionstack.github.io/charts`
|
||||||
|
**Version**: 0.7.6 (app v0.6.4)
|
||||||
|
**Namespace**: `karpor`
|
||||||
|
**Sync Wave**: 1
|
||||||
|
|
||||||
|
**Purpose**: Kubernetes visualization and intelligence tool. Provides cross-cluster resource search, compliance checking, and topology visualization. Gives platform engineers a unified view of all cluster resources and their relationships.
|
||||||
|
|
||||||
|
**Architecture** (4 components):
|
||||||
|
- **Server** — main Karpor API/UI (port 7443)
|
||||||
|
- **Syncer** — syncs cluster state into the search index
|
||||||
|
- **ElasticSearch** — search backend for resource indexing
|
||||||
|
- **etcd** — persistent key-value store (10Gi PVC)
|
||||||
|
|
||||||
|
**Configuration** (`infra/values/base/karpor-values.yaml`):
|
||||||
|
- `namespaceEnabled: false` — ArgoCD manages namespace creation
|
||||||
|
- Default resource limits tuned for small clusters
|
||||||
|
- ElasticSearch: 2 CPU / 4Gi memory (the heaviest component)
|
||||||
|
- AI features available but not enabled (requires `server.ai.authToken` + backend config)
|
||||||
|
|
||||||
|
**Access**: Port-forward to reach the UI:
|
||||||
|
```bash
|
||||||
|
kubectl port-forward svc/karpor-release-server -n karpor 7443:7443
|
||||||
|
# Open https://localhost:7443
|
||||||
|
```
|
||||||
|
|
||||||
### Renovate
|
### Renovate
|
||||||
|
|
||||||
**Chart**: `renovate` (OCI: `ghcr.io/renovatebot/charts`)
|
**Chart**: `renovate` (OCI: `ghcr.io/renovatebot/charts`)
|
||||||
|
|||||||
42
infra/base/karpor.yaml
Normal file
42
infra/base/karpor.yaml
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: karpor
|
||||||
|
namespace: argocd
|
||||||
|
annotations:
|
||||||
|
argocd.argoproj.io/sync-wave: "1"
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: karpor
|
||||||
|
app.kubernetes.io/part-of: developer-portal
|
||||||
|
app.kubernetes.io/managed-by: argocd
|
||||||
|
finalizers:
|
||||||
|
- resources-finalizer.argocd.argoproj.io
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
|
||||||
|
sources:
|
||||||
|
- repoURL: https://kusionstack.github.io/charts
|
||||||
|
chart: karpor
|
||||||
|
targetRevision: "0.7.6"
|
||||||
|
helm:
|
||||||
|
releaseName: karpor
|
||||||
|
valueFiles:
|
||||||
|
- $values/infra/values/base/karpor-values.yaml
|
||||||
|
|
||||||
|
- repoURL: ssh://git@git.forteapps.net:2222/Forte/launchpad.git
|
||||||
|
targetRevision: HEAD
|
||||||
|
ref: values
|
||||||
|
|
||||||
|
destination:
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
namespace: karpor
|
||||||
|
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
|
allowEmpty: false
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
|
- Validate=true
|
||||||
|
- ServerSideApply=true
|
||||||
@@ -22,3 +22,4 @@ resources:
|
|||||||
- tempo.yaml
|
- tempo.yaml
|
||||||
- grafana-dashboards.yaml
|
- grafana-dashboards.yaml
|
||||||
- network-policies-application.yaml
|
- network-policies-application.yaml
|
||||||
|
- karpor.yaml
|
||||||
|
|||||||
44
infra/values/base/karpor-values.yaml
Normal file
44
infra/values/base/karpor-values.yaml
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
# Karpor - Kubernetes Visualization & Intelligence Tool
|
||||||
|
# Helm chart: https://github.com/KusionStack/charts/tree/master/charts/karpor
|
||||||
|
|
||||||
|
# Let the ArgoCD Application manage the namespace
|
||||||
|
namespaceEnabled: false
|
||||||
|
|
||||||
|
server:
|
||||||
|
replicas: 1
|
||||||
|
port: 7443
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 250m
|
||||||
|
memory: 256Mi
|
||||||
|
limits:
|
||||||
|
cpu: 500m
|
||||||
|
memory: 1Gi
|
||||||
|
|
||||||
|
syncer:
|
||||||
|
replicas: 1
|
||||||
|
port: 7443
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 250m
|
||||||
|
memory: 256Mi
|
||||||
|
limits:
|
||||||
|
cpu: 500m
|
||||||
|
memory: 1Gi
|
||||||
|
|
||||||
|
elasticsearch:
|
||||||
|
replicas: 1
|
||||||
|
port: 9200
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 500m
|
||||||
|
memory: 2Gi
|
||||||
|
limits:
|
||||||
|
cpu: "2"
|
||||||
|
memory: 4Gi
|
||||||
|
|
||||||
|
etcd:
|
||||||
|
replicas: 1
|
||||||
|
port: 2379
|
||||||
|
persistence:
|
||||||
|
size: 5Gi
|
||||||
Reference in New Issue
Block a user