pull/800/head
bsctl 2023-06-19 14:52:54 +02:00
parent 34c0f11b65
commit 85f6176d45
20 changed files with 784 additions and 0 deletions

Binary file not shown.

View File

@ -0,0 +1,23 @@
# 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/

View File

@ -0,0 +1,22 @@
annotations:
catalog.cattle.io/certified: partner
catalog.cattle.io/display-name: Kamaji Console
catalog.cattle.io/kube-version: '>=1.21.0-0'
catalog.cattle.io/release-name: kamaji-console
apiVersion: v2
appVersion: v0.0.1
description: Kamaji deploys and operates Kubernetes at scale with a fraction of the
operational burden. This chart install a console for Kamaji.
home: https://github.com/clastix/kamaji-console
icon: https://github.com/clastix/kamaji-console/raw/main/.github/images/icon.png
kubeVersion: '>=1.21.0-0'
maintainers:
- email: dario@tranchitella.eu
name: Dario Tranchitella
- email: me@bsctl.io
name: Adriano Pezzuto
name: kamaji-console
sources:
- https://github.com/clastix/kamaji-console
type: application
version: 0.0.4

View File

@ -0,0 +1,12 @@
# Helm
SRC_ROOT = $(shell git rev-parse --show-toplevel)
helm-docs: HELMDOCS_VERSION := v1.11.0
helm-docs: docker
@docker run --rm -v "$(SRC_ROOT):/helm-docs" jnorwood/helm-docs:$(HELMDOCS_VERSION) --chart-search-root /helm-docs
docker:
@hash docker 2>/dev/null || {\
echo "You need docker" &&\
exit 1;\
}

View File

@ -0,0 +1,108 @@
# kamaji-console
![Version: 0.0.4](https://img.shields.io/badge/Version-0.0.4-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.0.1](https://img.shields.io/badge/AppVersion-v0.0.1-informational?style=flat-square)
Kamaji deploys and operates Kubernetes at scale with a fraction of the operational burden. This chart install a console for Kamaji.
## Install the console
This chart requires a Secret in your Kubernetes cluster that contains the configuration and credentials to access the console. You can have the chart generate it for you, or create it yourself and provide the name of the Secret during installation.
Replace placeholders with actual values, and execute the following:
```bash
# The secret is required, otherwise the installation will fail
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
type: Opaque
metadata:
name: <secret-name>
namespace: <charts-namespace>
data:
# Credentials to login into console
ADMIN_EMAIL: <email>
ADMIN_PASSWORD: <password>
# Secret used to sign the browser session
JWT_SECRET: <jwtSecret>
# URL where the console is accessible: https://<hostname>/ui
NEXTAUTH_URL: <nextAuthUrl>
EOF
```
Make sure you set `credentialsSecret.name` value to the name of the secret <secret-name>.
To install the Chart with the release name `kamaji-console` in the `kamaji-system` namespace:
helm repo add clastix https://clastix.github.io/charts
helm repo update
helm install console clastix/kamaji-console -n kamaji-system --create-namespace
Show the status:
helm status console -n kamaji-system
Upgrade the Chart
helm upgrade console -n kamaji-system clastix/kamaji-console
Uninstall the Chart
helm uninstall console -n kamaji-system
## Customize the installation
Here the values you can override:
## Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| affinity | object | `{}` | |
| autoscaling.enabled | bool | `false` | |
| autoscaling.maxReplicas | int | `100` | |
| autoscaling.minReplicas | int | `1` | |
| autoscaling.targetCPUUtilizationPercentage | int | `80` | |
| credentialsSecret.email | string | `""` | |
| credentialsSecret.generate | bool | `false` | |
| credentialsSecret.jwtSecret | string | `""` | |
| credentialsSecret.name | string | `"kamaji-console"` | |
| credentialsSecret.nextAuthUrl | string | `""` | |
| credentialsSecret.password | string | `""` | |
| fullnameOverride | string | `""` | |
| image.pullPolicy | string | `"IfNotPresent"` | |
| image.repository | string | `"clastix/kamaji-console"` | |
| image.tag | string | `""` | |
| imagePullSecrets | list | `[]` | type=kubernetes.io/dockerconfigjson |
| ingress.annotations | object | `{}` | |
| ingress.className | string | `""` | |
| ingress.enabled | bool | `false` | |
| ingress.hosts[0].host | string | `"kamaji.localhost"` | |
| ingress.hosts[0].paths[0].path | string | `"/ui"` | |
| ingress.hosts[0].paths[0].pathType | string | `"ImplementationSpecific"` | |
| ingress.tls | list | `[]` | |
| nameOverride | string | `""` | |
| nodeSelector | object | `{}` | |
| podAnnotations | object | `{}` | |
| podSecurityContext | object | `{}` | |
| replicaCount | int | `1` | |
| resources | object | `{}` | |
| securityContext | object | `{}` | |
| service.port | int | `80` | |
| service.targetPort | int | `3000` | |
| service.type | string | `"ClusterIP"` | |
| serviceAccount.annotations | object | `{}` | |
| serviceAccount.create | bool | `true` | |
| serviceAccount.name | string | `""` | |
| tolerations | list | `[]` | |
## Maintainers
| Name | Email | Url |
| ---- | ------ | --- |
| Dario Tranchitella | <dario@tranchitella.eu> | |
| Adriano Pezzuto | <me@bsctl.io> | |
## Source Code
* <https://github.com/clastix/kamaji-console>

View File

@ -0,0 +1,62 @@
{{ template "chart.header" . }}
{{ template "chart.deprecationWarning" . }}
{{ template "chart.badgesSection" . }}
{{ template "chart.description" . }}
## Install the console
This chart requires a Secret in your Kubernetes cluster that contains the configuration and credentials to access the console. You can have the chart generate it for you, or create it yourself and provide the name of the Secret during installation.
Replace placeholders with actual values, and execute the following:
```bash
# The secret is required, otherwise the installation will fail
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
type: Opaque
metadata:
name: <secret-name>
namespace: <charts-namespace>
data:
# Credentials to login into console
ADMIN_EMAIL: <email>
ADMIN_PASSWORD: <password>
# Secret used to sign the browser session
JWT_SECRET: <jwtSecret>
# URL where the console is accessible: https://<hostname>/ui
NEXTAUTH_URL: <nextAuthUrl>
EOF
```
Make sure you set `credentialsSecret.name` value to the name of the secret <secret-name>.
To install the Chart with the release name `kamaji-console` in the `kamaji-system` namespace:
helm repo add clastix https://clastix.github.io/charts
helm repo update
helm install console clastix/kamaji-console -n kamaji-system --create-namespace
Show the status:
helm status console -n kamaji-system
Upgrade the Chart
helm upgrade console -n kamaji-system clastix/kamaji-console
Uninstall the Chart
helm uninstall console -n kamaji-system
## Customize the installation
Here the values you can override:
{{ template "chart.valuesSection" . }}
{{ template "chart.maintainersSection" . }}
{{ template "chart.sourcesSection" . }}

View File

@ -0,0 +1,13 @@
# Kamaji Console
Kamaji deploys and operates Kubernetes at scale with a fraction of the operational burden. This chart installs the Kamaji Console.
Useful links:
- [Kamaji Github repository](https://github.com/clastix/kamaji)
- [Kamaji Console Github repository](https://github.com/clastix/kamaji-console)
- [Kamaji Documentation](https://kamaji.clastix.io)
## Requirements
* Kubernetes v1.22+
* Helm v3

View File

@ -0,0 +1,70 @@
questions:
- variable: credentialsSecret.generate
label: Generate Console Config Secret
description: Generates a Secret that contains a Kamaji Console config and credentials (If the option to generate it is enabled, credentials will be visible in the API to authorized users)
type: boolean
default: false
required: true
group: "Console Configuration"
show_subquestion_if: true
subquestions:
- variable: credentialsSecret.nextAuthUrl
label: NextAuthUrl
description: URL where the console is accessible, eg. https://kamaji.rancher.localhost
default: "https://kamaji.rancher.localhost"
type: string
group: "Console Configuration"
- variable: credentialsSecret.jwtSecret
description: Secret used to sign the browser session
label: JWT Secret
type: string
group: "Console Configuration"
- variable: credentialsSecret.email
label: email
description: Credentials (email) to login into console
type: string
group: "Console Configuration"
- variable: credentialsSecret.password
label: password
description: Password to login into Console
type: password
group: "Console Configuration"
- variable: credentialsSecret.name
label: Console Config Secret Name
description: Name of the Secret that contains a Console config and credentials (Will not be visible in the API. More info in the README)
type: string
default: kamaji-console
group: "Console Configuration"
show_if: "credentialsSecret.generate=false"
- variable: ingress.enabled
default: false
description: If true, create ingress, must also set ingress host value
type: boolean
label: Manager Ingress Status
group: "Ingress Configuration"
show_subquestion_if: true
subquestions:
- variable: ingress.hosts[0].host
default: "kamaji.rancher.localhost"
description: Must set this host value if ingress is enabled
type: string
label: Manager Ingress Host
group: "Ingress Configuration"
- variable: ingress.hosts[0].paths[0].path
default: "/ui"
description: Set ingress path to /ui (required)
type: string
label: Manager Ingress Path
group: "Ingress Configuration"
- variable: ingress.hosts[0].paths[0].pathType
default: "ImplementationSpecific"
description: "Set ingress path type"
type: string
label: Manager Ingress Path type
group: "Ingress Configuration"

View File

@ -0,0 +1,22 @@
1. Get the application URL by running these commands:
{{- if .Values.ingress.enabled }}
{{- range $host := .Values.ingress.hosts }}
{{- range .paths }}
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }}
{{- end }}
{{- end }}
{{- else if contains "NodePort" .Values.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "console.fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT/ui
{{- else if contains "LoadBalancer" .Values.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "console.fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "console.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
echo http://$SERVICE_IP:{{ .Values.service.port }}/ui
{{- else if contains "ClusterIP" .Values.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "console.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
echo "Visit http://127.0.0.1:8080/ui to use your application"
kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT
{{- end }}

View File

@ -0,0 +1,62 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "console.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 "console.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 "console.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Common labels
*/}}
{{- define "console.labels" -}}
helm.sh/chart: {{ include "console.chart" . }}
{{ include "console.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}
{{/*
Selector labels
*/}}
{{- define "console.selectorLabels" -}}
app.kubernetes.io/name: {{ include "console.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}
{{/*
Create the name of the service account to use
*/}}
{{- define "console.serviceAccountName" -}}
{{- if .Values.serviceAccount.create }}
{{- default (include "console.fullname" .) .Values.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}

View File

@ -0,0 +1,64 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "console.fullname" . }}
labels:
{{- include "console.labels" . | nindent 4 }}
spec:
{{- if not .Values.autoscaling.enabled }}
replicas: {{ .Values.replicaCount }}
{{- end }}
selector:
matchLabels:
{{- include "console.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "console.selectorLabels" . | nindent 8 }}
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 6 }}
{{- end }}
serviceAccountName: {{ include "console.serviceAccountName" . }}
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
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: 3000
protocol: TCP
#livenessProbe:
# httpGet:
# path: /
# port: http
#readinessProbe:
# httpGet:
# path: /
# port: http
resources:
{{- toYaml .Values.resources | nindent 12 }}
envFrom:
- secretRef:
name: {{ .Values.credentialsSecret.name }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}

View File

@ -0,0 +1,28 @@
{{- if .Values.autoscaling.enabled }}
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: {{ include "console.fullname" . }}
labels:
{{- include "console.labels" . | nindent 4 }}
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: {{ include "console.fullname" . }}
minReplicas: {{ .Values.autoscaling.minReplicas }}
maxReplicas: {{ .Values.autoscaling.maxReplicas }}
metrics:
{{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
- type: Resource
resource:
name: cpu
targetAverageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
{{- end }}
{{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
- type: Resource
resource:
name: memory
targetAverageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
{{- end }}
{{- end }}

View File

@ -0,0 +1,44 @@
{{- if .Values.ingress.enabled -}}
{{- $fullName := include "console.fullname" . -}}
{{- $svcPort := .Values.service.port -}}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: {{ $fullName }}
labels:
app: kamaji-console
{{- include "console.labels" . | nindent 4 }}
{{- with .Values.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
{{- if .Values.ingress.className }}
ingressClassName: {{ .Values.ingress.className }}
{{- end }}
{{- if .Values.ingress.tls }}
tls:
{{- range .Values.ingress.tls }}
- hosts:
{{- range .hosts }}
- {{ . | quote }}
{{- end }}
secretName: {{ .secretName }}
{{- end }}
{{- end }}
rules:
{{- range .Values.ingress.hosts }}
- host: {{ .host | quote }}
http:
paths:
{{- range .paths }}
- path: {{ .path }}
pathType: {{ .pathType }}
backend:
service:
name: {{ $fullName }}
port:
number: {{ $svcPort }}
{{- end }}
{{- end }}
{{- end }}

View File

@ -0,0 +1,44 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ include "console.fullname" . }}
labels:
{{- include "console.labels" . | nindent 4 }}
rules:
- apiGroups:
- '*'
resources:
- namespaces
- deployments
- replicasets
- services
- pods
- secrets
- configmaps
verbs:
- get
- list
- watch
- apiGroups:
- kamaji.clastix.io
resources:
- tenantcontrolplanes
- datastores
verbs:
- '*'
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ include "console.fullname" . }}
labels:
{{- include "console.labels" . | nindent 4 }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ include "console.fullname" . }}
subjects:
- namespace: {{ .Release.Namespace }}
kind: ServiceAccount
name: {{ include "console.serviceAccountName" . }}

View File

@ -0,0 +1,15 @@
{{- if .Values.credentialsSecret.generate -}}
apiVersion: v1
kind: Secret
metadata:
name: {{ .Values.credentialsSecret.name }}
labels:
{{- include "console.labels" . | nindent 4 }}
data:
NEXTAUTH_URL: {{ .Values.credentialsSecret.nextAuthUrl | b64enc | quote }}
# Secret used to sign the browser session
JWT_SECRET: {{ .Values.credentialsSecret.jwtSecret | b64enc | quote }}
# Credentials to access the dashboard
ADMIN_EMAIL: {{ .Values.credentialsSecret.email | b64enc | quote }}
ADMIN_PASSWORD: {{ .Values.credentialsSecret.password | b64enc | quote }}
{{- end -}}

View File

@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: {{ include "console.fullname" . }}
labels:
{{- include "console.labels" . | nindent 4 }}
spec:
type: {{ .Values.service.type }}
ports:
- port: {{ .Values.service.port }}
targetPort: {{ .Values.service.targetPort }}
protocol: TCP
name: http
selector:
{{- include "console.selectorLabels" . | nindent 4 }}

View File

@ -0,0 +1,12 @@
{{- if .Values.serviceAccount.create -}}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "console.serviceAccountName" . }}
labels:
{{- include "console.labels" . | nindent 4 }}
{{- with .Values.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end }}

View File

@ -0,0 +1,15 @@
apiVersion: v1
kind: Pod
metadata:
name: "{{ include "console.fullname" . }}-test-connection"
labels:
{{- include "console.labels" . | nindent 4 }}
annotations:
"helm.sh/hook": test
spec:
containers:
- name: wget
image: busybox
command: ['wget']
args: ['{{ include "console.fullname" . }}:{{ .Values.service.port }}']
restartPolicy: Never

View File

@ -0,0 +1,100 @@
# Default values for console.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
repository: clastix/kamaji-console
pullPolicy: IfNotPresent
# Overrides the image tag whose default is the chart appVersion.
tag: ""
# create a secret containing token to pull the image from Docker Hub
# kubectl -n <namespace> create secret generic <secret> \
# --from-file=.dockerconfigjson=<path/to/.docker/config.json> \
# --type=kubernetes.io/dockerconfigjson
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
credentialsSecret:
generate: false
# name of the secret hosting sensitive info
name: "kamaji-console"
# URL where the console is accessible, eg. https://kamaji.labs.clastix.io/
nextAuthUrl: ""
# Secret used to sign the browser session
jwtSecret: ""
# Credentials to login into console
email: ""
password: ""
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: {}
podSecurityContext: {}
# fsGroup: 2000
securityContext: {}
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
service:
type: ClusterIP
port: 80
targetPort: 3000
ingress:
enabled: false
className: ""
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
hosts:
- host: kamaji.localhost
paths:
- path: /ui
pathType: ImplementationSpecific
tls: []
# - secretName: chart-example-tls
# hosts:
# - kamaji.localhost
resources: {}
# 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:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 100
targetCPUUtilizationPercentage: 80
# targetMemoryUtilizationPercentage: 80
nodeSelector: {}
tolerations: []
affinity: {}

View File

@ -22225,6 +22225,59 @@ entries:
urls:
- assets/clastix/kamaji-0.10.1.tgz
version: 0.10.1
kamaji-console:
- annotations:
catalog.cattle.io/certified: partner
catalog.cattle.io/display-name: Kamaji Console
catalog.cattle.io/kube-version: '>=1.21.0-0'
catalog.cattle.io/release-name: kamaji-console
apiVersion: v2
appVersion: v0.0.1
created: "2023-06-19T14:39:44.889098422+02:00"
description: Kamaji deploys and operates Kubernetes at scale with a fraction of
the operational burden. This chart install a console for Kamaji.
digest: b3b499354a5b359f0a8b552eecc646c0082984ee0c22d85bbd8bca1497494929
home: https://github.com/clastix/kamaji-console
icon: https://github.com/clastix/kamaji-console/raw/main/.github/images/icon.png
kubeVersion: '>=1.21.0-0'
maintainers:
- email: dario@tranchitella.eu
name: Dario Tranchitella
- email: me@bsctl.io
name: Adriano Pezzuto
name: kamaji-console
sources:
- https://github.com/clastix/kamaji-console
type: application
urls:
- assets/clastix/kamaji-console-0.0.4.tgz
version: 0.0.4
- annotations:
catalog.cattle.io/certified: partner
catalog.cattle.io/display-name: Kamaji Console
catalog.cattle.io/kube-version: '>=1.21.0-0'
catalog.cattle.io/release-name: kamaji-console
apiVersion: v2
appVersion: v0.0.1
created: "2023-06-19T14:29:43.008419723+02:00"
description: Kamaji deploys and operates Kubernetes at scale with a fraction of
the operational burden. This chart install a console for Kamaji.
digest: 46002955458fc5fde4eb0ace6f3abfb9befe17d9b21734ed03786f11e0ed5d24
home: https://github.com/clastix/kamaji-console
icon: https://github.com/clastix/kamaji-console/raw/main/.github/images/icon.png
kubeVersion: '>=1.21.0-0'
maintainers:
- email: dario@tranchitella.eu
name: Dario Tranchitella
- email: me@bsctl.io
name: Adriano Pezzuto
name: kamaji-console
sources:
- https://github.com/clastix/kamaji-console
type: application
urls:
- assets/clastix/kamaji-console-0.0.3.tgz
version: 0.0.3
kibana:
- annotations:
catalog.cattle.io/certified: partner