A single home for everything you need to collect, store and explore logs with an EFK (Elasticsearch, Fluent Bit, Kibana) stack.
Here you'll find the Elastic Stack deployment assets:
- Elasticsearch – data node / master / ingest
- Kibana – dashboards & search UI
- Fluent Bit – log shipper (tiny, stateless)
All packaged with Terraform + Helm so the same recipes run on every cloud. It's called Devils-Anus cause logging is a shit-hole.
.
├── terraform/ # Terraform configurations
│ ├── main.tf # Main Terraform configuration
│ ├── variables.tf # Terraform variables
│ └── modules/ # Terraform modules
│ ├── elasticsearch/ # Elasticsearch module
│ ├── kibana/ # Kibana module
│ └── fluentbit/ # Fluent Bit module
└── helm/ # Helm chart configurations
├── elasticsearch/ # Elasticsearch Helm chart
├── kibana/ # Kibana Helm chart
└── fluentbit/ # Fluent Bit Helm chart
- Kubernetes cluster
- Terraform >= 0.14
- Helm >= 3.0
- kubectl configured to access your cluster
-
Clone this repository:
git clone https://github.com/yourusername/devils-anus.git cd devils-anus -
Initialize Terraform:
cd terraform terraform init -
Review and customize the variables in
terraform/variables.tfor create aterraform.tfvarsfile. -
Deploy the EFK stack:
terraform apply -
Access Kibana:
kubectl port-forward svc/kibana-kibana 5601:5601 -n efkThen open http://localhost:5601 in your browser.
You can customize the deployment by:
- Modifying the Terraform variables in
terraform/variables.tf - Creating a
terraform.tfvarsfile with your custom values - Modifying the Helm chart values in the module-specific
values.yamlfiles
To remove the EFK stack:
terraform destroy
- Fork the repository and create a branch for your feature or bug fix.
- Open a Pull Request describing your changes and the motivation behind them.
- Adhere to any style or naming guidelines detailed in our CONTRIBUTING.md
- Consider Adding ALL operators to be used in this repo (including Argo-CD)
- To decide how to communicate resource needs that were decided in Dev Testing to be translated to SREs so that is added in staging at COSMOS
This repository is released under the GNU General Purpose License V3 (or whichever license you choose). See the LICENSE file for details.
Maintainers: sefire-octopi
- Issues: Please open an issue for questions, bugs, or feature requests.
Thanks for using cosmos! We hope it streamlines your Kubernetes provisioning and multi-cloud infrastructure management.