Skip to content

Commit

Permalink
Rename the developer section and move it after the Quickstart
Browse files Browse the repository at this point in the history
Signed-off-by: cmoulliard <[email protected]>
  • Loading branch information
cmoulliard committed Oct 31, 2023
1 parent 1f0ea41 commit 0472283
Showing 1 changed file with 20 additions and 18 deletions.
38 changes: 20 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ Table of Contents
* [Build](#build)
* [Run](#run)
* [Use](#use)
* [Developer notes](#developer-notes)
* [Architecture](#architecture)
* [Kind cluster](#kind-cluster)
* [Localbuild](#localbuild)
* [Gitserver](#gitserver)
* [Embedded Argo Apps](#embedded-argo-apps)
* [Diagram](#diagram)
* [To start developing](#to-start-developing)
* [Extending the IDP builder](#extending-the-idpbuilder)

# IDP Builder
Expand Down Expand Up @@ -49,6 +49,25 @@ Argo: https://argocd.cnoe.localtest.me:8443/

Backstage: https://backstage.cnoe.localtest.me:8443/


## Developer notes

If you want to contribute and extend the existing project, make sure that you have installed go (>= 1.20) and cloned this project.
Next, you can build it `make` or launch the `main.go` within your IDE or locally `./idpbuilder`.

You can override the kind configuration generated by the idpbuilder. For that purpose, look to the
console to grab the config and save it in a file:
```text
########################### Our kind config ############################
# Kind kubernetes release images https://github.com/kubernetes-sigs/kind/releases
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
...
######################### config end ############################
```
Next, import it `./idpbuilder create --kindConfig <path to the config file>`


## Architecture

The IDP builder binary is primarily composed of a wrapper around a [Kubebuilder](https://kubebuilder.io) based operator and associated type called localbuild. See: [api/v1alpha1/localbuild_types.go](https://github.com/cnoe-io/idpbuilder/blob/4b0f8ecdd7266083373da51d5add1bca73e05a33/api/v1alpha1/localbuild_types.go#L28-L66) and [pkg/controllers/localbuild/controller.go](https://github.com/cnoe-io/idpbuilder/blob/4b0f8ecdd7266083373da51d5add1bca73e05a33/pkg/controllers/localbuild/controller.go#L54-L84)
Expand Down Expand Up @@ -91,22 +110,5 @@ As you can imagine each of these apps are are deployed by ArgoCD to the Kind clu

[Excalidraw diagram here:](https://excalidraw.com/#json=MNOQf_OeLtKYe_Y80Bt2l,AP-ftLAwZoDWjp2yudnMKA)

## To start developing

If you want to contribute and extend the existing project, make sure that you have installed go (>= 1.20) and cloned this project.
Next, you can build it `make` or launch the `main.go` within your IDE or locally `./idpbuilder`.

You can override the kind configuration generated by the idpbuilder. For that purpose, look to the
console to grab the config and save it in a file:
```text
########################### Our kind config ############################
# Kind kubernetes release images https://github.com/kubernetes-sigs/kind/releases
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
...
######################### config end ############################
```
Next, import it `./idpbuilder create --kindConfig <path to the config file>`

## Extending the IDP builder
In the future we hope to allow for a pluggable interface to allow for extending the IDP builder with additional argo apps. For now you simply need to add additional apps in the [Embedded Apps](https://github.com/cnoe-io/idpbuilder/blob/4b0f8ecdd7266083373da51d5add1bca73e05a33/pkg/apps/resources.go#L20-L32) and also add the resources they will deploy in the `srv` folder: [pkg/apps/srv](https://github.com/cnoe-io/idpbuilder/blob/4b0f8ecdd7266083373da51d5add1bca73e05a33/pkg/apps/srv/)

0 comments on commit 0472283

Please sign in to comment.