End-to-End Demo

  1. Build binaries:
make clean && make build
  1. Start the service (S3 recommended):
OPENTACO_S3_BUCKET=<bucket> OPENTACO_S3_REGION=<region> OPENTACO_S3_PREFIX=<prefix> ./opentacosvc
  1. Scaffold provider workspace and apply:
./taco provider init opentaco-config --server http://localhost:8080
cd opentaco-config
terraform init
terraform apply -auto-approve
  1. Point your own Terraform to the created unit:
terraform {
  backend "http" {
    address        = "http://localhost:8080/v1/backend/myapp/prod"
    lock_address   = "http://localhost:8080/v1/backend/myapp/prod"
    unlock_address = "http://localhost:8080/v1/backend/myapp/prod"
  }
}
Included example:
cd examples/demo-provider/my-app
terraform init
terraform apply -auto-approve
Dependencies demo:
cd examples/dependencies/system && terraform init && terraform apply -auto-approve
cd ../a && terraform init && terraform apply -auto-approve
cd ../b && terraform init && terraform apply -auto-approve
cd ../c && terraform init && terraform apply -auto-approve
# Simulate a change in A (timestamp output)
cd ../a && terraform apply -auto-approve
cd ../../..
./taco unit status --prefix org/app/