feat(provider): Complete first draft of provider docs with diagram
This commit is contained in:
parent
92a1f4c1c5
commit
3fff08f9d7
5 changed files with 174 additions and 157 deletions
|
|
@ -11,11 +11,11 @@ description: Custom Terraform provider for orchestrating Edge deployments
|
||||||
* **Jira Ticket**: [TICKET-6732](https://jira.telekom-mms.com/browse/IPCEICIS-6732)
|
* **Jira Ticket**: [TICKET-6732](https://jira.telekom-mms.com/browse/IPCEICIS-6732)
|
||||||
* **Assignee**: Martin
|
* **Assignee**: Martin
|
||||||
* **Status**: Draft
|
* **Status**: Draft
|
||||||
* **Last Updated**: YYYY-MM-DD
|
* **Last Updated**: 2025-12-04
|
||||||
* **TODO**:
|
* **TODO**:
|
||||||
* [ ] Add detailed component description
|
* [x] Add detailed component description
|
||||||
* [ ] Include usage examples and code samples
|
* [x] Include usage examples and code samples (NOTE: links to docs, rather than inline refs)
|
||||||
* [ ] Add architecture diagrams
|
* [x] Add architecture diagrams
|
||||||
* [ ] Review and finalize content
|
* [ ] Review and finalize content
|
||||||
{{% /alert %}}
|
{{% /alert %}}
|
||||||
|
|
||||||
|
|
@ -70,74 +70,25 @@ As a result of this breadth of functionality and cross-compatibility, Terraform
|
||||||
|
|
||||||
### Verification
|
### Verification
|
||||||
|
|
||||||
If `terraform apply` completes successfully (without errors), the provider is working correctly. You may also manually validate (in the Edge UI) that your resources have been deployed/reconfigured as Terraform indicated.
|
If `terraform apply` completes successfully (without errors), the provider is working correctly. You can also manually validate in the Edge UI that your resources have been deployed/reconfigured as Terraform indicated.
|
||||||
|
|
||||||
## Usage Examples
|
|
||||||
|
|
||||||
### [Use Case 1]
|
## Status
|
||||||
|
|
||||||
[Example with code/commands showing common use case]
|
**Maturity**: Experimental
|
||||||
|
|
||||||
```bash
|
## Additional Resources
|
||||||
# Example commands
|
|
||||||
```
|
|
||||||
|
|
||||||
### [Use Case 2]
|
* [Terralist](https://www.terralist.io/)
|
||||||
|
* [Terraform](https://developer.hashicorp.com/terraform)
|
||||||
[Another common scenario]
|
* [OpenTofu](https://opentofu.org/)
|
||||||
|
* [Edge Connect API](https://swagger.edge.platform.mg3.mdb.osc.live)
|
||||||
|
|
||||||
## Integration Points
|
## Integration Points
|
||||||
|
|
||||||
* **Edge Connect SDK**: The provider uses the [Edge Connect SDK](http://localhost:1313/docs/components/deployments/edgeconnect/edgeconnect-sdk/) under the hood.
|
* **Edge Connect SDK**: The provider uses the [Edge Connect SDK](http://localhost:1313/docs/components/deployments/edgeconnect/edgeconnect-sdk/) under the hood.
|
||||||
* **Terralist**: The provider is published using a [custom instance](https://terralist.garm-provider-test.t09.de/) of [Terralist](https://www.terralist.io/). This [can only](https://edp.buildth.ing/DevFW-CICD/stacks/src/commit/5b438097bbd027f0025d6198c34c22f856392a03/template/stacks/terralist/terralist/values.yaml#L9-L38) be written to with a login via [Forgejo](https://edp.buildth.ing/), but can be accessed without such access.
|
* **Terralist**: The provider is published using a [custom instance](https://terralist.garm-provider-test.t09.de/) of [Terralist](https://www.terralist.io/). This [can only](https://edp.buildth.ing/DevFW-CICD/stacks/src/commit/5b438097bbd027f0025d6198c34c22f856392a03/template/stacks/terralist/terralist/values.yaml#L9-L38) be written to with a login via [Forgejo](https://edp.buildth.ing/), but can be read publicly.
|
||||||
* **[Component C]**: [How it integrates]
|
|
||||||
|
|
||||||
## Architecture
|
|
||||||
|
|
||||||
[Optional: Add architectural diagrams and descriptions]
|
|
||||||
|
|
||||||
Terralist and its authentication
|
|
||||||
|
|
||||||
### Component Architecture (C4)
|
### Component Architecture (C4)
|
||||||
|
|
||||||
[Add C4 Container or Component diagrams showing the internal structure]
|
<likec4-view view-id="provider" browser="true"></likec4-view>
|
||||||
|
|
||||||
### Sequence Diagrams
|
|
||||||
|
|
||||||
[Add sequence diagrams showing key interaction flows with other components]
|
|
||||||
|
|
||||||
### Deployment Architecture
|
|
||||||
|
|
||||||
[Add infrastructure and deployment diagrams showing how the component is deployed]
|
|
||||||
|
|
||||||
## Configuration
|
|
||||||
|
|
||||||
[Key configuration options and how to set them]
|
|
||||||
|
|
||||||
## Troubleshooting
|
|
||||||
|
|
||||||
### [Common Issue 1]
|
|
||||||
|
|
||||||
**Problem**: [Description]
|
|
||||||
|
|
||||||
**Solution**: [How to fix]
|
|
||||||
|
|
||||||
### [Common Issue 2]
|
|
||||||
|
|
||||||
**Problem**: [Description]
|
|
||||||
|
|
||||||
**Solution**: [How to fix]
|
|
||||||
|
|
||||||
## Status
|
|
||||||
|
|
||||||
**Maturity**: [Production / Beta / Experimental]
|
|
||||||
|
|
||||||
## Additional Resources
|
|
||||||
|
|
||||||
* [Link to external documentation]
|
|
||||||
* [Link to community resources]
|
|
||||||
* [Link to related components]
|
|
||||||
|
|
||||||
## Documentation Notes
|
|
||||||
|
|
||||||
[Instructions for team members filling in this documentation - remove this section once complete]
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
deployment {
|
deployment {
|
||||||
|
|
||||||
cloud otc-faas 'OTC prototype FaaS' {
|
cloud otc-faas 'OTC prototype FaaS' {
|
||||||
description 'OTC environments for Prototype faaS.
|
description 'OTC environments for Prototype FaaS.'
|
||||||
'
|
|
||||||
technology 'OTC'
|
technology 'OTC'
|
||||||
|
|
||||||
environment dev 'tenant Dev' {
|
environment dev 'tenant Dev' {
|
||||||
|
|
@ -24,7 +23,7 @@ deployment {
|
||||||
}
|
}
|
||||||
|
|
||||||
paas cloudServices 'EDP Cloud Services' {
|
paas cloudServices 'EDP Cloud Services' {
|
||||||
description 'EDP Cloud Services (Postgres, Redis, etc.'
|
description 'EDP Cloud Services (Postgres, Redis, etc.)'
|
||||||
technology 'Cloud Services'
|
technology 'Cloud Services'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -55,7 +54,7 @@ deployment {
|
||||||
|
|
||||||
|
|
||||||
paas cloudServices 'EDP Cloud Services' {
|
paas cloudServices 'EDP Cloud Services' {
|
||||||
description 'EDP Cloud Services (Postgres, Redis, etc.'
|
description 'EDP Cloud Services (Postgres, Redis, etc.)'
|
||||||
technology 'Cloud Services'
|
technology 'Cloud Services'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -63,7 +62,6 @@ deployment {
|
||||||
description '*.buildth.ing'
|
description '*.buildth.ing'
|
||||||
icon tech:kubernetes
|
icon tech:kubernetes
|
||||||
technology 'Kubernetes'
|
technology 'Kubernetes'
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
68
resources/edp-likec4/views/deployment/edge/provider.c4
Normal file
68
resources/edp-likec4/views/deployment/edge/provider.c4
Normal file
|
|
@ -0,0 +1,68 @@
|
||||||
|
deployment {
|
||||||
|
|
||||||
|
paas edgeProvider 'Terraform Edge provider' {
|
||||||
|
icon tech:terraform
|
||||||
|
description "Unlocks the terraform ecosystem"
|
||||||
|
-> edgeSdk "built using"
|
||||||
|
-> terralist "published to"
|
||||||
|
-> edp "hosted on"
|
||||||
|
}
|
||||||
|
|
||||||
|
environment edgeProviderHost 'OTC' {
|
||||||
|
|
||||||
|
cluster edp 'Forgejo for all EDP-tenants' {
|
||||||
|
icon tech:git
|
||||||
|
instanceOf edp.forgejo 'Forgejo for all EDP-tenants' {
|
||||||
|
description 'edp.buildth.ing'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
paas terralist 'Terralist' {
|
||||||
|
icon tech:terraform
|
||||||
|
description 'Terraform provider private hosting'
|
||||||
|
technology 'Cloud Services'
|
||||||
|
-> edp "authenticates via"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
paas edgeSdk 'Edge Cloud SDK' {
|
||||||
|
icon tech:go
|
||||||
|
description 'Wrapper around API'
|
||||||
|
technology 'Cloud Services'
|
||||||
|
-> edgeApi "calls"
|
||||||
|
-> edp "hosted on"
|
||||||
|
}
|
||||||
|
|
||||||
|
environment edgeCloud 'Edge cloud' {
|
||||||
|
|
||||||
|
paas edgeApi 'Edge Cloud API' {
|
||||||
|
icon tech:swagger
|
||||||
|
link https://swagger.edge.platform.mg3.mdb.osc.live "Documentation"
|
||||||
|
technology 'Edge Cloud (managed)'
|
||||||
|
-> edgeResources "creates/destroys"
|
||||||
|
}
|
||||||
|
|
||||||
|
paas edgeResources 'Edge Cloud Resources' {
|
||||||
|
description 'App, AppInstance, etc.'
|
||||||
|
technology 'Edge Cloud (managed)'
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
views {
|
||||||
|
deployment view provider {
|
||||||
|
title 'Terraform Edge provider'
|
||||||
|
|
||||||
|
include
|
||||||
|
edgeProviderHost,
|
||||||
|
edp,
|
||||||
|
edgeResources,
|
||||||
|
edgeCloud,
|
||||||
|
edgeApi,
|
||||||
|
terralist,
|
||||||
|
edgeSdk,
|
||||||
|
edgeProvider,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue