# 🌟 EdgeDeveloperPlatform - EDP Release 'PoC'

Telekom MMS & T-Systems, December 2024

> **Tagline:** Change the way we work with IDP's.

---

This file describes how you can read the EDP documentation and run and use the platform.

## 📋 Table of Contents

- [🌟 eDF Release 'PoC'](#-edf-release-poc)
  - [📋 Table of Contents](#-table-of-contents)
  - [📖 About the Product](#-about-the-product)
    - [🛠️ Application Stack](#️-application-stack)
  - [✔️ Prerequisites](#️-prerequisites)
  - [🚀 Installation](#-installation)
  - [📷 Screenshots](#-screenshots)
  - [🤝 Contributing](#-contributing)
  - [📝 License](#-license)

---

## 📖 About the Product

**eDF_PoC** is a tool to quickly instantiate and manage IDPs. The eDF builder 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.
One usecase to demonstrate the capabilities of our tool is the Fibonacci Go Application.(<https://forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/Franz.Germann/fibonacci_go>).

### 🛠️ Application Stack

- **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

---

## ✔️ Prerequisites

- **Tools you'll need to execute the scripts:**
  - go
  - curl
  - jq
  - git
  - openssl
  - docker
  - kind
  - kubectlmikefarah/yq
  - helm

---

## 🚀 Installation

1. Clone the repository:

   ```bash
   git clone https://forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/DevFW/edf_poc.git
   cd edf_poc

2. List all kind clusters:

    ```bash
    kind get clusters
    Output:
    primary
    shoot

3. Delete all clusters:

    ```bash
    kind delete clusters primary shoot
 
4. start edfbuilder

    ```bash
    cd edfbuilder
    git pull
    ./start.sh
 
5. In a second terminal when the edfbuilder is ready:

    ```bash
    ./example.sh

6. Get all the passwords:

    ```bash
    ./getpassword.sh

---

## 📷 Screenshots

[IMAGES]

---

## 🤝 Contributing

Contributions are welcome! 🎉

    Fork the project.
    Create a feature branch (git checkout -b feature/YourFeature).
    Commit your changes (git commit -m 'Add a new feature').
    Push to the branch (git push origin feature/YourFeature).
    Open a Pull Request.

---

## 📝 License

[LICENSE]