diff --git a/content/en/docs/components/orchestration/infrastructure/provider.md b/content/en/docs/components/orchestration/infrastructure/provider.md index 236c0cc..27beddf 100644 --- a/content/en/docs/components/orchestration/infrastructure/provider.md +++ b/content/en/docs/components/orchestration/infrastructure/provider.md @@ -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 diff --git a/content/en/docs/components/orchestration/infrastructure/terraform.md b/content/en/docs/components/orchestration/infrastructure/terraform.md index 69e1813..f341d07 100644 --- a/content/en/docs/components/orchestration/infrastructure/terraform.md +++ b/content/en/docs/components/orchestration/infrastructure/terraform.md @@ -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 `.buildth.ing` (production tenant) or `.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.