I've started a migration of a bunch of makefiles to a binary to ease the process of local infra management
Here is the repo https://github.com/infra-lab-xyz/infra-lab-cli
Well, I still need to figure out how to work with k8s networks, with proxy protocol, and how to run services in k8s with knowledge about which IP made a request.
In short, it is a wrapper over other tools: podman, minikube, kind, webhook, helm, with more to come. I'm adding some extra logic I've never had in Makefile: autocomplete supported k8s versions in minikube, for example.
I've added podman machine management, well, without create and delete, but start, stop, restart, and configure are implemented. I've added kind and minikube commands to manage local clusters I've added the possibility to use config and override default values with config file, env variable or a flag in the command.
Previously, to modify the config, add a new parameter or remove an existing one, I needed to touch at least 3 places:
The config structure itself
The env bind generation function (this function generated a map with some portion of hardcode)
The function that sets the default values
Now I need to update just one place, the config itself.
Also, I like being able to set Grafana configs via env vars. So here I can do too. This variable ILC__APPS__MINIKUBE__KUBE_VERSION can override the default value of the Kubernetes version to use in the minikube cluster.
Next steps
I'm working on Helm. I have no issues with HTTP helm repos, but with OCI. OCI is supported by Helm, yet you cannot add the OCI repo. And to deploy, you need to provide the whole address, which is a bit too much.
So why not save OCI repos to a file and query when necessary the list to allow helm upgrade --instal <repo_name>/<chart_name>... command
Another thing is the config itself. The config file is not created yet, and the project dir as well.
Recently, I had a task to configure Kubernetes authentication in Hashicorp Vault, which is outside of the Kubernetes cluster and has no direct access to the Kube-API. In this post, I'll describe how I achieved it.
I've started a migration of a bunch of makefiles to a binary to ease the process of local infra management
Here is the repo https://github.com/infra-lab-xyz/infra-lab-cli
I'm migrating my infra from the previous (docker-compose) into the current (k8s) infra.
All the previous posts were deleted since they are outdated
Upd: 15.02.2025