Skip to content

Commit 69fc0d9

Browse files
docs: clean up Part 1 CI/CD Infrastructure and site-wide branding
- Replace tf-module-azr references with azurelocal-toolkit (25 refs, 16 files) - Remove TierPoint/tpcloud/customer branding across site - Fix Azure AD -> Entra ID terminology - Remove non-existent Phase 02 from Part 1 - Update Phase 01 index with all 6 tasks - Fix task-01 duplicate </Tabs> tag and remove premature Step 6 - Add consistent Next Steps navigation chain (Task 01-06 -> Part 2) - Update stale dates across task files - Rewrite task-06 Deploy Runners with 5 hosting options, decision matrix, hybrid routing examples, and on-prem/Azure/OpenGear deployment procedures - Fix broken link to Part 2 in task-06 - Replace GitLab-only reference links with platform-neutral links
1 parent e7ebe7b commit 69fc0d9

131 files changed

Lines changed: 2379 additions & 1494 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/assets/diagrams/lld/lld-network-topology.drawio

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
<mxCell id="onprem-section" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff3e0;strokeColor=#ff9800;strokeWidth=2;dashed=1;" parent="1" vertex="1">
6464
<mxGeometry x="30" y="80" width="580" height="720" as="geometry"/>
6565
</mxCell>
66-
<mxCell id="onprem-label" value="On-Premises (TierPoint Datacenter)" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;fontStyle=1;fontColor=#e65100;" parent="1" vertex="1">
66+
<mxCell id="onprem-label" value="On-Premises Datacenter" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;fontStyle=1;fontColor=#e65100;" parent="1" vertex="1">
6767
<mxGeometry x="40" y="85" width="280" height="25" as="geometry"/>
6868
</mxCell>
6969

docs/automation/terraform.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@ Reusable Terraform modules for deploying Azure infrastructure supporting Azure L
2727

2828
| Module | Purpose | Repository |
2929
|--------|---------|------------|
30-
| tf-module-azr-local | Azure Local landing zone | [GitHub](https://github.com/AzureLocal/tf-module-azr-local) |
31-
| tf-module-azr-gitlab-runner | CI/CD runner infrastructure | [GitHub](https://github.com/AzureLocal/tf-module-azr-gitlab-runner) |
30+
| azurelocal-toolkit | Azure Local landing zone | [GitHub](https://github.com/AzureLocal/azurelocal-toolkit) |
31+
| azurelocal-toolkit (cicd-runner) | CI/CD runner infrastructure | [GitHub](https://github.com/AzureLocal/azurelocal-toolkit) |
3232

3333
## Module Usage
3434

3535
```hcl
3636
module "azure_local" {
37-
source = "git::https://github.com/AzureLocal/tf-module-azr-local.git"
37+
source = "git::https://github.com/AzureLocal/azurelocal-toolkit.git"
3838
3939
# Module variables
4040
# ...

docs/azure-services/vms-and-containers-on-azure-local.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ The [`AzureLocal/azurelocal-toolkit`](https://github.com/AzureLocal/azurelocal-t
6464
**What's in the repo:**
6565

6666
- 200+ PowerShell scripts organized by deployment stage (Azure Foundation, On-Prem Readiness, Cluster Deployment, Operational Foundations, Testing, Handover, Lifecycle)
67-
- Master infrastructure configuration template (`config/infrastructure.yml`)
67+
- Master infrastructure configuration template (`config/variables.yml`)
6868
- Planning utilities (S2D capacity calculator)
6969

7070
**Getting started:** See the repo [README](https://github.com/AzureLocal/azurelocal-toolkit#readme) for deployment stage guides.
Lines changed: 66 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -1,160 +1,129 @@
11
---
2-
title: "Part 2: CI/CD Infrastructure"
3-
sidebar_label: "02 - CI/CD Infrastructure"
4-
sidebar_position: 2
5-
description: "Establish B2B access, source control project, CI/CD runners, and automation infrastructure"
2+
title: "Part 1: CI/CD Infrastructure"
3+
sidebar_label: "01 - CI/CD Infrastructure"
4+
sidebar_position: 1
5+
description: "Establish source control project, CI/CD runners, and automation infrastructure"
66
---
77

8-
# Part 2: CI/CD Infrastructure
8+
import Tabs from '@theme/Tabs';
9+
import TabItem from '@theme/TabItem';
10+
11+
# Part 1: CI/CD Infrastructure
912

1013
[![Runbook](https://img.shields.io/badge/Type-Runbook-blue?style=flat-square)](../index.mdx)
1114
[![Azure](https://img.shields.io/badge/Platform-Azure_Local-0078D4?style=flat-square&logo=microsoftazure)](https://learn.microsoft.com/en-us/azure/azure-local/)
12-
[![GitLab](https://img.shields.io/badge/Platform-GitHub-181717?style=flat-square&logo=github)](https://gitlab.com)
15+
[![GitHub](https://img.shields.io/badge/Platform-GitHub-181717?style=flat-square&logo=github)](https://github.com)
16+
[![GitLab](https://img.shields.io/badge/Platform-GitLab-FC6D26?style=flat-square&logo=gitlab)](https://gitlab.com)
17+
[![Azure DevOps](https://img.shields.io/badge/Platform-Azure%20DevOps-0078D7?style=flat-square&logo=azuredevops)](https://dev.azure.com)
1318

14-
> **DOCUMENT CATEGORY**: Part Overview
15-
> **SCOPE**: Azure Local Cloud management infrastructure (Stages 00-02)
16-
> **PURPOSE**: Establish B2B access, source control project, CI/CD runners, and automation
17-
> **MASTER REFERENCE**: [CI/CD pipeline Documentation](https://docs.gitlab.com/ee/ci/)
19+
> **DOCUMENT CATEGORY**: Part Overview
20+
> **SCOPE**: Azure Local management infrastructure (Phase 01)
21+
> **PURPOSE**: Establish source control project, CI/CD runners, and automation infrastructure
1822
19-
**Status**: Active
20-
**Execution**: Once per deployment program
21-
**Last Updated**: 2026-01-31
23+
**Status**: Active
24+
**Execution**: Once per deployment program
25+
**Last Updated**: 2026-03-19
2226

2327
---
2428

2529
## Part Purpose
2630

27-
This part establishes the Azure Local Cloud management infrastructure required for Azure Local deployments. It covers B2B tenant access, source control project setup, CI/CD runners, and automation user access.
31+
This part establishes the management infrastructure required for Azure Local deployments. It covers CI/CD service principal creation, source control project setup, CI/CD runners, and automation user access.
2832

2933
---
3034

31-
## Stages in This Part
35+
## Phase in This Part
3236

33-
| Stage | Title | Description | Steps |
37+
| Phase | Title | Description | Steps |
3438
|-------|-------|-------------|-------|
35-
| **[Phase 00](./phase-01-cicd-setup/)** | B2B Configuration | Configure Microsoft Entra ID B2B Cross-Tenant Synchronization | 2 |
36-
| **[Phase 01](./phase-01-cicd-setup/)** | CI/CD Setup | Create source control project, configure settings, environments, and variables | 5 |
37-
| **Phase 02** | Infrastructure Deployment | Deploy CI/CD runners, Entra ID groups, and verify user access | 3 |
39+
| **[Phase 01](./phase-01-cicd-setup/)** | CI/CD Setup | Bootstrap Azure access, create source control project, configure settings, environments, variables, and deploy runners | 6 |
3840

3941
---
4042

4143
## Execution Flow
4244

4345
```
44-
┌─────────────────────────────────────────────────────────────────────────────
45-
│ Part 2: CI/CD Infrastructure │
46-
├─────────────────────────────────────────────────────────────────────────────
47-
│ │
48-
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────────────
49-
│ Stage 00 │ │ Stage 01 │ │ Stage 02 │
50-
│ B2B │───▶│ CI/CD │───▶│ Infrastructure Deployment │
51-
│ Config │ │ Setup │ │ │
52-
└─────────────┘ └─────────────┘ └─────────────────────────────────┘
53-
54-
▼ ▼ ▼
55-
┌───────────┐ ┌─────────────┐ ┌───────────────────────────────────┐
56-
│ Azure Local Cloud│ │ GitLab │ │ ┌─────────┐ ┌─────────────────┐ │
57-
│ Users │ │ Project │ │ │ Runners │ │ Entra Groups │ │
58-
│ Synced │ │ Created │ │ └─────────┘ └─────────────────┘ │
59-
│ └───────────┘ └─────────────┘ └───────────────────────────────────
60-
│ │
61-
└─────────────────────────────────────────────────────────────────────────────
46+
┌─────────────────────────────────────────────────────────────────────────┐
47+
│ Part 1: CI/CD Infrastructure
48+
├─────────────────────────────────────────────────────────────────────────┤
49+
50+
┌───────────────────────────────────────────────────────────────────┐
51+
│ Phase 01: CI/CD Setup │
52+
───────────────────────────────────────────────────────────────────┤
53+
│ │
54+
│ Task 01: Bootstrap (Service Principal) │
55+
│ │ Task 02: Create Source Control Project │
56+
│ Task 03: Configure Project Settings │
57+
│ Task 04: Create Environments │
58+
│ Task 05: Configure Variables │
59+
│ Task 06: Deploy Runners │
60+
│ │
61+
└───────────────────────────────────────────────────────────────────┘
62+
63+
└─────────────────────────────────────────────────────────────────────────┘
6264
```
6365

6466
---
6567

6668
## Key Deliverables
6769

68-
| Deliverable | Stage | Description |
69-
|-------------|-------|-------------|
70-
| **B2B Tenant Access** | 00 | Azure Local Cloud users synced to customer tenant (Member or Guest type) |
71-
| **source control project** | 01 | Customer project created from Azure Local Cloud template |
72-
| **Project Settings** | 01 | Branch protection, merge approvals, security settings configured |
73-
| **Environments** | 01 | GitLab environments created for each deployment target |
74-
| **CI/CD runners** | 02 | Self-hosted runners deployed in customer Azure subscription |
75-
| **Entra ID Groups** | 02 | Azure Local Cloud management groups deployed with RBAC |
76-
| **User Access** | 02 | Verified deployment team access to Azure resources |
70+
| Deliverable | Task | Description |
71+
|-------------|------|-------------|
72+
| **CI/CD Service Principal** | 01 | Entra ID app registration for pipeline authentication |
73+
| **Source Control Project** | 02 | Deployment project/repo created from Azure Local template |
74+
| **Project Settings** | 03 | Branch protection, code review, security settings configured |
75+
| **Environments** | 04 | Deployment environments created for each target |
76+
| **CI/CD Variables** | 05 | Environment-specific secrets and variables configured |
77+
| **CI/CD Runners** | 06 | Self-hosted runners deployed in target Azure subscription |
7778

7879
---
7980

8081
## Prerequisites
8182

82-
Before starting Part 2:
83+
Before starting Part 1:
8384

84-
- [ ] [Part 1: Planning & Discovery](../../planning/) completed
85-
- [ ] Customer information collected (CID, name, tenant ID, service tier)
86-
- [ ] Azure Local Cloud MGMT tenant access (Security Administrator or higher)
87-
- [ ] Customer tenant Global Administrator consent obtained
88-
- [ ] GitLab access with project creation permissions
85+
- [ ] [Planning & Discovery](../../planning/) completed
86+
- [ ] Deployment information collected (organization name, tenant ID, subscription IDs)
87+
- [ ] Azure CLI installed and authenticated to target tenant
88+
- [ ] Source control platform access with project/repo creation permissions
8989
- [ ] Azure subscription access for runner deployment
9090

9191
---
9292

93-
## Configuration Templates
94-
95-
JSON and Terraform templates are located in the AZL Toolkit repository:
96-
97-
```
98-
azurelocal-toolkit/
99-
├── configs/
100-
│ └── azure/
101-
│ └── b2b/ # Stage 00 - B2B config templates
102-
│ ├── customer-inbound-policy.json
103-
│ ├── Azure Local Cloud-outbound-policy.json
104-
│ ├── cts-application.json
105-
│ ├── cts-credentials.json
106-
│ ├── cts-provisioning-job.json
107-
│ ├── cts-group-assignment.json
108-
│ └── README.md
109-
└── scripts/
110-
└── deploy/
111-
└── stage-0-b2b-config/ # Stage 00 deployment scripts
112-
```
113-
114-
---
115-
11693
## Terraform Modules Used
11794

118-
| Module | Stage | Purpose |
119-
|--------|-------|---------|
120-
| `tf-module-azr-gitlab-runner` | 02 | Deploy CI/CD runner VMs in customer subscription |
121-
| `tf-module-azr-entra-groups` | 02 | Deploy Entra ID groups for Azure Local Cloud access |
95+
| Module | Task | Purpose |
96+
|--------|------|---------|
97+
| `azurelocal-toolkit//terraform/modules/cicd-runner` | 06 | Deploy CI/CD runner VMs in target subscription |
12298

12399
---
124100

125101
## Validation Checklist
126102

127-
### Phase 00: B2B Configuration
128-
- [ ] Azure Local Cloud users synced to customer tenant
129-
- [ ] User type is correct (Member for Azure Local Cloud, Guest for CI/CD)
130-
- [ ] Users can authenticate to customer tenant
131-
- [ ] CTS provisioning job is running
132-
133-
### Phase 01: CI/CD Setup
134-
- [ ] source control project created with correct naming
135-
- [ ] Branch protection and merge approvals configured
103+
- [ ] CI/CD service principal created with correct RBAC roles
104+
- [ ] Source control project created with correct naming
105+
- [ ] Branch protection and code review configured
136106
- [ ] Environments created
137107
- [ ] Environment variables configured
138-
139-
### Phase 02: Infrastructure Deployment
140108
- [ ] CI/CD runners deployed and registered
141-
- [ ] Runners appear online in GitLab
142-
- [ ] Entra ID groups created
143-
- [ ] RBAC assignments applied
144-
- [ ] Azure Local Cloud users can access Azure resources
109+
- [ ] Runners appear online in source control platform
145110

146111
---
147112

148113
## Next Steps
149114

150-
After completing Part 2, proceed to [Part 3: Azure Foundation](../02-azure-foundation/) to establish the Azure cloud infrastructure including landing zones, networking, and security resources.
115+
After completing Part 1, proceed to [Part 2: Azure Foundation](../02-azure-foundation/) to establish the Azure cloud infrastructure including landing zones, networking, and security resources.
151116

152117
---
153118

154119
## References
155120

156121
- [Cross-Tenant Synchronization Overview](https://learn.microsoft.com/en-us/entra/identity/multi-tenant-organizations/cross-tenant-synchronization-overview)
157-
- [CI/CD pipeline Documentation](https://docs.gitlab.com/ee/ci/)
158-
- [CI/CD runner Documentation](https://docs.gitlab.com/runner/)
159122
- [Azure RBAC Documentation](https://learn.microsoft.com/en-us/azure/role-based-access-control/overview)
123+
- [GitHub Actions Documentation](https://docs.github.com/en/actions)
124+
- [GitHub Actions Self-Hosted Runners](https://docs.github.com/en/actions/hosting-your-own-runners)
125+
- [GitLab CI/CD Documentation](https://docs.gitlab.com/ee/ci/)
126+
- [GitLab Runner Documentation](https://docs.gitlab.com/runner/)
127+
- [Azure DevOps Pipelines Documentation](https://learn.microsoft.com/en-us/azure/devops/pipelines/)
128+
- [Azure DevOps Self-Hosted Agents](https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/agents)
160129

docs/implementation/01-cicd-infra/phase-01-cicd-setup/_category_.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"label": "Phase 02 - CI/CD Setup",
2+
"label": "Phase 01 - CI/CD Setup",
33
"position": 1,
44
"collapsible": true,
55
"collapsed": true

0 commit comments

Comments
 (0)