From dec95d9c946eeecbd77871e68701283352cbcc62 Mon Sep 17 00:00:00 2001 From: yy <56745951+lingdie@users.noreply.github.com> Date: Mon, 13 May 2024 16:26:54 +0800 Subject: [PATCH] chore: update sealos cloud cluster image to adapt desktop using config (#4730) * chore: update sealos cloud cluster image to adapt desktop using yaml as config. Signed-off-by: yy Signed-off-by: yy * chore: update sealos cloud cluster image to adapt desktop using yaml as config. Signed-off-by: yy Signed-off-by: yy * chore: update sealos cloud cluster image to adapt desktop using yaml as config. Signed-off-by: yy Signed-off-by: yy * chore: update sealos cloud cluster image to adapt desktop using yaml as config. Signed-off-by: yy Signed-off-by: yy --------- Signed-off-by: yy --- deploy/cloud/scripts/init.sh | 21 ++----- frontend/desktop/deploy/Kubefile | 5 ++ .../desktop/deploy/manifests/configmap.yaml | 55 ------------------- .../deploy/manifests/configmap.yaml.tmpl | 23 ++++---- frontend/desktop/deploy/scripts/init.sh | 5 +- 5 files changed, 25 insertions(+), 84 deletions(-) delete mode 100644 frontend/desktop/deploy/manifests/configmap.yaml rename deploy/cloud/etc/sealos/desktop-config.yaml => frontend/desktop/deploy/manifests/configmap.yaml.tmpl (77%) diff --git a/deploy/cloud/scripts/init.sh b/deploy/cloud/scripts/init.sh index 2ea607077..e1795eb75 100644 --- a/deploy/cloud/scripts/init.sh +++ b/deploy/cloud/scripts/init.sh @@ -35,9 +35,6 @@ function prepare { # gen regionUID if not set or not found in secret gen_regionUID - # mutate desktop config - mutate_desktop_config - # create tls secret create_tls_secret } @@ -152,18 +149,6 @@ function gen_regionUID(){ fi } -function mutate_desktop_config() { - # mutate etc/sealos/desktop-config.yaml by using mongodb uri and two random string - sed -i -e "s;;$(echo -n "${mongodbUri}/sealos-auth?authSource=admin");" etc/sealos/desktop-config.yaml - sed -i -e "s;;$(tr -cd 'a-z0-9' ;$(tr -cd 'a-z0-9' ;$(tr -cd 'a-z0-9' ;$saltKey;" etc/sealos/desktop-config.yaml - sed -i -e "s;;$(echo -n "${cockroachdbLocalUri}");" etc/sealos/desktop-config.yaml - sed -i -e "s;;$(echo -n "${cockroachdbGlobalUri}");" etc/sealos/desktop-config.yaml - sed -i -e "s;;$(echo -n "${localRegionUID}");" etc/sealos/desktop-config.yaml -} - function create_tls_secret { if grep -q $tlsCrtPlaceholder manifests/tls-secret.yaml; then echo "mock tls secret" @@ -182,7 +167,11 @@ function sealos_run_desktop { --env cloudPort="$cloudPort" \ --env certSecretName="wildcard-cert" \ --env passwordEnabled="true" \ - --config-file etc/sealos/desktop-config.yaml + --env passwordSalt="$saltKey" \ + --env regionUID="$localRegionUID" \ + --env databaseMongodbURI="${mongodbUri}/sealos-auth?authSource=admin" \ + --env databaseLocalCockroachdbURI="$cockroachdbLocalUri" \ + --env databaseGlobalCockroachdbURI="$cockroachdbGlobalUri" } function sealos_run_controller { diff --git a/frontend/desktop/deploy/Kubefile b/frontend/desktop/deploy/Kubefile index 19705c8fc..cb8685bde 100644 --- a/frontend/desktop/deploy/Kubefile +++ b/frontend/desktop/deploy/Kubefile @@ -8,5 +8,10 @@ COPY scripts scripts ENV cloudDomain="127.0.0.1.nip.io" ENV cloudPort="" ENV certSecretName="wildcard-cert" +ENV regionUID="randomRegionUID" +ENV databaseMongodbURI="" +ENV databaseGlobalCockroachdbURI="" +ENV databaseLocalCockroachdbURI="" +ENV passwordSalt="randomSalt" CMD ["bash scripts/init.sh"] diff --git a/frontend/desktop/deploy/manifests/configmap.yaml b/frontend/desktop/deploy/manifests/configmap.yaml deleted file mode 100644 index ae98deaea..000000000 --- a/frontend/desktop/deploy/manifests/configmap.yaml +++ /dev/null @@ -1,55 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: desktop-frontend-config - namespace: sealos -data: - config.yaml : | - apiVersion: v1 - kind: ConfigMap - metadata: - name: desktop-frontend-config - namespace: sealos - data: - config.yaml : | - cloud: - domain: "{{ .cloudDomain }}" - port: "{{ .cloudPort }}" - regionUID: "" - certSecretName: "{{ .certSecretName }}" - common: - guideEnabled: "false" - apiEnabled: "false" - rechargeEnabled: "false" - cfSiteKey: "" - database: - mongodbURI: "" - globalCockroachdbURI: "" - regionalCockroachdbURI: "" - desktop: - layout: - title: "Sealos Cloud" - logo: "/logo.png" - backgroundImage: "/images/bg-blue.svg" - meta: - title: "Sealos Cloud" - description: "Sealos Cloud" - keywords: "Sealos Cloud" - scripts: [] - common: - githubStarEnabled: "true" - auth: - proxyAddress: "" - callbackURL: "https://{{ .cloudDomain }}{{ if .cloudPort }}:{{ .cloudPort }}{{ end }}/callback" - signUpEnabled: "true" - baiduToken: "" - invite: - enabled: "false" - jwt: - internal: "" - regional: "" - global: "" - idp: - password: - enabled: "true" - salt: "" \ No newline at end of file diff --git a/deploy/cloud/etc/sealos/desktop-config.yaml b/frontend/desktop/deploy/manifests/configmap.yaml.tmpl similarity index 77% rename from deploy/cloud/etc/sealos/desktop-config.yaml rename to frontend/desktop/deploy/manifests/configmap.yaml.tmpl index 6564d29b5..1159bc6c2 100644 --- a/deploy/cloud/etc/sealos/desktop-config.yaml +++ b/frontend/desktop/deploy/manifests/configmap.yaml.tmpl @@ -1,11 +1,10 @@ -apiVersion: apps.sealos.io/v1beta1 -kind: Config +apiVersion: v1 +kind: ConfigMap metadata: - name: secret -spec: - path: manifests/configmap.yaml - strategy: override - data: | + name: desktop-frontend-config + namespace: sealos +data: + config.yaml : | apiVersion: v1 kind: ConfigMap metadata: @@ -16,7 +15,7 @@ spec: cloud: domain: "{{ .cloudDomain }}" port: "{{ .cloudPort }}" - regionUID: "" + regionUID: "{{ .regionUID }}" certSecretName: "{{ .certSecretName }}" common: guideEnabled: "false" @@ -24,9 +23,9 @@ spec: rechargeEnabled: "false" cfSiteKey: "" database: - mongodbURI: "" - globalCockroachdbURI: "" - regionalCockroachdbURI: "" + mongodbURI: "{{ .databaseMongodbURI }}" + globalCockroachdbURI: "{{ .databaseGlobalCockroachdbURI }}" + regionalCockroachdbURI: "{{ .databaseLocalCockroachdbURI }}" desktop: layout: title: "Sealos Cloud" @@ -53,4 +52,4 @@ spec: idp: password: enabled: "true" - salt: "" \ No newline at end of file + salt: "{{ .passwordSalt }}" \ No newline at end of file diff --git a/frontend/desktop/deploy/scripts/init.sh b/frontend/desktop/deploy/scripts/init.sh index 348348275..f8df52ff9 100644 --- a/frontend/desktop/deploy/scripts/init.sh +++ b/frontend/desktop/deploy/scripts/init.sh @@ -2,9 +2,12 @@ set -ex kubectl apply -f manifests/deploy.yaml -f manifests/rbac.yaml -f manifests/ingress.yaml cm_exists=$(kubectl get cm desktop-frontend-config -n sealos --ignore-not-found=true) -if [[ -n "cm_exists" ]]; then +if [[ -n "$cm_exists" ]]; then echo "desktop-frontend-config already exists, skip create desktop config" else echo "create desktop config" + sed -i -e "s;;$(tr -cd 'a-z0-9' ;$(tr -cd 'a-z0-9' ;$(tr -cd 'a-z0-9'