diff --git a/content/en/docs/project/streams/pocs/sia-asset/_index.md b/content/en/docs/project/streams/pocs/sia-asset/_index.md index 6332cc7..147f8a8 100644 --- a/content/en/docs/project/streams/pocs/sia-asset/_index.md +++ b/content/en/docs/project/streams/pocs/sia-asset/_index.md @@ -24,4 +24,27 @@ Die Erwartung ist, dass so ein Projekt als 'Golden Path' abbildbar ist und die E ## References -* https://platformengineering.org/blog/decoding-golden-paths-the-highway-for-your-developers \ No newline at end of file +* https://platformengineering.org/blog/decoding-golden-paths-the-highway-for-your-developers + + +## Scenario (see IPCEICIS-363) + +```mermaid +graph TB + Developer[fa:fa-user developer] + PlatformDeliveryAndControlPlaneIDE[IDE] + subgraph LocalBox["localBox"] + LocalBox.EDF[Platform] + LocalBox.Local[local] + end + subgraph CloudGroup["cloudGroup"] + CloudGroup.Test[test] + CloudGroup.Prod[prod] + end + Developer -. "use preferred IDE as local code editing, building, testing, syncing tool" .-> PlatformDeliveryAndControlPlaneIDE + Developer -. "manage (in Developer Portal)" .-> LocalBox.EDF + PlatformDeliveryAndControlPlaneIDE -. "provide "code"" .-> LocalBox.EDF + LocalBox.EDF -. "provision" .-> LocalBox.Local + LocalBox.EDF -. "provision" .-> CloudGroup.Prod + LocalBox.EDF -. "provision" .-> CloudGroup.Test +``` \ No newline at end of file diff --git a/resources/architecture-c4/ipceicis-363-goldenpath-sia/developer.png b/resources/architecture-c4/ipceicis-363-goldenpath-sia/developer.png new file mode 100755 index 0000000..852c2fc Binary files /dev/null and b/resources/architecture-c4/ipceicis-363-goldenpath-sia/developer.png differ diff --git a/resources/architecture-c4/ipceicis-363-goldenpath-sia/environments.png b/resources/architecture-c4/ipceicis-363-goldenpath-sia/environments.png new file mode 100755 index 0000000..e75946a Binary files /dev/null and b/resources/architecture-c4/ipceicis-363-goldenpath-sia/environments.png differ diff --git a/resources/architecture-c4/ipceicis-363-goldenpath-sia/ipceicis-363-goldenpath-sia.c4 b/resources/architecture-c4/ipceicis-363-goldenpath-sia/ipceicis-363-goldenpath-sia.c4 new file mode 100755 index 0000000..20b2ea1 --- /dev/null +++ b/resources/architecture-c4/ipceicis-363-goldenpath-sia/ipceicis-363-goldenpath-sia.c4 @@ -0,0 +1,76 @@ +specification { + tag developer + element actor { + style { + shape person + } + } + element environment + +} + +model { + actor developer { + -> Platform.DeliveryAndControlPlane.Portal 'use Portal as E2E Golden Path Processor' + -> Platform.DeliveryAndControlPlane.IDE 'use preferred IDE as local code editing, building, testing, syncing tool' + -> Platform.DeliveryAndControlPlane.VersionControl.ApplicationSourceCode 'git cli tools' + -> Platform.DeliveryAndControlPlane.VersionControl.PlatformSourceCode 'git cli tools' + + -> Platform.DeliveryAndControlPlane.Portal.Catalogue + -> Platform.DeliveryAndControlPlane.Portal.Documentation + -> Platform.DeliveryAndControlPlane.Portal.Templates + -> Platform.DeliveryAndControlPlane.Portal.SystemDashboard + } + + extend Platform.DeliveryAndControlPlane.IDE { + IDE -> Platform.DeliveryAndControlPlane.VersionControl.PlatformSourceCode 'IDE git' + IDE -> Platform.DeliveryAndControlPlane.VersionControl.ApplicationSourceCode 'IDE git' + IDE -> Platform.DeliveryAndControlPlane.Portal.API '(opt.) browse/control in IDE' + } + + extend Platform.DeliveryAndControlPlane.Portal { + component API + component Templates + component Catalogue + component Documentation + component SystemDashboard + } + + environment localBox { + environment EDF 'Platform' 'Environment for the EDF Platform Orchestration' { + -> local 'provision' + -> test 'provision' + -> prod 'provision' + developer -> this 'manage (in Developer Portal)' + Platform.DeliveryAndControlPlane.IDE -> this 'provide "code"' + } + environment local 'local' 'Environment for developing / Integration' + } + environment cloudGroup { + environment test 'test' 'Environment for review delivery' + environment prod 'prod' 'Environment for final delivery' + } +} + +views { + view developer { + title "Developer Experience" + include developer + include Platform.DeliveryAndControlPlane.* + include Platform.DeliveryAndControlPlane.VersionControl.* + include Platform.DeliveryAndControlPlane.Portal.* + + include Platform.DeliveryAndControlPlane.IDE with { + title 'IDE' + description 'The IDE is the developers center of coding' + color green + } + } + + view environments { + include developer + include Platform.DeliveryAndControlPlane.IDE + include element.kind=environment + autoLayout TopBottom + } +} \ No newline at end of file diff --git a/resources/architecture-c4/ipceicis-363-goldenpath-sia/landscape.png b/resources/architecture-c4/ipceicis-363-goldenpath-sia/landscape.png new file mode 100755 index 0000000..b49bbd8 Binary files /dev/null and b/resources/architecture-c4/ipceicis-363-goldenpath-sia/landscape.png differ diff --git a/resources/architecture-c4/ipceicis-363-goldenpath-sia/platform.c4 b/resources/architecture-c4/ipceicis-363-goldenpath-sia/platform.c4 new file mode 100755 index 0000000..a9b925f --- /dev/null +++ b/resources/architecture-c4/ipceicis-363-goldenpath-sia/platform.c4 @@ -0,0 +1,106 @@ +specification { + tag plane + tag genericPlatformComponent + element plane { + notation "Plane" + style { + color gray + } + } + element system { + style { + opacity 20% + color secondary + } + } + element container { + style { + opacity 20% + color secondary + } + } + element component { + style { + opacity 20% + color secondary + } + } + element platform +} + +model { + platform Platform { + plane DeliveryAndControlPlane { + #plane + system IDE { + #genericPlatformComponent + -> CIPipeline + } + system Portal { + #genericPlatformComponent + ->ApplicationSourceCode + } + system VersionControl { + #genericPlatformComponent + style { + icon https://upload.wikimedia.org/wikipedia/commons/0/0f/Forgejo-wordmark.svg + } + component PlatformSourceCode { + #genericPlatformComponent + title 'Platform Source Code' + component IAC { + -> Orchestrator + } + component Automations + } + component ApplicationSourceCode { + #genericPlatformComponent + title 'Application Source Code' + component Score + component Workload + -> CIPipeline + } + } + } + plane IntegrationAndDeliveryPlane { + #plane + system CIPipeline { + -> Registry + } + system Registry { + -> Orchestrator + } + system Orchestrator { + #genericPlatformComponent + style { + color red + } + -> CDPipeline + -> SecretsAndIdentityManagement + } + system CDPipeline { + -> RessourcePlane + } + } + plane MonitoringAndLoggingPlane { + #plane + system Observability + } + plane SecurityPlane { + #plane + style { + + } + system SecretsAndIdentityManagement { + #genericPlatformComponent + } + } + plane RessourcePlane { + #plane + system Compute + system Data + system Networking + system Services + } + } +}