fix: launch.yaml use app parameterValues

This commit is contained in:
twwy 2022-09-04 18:32:41 +08:00
parent 214bd5fdf5
commit 0bb6148a23
2 changed files with 41 additions and 30 deletions

View File

@ -16,26 +16,14 @@ spec:
toFieldPaths:
- spec.replicas
value: 1
- name: Global.ES_PASSWORD
value: ${DATA_ES_PASSWORD}
- name: Global.DB_NAME
value: sreworks_saas_job
- name: Global.REDIS_HOST
value: '{{ env.APPMANAGER_REDIS_HOST }}'
- name: Global.REDIS_PORT
value: '{{ env.APPMANAGER_REDIS_PORT }}'
- name: Global.REDIS_DATABASE
value: '0'
- name: Global.REDIS_PASSWORD
value: '{{ env.APPMANAGER_REDIS_PASSWORD }}'
- name: Global.ES_USERNAME
value: ${DATA_ES_USER}
- name: Global.JVM_XMX
value: 1g
- name: Global.JVM_XMS
value: 1g
- name: Global.ES_ENDPOINT
value: http://${DATA_ES_HOST}:${DATA_ES_PORT}
revisionName: K8S_MICROSERVICE|job-master|_
scopes:
- scopeRef:
@ -65,18 +53,12 @@ spec:
toFieldPaths:
- spec.replicas
value: 1
- name: Global.ES_PASSWORD
value: ${DATA_ES_PASSWORD}
- name: Global.SREWORKS_JOB_MASTER_ENDPOINT
value: http://prod-job-job-master
- name: Global.ES_ENDPOINT
value: http://${DATA_ES_HOST}:${DATA_ES_PORT}
- name: Global.JVM_XMX
value: 1g
- name: Global.JVM_XMS
value: 1g
- name: Global.ES_USERNAME
value: ${DATA_ES_USER}
revisionName: K8S_MICROSERVICE|job-worker|_
scopes:
- scopeRef:
@ -171,7 +153,25 @@ spec:
scopes: []
stageId: ''
traits: []
parameterValues: []
parameterValues:
- name: ES_PASSWORD
value: ${DATA_ES_PASSWORD}
- name: REDIS_HOST
value: '{{ env.APPMANAGER_REDIS_HOST }}'
- name: REDIS_PORT
value: '{{ env.APPMANAGER_REDIS_PORT }}'
- name: REDIS_PASSWORD
value: '{{ env.APPMANAGER_REDIS_PASSWORD }}'
- name: ES_USERNAME
value: ${DATA_ES_USER}
- name: ES_ENDPOINT
value: http://${DATA_ES_HOST}:${DATA_ES_PORT}
- name: ES_PASSWORD
value: ${DATA_ES_PASSWORD}
- name: ES_ENDPOINT
value: http://${DATA_ES_HOST}:${DATA_ES_PORT}
- name: ES_USERNAME
value: ${DATA_ES_USER}
policies: []
workflow:
steps: []

View File

@ -18,13 +18,17 @@ except ImportError:
self_path = os.path.split(os.path.realpath(__file__))[0]
VALUES_MAP = {
"REDIS_HOST": '{{ env.APPMANAGER_REDIS_HOST }}',
"REDIS_PORT": '{{ env.APPMANAGER_REDIS_PORT }}',
"REDIS_PASSWORD": '{{ env.APPMANAGER_REDIS_PASSWORD }}',
"NAMESPACE_ID": '${NAMESPACE_ID}',
"ES_ENDPOINT": 'http://${DATA_ES_HOST}:${DATA_ES_PORT}',
"ES_USERNAME": '${DATA_ES_USER}',
"ES_PASSWORD": '${DATA_ES_PASSWORD}',
"appParameterValues":{
"REDIS_HOST": '{{ env.APPMANAGER_REDIS_HOST }}',
"REDIS_PORT": '{{ env.APPMANAGER_REDIS_PORT }}',
"REDIS_PASSWORD": '{{ env.APPMANAGER_REDIS_PASSWORD }}',
"ES_ENDPOINT": 'http://${DATA_ES_HOST}:${DATA_ES_PORT}',
"ES_USERNAME": '${DATA_ES_USER}',
"ES_PASSWORD": '${DATA_ES_PASSWORD}',
"NAMESPACE_ID": '${NAMESPACE_ID}',
},
"componentParameterValues":{
}
}
@ -32,12 +36,18 @@ def values_tpl_replace(launchYAML):
launchYAML['metadata']['annotations']['namespaceId'] = '${NAMESPACE_ID}'
launchYAML['metadata']['annotations']['clusterId'] = 'master'
launchYAML['metadata']['annotations']['stageId'] = 'prod'
for component in launchYAML["spec"]["components"]:
newParameterValues = []
for value in component["parameterValues"]:
if value["name"] in VALUES_MAP:
value["value"] = VALUES_MAP[value["name"]]
elif value["name"].replace("Global.",'') in VALUES_MAP:
value["value"] = VALUES_MAP[value["name"].replace("Global.",'')]
# 如果该变量在app级别存在则使用app级别的且component级别不展示变量
valueName = value["name"].replace("Global.",'')
if valueName in VALUES_MAP["appParameterValues"]:
launchYAML["spec"]["parameterValues"].append({"name": valueName, "value": VALUES_MAP["appParameterValues"][valueName]})
else:
newParameterValues.append(value)
component["parameterValues"] = newParameterValues
def download(url):
if hasattr(urllib, "urlretrieve"):
@ -100,6 +110,7 @@ for buildIn in builtInList:
"name": buildIn["appId"],
},
"spec":{
"parameterValues": [],
"components": [],
"parameterValues": [],
"policies": [],