(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
.tffile from theexamples/providersdirectory :cp ../examples/providers/my_provider.tf . - Copy the corresponding DNS provider
.tffile from theexamples/dnsdirectory :cp ../examples/dns/my_dns.tf . - Adapt the cluster variables in both
.tffiles (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