Skip to content

DEFRA/epr-app-config-settings

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Config Settings

Introduction

This repository contains configurations for Function Apps and Web Apps for various environments.

The configuration is split by environments and stored in the following folders:

  • devX - DEV environments 1-7 and 9
  • dev8 - DEV environment 8 (PRE-TST)
  • tst1 - TST environment
  • pre1 - PRE PRD environment
  • prd1 - PRD environment

DevX setup

DevX environments share the same JSON templates for app configuration. The values are populated from ADO variables using the token replace task. ADO variables are defined in YAML var files (pipelines/vars folder) and can be overwritten by a higher priority var file. Here's a list of the files:

  • common.yaml - common values shared across all/most environment
  • development.yaml - common values for the DEV environments, this overwrites the common.yaml ones.
  • dev1.yaml - DEV environment 1. Values defined here have the highest priority. Each dev environment has it's own configuration file that can be used for env specific overwrites. However there are a few pipelines that use the dev1.yaml template without the common.yaml and the development.yaml files, so to ensure these pipelines run successfully, dev1.yaml has to declare its own copy of variables normally held in development.yaml

If the JSON template uses an ADO variable it needs to be wrapped in #{{ and }} to inject the value into the actual setting. Here is an example how to set myapp__configvar1 using the ADO variable ado.variable1:

...
  {
    "name": "myapp__configvar1",
    "slotSetting": false,
    "value": "#{{ ado.variable1  }}"
  },

Release versions

Release pipelines can reference this repository via git repo tag for easy Docker ImageTags reference. Image tags are defined in Yaml files stored under pipelines/image-tags and are loaded as ADO variables.

In order to create a new release:

  1. Update the content of the tst.yaml, preprod.yaml and prod.yaml files with the corresponding Docker Tags used in that release
  2. Merge the changes into main
  3. Create a git tag named Release-MAJOR.MINOR.PATCH e.g. Release-2.8.2 that points to the relevant commit (HEAD in main)

Contributing to this project

Please read the contribution guidelines before submitting a pull request.

Licence

Licence information.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published