Add infra-deploy and infra-catalogue documentation

This commit is contained in:
Martin McCaffery 2025-11-19 17:18:52 +01:00
parent ac1a2965f2
commit 753a218d3c
Signed by untrusted user: martin.mccaffery
GPG key ID: 7C4D0F375BCEE533
2 changed files with 43 additions and 44 deletions

View file

@ -1,12 +1,12 @@
---
title: "Provider"
linkTitle: "Provider"
title: Terraform provider for Edge cloud
linkTitle: Edge provider
weight: 20
description: Used Provider we deploy on
description: Custom Terraform provider for orchestrating infrastructure deployments
---
{{% alert title="Draft" color="warning" %}}
**Editorial Status**: This page is currently being developed.
**Editorial Status**: Mostly ready
* **Jira Ticket**: [TICKET-6732](https://jira.telekom-mms.com/browse/IPCEICIS-6732)
* **Assignee**: Martin
@ -21,16 +21,18 @@ description: Used Provider we deploy on
## Overview
[Detailed description of the component - what it is, what it does, and why it exists]
This work-in-progress Terraform provider for Edge cloud allows orchestration of selected resources using flexible, concise [HCL](https://developer.hashicorp.com/terraform/language). This allows deployment to Edge Cloud through a familiar format, abstracting away specific endpoints and authentication elements, and allowing seamless combination of Edge resources with others: on OTC, other clouds, or local utilities.
## Key Features
* [Feature 1]
* [Feature 2]
* [Feature 3]
* Interact with Apps and AppInstances using widely-used Terraform framework
* Using Terraform's systems, provide minimal configuration: just an endpoint and credentials, then no need to deal with header structure or other tokens
* Provider currently under development: more features can be added at will.
## Purpose in EDP
[Explain the role this component plays in the Edge Developer Platform and how it contributes to the overall platform capabilities]
## Repository

View file

@ -1,20 +1,20 @@
---
title: "Terrafrom"
linkTitle: "Terraform"
title: Terraform-based deployment of EDP
linkTitle: Terraform
weight: 10
description: >
Infrastructure deployment and catalog management (infra-deploy, infra-catalogue)
As-code definitions of EDP clusters, so they can be deployed reliably and consistently on OTC whenever needed.
---
{{% alert title="Draft" color="warning" %}}
**Editorial Status**: This page is currently being developed.
**Editorial Status**: Mostly ready
* **Jira Ticket**: [TICKET-6732](https://jira.telekom-mms.com/browse/IPCEICIS-6732)
* **Assignee**: Martin
* **Status**: Draft
* **Last Updated**: YYYY-MM-DD
* **Last Updated**: 2025-11-19
* **TODO**:
* [ ] Add detailed component description
* [x] Add detailed component description
* [ ] Include usage examples and code samples
* [ ] Add architecture diagrams
* [ ] Review and finalize content
@ -22,56 +22,53 @@ description: >
## Overview
[Detailed description of the component - what it is, what it does, and why it exists]
The [infra-deploy](https://edp.buildth.ing/DevFW/infra-deploy) and [infra-catalogue](https://edp.buildth.ing/DevFW/infra-catalogue) repositories work together to provide a framework for deploying Edge Developer Platform instances.
`infra-catalogue` contains individual, atomic infrastructure components: `terraform` modules and `terragrunt` [units](https://edp.buildth.ing/DevFW/infra-catalogue/src/branch/main/units) and [stacks](https://edp.buildth.ing/DevFW/infra-catalogue/src/branch/main/stacks), such as [Kubernetes cluster](https://edp.buildth.ing/DevFW/infra-catalogue/src/branch/main/modules/kubernetes)s and [Postgres database](https://edp.buildth.ing/DevFW/infra-catalogue/src/branch/main/units/postgres/terragrunt.hcl)s.
`infra-deploy` then contains full [definitions](https://edp.buildth.ing/DevFW/infra-deploy/src/branch/main/prod) of stacks built using these components - such as the production site at [edp.buildth.ing](https://edp.buildth.ing/DevFW/infra-deploy/src/branch/main/prod/edp). It also includes [scripts](https://edp.buildth.ing/DevFW/infra-deploy/src/branch/main/scripts) with which to deploy these stacks.
Note that both repositories rely on the wide range of features available on [OTC](https://console.otc.t-systems.com). Several of these features, such as S3-compatible storage and on-demand managed Postgres instances, are not yet available on more sovereign clouds such as [Edge](https://hub.apps.edge.platform.mg3.mdb.osc.live/), so these are not currently supported.
## Key Features
* [Feature 1]
* [Feature 2]
* [Feature 3]
* 'Catalogue' of infrastructure stacks to be used in deployments
* Definition of deployment stacks for each environment in prod or dev
* Scripts to govern deployment, installation and drift-correction of EDP
## Purpose in EDP
[Explain the role this component plays in the Edge Developer Platform and how it contributes to the overall platform capabilities]
For our Edge Developer Platform to be reliable it must be deployable in a consistent manner. When errors occur, or after any manual alterations, the system can then be safely reset to a working state. This state should be provided in code to allow for automated validation and deployment, and to allow it to be deployed from an always-identical CI/CD pipeline rather than a variable local deployment environment.
## Repository
## Repositories
**Code**: [Link to source code repository]
**Infra-deploy**: [https://edp.buildth.ing/DevFW/infra-deploy](https://edp.buildth.ing/DevFW/infra-deploy)
**Documentation**: [Link to component-specific documentation]
**Infra-catalogue**: [https://edp.buildth.ing/DevFW/infra-catalogue](https://edp.buildth.ing/DevFW/infra-catalogue)
## Getting Started
### Prerequisites
* [Prerequisite 1]
* [Prerequisite 2]
* [Docker](https://docs.docker.com/)
* [Kubernetes management](https://kubernetes.io/docs/reference/kubectl/)
* Access to [OTC](https://console.otc.t-systems.com/console/)
* HashiCorp [Terraform](https://developer.hashicorp.com/terraform) or its open-source equivalent, [OpenTofu](https://opentofu.org/)
* [Terragrunt](https://terragrunt.gruntwork.io/), an orchestrator for Terraform stacks
### Quick Start
[Step-by-step guide to get started with this component]
1. Set up OTC credentials per [README section](https://edp.buildth.ing/DevFW/infra-deploy#installation-on-otc)
2. Set cluster environment and run install script per [README section](https://edp.buildth.ing/DevFW/infra-deploy#using-the-edpbuilder)
1. [Step 1]
2. [Step 2]
3. [Step 3]
Alternatively, manually trigger automated [deployment pipeline](https://edp.buildth.ing/DevFW/infra-deploy/actions?workflow=deploy.yaml).
- You will be asked for essential information like the deployment name and tenant.
- Any fields marked `INITIAL` only need to be set when first creating an environment
- Thereafter, the cached values are used and the `INITIAL` values provided to the pipeline are ignored.
### Verification
[How to verify the component is working correctly]
## Usage Examples
### [Use Case 1]
[Example with code/commands showing common use case]
```bash
# Example commands
```
### [Use Case 2]
[Another common scenario]
After the deploymenet completes, and a short startup time, you should be able to access your Forgejo instance at `<cluster-name>.buildth.ing` (production tenant) or `<cluster-name>.buildth.ing` (non-prod tenant). For example, the primary production cluster is called [edp](https://edp.buildth.ing/DevFW/infra-deploy/src/branch/main/prod/edp) and can be accessed at [edp.buildth.ing](https://edp.buildth.ing).
## Integration Points
@ -125,4 +122,4 @@ description: >
## Documentation Notes
[Instructions for team members filling in this documentation - remove this section once complete]
Unsure if remaining sections are useful.