docs(documentation): finished documentation entry point 'Edge Connect Cloud'
All checks were successful
ci / build (push) Successful in 55s
All checks were successful
ci / build (push) Successful in 55s
This commit is contained in:
parent
840c607d27
commit
d106cc2b11
6 changed files with 138 additions and 57 deletions
|
|
@ -3,25 +3,35 @@ title: EdgeConnect
|
|||
linkTitle: EdgeConnect Cloud
|
||||
weight: 20
|
||||
description: >
|
||||
Secure connectivity solution for edge devices and environments
|
||||
Sovereign edge cloud for running applications
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
EdgeConnect is a custom cloud provided by the project as a whole. It has several goals, including retaining sovereign control over cloud compute resources, and supporting sustainability-aware infrastructure choices.
|
||||
|
||||
While EdgeConnect is managed outwith our Edge Developer Platform, we have produced a number of tools to facilitate its use and broaden its applicability. These are an [SDK](/docs/components/deployments/edgeconnect/edgeconnect-sdk/), command-line [client](/docs/components/deployments/edgeconnect/edgeconnect-client/), bespoke [provider](/docs/components/orchestration/infrastructure/provider/) for [Terraform](https://developer.hashicorp.com/terraform), and tailormade [Forgejo Actions](/docs/edgeconnect/edgeconnect-actions/).
|
||||
While EdgeConnect is managed outwith our Edge Developer Platform, we have produced a number of tools to facilitate its use and broaden its applicability. These are an [SDK](/docs/components/deployments/edgeconnect/edgeconnect-sdk/), command-line [client](/docs/components/deployments/edgeconnect/edgeconnect-client/), bespoke [provider](/docs/components/orchestration/infrastructure/provider/) for [Terraform](https://developer.hashicorp.com/terraform), and tailor-made [Forgejo Actions](/docs/edgeconnect/edgeconnect-actions/).
|
||||
|
||||
{{< likec4-view view="edgeconnect-context" project="architecture" title="EdgeConnect Context View: Users, Tooling and Control Plane" >}}
|
||||
|
||||
The diagram summarizes how EdgeConnect is typically consumed and operated. Developers and automation do not interact with edge clusters directly; instead they use stable entry points (CLI, SDK, Terraform) that talk to the EdgeConnect API.
|
||||
|
||||
EdgeConnect itself is shown as a single cloud boundary that contains the control plane (API + controllers) and the managed resource model (e.g., App, AppInstance). Controllers continuously reconcile the desired state expressed via the API and drive deployments into the runtime.
|
||||
|
||||
EDP appears here as an external consumer: it can automate provisioning and deployment workflows (for example via Terraform) while EdgeConnect remains a separately managed cloud. This separation clarifies responsibilities: EDP orchestrates delivery processes, EdgeConnect provides the target runtime and lifecycle management.
|
||||
|
||||
## Key Features
|
||||
|
||||
* Managed by broader project, not specifically EDP
|
||||
* Managed by the broader project, not specifically by EDP
|
||||
* Focus on sovereignty and sustainability
|
||||
* Utilities such as [CLI](docs/components/deployments/edgeconnect/edgeconnect-client/) and [Terraform provider](/docs/components/orchestration/infrastructure/provider/) encourage widespread platform use
|
||||
* Utilities such as [CLI](/docs/components/deployments/edgeconnect/edgeconnect-client/) and [Terraform provider](/docs/components/orchestration/infrastructure/provider/) encourage widespread platform use
|
||||
* [EDP](/docs/edp/) products such as [Forgejo](/docs/components/forgejo/) are hosted on [OTC](/docs/components/deployments/otc/) rather than EdgeConnect
|
||||
|
||||
## Purpose in EDP
|
||||
|
||||
Working with EdgeConnect allows us to ensure our work supports that of our colleagues, ultimately leading to a platform that is as broadly and deeply usable as possible. By working in a sovereign system we are encouraging European development, while sustainability features are offered by very few other clouds. It also gives us possibilities to work closely with other teams, ensuring both teams' work is better than would be possible otherwise.
|
||||
EdgeConnect is documented here because it is a key deployment target and integration point for the broader platform. Even though EdgeConnect is operated separately from EDP (and core EDP services are hosted on OTC), EDP tooling and automation frequently needs to provision or deploy workloads into EdgeConnect in a consistent, repeatable way.
|
||||
|
||||
Working with EdgeConnect also helps ensure that our developer workflows and platform components remain portable and “cloud-ready” beyond a single environment. By integrating with a sovereign system and making sustainability-aware choices visible in practice, we align platform engineering with the project’s wider goals and enable closer collaboration with the teams operating the EdgeConnect cloud.
|
||||
|
||||
### Access
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,41 @@
|
|||
model {
|
||||
component edgeConnect 'Edge Connect' {
|
||||
description 'Provides an API to run applications on the edge'
|
||||
system edgeConnect 'EdgeConnect Cloud' {
|
||||
description 'Provides an API and control plane to run applications on the edge'
|
||||
|
||||
container api 'Edge Cloud API' {
|
||||
description 'Single entry point for provisioning and lifecycle management'
|
||||
}
|
||||
|
||||
container resources 'Edge Resources' {
|
||||
description 'Managed resources such as App, AppInstance, etc.'
|
||||
}
|
||||
|
||||
container controllers 'Controllers / Scheduler' {
|
||||
description 'Reconciles desired state and drives deployments'
|
||||
}
|
||||
|
||||
container runtime 'Edge Clusters' {
|
||||
description 'Runtime where applications actually run'
|
||||
}
|
||||
|
||||
api -> resources 'creates/updates'
|
||||
controllers -> resources 'reconciles'
|
||||
controllers -> runtime 'deploys'
|
||||
}
|
||||
|
||||
component edgeCli 'EdgeConnect CLI' {
|
||||
description 'Command-line client for interactive usage'
|
||||
}
|
||||
|
||||
component edgeSdk 'EdgeConnect SDK' {
|
||||
description 'SDK for programmatic integration'
|
||||
}
|
||||
|
||||
component edgeTerraformProvider 'Terraform Edge provider' {
|
||||
description 'Terraform provider enabling declarative provisioning'
|
||||
}
|
||||
|
||||
edgeCli -> edgeConnect.api 'calls'
|
||||
edgeSdk -> edgeConnect.api 'calls'
|
||||
edgeTerraformProvider -> edgeConnect.api 'provisions via'
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,9 @@ model {
|
|||
description 'The regular user of the platform'
|
||||
-> localbox 'inner loop'
|
||||
-> edp 'outer loop'
|
||||
-> edgeCli 'uses'
|
||||
-> edgeSdk 'uses'
|
||||
-> edgeTerraformProvider 'uses'
|
||||
-> edp.ui 'manages project'
|
||||
-> edp.forgejo 'manages code'
|
||||
-> edp.keycloak 'authenticates'
|
||||
|
|
@ -19,6 +22,7 @@ model {
|
|||
color gray
|
||||
shape person
|
||||
}
|
||||
-> edgeConnect 'operates'
|
||||
}
|
||||
otherProductLifecycleRoles = actor 'Reviewer, Tester, Auditors, Operators' {
|
||||
description 'Coworking roles in the outer loop'
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ model {
|
|||
icon tech:kubernetes
|
||||
-> enterprise 'integrates'
|
||||
-> cloud 'deploy & observe'
|
||||
-> edgeTerraformProvider 'automates'
|
||||
-> localbox // inner-outer loop synchronization
|
||||
|
||||
application = schema 'application' {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,30 @@
|
|||
views {
|
||||
view edgeconnect-context {
|
||||
title 'EdgeConnect Context'
|
||||
autoLayout LeftRight 180 140
|
||||
|
||||
include developer
|
||||
include platformdeveloper with {
|
||||
title 'Platform / Cloud Operator'
|
||||
}
|
||||
include edp with {
|
||||
title 'EDP / CI Automation'
|
||||
}
|
||||
|
||||
include edgeCli
|
||||
include edgeSdk
|
||||
include edgeTerraformProvider
|
||||
|
||||
include edgeConnect
|
||||
include edgeConnect.*
|
||||
|
||||
style edgeConnect, edp {
|
||||
color magenta
|
||||
}
|
||||
|
||||
style developer, platformdeveloper {
|
||||
size xsmall
|
||||
textSize small
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue