- DemoApp: Simple demo application with tests
- .github/workflows: Continuous Integration workflow
- terraform: Cloud infrastructure description
- Create feature branch
- PR to master
- Code review
- Approve
- Build (auto)
- Run tests (auto)
- Push image to container registry (auto)
- Update version in infrastructure description (auto|manually)
- Container registry
- Instance group
- Container optimized image
- Network Load Balancer
- VPC network
-
Create Yandex Cloud account: https://console.cloud.yandex.ru/
-
Create Service account: https://cloud.yandex.ru/docs/iam/concepts/users/service-accounts
- Roles: container-registry.images.pusher, container-registry.images.puller
-
Install Yandex Cloud CLI: https://cloud.yandex.ru/docs/cli/operations/install-cli
yc init
yc container registry configure-docker
yc container registry create --name demo-app-registry
yc iam key create --service-account-name <service-account> -o key.json
- Install Terraform: https://learn.hashicorp.com/tutorials/terraform/install-cli
terraform init
terraform apply -var yc_folder=<folder> -var yc_token=<oauth_token> -var user=<user_name>