{"id":23599806,"url":"https://github.com/naveenalla3000/springboot-helm","last_synced_at":"2026-05-09T05:32:16.560Z","repository":{"id":268283636,"uuid":"903773437","full_name":"naveenalla3000/springboot-helm","owner":"naveenalla3000","description":"helm chart for spring boot application with has connected with Postgres database from backend.","archived":false,"fork":false,"pushed_at":"2024-12-15T18:48:10.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-17T00:25:45.464Z","etag":null,"topics":["docker-compose","helm-chart","k8s","springboot"],"latest_commit_sha":null,"homepage":"https://artifacthub.io/packages/helm/naveenalla-springboot/spring-helm","language":"Smarty","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/naveenalla3000.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-15T14:28:50.000Z","updated_at":"2024-12-15T18:48:14.000Z","dependencies_parsed_at":"2024-12-15T19:37:11.469Z","dependency_job_id":"6cdf62c5-b4c5-4ddd-830e-485e96cd3883","html_url":"https://github.com/naveenalla3000/springboot-helm","commit_stats":null,"previous_names":["naveenalla3000/springboot-helm"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/naveenalla3000/springboot-helm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naveenalla3000%2Fspringboot-helm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naveenalla3000%2Fspringboot-helm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naveenalla3000%2Fspringboot-helm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naveenalla3000%2Fspringboot-helm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/naveenalla3000","download_url":"https://codeload.github.com/naveenalla3000/springboot-helm/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naveenalla3000%2Fspringboot-helm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279013279,"owners_count":26085250,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker-compose","helm-chart","k8s","springboot"],"created_at":"2024-12-27T11:26:13.731Z","updated_at":"2025-10-12T22:43:17.449Z","avatar_url":"https://github.com/naveenalla3000.png","language":"Smarty","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Helm Chart for Spring Boot Application with PostgreSQL\n\nThis Helm chart deploys a Spring Boot application that connects to a PostgreSQL database. The chart manages the application and database resources efficiently using Kubernetes objects like Deployments, Services, Secrets, and PersistentVolumes.\n\n---\n\n## Features\n\n1. **Spring Boot Application**\n    - Runs on port `8080`.\n    - Deployed as a `Deployment` with `2` replicas.\n    - Image pulled from Docker Hub: `naveenalla/spring-app-helm`.\n\n2. **PostgreSQL Database**\n    - Persistent storage enabled using a PersistentVolumeClaim (`postgres-pvc`).\n    - Credentials and configuration are managed using Kubernetes Secrets.\n    - Default credentials:\n        - Username: `postgres`\n        - Password: `postgres`\n        - Database: `springdb`\n    - Storage size: `1Gi`.\n\n3. **Service Configuration**\n    - PostgreSQL is exposed as a `ClusterIP` service on port `5432`.\n    - Application is exposed as a `NodePort` service on port `8080`.\n\n---\n\n## Files and Configuration\n\n### Chart Files:\n- `postgres-pv.yaml`: Configures persistent storage for PostgreSQL.\n- `postgres-pvc.yaml`: Claims storage for PostgreSQL.\n- `postgres-deployment.yaml`: Deploys PostgreSQL as a Kubernetes deployment.\n- `postgres-service.yaml`: Exposes PostgreSQL as a Kubernetes service.\n- `secrets.yaml`: Stores PostgreSQL credentials securely.\n- `spring-app-deployment.yaml`: Deploys the Spring Boot application.\n- `spring-app-service.yaml`: Exposes the Spring Boot application as a service.\n\n### Values.yaml Configuration:\n```yaml\npostgres:\n  username: postgres\n  password: postgres\n  database: springdb\n  persistence:\n    enabled: true\n    storageSize: 1Gi\n\nspringApp:\n  image: naveenalla/spring-app-helm\n  replicas: 2\n\nservice:\n  type: NodePort\n  port: 8080\n```\n\n---\n\n## Prerequisites\n\n1. Kubernetes cluster (1.20+) with `kubectl` configured.\n2. Helm (3.x) installed on the cluster.\n3. Persistent storage provisioner for the cluster.\n4. minikube (optional) for local testing.\n\n---\n\n## Installation \u0026 Deployment steps\n\n1.  Add repository helm-chart files from the artifacthub.io.\n    ```bash\n    helm repo add naveenalla-springboot https://naveenalla3000.github.io/springboot-helm/\n    ```\n2.  Update the repository.\n    ```bash\n    helm repo update\n    ```\n3.  Install the Helm chart with a release name `spring-app`.\n    ```bash\n    helm install my-spring-helm naveenalla-springboot/spring-helm\n    ```\n4.  Verify the deployment.\n    ```bash\n    kubectl get all\n    ```\n\n\n---\n\n## Access the Application\n\n1. Verify the NodePort service created for the application.\n   ```bash\n   kubectl get svc\n   ```\n2. Access the application using the NodePort service.\n   ```bash\n   kubectl port-forward service/my-spring-helm-spring-app-service 8080:8080\n   ```\n3. Open the application in a browser using the URL: `http://localhost:8080`.\n\n---\n\n## Flow Diagram\n\nBelow is the deployment architecture for the Helm chart:\n\n```plaintext\n +------------------+      +-----------------------+      +-------------------+\n |                  |      |                       |      |                   |\n |  postgresql      |      |       cluster-ip      |      |     springboot    |\n |     pod          |-----\u003e|       db-service      |-----\u003e|     application   |  \n |                  |      |                       |      |                   |\n +--------+---------+      +-----------+-----------+      +---------+---------+\n          |                                                         |\n          |                                                         |                    \n +--------v---------+                                     +---------v---------+\n |                  |                                     |                   | \n |     persistent   |                                     |    NodePort       |\n |    volume claim  |                                     |    app-service    |\n |                  |                                     |                   |                        \n +------------------+                                     +-------------------+\n           |                                                       |\n           |                                                       |\n +---------v---------+                                   +---------v---------+\n |                   |                                   |                   |            \n |    persistent     |                                   |    web browser    |\n |     storage       |                                   |                   |\n |                   |                                   +-------------------+\n +-------------------+\n             \n```\n\n---\n\n## Notes\n\n- Ensure the Kubernetes cluster has sufficient resources to run both the application and database.\n- Backup important data stored in PostgreSQL regularly.\n\n---\n\n## Uninstallation\n\nTo delete the Helm release:\n```bash\nhelm uninstall my-spring-helm\n```\n\nThis will remove all resources associated with the release.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnaveenalla3000%2Fspringboot-helm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnaveenalla3000%2Fspringboot-helm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnaveenalla3000%2Fspringboot-helm/lists"}