# K8sMonitor Helm Chart This Helm chart provides a standardized way to deploy the **K8sMonitor** python web application on a Kubernetes cluster. ## Prerequisites - A running Kubernetes cluster. - [Helm](https://helm.sh/) installed on your local machine or CI/CD runner. - Access to a container registry where the `python-web-app` image is stored (if using a custom image). ## Getting Started ### 1. Prepare the Configuration The default configuration can be found in `values.yaml`. You can override any value here before installing or pass them via `--set` or `-f `. Example of modifying ingress annotations: ```yaml ingress: annotations: cert-manager.io/cluster-issuer: "letsencrypt-prod" ``` ### 2. Install the Chart To install the chart using the default values: ```bash helm install k8smonitor ./helm-chart ``` To install with a custom values file: ```bash helm install k8smonitor ./helm-chart -f custom-values.yaml ``` ### 3. Upgrade the Chart To update your installation with newer configuration or version: ```bash helm upgrade k8smonitor ./helm-chart ``` ## Configuration Options | Value | Description | Default | |------|-------------|---------| | `replicaCount` | Number of desired pods | 2 | | `image.repository` | The Docker image to pull | python-web-app | | `service.port` | The port the service listens on | 80 | | `ingress.enabled` | Enable or disable Ingress | true | | `persistence.size` | Size of the PersistentVolumeClaim | 1Gi | ## Verification Once installed, you can check the status of your deployment: ```bash # List all pods for the app kubectl get pods -l app=k8smonitor # Check the service kubectl get svc k8smonitor # Check the ingress kubectl get ingress k8smonitor ``` ## Troubleshooting If the pod is not running, check the logs: ```bash kubectl logs -l app=k8smonitor ``` Check for events in the namespace: ```bash kubectl get events --sort-by=.metadata.creationTimestamp ```