From 6c73e3f3ae841ad144fa18aa28a7d231b3ab63cd Mon Sep 17 00:00:00 2001 From: Floppy Disk Date: Thu, 20 Feb 2025 15:23:54 +0300 Subject: [PATCH] feature/mv-kubeconfig --- packages/apps/tenant/Chart.yaml | 2 +- packages/apps/tenant/templates/info.yaml | 27 +++++++++++++++++++ packages/apps/tenant/templates/tenant.yaml | 1 + packages/apps/versions_map | 3 ++- packages/extra/info/.helmignore | 2 ++ packages/extra/info/Chart.yaml | 6 +++++ packages/extra/info/Makefile | 3 +++ packages/extra/info/README.md | 18 +++++++++++++ packages/extra/info/logos/info.svg | 13 +++++++++ .../templates/dashboard-resourcemap.yaml | 5 ++-- .../info}/templates/kubeconfig.yaml | 9 +++---- packages/extra/info/values.schema.json | 1 + packages/extra/info/values.yaml | 0 packages/extra/versions_map | 1 + .../cozystack-api/templates/configmap.yaml | 14 ++++++++++ packages/system/dashboard/values.yaml | 14 ++++++++++ 16 files changed, 109 insertions(+), 10 deletions(-) create mode 100644 packages/apps/tenant/templates/info.yaml create mode 100644 packages/extra/info/.helmignore create mode 100644 packages/extra/info/Chart.yaml create mode 100644 packages/extra/info/Makefile create mode 100644 packages/extra/info/README.md create mode 100644 packages/extra/info/logos/info.svg rename packages/{apps/tenant => extra/info}/templates/dashboard-resourcemap.yaml (53%) rename packages/{apps/tenant => extra/info}/templates/kubeconfig.yaml (87%) create mode 100644 packages/extra/info/values.schema.json create mode 100644 packages/extra/info/values.yaml diff --git a/packages/apps/tenant/Chart.yaml b/packages/apps/tenant/Chart.yaml index dfaabd5a3..d8f2853ad 100644 --- a/packages/apps/tenant/Chart.yaml +++ b/packages/apps/tenant/Chart.yaml @@ -4,4 +4,4 @@ description: Separated tenant namespace icon: /logos/tenant.svg type: application -version: 1.6.8 +version: 1.7.0 diff --git a/packages/apps/tenant/templates/info.yaml b/packages/apps/tenant/templates/info.yaml new file mode 100644 index 000000000..08e323298 --- /dev/null +++ b/packages/apps/tenant/templates/info.yaml @@ -0,0 +1,27 @@ +{{- $cozyConfig := lookup "v1" "ConfigMap" "cozy-system" "cozystack" }} +{{- $oidcEnabled := index $cozyConfig.data "oidc-enabled" }} +{{- if $oidcEnabled }} +apiVersion: helm.toolkit.fluxcd.io/v2 +kind: HelmRelease +metadata: + name: info + namespace: {{ include "tenant.name" . }} + annotations: + helm.sh/resource-policy: keep + labels: + cozystack.io/ui: "true" + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +spec: + chart: + spec: + chart: info + reconcileStrategy: Revision + sourceRef: + kind: HelmRepository + name: cozystack-extra + namespace: cozy-public + version: "*" + interval: 1m0s + timeout: 5m0s +{{- end }} diff --git a/packages/apps/tenant/templates/tenant.yaml b/packages/apps/tenant/templates/tenant.yaml index 7aecc7935..b9e1e497d 100644 --- a/packages/apps/tenant/templates/tenant.yaml +++ b/packages/apps/tenant/templates/tenant.yaml @@ -272,6 +272,7 @@ rules: - virtualmachines - vmdisks - vminstances + - infos verbs: - get - list diff --git a/packages/apps/versions_map b/packages/apps/versions_map index b86592124..cd962870a 100644 --- a/packages/apps/versions_map +++ b/packages/apps/versions_map @@ -102,7 +102,8 @@ tenant 1.6.4 3c9e50a4 tenant 1.6.5 f1e11451 tenant 1.6.6 d4634797 tenant 1.6.7 06afcf27 -tenant 1.6.8 HEAD +tenant 1.6.8 4cc48e6f +tenant 1.7.0 HEAD virtual-machine 0.1.4 f2015d6 virtual-machine 0.1.5 7cd7de7 virtual-machine 0.2.0 5ca8823 diff --git a/packages/extra/info/.helmignore b/packages/extra/info/.helmignore new file mode 100644 index 000000000..62e0c0512 --- /dev/null +++ b/packages/extra/info/.helmignore @@ -0,0 +1,2 @@ +.helmignore +/logos diff --git a/packages/extra/info/Chart.yaml b/packages/extra/info/Chart.yaml new file mode 100644 index 000000000..2865c6df8 --- /dev/null +++ b/packages/extra/info/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v2 +name: info +description: Info +icon: /logos/info.svg +type: application +version: 1.0.0 diff --git a/packages/extra/info/Makefile b/packages/extra/info/Makefile new file mode 100644 index 000000000..86ce0edea --- /dev/null +++ b/packages/extra/info/Makefile @@ -0,0 +1,3 @@ +NAME=etcd + +include ../../../scripts/package.mk diff --git a/packages/extra/info/README.md b/packages/extra/info/README.md new file mode 100644 index 000000000..e361cfe61 --- /dev/null +++ b/packages/extra/info/README.md @@ -0,0 +1,18 @@ +# Info + +### Kubeconfig for tenant + +### Kubelogin + +For using kubeconfig need install kubelogin. + +```bash +# Homebrew (macOS and Linux) +brew install int128/kubelogin/kubelogin + +# Krew (macOS, Linux, Windows and ARM) +kubectl krew install oidc-login + +# Chocolatey (Windows) +choco install kubelogin +``` diff --git a/packages/extra/info/logos/info.svg b/packages/extra/info/logos/info.svg new file mode 100644 index 000000000..c5edee825 --- /dev/null +++ b/packages/extra/info/logos/info.svg @@ -0,0 +1,13 @@ + + + + + + + + \ No newline at end of file diff --git a/packages/apps/tenant/templates/dashboard-resourcemap.yaml b/packages/extra/info/templates/dashboard-resourcemap.yaml similarity index 53% rename from packages/apps/tenant/templates/dashboard-resourcemap.yaml rename to packages/extra/info/templates/dashboard-resourcemap.yaml index 9020b8a0e..e0dccc232 100644 --- a/packages/apps/tenant/templates/dashboard-resourcemap.yaml +++ b/packages/extra/info/templates/dashboard-resourcemap.yaml @@ -1,13 +1,12 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: - name: {{ include "tenant.name" . }}-dashboard-resources - namespace: {{ .Release.namespace }} + name: info-dashboard-resources rules: - apiGroups: - "" resources: - secrets resourceNames: - - kubeconfig-{{ include "tenant.name" . }} + - kubeconfig-{{ .Release.Namespace }} verbs: ["get", "list", "watch"] diff --git a/packages/apps/tenant/templates/kubeconfig.yaml b/packages/extra/info/templates/kubeconfig.yaml similarity index 87% rename from packages/apps/tenant/templates/kubeconfig.yaml rename to packages/extra/info/templates/kubeconfig.yaml index 85a2acd16..ff8127d2e 100644 --- a/packages/apps/tenant/templates/kubeconfig.yaml +++ b/packages/extra/info/templates/kubeconfig.yaml @@ -15,8 +15,7 @@ apiVersion: v1 kind: Secret metadata: - name: kubeconfig-{{ include "tenant.name" . }} - namespace: tenant-root + name: kubeconfig-{{ .Release.Namespace }} stringData: kubeconfig: | apiVersion: v1 @@ -28,10 +27,10 @@ stringData: contexts: - context: cluster: cluster - namespace: {{ include "tenant.name" . }} + namespace: {{ .Release.Namespace }} user: keycloak - name: {{ include "tenant.name" . }} - current-context: {{ include "tenant.name" . }} + name: {{ .Release.Namespace }} + current-context: {{ .Release.Namespace }} users: - name: keycloak user: diff --git a/packages/extra/info/values.schema.json b/packages/extra/info/values.schema.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/packages/extra/info/values.schema.json @@ -0,0 +1 @@ +{} diff --git a/packages/extra/info/values.yaml b/packages/extra/info/values.yaml new file mode 100644 index 000000000..e69de29bb diff --git a/packages/extra/versions_map b/packages/extra/versions_map index a2cf6af8c..bc18c57e4 100644 --- a/packages/extra/versions_map +++ b/packages/extra/versions_map @@ -7,6 +7,7 @@ etcd 2.2.0 5ca8823 etcd 2.3.0 b908400d etcd 2.4.0 cb7b8158 etcd 2.5.0 HEAD +info 1.0.0 HEAD ingress 1.0.0 f642698 ingress 1.1.0 838bee5d ingress 1.2.0 ced8e5b diff --git a/packages/system/cozystack-api/templates/configmap.yaml b/packages/system/cozystack-api/templates/configmap.yaml index f8514d00b..8fccd4270 100644 --- a/packages/system/cozystack-api/templates/configmap.yaml +++ b/packages/system/cozystack-api/templates/configmap.yaml @@ -314,3 +314,17 @@ data: kind: HelmRepository name: cozystack-extra namespace: cozy-public + - application: + kind: Info + plural: infos + singular: info + release: + prefix: "" + labels: + cozystack.io/ui: "true" + chart: + name: info + sourceRef: + kind: HelmRepository + name: cozystack-extra + namespace: cozy-public diff --git a/packages/system/dashboard/values.yaml b/packages/system/dashboard/values.yaml index 7a0840aab..c1252dc54 100644 --- a/packages/system/dashboard/values.yaml +++ b/packages/system/dashboard/values.yaml @@ -361,3 +361,17 @@ kubeapps: kind: HelmRepository name: cozystack-extra namespace: cozy-public + - application: + kind: Info + plural: infos + singular: info + release: + prefix: "" + labels: + cozystack.io/ui: "true" + chart: + name: info + sourceRef: + kind: HelmRepository + name: cozystack-extra + namespace: cozy-public