Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Idpbuilder workflow Diagram #347

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,12 +105,48 @@ This script runs helm template to generate most files. See the values file for m
ingress-nginx manifests are generated using a bash script available [here](./hack/ingress-nginx/generate-manifests.sh).
This script runs kustomize to modify the basic installation manifests provided by ingress-nginx.

## Installation Flow
This diagram highlights the installation flow of idpbuilder and the various core packages.

```mermaid
flowchart TD
subgraph MainCluster
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be "Target Cluster".

direction TB
subgraph ArgoCD[ArgoCD Apps]
ArgoCD_App[ArgoCD]
Ingress[Ingress-nginx]
Gitea_App[Gitea]
end

subgraph Gitea[Git Repositories]
Gitea_ArgoCD[ArgoCD]
Gitea_Ingress[Ingress-nginx]
Gitea_Gitea[Gitea]
end

ArgoCD -->|GitOps| Gitea
end

CorePackages[Core Packages: \nArgoCD, \nGitea, \nIngress-nginx]
LocalDir[Local Directory: \n- argocd-app.yaml \n- manifest files]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can specify remote repository as well in the -p flag.


subgraph Process
CLI[IDPBUILDER CLI]
CLI -->|1. Create \nKind Cluster| CorePackages
CorePackages -->|2. Install| MainCluster
CorePackages -->|3. Create \nRepositories and hand over \ncontrol to ArgoCD| Gitea
Gitea -->|4. Read| CLI
Gitea -->|5. Sync Custom Packages| LocalDir
end

```
## Architecture

idpbuilder is made of two phases: CLI and Kubernetes controllers.

![idpbuilder.png](docs/images/idpbuilder.png)


### CLI

When the idpbuilder binary is executed, it starts with the CLI phase.
Expand Down