# Reference applications

## Meet `too-tikki` and `pirates-iac`

The reference implementation of the Golden Path is [`pirates-iac`](https://github.com/oslokommune/pirates-iac/tree/main){:target="_blank"}.

The Java application `too-tikki` is used as an example throughout the documentation. The [`too-tikki`](https://github.com/oslokommune/pirates-iac/tree/main/stacks/prod/app-too-tikki){:target="_blank"} is also the reference application.

Its stack holds three kinds of file side by side: what the templates generate, the overrides that bend them, and the plain Terraform the team wrote itself.

<!-- Refresh this list with:
     gh api repos/oslokommune/pirates-iac/contents/stacks/prod/app-too-tikki \
       --jq '.[] | "\(.type)\t\(.name)"' -->

<div class="file-tree" markdown>

- `.boilerplate/`{ .dir }
- `bin/`{ .dir }
- `.terraform.lock.hcl`
- `README.md`
- `__gp_config.tf`
- `__gp_dependencies.tf`
- `__gp_dependencies_override.tf`
- `__gp_versions.tf`
- `_gp_alb_tg_host_routing_override.tf`
- `_gp_alb_tg_host_routing_subdomain.tf`
- `_gp_deployment.tf`
- `_gp_ecs_container_definition_main.tf`
- `_gp_ecs_service.tf`
- `_gp_ecs_service_override.tf`
- `_gp_security_groups.tf`
- `_gp_telemetry_collection.tf`
- `_gp_telemetry_collection_override.tf`
- `config_override.tf`
- `dependencies.tf`
- `ecs_container_definition_init_container.tf`
- `iam_cicd_init_container.tf`
- `init_image.auto.tfvars.json`
- `init_image_variables.tf`
- `package-config.yml`
- `packages.yml`
- `security_groups.tf`
- `ssm_parameters.tf`
- `terragrunt_custom.hcl`

</div>

The infrastructure is set up by using Boilerplate templates. All the templates are prefixed with `__gp` (Golden Path). You can learn more about [naming conventions and structure under references](../../terraform/naming-conventions.md).

## If you need to diverge from the path

Sometimes you might have special requirements for your infrastructure and need to diverge from the path the Golden Path defines. This is done by using [Terraform overrides](../../terraform/overrides.md).
