Configuration

The template prompts for various configuration options. Many values are auto-detected from your existing project files.

Common Configuration

These options are shared across templates:

Option Description Default

artifact_id

Maven artifact ID / service name

Auto-detected from pom.xml

version

Service version number

Auto-detected from pom.xml

dtr_org

Docker registry organization prefix

ckm or auto-detected from pom.xml dtrOrg property

coderepo_project_key

Bitbucket project key

Auto-detected from git remote

issues_server_host_url

Link to issue tracker

project_type

Project type

service, web, or library

major_version

Major version prefix

e.g., v1

DevOps-Specific Configuration

Option Description Default

context_dir

Working directory context for Skaffold

.

add_sql_configmap

Include SQL configmap resource

true if db/ directory exists

service_dependencies

YAML list of service dependencies

Auto-detected from existing kustomization.yaml

service_git_base_url

Git base URL for service repositories

Auto-detected from git remote

default_kustomize_path

Path to kustomize files in service repos

kubernetes/components/dev

VAEC Cost Allocation Labels

Required for AWS EKS cost attribution via Cloudability CostIQ.

These labels must be present in both metadata.labels and spec.template.metadata.labels as required by the VAEC Tagging Policy.
Option Description Example

vaec_ckid

Cost Key ID from ECSO Tenant Registration

2023

vaec_vasi

Tenant ID from ECSO Tenant Registration

3443

vaec_product

Product name

Telehealth, VAOS, RxRefill

vaec_product_line

Product line

DHAS, VHA, Scheduling, OIT

vaec_application_service

Service type

Backend, Frontend, API

vaec_application_name

Application name

Defaults to artifact_id

vaec_service_shortname

Service short name for Dynatrace labels

Defaults to project_initials

Label Validation

All VAEC labels are validated to comply with Kubernetes label value rules:

  • 1-63 characters

  • Alphanumeric, dashes, underscores, and dots only

  • Must start and end with an alphanumeric character

Dynatrace Integration

VAEC values are used to construct initial Dynatrace labels:

Deployment metadata.labels
DynatraceDeploymentName: MAP-{product_line}-{service_shortname}-{vasi}-{artifact_id}-{version}
Deployment spec.template.metadata.labels (name: value)
MAP-{product_line}-ServiceName: MAP-{product_line}-{service_shortname}-{vasi}-{artifact_id}-{version}

Example: MAP-DHAS-ServiceName: MAP-DHAS-SPFS-3443-smart-pgd-fhir-service-v1

Skaffold Profile Selections

Choose which Skaffold profiles to include:

Profile Description Default

include_profile_dev_with_dependencies

Local development with service dependencies

true

include_profile_map_sandbox_deploy

Sandbox environment deployment

false

include_profile_map_staging_deploy

Staging environment deployment

true

include_profile_map_prod_deploy

Production environment deployment

true

include_profile_sandbox_build_test

Sandbox build and test

true

include_profile_staging_build_test

Staging build and test

true

include_profile_debug_all

Debug profile with all services

false

include_profile_vault_test

Vault integration testing

Based on vault_enabled

Service Dependencies

When using the default profile, which references the dev-with-dependencies overlay, you can specify service dependencies in multiple formats:

Short Format

service_dependencies:
  - ckm/service-a:v1.0.0
  - ckm/service-b:Release/1.1
  - ckm/service-c
  - ckm/service-d:v2.0.0:kubernetes/custom/path

Format: {org}/{service}[:{version}][:{custom-path}]

Kustomize Git URL Format

service_dependencies:
  - dhsss/oracle-db.git//kubernetes?ref=Release/23.26.1&timeout=60s

Full URL Format

service_dependencies:
  - https://coderepo.mobilehealth.va.gov/scm/ckm/service-a.git//kubernetes/components/dev?ref=v1.0.0

Updating Dependencies

To update service dependencies without re-running all prompts:

# Create a data file
cat > .copier-answers/service-dependencies.yaml << EOF
service_dependencies:
  - ckm/service-a:v2.0.0
  - ckm/service-b:v1.5.0
EOF

# Update with the data file
copier update -a .copier-answers/devops.yaml --data-file .copier-answers/service-dependencies.yaml

Kustomize Localizations

The template automatically generates localized overlays based on your profile selections:

Example devops.yaml snippet
kustomize_localizations:
  - dev-with-dependencies
  - dev-with-dependencies-vault
  - staging-build-test