{"id":46337122,"url":"https://github.com/squareops/terraform-kubernetes-sonarqube","last_synced_at":"2026-03-04T19:05:08.686Z","repository":{"id":261245592,"uuid":"612183513","full_name":"squareops/terraform-kubernetes-sonarqube","owner":"squareops","description":"The Terraform SonarQube module enables easy deployment of SonarQube using Helm on AWS, Azure, or GCP, providing comprehensive code quality and security analysis across cloud platforms.","archived":false,"fork":false,"pushed_at":"2025-06-03T07:13:53.000Z","size":39,"stargazers_count":0,"open_issues_count":4,"forks_count":4,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-13T09:53:59.674Z","etag":null,"topics":["aws","azure","code-quality-analyzer","gcp","postgresql","prometheus-exporter","sonarqube","sonarqube-server","terraform","terraform-module"],"latest_commit_sha":null,"homepage":"https://squareops.com","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/squareops.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2023-03-10T11:31:46.000Z","updated_at":"2025-04-23T05:27:32.000Z","dependencies_parsed_at":"2025-04-23T06:33:44.078Z","dependency_job_id":null,"html_url":"https://github.com/squareops/terraform-kubernetes-sonarqube","commit_stats":null,"previous_names":["squareops/terraform-kubernetes-sonarqube"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/squareops/terraform-kubernetes-sonarqube","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squareops%2Fterraform-kubernetes-sonarqube","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squareops%2Fterraform-kubernetes-sonarqube/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squareops%2Fterraform-kubernetes-sonarqube/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squareops%2Fterraform-kubernetes-sonarqube/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/squareops","download_url":"https://codeload.github.com/squareops/terraform-kubernetes-sonarqube/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/squareops%2Fterraform-kubernetes-sonarqube/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29977966,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T16:35:47.903Z","status":"ssl_error","status_checked_at":"2026-03-01T16:35:44.899Z","response_time":124,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["aws","azure","code-quality-analyzer","gcp","postgresql","prometheus-exporter","sonarqube","sonarqube-server","terraform","terraform-module"],"created_at":"2026-03-04T19:05:08.000Z","updated_at":"2026-03-04T19:05:08.670Z","avatar_url":"https://github.com/squareops.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Sonarqube\n\n![squareops_avatar]\n\n[squareops_avatar]: https://squareops.com/wp-content/uploads/2022/12/squareops-logo.png\n\n### [SquareOps Technologies](https://squareops.com/) Your DevOps Partner for Accelerating cloud journey.\n\u003cbr\u003e\nThe module deploys a Sonarqube instance on a Kubernetes cluster. Sonarqube is an open-source tool that provides continuous code quality management to perform automatic reviews with static analysis of code to detect bugs, code smells, and security vulnerabilities. This module uses Kubernetes manifests to deploy Sonarqube along with a PostgreSQL database. It allows for easy configuration of the Sonarqube instance through the use of Terraform variables.\n\n## Supported Versions:\n\n|  Sonarqube Helm Chart Version           |     K8s supported version (EKS, AKS \u0026 GKE)  |  \n| :-----:                       |         :---         |\n| **1.0.30**          |    **1.23,1.24,1.25,1.26,1.27,1.28,1.29,1.30**      |\n\n\n## Usage Example\n\n```hcl\nmodule \"sonarqube\" {\n    source           = \"squareops/sonarqube/kubernetes\"\n    version          = \"3.0.1\"\n  sonarqube_config = {\n    hostname                       = \"sonarqube.squareops.in\"\n    values_yaml                    = file(\"./helm/values.yaml\")\n    storage_class_name             = \"gp2\"\n    sonarqube_volume_size          = \"5Gi\"\n    postgresql_volume_size         = \"20Gi\"\n    grafana_monitoring_enabled     = false\n    postgresql_password_external   = \"\"\n    postgresql_external_server_url = \"\"\n  }\n}\n```\n- Refer [AWS examples](https://github.com/squareops/terraform-kubernetes-sonarqube/tree/main/examples/complete/aws) for more details.\n- Refer [Azure examples](https://github.com/squareops/terraform-kubernetes-sonarqube/tree/main/examples/complete/azure) for more details.\n- Refer [GCP examples](https://github.com/squareops/terraform-kubernetes-sonarqube/tree/main/examples/complete/gcp) for more details.\n\n## IAM Permissions\nThe required IAM permissions to create resources from this module can be found [here](https://github.com/squareops/terraform-kubernetes-sonarqube/blob/main/IAM.md)\n\n## Important Notes\n  1. In order to enable the exporter, it is required to deploy Prometheus/Grafana first.\n  2. The exporter is a tool that extracts metrics data from an application or system and makes it available to be scraped by Prometheus.\n  3. Prometheus is a monitoring system that collects metrics data from various sources, including exporters, and stores it in a time-series database.\n  4. Grafana is a data visualization and dashboard tool that works with Prometheus and other data sources to display the collected metrics in a user-friendly way.\n  5. To deploy Prometheus/Grafana, please follow the installation instructions for each tool in their respective documentation.\n  6. Once Prometheus and Grafana are deployed, the exporter can be configured to scrape metrics data from your application or system and send it to Prometheus.\n  7. Finally, you can use Grafana to create custom dashboards and visualize the metrics data collected by Prometheus.\n  8. This module is compatible with EKS, AKS \u0026 GKE which is great news for users deploying the module on an AWS, Azure \u0026 GCP cloud. Review the module's documentation, meet specific configuration requirements, and test thoroughly after deployment to ensure everything works as expected.\n\n\u003c!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n## Requirements\n\nNo requirements.\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_helm\"\u003e\u003c/a\u003e [helm](#provider\\_helm) | n/a |\n| \u003ca name=\"provider_kubernetes\"\u003e\u003c/a\u003e [kubernetes](#provider\\_kubernetes) | n/a |\n| \u003ca name=\"provider_random\"\u003e\u003c/a\u003e [random](#provider\\_random) | n/a |\n\n## Modules\n\nNo modules.\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [helm_release.sonarqube](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |\n| [kubernetes_manifest.migration_job](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/manifest) | resource |\n| [kubernetes_namespace.sonarqube](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/namespace) | resource |\n| [random_password.monitoringPasscode](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password) | resource |\n| [random_password.postgresql_password](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password) | resource |\n| [random_password.sonarqube_password](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password) | resource |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_chart_version\"\u003e\u003c/a\u003e [chart\\_version](#input\\_chart\\_version) | Version of the Jenkins chart that will be used to deploy Jenkins application. | `string` | `\"2025.2.0\"` | no |\n| \u003ca name=\"input_namespace\"\u003e\u003c/a\u003e [namespace](#input\\_namespace) | Name of the Kubernetes namespace where the Jenkins deployment will be deployed. | `string` | `\"sonarqube\"` | no |\n| \u003ca name=\"input_sonarqube_config\"\u003e\u003c/a\u003e [sonarqube\\_config](#input\\_sonarqube\\_config) | Specify the configuration settings for Sonarqube, including the hostname, storage options, and custom YAML values. | `any` | \u003cpre\u003e{\u003cbr/\u003e  \"grafana_monitoring_enabled\": false,\u003cbr/\u003e  \"hostname\": \"\",\u003cbr/\u003e  \"postgresql_external_server_url\": \"\",\u003cbr/\u003e  \"postgresql_password_external\": \"\",\u003cbr/\u003e  \"postgresql_volume_size\": \"\",\u003cbr/\u003e  \"sonarqube_volume_size\": \"\",\u003cbr/\u003e  \"storage_class_name\": \"\",\u003cbr/\u003e  \"values_yaml\": \"\"\u003cbr/\u003e}\u003c/pre\u003e | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_sonarqube\"\u003e\u003c/a\u003e [sonarqube](#output\\_sonarqube) | Sonarqube Credentials |\n| \u003ca name=\"output_sonarqube_postgresql_password\"\u003e\u003c/a\u003e [sonarqube\\_postgresql\\_password](#output\\_sonarqube\\_postgresql\\_password) | Password for the PostgreSQL database deployed with SonarQube |\n| \u003ca name=\"output_sonarqube_postgresql_username\"\u003e\u003c/a\u003e [sonarqube\\_postgresql\\_username](#output\\_sonarqube\\_postgresql\\_username) | Username for the PostgreSQL database deployed with SonarQube |\n\u003c!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n\n## Contribution \u0026 Issue Reporting\n\nTo report an issue with a project:\n\n  1. Check the repository's [issue tracker](https://github.com/squareops/terraform-kubernetes-sonarqube/issues) on GitHub\n  2. Search to see if the issue has already been reported\n  3. If you can't find an answer to your question in the documentation or issue tracker, you can ask a question by creating a new issue. Be sure to provide enough context and details so others can understand your problem.\n\n## License\n\nApache License, Version 2.0, January 2004 (http://www.apache.org/licenses/).\n\n## Support Us\n\nTo support a GitHub project by liking it, you can follow these steps:\n\n  1. Visit the repository: Navigate to the [GitHub repository](https://github.com/squareops/terraform-kubernetes-sonarqube).\n\n  2. Click the \"Star\" button: On the repository page, you'll see a \"Star\" button in the upper right corner. Clicking on it will star the repository, indicating your support for the project.\n\n  3. Optionally, you can also leave a comment on the repository or open an issue to give feedback or suggest changes.\n\nStarring a repository on GitHub is a simple way to show your support and appreciation for the project. It also helps to increase the visibility of the project and make it more discoverable to others.\n\n## Who we are\n\nWe believe that the key to success in the digital age is the ability to deliver value quickly and reliably. That’s why we offer a comprehensive range of DevOps \u0026 Cloud services designed to help your organization optimize its systems \u0026 Processes for speed and agility.\n\n  1. We are an AWS Advanced consulting partner which reflects our deep expertise in AWS Cloud and helping 100+ clients over the last 5 years.\n  2. Expertise in Kubernetes and overall container solution helps companies expedite their journey by 10X.\n  3. Infrastructure Automation is a key component to the success of our Clients and our Expertise helps deliver the same in the shortest time.\n  4. DevSecOps as a service to implement security within the overall DevOps process and helping companies deploy securely and at speed.\n  5. Platform engineering which supports scalable,Cost efficient infrastructure that supports rapid development, testing, and deployment.\n  6. 24*7 SRE service to help you Monitor the state of your infrastructure and eradicate any issue within the SLA.\n\nWe provide [support](https://squareops.com/contact-us/) on all of our projects, no matter how small or large they may be.\n\nTo find more information about our company, visit [squareops.com](https://squareops.com/), follow us on [Linkedin](https://www.linkedin.com/company/squareops-technologies-pvt-ltd/), or fill out a [job application](https://squareops.com/careers/). If you have any questions or would like assistance with your cloud strategy and implementation, please don't hesitate to [contact us](https://squareops.com/contact-us/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsquareops%2Fterraform-kubernetes-sonarqube","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsquareops%2Fterraform-kubernetes-sonarqube","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsquareops%2Fterraform-kubernetes-sonarqube/lists"}