Generated Files

After running the template, the following files will be created based on your configuration choices.

Directory Structure

.
├── skaffold.yaml                              # Skaffold configuration with profiles
├── Jenkinsfile                                # Jenkins pipeline configuration
├── scripts/
│   ├── localize.sh                            # Localize kustomize overlays
│   ├── validate-skaffold.sh                   # Validate Skaffold configuration
│   ├── add-configmap-files.sh                 # Add files to ConfigMaps
│   ├── kill-skaffold-api-server.sh            # Kill Skaffold API server
│   ├── setKustomizeValues.sh                  # Set kustomize values
│   ├── skaffold-dev-with-ns-cleanup.sh        # Dev with namespace cleanup
│   ├── start-skaffold.sh                      # Start Skaffold
│   ├── stop-skaffold.sh                       # Stop Skaffold
│   ├── version.sh                             # Version utilities
│   └── wait.sh                                # Wait utilities
├── kubernetes/
│   ├── base/                                  # Base Kubernetes resources
│   │   ├── deployment.yaml                    # Base deployment with VAEC labels
│   │   ├── service.yaml                       # Base service definition
│   │   └── kustomization.yaml                 # Base kustomization
│   ├── components/
│   │   ├── dev/                               # Development components
│   │   │   ├── deployment.yaml                # Dev deployment patches
│   │   │   ├── service.yaml                   # Dev service
│   │   │   ├── kustomization.yaml             # Dev kustomization
│   │   │   ├── overrides.env                  # Dev environment config
│   │   │   └── db/                            # SQL configmap (if enabled)
│   │   │       ├── add-db-config.yaml         # DB config generator
│   │   │       └── README.md                  # DB setup instructions
│   │   ├── secrets/                           # Secrets configuration
│   │   │   ├── application-secrets.env        # Application secrets
│   │   │   └── kustomization.yaml             # Secrets kustomization
│   │   ├── dynatrace-secret/                  # Dynatrace metrics
│   │   │   └── kustomization.yaml             # Dynatrace component
│   │   ├── remove-resource-constraints/       # Resource constraint removal
│   │   │   └── kustomization.yaml             # Remove limits/requests
│   │   ├── vault/                             # Vault server (if enabled)
│   │   │   ├── kustomization.yaml
│   │   │   ├── service.yaml
│   │   │   └── statefulset.yaml
│   │   └── vault-populator/                   # Vault setup (if enabled)
│   │       ├── deployment.yaml
│   │       ├── kustomization.yaml
│   │       ├── overrides.env
│   │       └── populate.sh
│   ├── dev-with-dependencies/                 # Dev with service deps (if enabled)
│   │   ├── kustomization.yaml                 # References remote dependencies
│   │   ├── README.md                          # Usage instructions
│   │   └── service-dependencies.example.yaml  # Example dependencies
│   ├── dev-with-dependencies-vault/           # Dev + deps + vault (if both enabled)
│   │   ├── kustomization.yaml
│   │   └── overrides.env
│   ├── debug-all/                             # Debug profile (if enabled)
│   │   └── kustomization.yaml
│   ├── sqa-build-test/                        # Staging build/test (if enabled)
│   │   ├── kustomization.yaml
│   │   └── dtr.properties
│   ├── sandbox/                               # Sandbox deployment (if enabled)
│   │   ├── deployment.yaml
│   │   ├── kustomization.yaml
│   │   └── overrides.env
│   ├── sqa/                                   # Staging deployment (if enabled)
│   │   ├── deployment.yaml
│   │   ├── horizontalpodautoscaler.yaml
│   │   ├── kustomization.yaml
│   │   ├── overrides.env
│   │   └── dtr.properties
│   └── prod/                                  # Production deployment (if enabled)
│       ├── deployment.yaml
│       ├── horizontalpodautoscaler.yaml
│       ├── kustomization.yaml
│       ├── overrides.env
│       └── dtr.properties
└── .copier-answers/
    └── devops.yaml                            # Saved template answers

Key Files

skaffold.yaml

The main Skaffold configuration file containing:

  • Build configuration for Docker images (Jib-based)

  • Multiple deployment profiles for different environments

  • Kustomize integration for manifest generation

  • Hooks for pre/post deployment actions

Jenkinsfile

Jenkins pipeline configuration for CI/CD:

  • Build and test stages

  • Container image building

  • Deployment to various environments

kubernetes/base/

Base Kubernetes manifests that other overlays reference:

  • deployment.yaml - Base deployment with VAEC labels, Dynatrace integration

  • service.yaml - Base service definition

  • kustomization.yaml - Base kustomization configuration

kubernetes/components/dev/

Development environment components:

  • deployment.yaml - Dev-specific deployment patches

  • service.yaml - Dev service configuration

  • overrides.env - Environment variables for Spring Boot

  • db/ - SQL configmap generator (if add_sql_configmap is true)

scripts/

Utility scripts for development and CI:

Script Purpose

localize.sh

Renders remote kustomize components locally

validate-skaffold.sh

Validates Skaffold configuration

start-skaffold.sh / stop-skaffold.sh

Start/stop Skaffold processes

skaffold-dev-with-ns-cleanup.sh

Dev mode with namespace cleanup

add-configmap-files.sh

Add files to ConfigMaps

setKustomizeValues.sh

Set kustomize values dynamically

version.sh

Version utility functions

wait.sh

Wait for resources to be ready

Environment Configuration

overrides.env Files

Each environment has an overrides.env file for Spring Boot configuration:

# kubernetes/components/dev/overrides.env
SPRING_PROFILES_ACTIVE=dev
LOG_LEVEL=DEBUG

These are mounted as ConfigMaps and used by Spring Boot.

dtr.properties Files

Build profiles include DTR (Docker Trusted Registry) configuration:

# kubernetes/sqa-build-test/dtr.properties
dtrOrg=ckm

Conditional Files

Files generated based on your configuration:

Condition Files Generated

add_sql_configmap = true

kubernetes/components/dev/db/

include_profile_vault_test = true

kubernetes/components/vault/, kubernetes/components/vault-populator/

include_profile_dev_with_dependencies = true

kubernetes/dev-with-dependencies/

include_profile_dev_with_dependencies = true AND include_profile_vault_test = true

kubernetes/dev-with-dependencies-vault/

include_profile_debug_all = true

kubernetes/debug-all/

include_profile_map_sandbox_deploy = true

kubernetes/sandbox/

include_profile_map_staging_deploy = true

kubernetes/sqa/

include_profile_staging_build_test = true

kubernetes/sqa-build-test/

include_profile_map_prod_deploy = true

kubernetes/prod/

Localized Directory

After running ./scripts/localize.sh, a kubernetes/localized/ directory is created containing rendered versions of remote kustomize components. This directory is gitignored but useful for:

  • Faster local development

  • Offline development

  • Debugging kustomize configurations