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

Update readme #103

Closed
nabuskey opened this issue Dec 6, 2023 · 8 comments · Fixed by #120
Closed

Update readme #103

nabuskey opened this issue Dec 6, 2023 · 8 comments · Fixed by #120
Labels
documentation Improvements or additions to documentation good first issue Good for newcomers help wanted Extra attention is needed

Comments

@nabuskey
Copy link
Collaborator

nabuskey commented Dec 6, 2023

Update the readme file with:

  1. Bootstrap process. What gets installed in what order and why. e.g. Gitea is installed second because it's needed for ArgoCD to function.
  2. What embedded applications are installed by default: ArgoCD, gitea, ingress-nginx, Backstage, Crossplane.
  3. How to specify the custom packages. How to specify local files for syncing with the in-cluster gitea repos.
  4. Examples commands and outcomes. Possibly create another markdown file with screenshots and gifs.
@nabuskey nabuskey added documentation Improvements or additions to documentation good first issue Good for newcomers help wanted Extra attention is needed labels Dec 6, 2023
@fighting-dreamer
Copy link

@nabuskey I like to take this up.

@nabuskey
Copy link
Collaborator Author

nabuskey commented Dec 7, 2023

Thanks @fighting-dreamer. Let me know if you have any questions.

@fighting-dreamer
Copy link

fighting-dreamer commented Dec 8, 2023

@nabuskey I am trying to understand the above mentioned tools, I have worked with k8s to some extent and have small overview about other tools. Can you suggest the right way for approaching this issue.

currently, I was trying to understand the k8s sigs and how controller-gen operates or what controller-gen do for us.

@nabuskey
Copy link
Collaborator Author

nabuskey commented Dec 8, 2023

If you haven't played with this tool yet, I'd highly recommend playing with it first.

Just to make sure you are doing things right to get started, here's how to build and run idpbuilder on your laptop from the main branch. Note that I've only tested this on Linux and MacOS only. I don't know if it works on Windows because I haven't tested it.

  1. Clone this repo. e.g. git clone https://github.com/cnoe-io/idpbuilder.git.
  2. Run make build. You need the make utility and Go 1.20.x installed on your computer.
  3. The above command creates an executable file called idpbuilder in the same directory.
  4. Run the file: ./idpbuilder create. This will take ~2-3 minutes to complete.
  5. Once it's done, open your browser and go to http://gitea.cnoe.localtest.me:8880/giteaAdmin. This is the in-cluster Git server that hosts application manifests installed into the cluster.
  6. You can also go to https://argocd.cnoe.localtest.me:8443 to access the ArgoCD UI. The password for this can be obtained with the following command: kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d. The user name is admin.

As for your question regarding controller-gen, it's an utility very commonly used by Kubernetes operators. It allows you to generate code that's usually pain to write such as deepcopy and CRDs. At its core, idpbuilder is made of a few controllers so it makes sense to use controller-gen. For this issue though, you shouldn't have to worry about code generation stuff.

I am looking to document the components installed to the kind cluster, the order, and how.

When you run the command, the controller are started here:

func RunControllers(ctx context.Context, mgr manager.Manager, exitCh chan error, ctxCancel context.CancelFunc) error {

Once they start, the Reconcile methods are invoked periodically. For example:
func (r *LocalbuildReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {

You should be able to follow the flow from here on. Let me know if you have questions and feel free to DM me on the CNCF slack.

@cmoulliard
Copy link
Contributor

Just to make sure you are doing things right to get started, here's how to build and run idpbuilder on your laptop from the main branch. Note that I've only tested this on Linux and MacOS only. I don't know if it works on Windows because I haven't tested it.

  1. Clone this repo. e.g. git clone https://github.com/cnoe-io/idpbuilder.git.
  2. Run make build. You need the make utility and Go 1.20.x installed on your computer.
  3. The above command creates an executable file called idpbuilder in the same directory.
  4. Run the file: ./idpbuilder create. This will take ~2-3 minutes to complete.
  5. Once it's done, open your browser and go to http://gitea.cnoe.localtest.me:8880/giteaAdmin. This is the in-cluster Git server that hosts application manifests installed into the cluster.
  6. You can also go to https://argocd.cnoe.localtest.me:8443 to access the ArgoCD UI. The password for this can be obtained with the following command: kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d. The user name is admin.

Can we move this text part of a CONTRIBUTING.md file (= setup and build) please as that will help a lot our contributors (aka https://github.com/quarkusio/quarkus/blob/main/CONTRIBUTING.md) ?

@nabuskey
Copy link
Collaborator Author

Can we move this text part of a CONTRIBUTING.md file (= setup and build) please as that will help a lot our contributors (aka https://github.com/quarkusio/quarkus/blob/main/CONTRIBUTING.md) ?

Great idea and I can work on that for sure.

@fighting-dreamer Do you have any more questions? Feel free to reach out via DM or in the #cnoe-interest channel.

@nimakaviani nimakaviani added this to the v0.2 release milestone Dec 12, 2023
@fighting-dreamer
Copy link

I am trying to understand it more. I think it will be early for me to pick it up. Not able to give proper time.

@nabuskey unassigning it for now.

@fighting-dreamer fighting-dreamer removed their assignment Dec 13, 2023
@nimakaviani
Copy link
Contributor

@nabuskey is this closed given the latest changes to README?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants