(for history, check https://github.com/neurolibre/terraform-binderhub_old)
- Install Terraform
- Download your project openrc file from the OpenStack Access and security section.
- Source your project openrc file :
source _project_-openrsh.sh
.
- Export your CloudFlare email associated with the account :
export CLOUDFLARE_EMAIL="my_email@example.com"
- Export your Cloudflare API token :
export CLOUDFLARE_TOKEN="<YOUR API TOKEN>"
JetStream domain name is automatically associated with your cloud service.
Note: this is only available on JetStream cloud services and incompatible with ComputeCanada.
- In this repository, create a new folder and go into :
mkdir my_cluster; cd my_cluster
. - Copy the corresponding cloud provider
.tf
file from theexamples/providers
directory :cp ../examples/providers/my_provider.tf .
- Copy the corresponding DNS provider
.tf
file from theexamples/dns
directory :cp ../examples/dns/my_dns.tf .
- Adapt the cluster variables in both
.tf
files (i.e.: # nodes, domain name, ssh key, etc). - Apply your credentials for the cloud and the DNS provider.
- Set your username to be accessible in Terraform:
export TF_VAR_username=$OS_USERNAME
- Initiate the Terraform state :
terraform init
. - Verify the Terraform plan :
terraform plan
. - Apply the Terraform plan :
terraform apply
.
To tear down the cluster, from the my_cluster
folder, call: terraform destroy
.
- Support others cloud providers (AWS, GCP, Azure, ...)
- Support others DNS providers
- User authentification
- Storage management