590 karma · joined January 3, 2016
> I've been through the docs and could find if there's a way to deploy a git repo, or a tar file, that contains the docker compose file instead if copy pasting.
We are currently developing a GitHub Action utilizing our SDK to upload latest releases (and provide paths to the docker-compose file).
> What about env variables?
These are high up in our backlog and we are looking for initial partners to specify them with. We thought about using end-to-end encryption for env variables.
What would be an example for an endpoint?
> `docker compose up` Yes currently this all what the agent does. We assume that most applications handle upgrades inside their applications and not on an infrastructure level. Do you have an exact upgrade case in mind?
Regarding the vendor and the customer portal, we want to enable both options. A deployment can either be managed by the vendor or by the customer. Some customers want to control when they want to perform upgrades and set certain variables or helm values themselves. In other cases it is fine if the ISV does all the management.
This is also what might be configurable in the future.
Thanks again, let us know if you know how can improve Distr. All feedback is welcome.
I don't think that idea of gitops is broken if the glasskube package controller and all custom resources are versioned you will always lead to a reproducible result.
> Can we benefit your project in a more limited but agentless way?
We are building a central package repository with a lot of ci / cd testing infrastrucutre to increase quality of kubernetes packages in general: https://github.com/glasskube/packages
I recommend giving Glasskube a try with Minikube locally and join our Discord to interact with the community.
Tldr.: If you are already using open shift, make use of the operator hub, else glasskube is the more lightweight and simpler solution with similar concepts.
If your setup become more complex and changes often (b) a I would recommend breaking it up into smaller pieces.
For both scenarios it makes sense to use git to keep track of revision and previous states of your Kubernetes cluster and incorporate review processes with pull requests.
We have abstracted all packages as custom resources and have a controller that reconciles these resources to (1) enable drift detection. Additionally, we use admission controllers (2) to validate dependencies and package configurations before they are applied to the cluster, while also working with custom resources to store and update the status of installed packages.
Our template already includes update automations with the renovate integration and easier integration of third party applications.
Our bootstrap git sub command is similar to argo cd autopliot. I give it a try right now to be able to better state differences and follow up on this question.
- Well defined package structure - Comprehensive but scaleable configuration options - Integration with existing typed configuration options & dependencies - Support for in Code and optional dependencies - Tooling that will package a Glasskube packages and generate manifests
We would also appreciate your vote on our GitHub discussion.
Our main priorities are:
- Well defined package structure - Comprehensive but scaleable configuration options - Integration with existing typed configuration options & dependencies - Support for in Code and optional dependencies - Tooling that will package a Glasskube packages and generate manifests
We would also appreciate your vote on our GitHub discussion.
Nowadays you can also start with a light weight MQ like Rabbit MQ and decouple your service just into a hand full components. This will set you up for scalability without introducing massive overheads.
In end it is also always a knowledge game. How experienced are you or how much time are you willing to invest into learning and understanding a technology.
Building them for different Kubernetes version or environments is something we also already thought about and need to happen at some time to bake more configuration into to the build step.
We will update the docs though.
Think of it as codecov analysis, but just for resource changes.
Glasskube on the other hand is a package manger where you can find look up, install and configure packages via a cli and UI and overcome some of the shortcomings of Helm.
> This misses the point, what we need is something more like Terraform, which has a way to get dynamic information from resource values that are assigned by the system. One such example would be the secret that the postgres operator generates for connecting in the api server that needs access.
It is also already possible to inject values from secrets during runtime. You can for example create a Glasskube package that has a dependency on cnpg and add a `cluster.yaml` to your package and then dynamically patch the connection string (or credentials) from it to your deployment.
See the "ValueFrom" section of our configuration documentation for the exact inner workings: https://glasskube.dev/docs/design/package-config/
It is often used by developers to get a glimpse of the state of core application of a company without cluster access.
Glasskube focuses on the packages your core application depends on. Managing the life cycle of these infrastructure components, testing updates and providing upgrading paths. You can still put Glasskube packages into your GitOps repo and sync them via ArgoCD into the cluster. Our PackageController will do the rest.