Skip to content

Pipeline Naming Conventions & Structures

All pipelines on the Platform will have a specific set of naming conventions to ensure consistency, standardization and readability. This article describes the naming conventions of ADO Pipelines and associated YAML files.

The conventions

platform-<project>-<purpose>

For the ADO Pipelines: 'Platform' highlights the fact it is a Platform pipeline. 'Project' is always ADP for the Platform. 'Purpose' is typically either: core, bootstrap, product or service. For the YAML files, we try and maintain the same naming convention, except all files should be prefixed with: 'deploy' or 'ci'.

Azure DevOps Pipelines

Based on the types of pipelines and their purposes, the following naming conventions have been identified for ADO (UI Display Name):

Core Infrastructure

  • platform-adp-core
  • platform-adp-bootstrap-serviceconnections

Products

  • platform-adp-products

Services

  • platform-adp-sevices <br>

The ADO Pipelines will all be created in the existing DEFRA-FFC ADO project under the ADP Subfolder.

Pipeline Matrix

Folder Description Pipelines YAML Pipelines
Bootstrap Contains pipelines used for bootstrapping e.g. setting up service connections platform-adp-bootstrap-serviceconnections deploy-platform-bootstrap-serviceconnections
Core Contains pipelines used for install the ADP Platform Core resources e.g. AKS. These are all shared Platform components used by platform tenants. platform-adp-core deploy-platform-core
Product Contains pipelines used for onboarding & deploying services onto the ADP Platform (i.e. their infrastructure components) platform-adp-products (not implemented yet) deploy-platform-products
Services Contains Service pipelines for deploying into AKS Cluster with FluxCD (GitOps Pipelines) platform-adp-services (not implemented yet) deploy-platform-services

Folder Structure - ADP Infrastructure

Core infrastructure will reside within GitHub in ADP Infrastructure. There are planned to be other infrastructure and FluxCD repos, of which the design is currently in progress. It is proposed that the infrastructure that is dedicated for our tenant services (products) will reside with ADO-Infrastructure-Services*.

All infrastructure will be within the 'infra' folder. 'Core' designates the Platform Core Shared Infrastructure that is used by all the platform projects & services (tenants). 'Services' designates that the folder contains only infrastructure and configuration dedicated to that project/service (tenant).

Each Module instantiation file will be within it's own folder, broken down with the following conventions below (as per the Bicep Module registry convention):

  • The following folder structure for Modules: Infra/<module-name>/<module-name>.<extension>
  • The file extension will either be: .bicep or .biceparams for infrastructure modules.
  • For PowerShell and PowerShell modules the extension will be: .ps1 or psm1
  • For .yaml for YAML Files (i.e. ADO Pipelines)


Infrastructure repository diagram for ADP-Infra-Core and ADP-Infra-Services

infra-repo.png