Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rimubytes/idp_demo
A demo showcasing how an internal developer platform is created
https://github.com/rimubytes/idp_demo
idp kubernetes
Last synced: about 2 months ago
JSON representation
A demo showcasing how an internal developer platform is created
- Host: GitHub
- URL: https://github.com/rimubytes/idp_demo
- Owner: rimubytes
- Created: 2024-05-28T12:21:27.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-09-12T20:12:04.000Z (4 months ago)
- Last Synced: 2024-09-13T09:58:42.112Z (4 months ago)
- Topics: idp, kubernetes
- Homepage:
- Size: 2.93 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# idp_demo
The repository includes configurations and manifests for setting up an IDP, showcasing integrations with tools like ArgoCD, Crossplane, and others.
## Overview
This project showcases how to set up an IDP by leveraging cloud-native tools and practices. The demo includes infrastructure setup, application deployment, resource management, policy enforcement, database schema management, and secret management.
For this IDP I wanted to focus on:
1. Standardized deployment process
2. Provide easy-to-use service templates
3. Centralized monitoring and logging### Key Components
- [x] Infrastructure: EKS cluster using 'eksctl'
- [x] Application DEployment: Managed by ArgoCD
- [ ] Cloud Resources: Managed by Crossplane
- [ ] Policies: Enforced using OPA(Open Policy Agency)
- [ ] Database Management: Using SchemaHero
- [ ] Secret Management: Using External Secrets Operator
- [ ] CI/CD: Automated with GitHub Actions### Project Structure
```plaintext
idp-demo/
├── apps/
│ └── demo-app.yaml
├── argocd/
│ └── application.yaml
├── crossplane/
│ └── provider.yaml
├── crossplane-config/
│ └── aws.yaml
├── eso/
│ └── secret.yaml
├── infra/
│ └── eksctl-config.yaml
├── policies/
│ └── opa-policy.rego
├── schema-hero/
│ └── database.yaml
├── .github/
│ └── workflows/
│ └── deploy.yaml
├── setup.sh
├── setup-infra.sh
├── setup-previews.sh
└── destroy.sh
```### Usage
- To Create and Manage the infrastrucutre, use the provided setup scripts
- Deploy applications and manage resources using the manifests and configurations
- Use GitHub Actions for CI/CD pipelines### Cleanup
- To tear down the setup and clean up resources, run:
```bash
./destroy.sh
```