Files
deployment-portal-be/templates/main.jsonnet
2024-03-28 16:00:13 +05:30

98 lines
5.0 KiB
Jsonnet

local common_api_gateways = import 'common_api_gateway.jsonnet';
local configmap = import 'configmap.jsonnet';
local cron_hpa_autoscaler = import 'cron_hpa_autoscaler.jsonnet';
local default_alerts = import 'default_alerts.jsonnet';
local deployment = import 'deployment.jsonnet';
local deployment_manifest = import 'deployment_manifest.jsonnet';
local rollout = import 'rollout.jsonnet';
local hpa = import 'hpa.jsonnet';
local ingresses = import 'ingress.jsonnet';
local kibana = import 'kibana.jsonnet';
local kibana_ingress_endpoint = import 'kibana_ingress_endpoint.jsonnet';
local pdb = import 'pdb.jsonnet';
local perf_utility = import 'perf_utility.jsonnet';
local rollout_analysis_template = import 'rollout_analysis_template.jsonnet';
local sandbox = import 'sandbox/main.jsonnet';
local secret = import 'secret.jsonnet';
local security_group = import 'security_group.jsonnet';
local service = import 'service.jsonnet';
local service_monitor = import 'service_monitor.jsonnet';
local sidecar = import 'sidecar.jsonnet';
local cron_hpa_autoscaler = import 'cron_hpa_autoscaler.jsonnet';
local elastic_search_secrets = import 'elasticsearch_secrets.jsonnet';
local elastic_search = import 'elastic_search.jsonnet';
local kibana = import 'kibana.jsonnet';
local kibana_ingress_endpoint = import 'kibana_ingress_endpoint.jsonnet';
local elasticsearch_sm_secrets = import 'elasticsearch_sm_secrets.jsonnet';
local elasticsearch_servicemonitor = import 'elasticsearch_servicemonitor.jsonnet';
local elasticsearch_alerts_default = import 'elasticsearch_alerts_default.jsonnet';
local elasticsearch_snapshots = import 'elasticsearch_snapshots.jsonnet';
local dynamic_configuration = import 'dynamic_configuration.jsonnet';
local perf_utility = import 'perf_utility.jsonnet';
local vpa = import 'vpa.jsonnet';
local efs_pvc = import 'efs_persistent_volume_claim.jsonnet';
local common_api_gateways = import 'common_api_gateway.jsonnet';
local sandbox = import 'sandbox/main.jsonnet';
local util = import 'util.jsonnet';
local isSandbox = util.is_sandbox(deployment_manifest.environment);
local flink_deployment = import 'flink_deployment.jsonnet';
local flink_session_job = import 'flink_session_job.jsonnet';
local flink_service_account = import 'flink_service_account.jsonnet';
local flink_role_binding = import 'flink_role_binding.jsonnet';
local flink_default_alerts = import 'flink_default_alerts.jsonnet';
local isflinkJob = std.objectHas(deployment_manifest, 'flink');
if isflinkJob then
({
'0_secret.json': secret,
'0_0_flink_deployment.json': flink_deployment,
'0_1_flink_session_job.json': flink_session_job,
'0_2_flink_service_account.json': flink_service_account,
'0_3_flink_role_binding.json': flink_role_binding,
'0_4_flink_default_alerts.json': flink_default_alerts,
} + { ['5_%s_ingress.json' % index]: ingresses[index] for index in std.range(0, std.length(ingresses) - 1) })
else ({
'0_secret.json': secret,
'1_configmap.json': configmap,
'2_sidecar.json': sidecar,
'3_service.json': service,
'4_deployment.json': deployment,
'4_rollout.json': rollout,
'4_0_rollout_analysis_template.json': rollout_analysis_template,
'6_pdb.json': pdb,
'7_service_monitor.json': service_monitor,
'8_default_alerts.json': default_alerts,
'9_hpa.json': hpa,
'11_cron_hpa_autoscaler.json': cron_hpa_autoscaler,
'12_elastic_search_secrets.json': elastic_search_secrets,
'13_elastic_search.json': elastic_search,
'14_kibana.json': kibana,
'15_kibana_ingress_endpoint.json': kibana_ingress_endpoint,
'16_elasticsearch_sm_secrets.json': elasticsearch_sm_secrets,
'17_elasticsearch_servicemonitor.json': elasticsearch_servicemonitor,
'18_elasticsearch_alerts_default.json': elasticsearch_alerts_default,
'19_elasticsearch_snapshots.json': elasticsearch_snapshots,
'20_dynamic_configuration.json': dynamic_configuration,
'21_perf_utility.json': perf_utility,
'22_vpa.json': vpa,
'23_efs_pvc.json': efs_pvc,
})
+
(if isSandbox then {
'0_0_namespace.json': sandbox.sandbox().namespace,
'0_1_iam_role.json': sandbox.sandbox().iamRole,
'30_role_binding.json': sandbox.sandbox().roleBinding,
'31_access_role_binding.json': sandbox.sandbox().accessRoleBinding,
'32_access_role.json': sandbox.sandbox().accessRole,
} else {})
+
(if ingresses != null then
{ ['5_%s_ingress.json' % index]: ingresses[index] for index in std.range(0, std.length(ingresses) - 1) }
+
if security_group != null then
{ ['10_%s_security_group.json' % index]: security_group[index] for index in std.range(0, std.length
(security_group) - 1) } else {})
+
(if common_api_gateways != null then
{ ['23_%s_common_api_gateways.json' % index]: common_api_gateways[0].items[index] for index in std.range(0, std.length(common_api_gateways[0].items) - 1) })