# 🌟 EDP - EdgeDeveloperPlatform

> * Owner: Telekom MMS & T-Systems
> * Date: December 20, 2024
> * Version: Release 1.0.0 ('PoC')

## About this Repository

This repo [`edp-doc`](https://forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/DevFW-CICD/edp-doc) is the documentation repository of the **EDP product**.

## About the EDP Product

EDP is a product developed by the IPCEI-CIS subproject 'edge Developer Framework'. The goal is to provide a cutting edge developer experience for developing and delivering applications in the cloud edge continuum.

## What EDP contains

The EDP product consists of three parts:

1. The platform orchestrator, processing declarative 'platform stack' descriptions
1. The predefined stack for a Demo EDP instance
1. The documentation

### Platform Orchestrator `edpbuilder`

[edpbuilder](https://forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/DevFW/edpbuilder) is a tool to quickly instantiate and manage Internal Development Platforms (IDPs).
The Edge Development Platform Builder (edpbuilder) can easily setup a Kubenetes cluster (local kind cluster or OSC instance) and deploy tools to manage the Kubernetes resources and the software lifecicle of an application.

### Predefined `Demo EDP` Stack

There are predefined stack sets for deploying and orchestrating a whole platform.

At the time of writing (version PoC) we provide the [`Demo EDP`as PoC stack](https://forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/DevFW-CICD/stacks).

#### `Demo EDP` Stack

The `Demo EDP` Stack contains the follwing application components:

* Version-Control: Forgejo
* CI: Forgejo Actions
* CD: ArgoCD
* Monitoring: Grafana, Prometheus, Loki, Promtail
* SSO: Keycloak
* Developer Portal: Backstage
* Secret-Management: OpenBao, external-secrets
* Infrastructur-Provisioning: Crossplane

One usecase to demonstrate the capabilities and development lifecycle flow through all stack components is the [PetClinic Application](./docs/user-documentation/petclinic.md)

### Documentation

The EDP documentation is subject to this repo in folder [`docs`](./docs/). It is created in the [`mkdocs`](https://www.mkdocs.org/) documentation format and natively embedded in the [`Backstage TechDocs` documentation technology](https://backstage.io/docs/features/techdocs/).

Thus it can be read in four ways by

1. [accessing the Backstage portal in a running Demo EDP](#doc-in-backstage-in-a-running-demo-edp)
2. [accessing the Backstage portal in a Demo EDP setup on your computer](#doc-in-backstage-in-a-demo-edp-setup-on-your-computer)
3. [browsing the documentaion repository](#doc-in-the-repository)
4. [browsing in a Backstage simulation on your computer](#doc-in-a-backstage-simulation)

## Getting Started

So get started by reading the doc in one of these ways, sorted from 'easy' to 'opinionated' accessibility:

### Doc in Backstage in a running Demo EDP

The documentation can be easily accessed through a Demo EDP instance hosted on our Open Sovereign Cloud (OSC).
Thus there you have a Backstage-Developer Portal running, containing the EDP documentation.

Simply log in to Demo EDP Backstage to read through the documentation:

* [EDP Documentation URL](https://edf-cc1.cx.fg1.ffm.osc.live/docs/edppoc/component/edp-documentation)
* Username: user1
* Password: PpMpfZYICG9MRRF-3QBY2Zz1-+URYB6+-JRe

### Doc in the repository
  
> Hint: the following link only works when you are in the repo (not in Backstage), like [the central one](https://forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/DevFW-CICD/edp-doc)

If you prefer direct access, the content of our documentation is centrally defined and maintained within the [docs folder of this repository](./docs/contents.md).

### Doc in a Backstage simulation

> Hint: the following link only works when you are in the repo (not in Backstage), like [the central one](https://forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/DevFW-CICD/edp-doc)

The Backstage TechDocs embedding can also be [emulated in a Backstage portal frame running on your computer](./live-preview-integration/README-backstage-local.md).

### Doc in Backstage in a Demo EDP setup on your computer

As `edpbuilder` is a infrastructure agnostic platform orchestrator, you also can boostrap the EDP Demo on your own laptop!

Using the edpbuilder, you can set up a local Demo EDP that comes with a Backstage instance containing the documentation:

> Hint: the following link only works when you are in the repo (not in Backstage), like [the central one](https://forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/DevFW-CICD/edp-doc)

[How to set up a local IDP on a kind cluster](./docs/user-documentation/edpbuilder.md)
