A Pulumi definition for deploying a cluster of Nomad servers as DigitalOcean droplets.
First, make sure that you are in the Nix development shell or that you have
installed pulumi
, pulumi-language-go
, and go
.
Then, log into Pulumi with:
pulumi login
Next, set the default organisation to holochain
with:
pulumi org set-default holochain
Finally, select the Pulumi stack that you want to use. For this repo it is nomad-server
.
pulumi stack select nomad-server
Use the Pulumi DigitalOcean provider to create and manage droplets on DigitalOcean. The provider documentation can be found at https://www.pulumi.com/registry/packages/digitalocean with the most important function being digitalocean.Droplet which allows the creation and management of droplets.
Then preview the changes with:
pulumi preview
Simply open a PR to see the preview of the changes in the CI. Then, once the PR
is reviewed and merged into the main
branch, a new workflow will push the
changes to Pulumi.
Pulumi requires a Personal Access Token (PAT) for DigitalOcean to make calls to the API.
Currently the PAT is linked to the cdunster
DigitalOcean user account. To
change the token, run the following command:
pulumi config set --secret digitalocean:token <new-token>
This value is encrypted by Pulumi and stored in [Pulumi.nomad-server.yaml].
Remember to open a PR with the new token and allow the CI/Actions to apply the changes to Pulumi.