Welcome to the Helm Charts monorepo! π This repository serves as a centralized collection of Helm charts for deploying and managing Kubernetes applications. π―
- π¦ A monorepo structure for managing multiple Helm charts in one place.
- π οΈ Charts for a variety of use cases, from microservices to full-stack applications.
- π§ Easily customizable values and templates to fit diverse workloads.
- π Follows Helm best practices for scalability, consistency, and maintainability.
- Teams deploying and managing multiple Kubernetes apps at scale π
- Centralized management of shared Helm charts for standardization βοΈ
- Streamlining CI/CD workflows for Kubernetes deployments π
Explore the charts, contribute, and streamline your Kubernetes deployments! π€
Update <SERVER_IP> with the IP address of your k3s server.
scp -i $HOME/.ssh/ansible_key ansible@<SERVER_IP>:/etc/rancher/k3s/k3s.yaml $HOME/k3s.yaml
sed -i '' 's/127.0.0.1/<SERVER_IP>/g' $HOME/k3s.yaml
chmod 600 $HOME/k3s.yaml
export KUBECONFIG=$HOME/k3s.yaml
sudo sed -i '' '/mosher-labs.local/d' /etc/hosts && \
echo "<SERVER_IP> mosher-labs.local" | sudo tee -a /etc/hosts
kubectl get nodes
kubectl get deployments
kubectl get pods
kubectl get services
## More detailed queries
kubectl describe deployment hello-world
kubectl describe pod <pod-name>Package the Helm chart if you want to create a .tgz file:
helm package hello-worldCreate a Cloudflare tunnel
- Login to https://one.dash.cloudflare.com
- Navigate to Networks > Tunnels
- Create a tunnel, notating the TOKEN created for the next step.
Use the kubectl create secrets command to create the secret with your tunnel
token, replacing <YOUR_TOKEN>:
kubectl create secret generic cloudflared-credentials \
--from-literal=tunnel-token=<YOUR_TOKEN> \
--namespace default \
-o yaml- Once showing active, edit your tunnel, and add a "Public hostnames"
Use the helm upgrade --install command to deploy or upgrade the Helm chart in your Kubernetes cluster. This command will install the chart if it is not already installed or upgrade it if it is already installed.
helm upgrade --install hello-world ./hello-worldAfter running the Helm upgrade command, you can verify that the deployment was successful by checking the status of the release:
helm status hello-worldYou can also use kubectl commands to check the status of the pods, services, and other resources:
kubectl get allTo delete the hello-world deployment:
kubectl delete deployment hello-world
kubectl delete service hello-worldTo verify the deletion:
kubectl get deployments
kubectl get servicesUpon first clone, install the pre-commit hooks.
pre-commit installTo run pre-commit hooks locally, without a git commit.
pre-commit run -a --all-filesTo update pre-commit hooks, this ideally should be ran before a pull request is merged.
pre-commit autoupdate