Files
deployment-portal-be/templates/common.jsonnet

68 lines
2.4 KiB
Jsonnet

local chart = import 'chart.jsonnet';
local deployment_manifest = import 'deployment_manifest.jsonnet';
local load_balancer_util = import 'load_balancer_util.jsonnet';
local namespace_values = import 'namespace_values.jsonnet';
local util = import 'util.jsonnet';
local metadata = deployment_manifest.metadata;
local remove_slash = function(key, value)
util.replace_character_in_string(metadata[key], '/', '_');
local metadata_without_slash = std.mapWithKey(remove_slash, metadata);
local metadata_labels = { [field]: metadata_without_slash[field] for field in std.objectFields(metadata_without_slash) if field != 'product' };
{
labels::
(if 'labels' in deployment_manifest then deployment_manifest.labels else {}) +
(metadata_labels) +
{
app: chart.service_name,
chart: chart.service_chart,
heritage: 'NaviDeploymentManifest',
release: deployment_manifest.name,
Team: deployment_manifest.team.name,
Environment: deployment_manifest.environment,
Name: deployment_manifest.name,
Product: if 'product' in metadata then metadata.product else namespace_values.additionalTags.product,
Owner: if deployment_manifest.infraVertical == 'lending' then 'medici' else if deployment_manifest.infraVertical == 'insurance' then 'gi' else deployment_manifest.infraVertical,
},
matchLabels::
{
app: chart.service_name,
release: deployment_manifest.name,
},
awsTags:: {
app: deployment_manifest.name,
Environment: $.labels.Environment,
Team: $.labels.Team,
Name: $.labels.Name,
Owner: $.labels.Owner,
Product: $.labels.Product,
Namespace: deployment_manifest.deployment.namespace,
Ingress: load_balancer_util.alb_ingress_name(chart.full_service_name($.labels.Name)),
},
perfMockServerLabels:: $.labels {
release: deployment_manifest.deployment.name + '-mock-server',
Name: deployment_manifest.deployment.name + '-mock-server',
},
perfPostgresServerLabels:: $.labels {
release: deployment_manifest.deployment.name + '-postgres-server',
Name: deployment_manifest.deployment.name + '-postgres-server',
},
janitor_annotation:: {
'janitor/ttl': deployment_manifest.metadata.ttl,
},
annotations_map:: {
perf: $.janitor_annotation,
sandbox: $.janitor_annotation,
},
annotations:: if deployment_manifest.environment in $.annotations_map then $.annotations_map[deployment_manifest.environment] else {},
}