How to use Self-Service
1
Create a Branch
Create a new branch and modify the
self-service.tfvars file. This file represents the desired state of your infrastructure.2
Open a Pull Request
Open a Pull Request (PR) targeting the
main branch.3
Review Plan
Wait for the pipeline to comment with the Terraform plan. Review the proposed changes.
4
Merge
Merge the PR. The pipeline will apply the changes and provision the infrastructure.
User Account Management
You can manage user access by updating theteam_members section in self-service.tfvars.
Configuration Example
GitHub Permissions
Available teams forgithub_teams:
| Team | Description | Recommended For |
|---|---|---|
self-service | Approvers for self-service PRs. | Project Managers, Owners |
applications-live | Write access to applications-live. | System Engineers, Developers |
development | Write access to all development repositories. | Developers |
development-admin | Admin access to all development repositories. | Lead Developers |
Azure Roles
Common roles for thegrandcentral section:
| Role | Description |
|---|---|
dev-rw / stg-rw | Full access/Contributor rights for the runtime (Kubernetes cluster writer). |
dev-ro / stg-ro | Read-only access for the runtime (Kubernetes cluster reader). |
dev-apim-rw | Contributor access to API Management. |
dev-apim-ro | Reader access to API Management. |
dev-apim-subs-rw | Manage APIM subscriptions (keys, approvals). |
dev-apim-cred-manager | Manage credential manager (OAuth configurations). |
Observability Access
You can provision access to DataDog and Grafana by assigning roles in their respective sections (requires the user to be present in Azure).- DataDog Roles:
dev-ro,dev-rw,stg-ro,stg-rw - Grafana Roles:
dev-ro,dev-rw,stg-ro,stg-rw
DevOps Lite Users: You can create DataDog-only users who do not consume a GitHub seat by defining only the
datadog section.Repository Management
Add new repositories by extending therepositories definition in self-service.tfvars.
Key Options
is_template: Mark repository as a template.repository_template: Create from an existing template.repository_init_from_zip: Initialize with content from a ZIP file (Backbase Accelerator).enable_branch_protection: Enable default protection rules (Require PR, Code Owner review).repository_archived: Archive a repository (recommended over deletion).
Application Reviewers
By default, theapplications-live team is assigned as reviewers. You can override this behavior.
Override Default Reviewers
Auto-Approve
To allow bot auto-approval for specific runtimes (e.g., development):Auto-approve will not work in conjunction with Codeowners override. Codeowners will be removed to allow auto-approve to function.
PR Title Standards
The repository enforces Conventional Commits with a required Jira project scope. Format:type(SCOPE-ID): Subject
Example: feat(ECOPFM-1234): Update platform configuration
You can configure valid scopes in self-service.tfvars: