Table of Contents
A template to jumpstart your new greenfield project. If you are a startup or an entrepreneur thinking to start a new project hosted on GCP infrastructure, consider to use Infrastructure Skeleton and save days of development.
This project uses IaC approach and via terraform create application stack in GCP to host your application.
Don't forget to give the project a star!
- Terraform
- kubectl
- helm for deploying to kubernetes cluster
- Docker (and docker compose) installed. You don't need Docker Desktop for this project.
- Clone the repo. Replace {myproject} with a name of your new project/app.
git clone git@github.com:petrzivny/infrastructure-skeleton.git {myproject} cd {myproject}/app-stack
- Initialize terraform in this directory
terraform init
- Create a new GCP project (or use existing one). Make sure container, artifactregistry, servicenetworking, secretmanager and logging APIs are enabled.
- Setup variable specific for your project.
cp terraform.tfvars.dist terraform.tfvars
- Check and alter variables and secrets in
terraform.tfvars
with your favorite IDE. - Provision complete application stack
terraform apply
I greatly appreciate all suggestions and contributions. Contributions are what make the open source community such an amazing place to learn, inspire, and create.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- Add static public IP
- Add certbot automatic creation
- Copy all outside images for ingress-nginx to own repo
- Copy all outside images for certbot to own repo and
- Remove google_compute_router
- Add Grafana
- CI: Add GCP cost estimation
See the open issues for a full list of proposed features (and known issues).
Distributed under the MIT License. Use it however you want. And if you like it, don't forget to give the project a star at GutHub.