diff --git a/.github/workflows/controller-build.yml b/.github/workflows/controller-build.yml index 47a20b681..767dd272c 100644 --- a/.github/workflows/controller-build.yml +++ b/.github/workflows/controller-build.yml @@ -250,6 +250,12 @@ jobs: if [[ -f charts/${MODULE_PATH}/values.yaml ]]; then sed -i -E "s;(${OLD_DOCKER_REPO}|${GHCR_DOCKER_REPO}):[^[:space:]\"']*;${NEW_DOCKER_IMAGE};" charts/${MODULE_PATH}/values.yaml fi + if [[ -f charts/${MODULE_NAME}/values.yaml ]]; then + sed -i -E "s;(${OLD_DOCKER_REPO}|${GHCR_DOCKER_REPO}):[^[:space:]\"']*;${NEW_DOCKER_IMAGE};" charts/${MODULE_NAME}/values.yaml + fi + if [[ -f charts/${MODULE_NAME}-controller/values.yaml ]]; then + sed -i -E "s;(${OLD_DOCKER_REPO}|${GHCR_DOCKER_REPO}):[^[:space:]\"']*;${NEW_DOCKER_IMAGE};" charts/${MODULE_NAME}-controller/values.yaml + fi sudo rm -rf registry echo "Building ${TAG}-amd64" sudo sealos build -t "${TAG}-amd64" --platform linux/amd64 -f Kubefile @@ -265,6 +271,12 @@ jobs: if [[ -f charts/${MODULE_PATH}/values.yaml ]]; then sed -i -E "s;(${OLD_DOCKER_REPO}|${GHCR_DOCKER_REPO}):[^[:space:]\"']*;${NEW_DOCKER_IMAGE};" charts/${MODULE_PATH}/values.yaml fi + if [[ -f charts/${MODULE_NAME}/values.yaml ]]; then + sed -i -E "s;(${OLD_DOCKER_REPO}|${GHCR_DOCKER_REPO}):[^[:space:]\"']*;${NEW_DOCKER_IMAGE};" charts/${MODULE_NAME}/values.yaml + fi + if [[ -f charts/${MODULE_NAME}-controller/values.yaml ]]; then + sed -i -E "s;(${OLD_DOCKER_REPO}|${GHCR_DOCKER_REPO}):[^[:space:]\"']*;${NEW_DOCKER_IMAGE};" charts/${MODULE_NAME}-controller/values.yaml + fi sudo rm -rf registry echo "Building ${TAG}-arm64" sudo sealos build -t "${TAG}-arm64" --platform linux/arm64 -f Kubefile diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml index 0069d9bbf..55a922906 100644 --- a/.github/workflows/frontend.yml +++ b/.github/workflows/frontend.yml @@ -284,6 +284,9 @@ jobs: if [[ -f charts/${MODULE_NAME}/values.yaml ]]; then sed -i -E "s;(${OLD_DOCKER_REPO}|${GHCR_DOCKER_REPO}):[^[:space:]\"']*;${NEW_DOCKER_IMAGE};" charts/${MODULE_NAME}/values.yaml fi + if [[ -f charts/${MODULE_NAME}-frontend/values.yaml ]]; then + sed -i -E "s;(${OLD_DOCKER_REPO}|${GHCR_DOCKER_REPO}):[^[:space:]\"']*;${NEW_DOCKER_IMAGE};" charts/${MODULE_NAME}-frontend/values.yaml + fi sudo rm -rf registry echo "Building ${TAG}-amd64" sudo sealos build -t "${TAG}-amd64" --platform linux/amd64 -f Kubefile @@ -299,6 +302,9 @@ jobs: if [[ -f charts/${MODULE_NAME}/values.yaml ]]; then sed -i -E "s;(${OLD_DOCKER_REPO}|${GHCR_DOCKER_REPO}):[^[:space:]\"']*;${NEW_DOCKER_IMAGE};" charts/${MODULE_NAME}/values.yaml fi + if [[ -f charts/${MODULE_NAME}-frontend/values.yaml ]]; then + sed -i -E "s;(${OLD_DOCKER_REPO}|${GHCR_DOCKER_REPO}):[^[:space:]\"']*;${NEW_DOCKER_IMAGE};" charts/${MODULE_NAME}-frontend/values.yaml + fi sudo rm -rf registry echo "Building ${TAG}-arm64" sudo sealos build -t "${TAG}-arm64" --platform linux/arm64 -f Kubefile diff --git a/controllers/job/init/deploy/charts/job-init/templates/job.yaml b/controllers/job/init/deploy/charts/job-init/templates/job.yaml index 8cc7ad3bc..c88e9ff03 100644 --- a/controllers/job/init/deploy/charts/job-init/templates/job.yaml +++ b/controllers/job/init/deploy/charts/job-init/templates/job.yaml @@ -34,6 +34,14 @@ spec: image: "{{ .Values.image }}" imagePullPolicy: {{ .Values.imagePullPolicy }} env: + - name: LOCAL_REGION + value: {{.Values.env.localRegion}} + - name: DOMAIN + value: {{.Values.env.domain}} + - name: GLOBAL_COCKROACH_URI + value: {{.Values.env.globalCockroachUri}} + - name: LOCAL_COCKROACH_URI + value: {{.Values.env.localCockroachUri}} - name: PASSWORD_SALT value: {{ .Values.env.passwordSalt | quote }} - name: ADMIN_PASSWORD @@ -42,11 +50,6 @@ spec: value: {{ .Values.env.adminUserName | quote }} - name: WORKSPACE_PREFIX value: {{ .Values.env.workspacePrefix | quote }} - {{- if .Values.env.envFromConfigMap }} - envFrom: - - configMapRef: - name: {{ .Values.env.envFromConfigMap | quote }} - {{- end }} resources: {{- toYaml .Values.resources | nindent 12 }} {{- with .Values.nodeSelector }} diff --git a/controllers/job/init/deploy/charts/job-init/values.yaml b/controllers/job/init/deploy/charts/job-init/values.yaml index 42a2726de..43e215bbd 100644 --- a/controllers/job/init/deploy/charts/job-init/values.yaml +++ b/controllers/job/init/deploy/charts/job-init/values.yaml @@ -32,7 +32,10 @@ env: adminPassword: "sealos2023" adminUserName: "admin" workspacePrefix: "ns-" - envFromConfigMap: "account-manager-env" + domain: "" + globalCockroachUri: "" + localCockroachUri: "" + localRegion: "" resources: limits: diff --git a/controllers/job/init/deploy/job-init-entrypoint.sh b/controllers/job/init/deploy/job-init-entrypoint.sh index 2ebe0500d..e5777abe2 100755 --- a/controllers/job/init/deploy/job-init-entrypoint.sh +++ b/controllers/job/init/deploy/job-init-entrypoint.sh @@ -58,6 +58,7 @@ get_or_generate_admin_password() { HELM_SET_ARGS=() +PASSWORD_SALT=$(kubectl get cm -n sealos-system sealos-config -o "jsonpath={.data.passwordSalt}" 2>/dev/null || true) # 处理密码盐值 if [ -n "${PASSWORD_SALT:-}" ]; then add_set_string env.passwordSalt "${PASSWORD_SALT}" @@ -68,13 +69,11 @@ ADMIN_PASSWORD=$(get_or_generate_admin_password) add_set_string env.adminPassword "${ADMIN_PASSWORD}" # 打印密码信息(如果是从 ConfigMap 读取或自动生成的) -if [ -z "${ADMIN_PASSWORD:-}" ]; then - echo "==========================================" - echo "Admin Password: ${ADMIN_PASSWORD}" - echo "Password saved to ConfigMap: ${ADMIN_PASSWORD_CM_NAME} in namespace ${ADMIN_PASSWORD_CM_NAMESPACE}" - echo "Retrieve with: kubectl get cm ${ADMIN_PASSWORD_CM_NAME} -n ${ADMIN_PASSWORD_CM_NAMESPACE} -o jsonpath='{.data.${ADMIN_PASSWORD_CM_KEY}}'" - echo "==========================================" -fi +echo "==========================================" +echo "Admin Password: ${ADMIN_PASSWORD}" +echo "Password saved to ConfigMap: ${ADMIN_PASSWORD_CM_NAME} in namespace ${ADMIN_PASSWORD_CM_NAMESPACE}" +echo "Retrieve with: kubectl get cm ${ADMIN_PASSWORD_CM_NAME} -n ${ADMIN_PASSWORD_CM_NAMESPACE} -o jsonpath='{.data.${ADMIN_PASSWORD_CM_KEY}}'" +echo "==========================================" if [ -n "${ADMIN_USER_NAME:-}" ]; then add_set_string env.adminUserName "${ADMIN_USER_NAME}" @@ -90,6 +89,16 @@ if [ -n "${JOB_INIT_SERVICE_ACCOUNT:-}" ]; then add_set_string serviceAccount.name "${JOB_INIT_SERVICE_ACCOUNT}" fi +SEALOS_CLOUD_DOMAIN=$(kubectl get configmap sealos-config -n sealos-system -o jsonpath='{.data.cloudDomain}') +varDatabaseGlobalCockroachdbURI=$(kubectl get configmap sealos-config -n sealos-system -o jsonpath='{.data.databaseGlobalCockroachdbURI}') +varDatabaseLocalCockroachdbURI=$(kubectl get configmap sealos-config -n sealos-system -o jsonpath='{.data.databaseLocalCockroachdbURI}') +varRegionUID=$(kubectl get configmap sealos-config -n sealos-system -o jsonpath='{.data.regionUID}') + +add_set_string env.domain "${SEALOS_CLOUD_DOMAIN}" +add_set_string env.globalCockroachUri "${varDatabaseGlobalCockroachdbURI}" +add_set_string env.localCockroachUri "${varDatabaseLocalCockroachdbURI}" +add_set_string env.localRegion "${varRegionUID}" + if kubectl -n "${RELEASE_NAMESPACE}" get job "${JOB_NAME}" >/dev/null 2>&1; then kubectl -n "${RELEASE_NAMESPACE}" delete job "${JOB_NAME}" --ignore-not-found --wait=true fi