diff --git a/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/Namespaces/monitoring-origin/namespace.yml b/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/Namespaces/monitoring-origin/namespace.yml index d794157dc..9bcb4ddc9 100644 --- a/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/Namespaces/monitoring-origin/namespace.yml +++ b/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/Namespaces/monitoring-origin/namespace.yml @@ -13,6 +13,14 @@ profile: name: "dev_bss_override" baseline: "dev" deployParameters: + server_port: 8080 + app_version: "3.0" + ssl_enabled: true + debug_mode_test: "true" + api_port: ${server_port} + service_version: ${app_version} + use_ssl: ${ssl_enabled} + log_level: ${debug_mode_test} ENVGENE_CONFIG_REF_NAME: "branch_name" ENVGENE_CONFIG_TAG: "No Ref tag" KMS_CERT_IN_BASE64: "${creds.get( \"kms-cert\" ).secret}" # paramset: test-deploy-creds version: 1 source: template diff --git a/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/effective-set/cleanup/monitoring-origin/parameters.yaml b/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/effective-set/cleanup/monitoring-origin/parameters.yaml index 466dd98f9..3b281204b 100644 --- a/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/effective-set/cleanup/monitoring-origin/parameters.yaml +++ b/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/effective-set/cleanup/monitoring-origin/parameters.yaml @@ -73,9 +73,37 @@ TRACING_HOST: tracing-agent TRACING_UI_URL: https://cluster-01.qubership.org ZOOKEEPER_ADDRESS: zookeeper.zookeeper:2181 ZOOKEEPER_URL: zookeeper.zookeeper:2181 +api_config: + connection: + host: db.example.com + port: 5432 +api_port: 8080 +app_version: '3.0' bss-app-exist: false core: apps: volumes: outputs: capacity: 20Gi +database_config: + connection: + host: db.example.com + port: 5432 +debug_mode_test: 'true' +log_level: 'true' +rendered_template: |- + services: + api: + image: api:latest + ports: + - 8080:8080 +server_port: 8080 +service_version: '3.0' +ssl_enabled: true +use_ssl: true +yaml_template: |- + services: + api: + image: api:latest + ports: + - 8080:8080 diff --git a/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/effective-set/cleanup/pg/parameters.yaml b/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/effective-set/cleanup/pg/parameters.yaml index 38eb6ae59..bfdf1880c 100644 --- a/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/effective-set/cleanup/pg/parameters.yaml +++ b/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/effective-set/cleanup/pg/parameters.yaml @@ -68,3 +68,23 @@ TRACING_HOST: tracing-agent TRACING_UI_URL: https://cluster-01.qubership.org ZOOKEEPER_ADDRESS: zookeeper.zookeeper:2181 ZOOKEEPER_URL: zookeeper.zookeeper:2181 +api_config: + connection: + host: db.example.com + port: 5432 +database_config: + connection: + host: db.example.com + port: 5432 +rendered_template: |- + services: + api: + image: api:latest + ports: + - 8080:8080 +yaml_template: |- + services: + api: + image: api:latest + ports: + - 8080:8080 diff --git a/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/effective-set/deployment/monitoring-origin/MONITORING/values/deployment-parameters.yaml b/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/effective-set/deployment/monitoring-origin/MONITORING/values/deployment-parameters.yaml index d0aaf505b..2bf96010b 100644 --- a/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/effective-set/deployment/monitoring-origin/MONITORING/values/deployment-parameters.yaml +++ b/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/effective-set/deployment/monitoring-origin/MONITORING/values/deployment-parameters.yaml @@ -74,13 +74,41 @@ TRACING_HOST: tracing-agent TRACING_UI_URL: https://cluster-01.qubership.org ZOOKEEPER_ADDRESS: zookeeper.zookeeper:2181 ZOOKEEPER_URL: zookeeper.zookeeper:2181 +api_config: &id001 + connection: + host: db.example.com + port: 5432 +api_port: 8080 +app_version: '3.0' bss-app-exist: false -core: &id001 +core: &id002 apps: volumes: outputs: capacity: 20Gi -global: &id002 +database_config: &id003 + connection: + host: db.example.com + port: 5432 +debug_mode_test: 'true' +log_level: 'true' +rendered_template: |- + services: + api: + image: api:latest + ports: + - 8080:8080 +server_port: 8080 +service_version: '3.0' +ssl_enabled: true +use_ssl: true +yaml_template: |- + services: + api: + image: api:latest + ports: + - 8080:8080 +global: &id004 API_DBAAS_ADDRESS: http://dbaas.dbaas:8080 APPLICATION_NAME: MONITORING ARTIFACT_DESCRIPTOR_ARTIFACT_ID: prod.platform.system.monitoring_monitoring-operator @@ -157,50 +185,72 @@ global: &id002 TRACING_UI_URL: https://cluster-01.qubership.org ZOOKEEPER_ADDRESS: zookeeper.zookeeper:2181 ZOOKEEPER_URL: zookeeper.zookeeper:2181 + api_config: *id001 + api_port: 8080 + app_version: '3.0' bss-app-exist: false - core: *id001 -alertmanager: *id002 -blackbox-exporter: *id002 -cert-exporter: *id002 -cloud-events-exporter: *id002 -cloud-events-reader: *id002 -cloudwatch-exporter: *id002 -common-dashboards: *id002 -configmap-reload: *id002 -configurations-streamer: *id002 -grafana: *id002 -grafana-image-renderer: *id002 -grafana-operator: *id002 -grafana-plugins-init: *id002 -graphite-remote-adapter: *id002 -json-exporter: *id002 -kube-rbac-proxy: *id002 -kube-state-metrics: *id002 -monitoring-operator: *id002 -network-latency-exporter: *id002 -node-exporter: *id002 -oauth2-proxy: *id002 -platform_monitoring_tests: *id002 -prometheus: *id002 -prometheus-adapter: *id002 -prometheus-adapter-converter: *id002 -prometheus-adapter-operator: *id002 -prometheus-config-reloader: *id002 -prometheus-operator: *id002 -promitor-agent-resource-discovery: *id002 -promitor-agent-scraper: *id002 -promxy: *id002 -pushgateway: *id002 -stackdriver-exporter: *id002 -version-exporter: *id002 -victoriametrics-operator: *id002 -vmagent: *id002 -vmalert: *id002 -vmauth: *id002 -vmcleanup: *id002 -vminsert: *id002 -vmoperator: *id002 -vmoperator_config_reloader: *id002 -vmselect: *id002 -vmsingle: *id002 -vmstorage: *id002 + core: *id002 + database_config: *id003 + debug_mode_test: 'true' + log_level: 'true' + rendered_template: |- + services: + api: + image: api:latest + ports: + - 8080:8080 + server_port: 8080 + service_version: '3.0' + ssl_enabled: true + use_ssl: true + yaml_template: |- + services: + api: + image: api:latest + ports: + - 8080:8080 +alertmanager: *id004 +blackbox-exporter: *id004 +cert-exporter: *id004 +cloud-events-exporter: *id004 +cloud-events-reader: *id004 +cloudwatch-exporter: *id004 +common-dashboards: *id004 +configmap-reload: *id004 +configurations-streamer: *id004 +grafana: *id004 +grafana-image-renderer: *id004 +grafana-operator: *id004 +grafana-plugins-init: *id004 +graphite-remote-adapter: *id004 +json-exporter: *id004 +kube-rbac-proxy: *id004 +kube-state-metrics: *id004 +monitoring-operator: *id004 +network-latency-exporter: *id004 +node-exporter: *id004 +oauth2-proxy: *id004 +platform_monitoring_tests: *id004 +prometheus: *id004 +prometheus-adapter: *id004 +prometheus-adapter-converter: *id004 +prometheus-adapter-operator: *id004 +prometheus-config-reloader: *id004 +prometheus-operator: *id004 +promitor-agent-resource-discovery: *id004 +promitor-agent-scraper: *id004 +promxy: *id004 +pushgateway: *id004 +stackdriver-exporter: *id004 +version-exporter: *id004 +victoriametrics-operator: *id004 +vmagent: *id004 +vmalert: *id004 +vmauth: *id004 +vmcleanup: *id004 +vminsert: *id004 +vmoperator: *id004 +vmoperator_config_reloader: *id004 +vmselect: *id004 +vmsingle: *id004 +vmstorage: *id004 diff --git a/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/effective-set/deployment/pg/postgres/values/deployment-parameters.yaml b/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/effective-set/deployment/pg/postgres/values/deployment-parameters.yaml index c11ace9fc..dcbe130aa 100644 --- a/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/effective-set/deployment/pg/postgres/values/deployment-parameters.yaml +++ b/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/effective-set/deployment/pg/postgres/values/deployment-parameters.yaml @@ -69,7 +69,27 @@ TRACING_HOST: tracing-agent TRACING_UI_URL: https://cluster-01.qubership.org ZOOKEEPER_ADDRESS: zookeeper.zookeeper:2181 ZOOKEEPER_URL: zookeeper.zookeeper:2181 -global: &id001 +api_config: &id001 + connection: + host: db.example.com + port: 5432 +database_config: &id002 + connection: + host: db.example.com + port: 5432 +rendered_template: |- + services: + api: + image: api:latest + ports: + - 8080:8080 +yaml_template: |- + services: + api: + image: api:latest + ports: + - 8080:8080 +global: &id003 API_DBAAS_ADDRESS: http://dbaas.dbaas:8080 APPLICATION_NAME: postgres ARTIFACT_DESCRIPTOR_ARTIFACT_ID: prod.platform.ha.postgres @@ -141,10 +161,24 @@ global: &id001 TRACING_UI_URL: https://cluster-01.qubership.org ZOOKEEPER_ADDRESS: zookeeper.zookeeper:2181 ZOOKEEPER_URL: zookeeper.zookeeper:2181 -patroni-core: *id001 -pg_patroni: *id001 -pg_upgrade: *id001 -pgbackrest_sidecar: *id001 -postgres_operator_init: *id001 -postgres_operator_tests: *id001 -vault_env: *id001 + api_config: *id001 + database_config: *id002 + rendered_template: |- + services: + api: + image: api:latest + ports: + - 8080:8080 + yaml_template: |- + services: + api: + image: api:latest + ports: + - 8080:8080 +patroni-core: *id003 +pg_patroni: *id003 +pg_upgrade: *id003 +pgbackrest_sidecar: *id003 +postgres_operator_init: *id003 +postgres_operator_tests: *id003 +vault_env: *id003 diff --git a/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/effective-set/topology/credentials.yaml b/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/effective-set/topology/credentials.yaml index 38c4c40a6..0adf9f21c 100644 --- a/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/effective-set/topology/credentials.yaml +++ b/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/effective-set/topology/credentials.yaml @@ -1,7 +1,7 @@ bg_domain: controllerNamespace: - password: pass-placeholder-123 username: user-placeholder-123 + password: pass-placeholder-123 k8s_tokens: monitoring-origin: token-placeholder-123 pg: token-placeholder-123 diff --git a/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/tenant.yml b/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/tenant.yml index c526990a0..d267792c6 100644 --- a/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/tenant.yml +++ b/build_effective_set_generator/effective-set-generator/src/test/resources/environments/cluster-01/pl-01/tenant.yml @@ -15,4 +15,16 @@ globalE2EParameters: mergeTenantsAndE2EParameters: false environmentParameters: {} deployParameters: - ESCAPE_SEQUENCE: "true" \ No newline at end of file + ESCAPE_SEQUENCE: "true" + api_config: ${database_config} + database_config: + connection: + host: db.example.com + port: 5432 + yaml_template: | + services: + api: + image: api:latest + ports: + - 8080:8080 + rendered_template: ${yaml_template} diff --git a/build_effective_set_generator/parameters-processor/src/main/java/org/qubership/cloud/parameters/processor/expression/ExpressionLanguage.java b/build_effective_set_generator/parameters-processor/src/main/java/org/qubership/cloud/parameters/processor/expression/ExpressionLanguage.java index cb7a571c0..67c6cec4b 100644 --- a/build_effective_set_generator/parameters-processor/src/main/java/org/qubership/cloud/parameters/processor/expression/ExpressionLanguage.java +++ b/build_effective_set_generator/parameters-processor/src/main/java/org/qubership/cloud/parameters/processor/expression/ExpressionLanguage.java @@ -220,6 +220,14 @@ private Parameter processValue(Object value, Map binding, boo String rendered = ""; + + if (strValue.matches("^\\$\\{[^}]+}$")) { + String key = strValue.substring(2, strValue.length() - 1); + Parameter ref = binding.get(key); + if (ref != null) { + return ref; + } + } this.binding.getTypeCollector().clear(); try { rendered = renderStringByJinJava(strValue, binding, escapeDollar); diff --git a/build_effective_set_generator/parameters-processor/src/main/java/org/qubership/cloud/parameters/processor/expression/binding/Binding.java b/build_effective_set_generator/parameters-processor/src/main/java/org/qubership/cloud/parameters/processor/expression/binding/Binding.java index c6c3bec29..959cc4ba6 100644 --- a/build_effective_set_generator/parameters-processor/src/main/java/org/qubership/cloud/parameters/processor/expression/binding/Binding.java +++ b/build_effective_set_generator/parameters-processor/src/main/java/org/qubership/cloud/parameters/processor/expression/binding/Binding.java @@ -41,7 +41,7 @@ public class Binding extends HashMap implements Cloneable { String escapeSequence; @Getter private DeployerInputs deployerInputs; - private Map defaultMap; + private Map defaultMap = new HashMap<>(); private final Map calculatedMap = new HashMap<>(); @Getter private String tenant;