- Hi!
- This is my portfolio git repository where you can browse through the infrastructure of underling virtualization, demonstraiting some App deploiment and maintnence nedded, provisioned for local / cloud computing and clustering, using: Terraform, Ansible, Kubeadm & other tools.
- demontraiting a simple app that allows creation of a horsses, investments (gamble on a horse) and saves state to a database.
- Bookmaker app for race betts and API connection on several paths, built using golang.
- actual app code separate repo [App repo][bmrepo]
-
App
-
Infra
- Mongo - A NoSQL database
- Docker - container runtime
- Docker Compose
- Kubernetes
-
Observability:
- Prometheus - Monitoring
- Grafana - Visualization for Prometheus data
-
Security
- Cert Manager - Automate the management and issuance of TLS certificates from various issuing sources.
- letsencrypt - A free, automated, and open Certificate Authority.
- [external Secrets][x-secret] - an external secret operator for better handling secret.
-
CI/CD:
-
Config
- Helm - k8s package manager
- Helmfile - Helm charts Config manager
- A computer running Windows, macOS, or Linux
- Familiarity with basic software development concepts (e.g., version control, build tools, testing)
- Familiarity with basic operations concepts (e.g., infrastructure provisioning, cloud computing, container orchistration )
- Basic understanding of YAML syntax [replace values for your environment]
- Familiarity with the command line interface (CLI)
- Familiarity with basic Kubernetes concepts (e.g., pods, deployments, services)
- Access to the servers or machines you will be managing with Ansible
- Access to a Jenkins server (either locally or remotely)
- Access to a Docker installation on your local machine
To get started with this project, follow these steps:
- Clone this repo:
git clone https://github.com/Slvr-one/TheGarrison.git infra && cd infra
- deploy infra:
./scripts/init_cluster.sh
note!
[make sure to set vars in the scripts to fit yourself]Short-term goals
- Implement user authentication
- Add support for static file serving
- Improve error handling & logging into elk
- Organize into dirs
- Add comments
Long-term goals
- Integrate with third-party APIs
- Implement a recommendation engine
- Scale the application to handle high traffic
- add tools:
- general:
- cespare / reflex
- go:
- alpeb / go-finance
- goreleaser / goreleaser
- k8s:
- nabsul / k8s-ecr-login-renew
- aquasecurity / trivy
- avsthiago / kopylot
- uber-archive / makisu
- general:
If you have any questions or would like to learn more about my work, don't hesitate to reach out:
- 🌐 Connect with me on
- ✉️ Reach out to me at [email protected]
- 🌟 More About Me
This repository is maintained by Dvir Gross.