-
Notifications
You must be signed in to change notification settings - Fork 768
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
GitOps setup #709
Comments
Hey @packituz-gttz, thanks for reaching out! We did think about Cyclops pushing Module changes to git and then leaving a GitOps tool (ArgoCD) to sync into the cluster where our controller could pick up the changes. You would get the same developer experience with GitOps in the loop. We can add an option to commit all changes to a git repo. That option would be in the "advanced" section while creating a Module, and you could specify which repo and path to push your Module configuration to. By default, Modules would be applied directly to the cluster. Would that make sense from your perspective? If yes, we can create a release candidate you can try out. Let us know what you think! |
Hi, yes that would be really useful. Thanks! |
Hey @packituz-gttz, we made a new release candidate You can install it with the following command: kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/cyclops/v0.16.0-rc.2/install/cyclops-install.yaml && kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/cyclops/v0.16.0-rc.2/install/demo-templates.yaml Injecting credentialsBefore deploying a module, you need to configure credentials for your git repos so changes can be pushed to a remote repo. For GitHub, you will need to create a token (can be fine-grained just for a single repo) that has You can use that token to create a secret in your cluster with the following command: kubectl create secret generic my-cyclops-secret \
-n cyclops \
--from-literal=username=<github-username> \
--from-literal=password=<github-token> Once that is created, you can apply the following resource which maps credentials to a specific repo. You can read more about it here apiVersion: cyclops-ui.com/v1alpha1
kind: TemplateAuthRule
metadata:
name: private-repo-rule
namespace: cyclops # has to be in cyclops namespace
spec:
repo: <git-repo> # git repo you want to push configuration to
password:
name: my-cyclops-secret # name of the previously created secret
key: password
username:
name: my-cyclops-secret # name of the previously created secret
key: username The Deploying a module via GitOpsWhen creating a new repository, in the advanced section, you can toggle the For the configuration in the image below, Cyclops will commit your Module as yaml to the repository https://github.com/petar-cvit/gitops-infra on branch From your git repository, you can sync Modules into the cluster with ArgoCD. With such a setup, you still get a custom UI for your apps, but you also get all the benefits of the GitOps approach. Let me know what you think or if you need help with the setup |
Thanks for reporting this @packituz-gttz! We made a new release candidate (
It will push the |
Is your feature request related to a problem? Please describe.
I've been following this tutorial https://cyclops-ui.com/blog/2024/11/29/gitops-clickops , however when modifying the values in Cyclops UI these values are not saved back into the repo. I understand that is the way Cyclops works, but I would like to know if there are plans for Cyclops to save this values back to the repo, so a single source of truth is accomplished.
Describe the solution you'd like
I would like Cyclops to save this values back to the repo, so a single source of truth is accomplished.
Additional context
https://cyclops-ui.com/blog/2024/11/29/gitops-clickops
Thanks!
The text was updated successfully, but these errors were encountered: