Pulumi Cloud self-hosted local-Docker install
The Local-Docker Installer is generally meant to be used where an on-premise solution is needed or where the cloud-based installation solutions (i.e. EKS, ECS, AKS) are not possible.
Prerequisites
The customer is required to provide and manage the following:
- Docker environment running on a server with
- At least 2 CPU cores,
- At least 8 GB memory,
- At least 20GB SSD storage space.
- MySQL 8.0 database with
- At least 20GB SSD storage space,
- A database user with the folling grants:
GRANT ALL PRIVILEGES ON 'pulumi'.* TO 'pulumi'@'%'
GRANT CREATE USER ON *.* TO 'pulumi'@'%' WITH GRANT OPTION
- Object storage (e.g. Minio) with
- At least 200GB SSD storage space.
Local-Docker Deployment
Pulumi deploying Pulumi
This installer uses Pulumi to deploy the Pulumi Cloud. In this case, one uses the Pulumi CLI with a self-managed backend (e.g. an s3-compatible object store) from the Docker environment server to deploy the Service containers.
To this end, you need to set up the following:
- Download and install the Pulumi CLI on the Docker server
- Login to S3-compatible backend
- The assumption here is that you would use a bucket in the object store you are using for the self-hosted Pulumi Cloud. You can use a different state backend if you prefer.
- It is NOT recommended to use the
local
backend option since you want to make sure this state file is backed up and secured.
Deployment Steps
See the README file provided with the installer package for detailed deployment steps.
Local-Docker System Management and Maintenance
Pulumi Cloud Updates
When deploying the Pulumi Cloud, it is recommended to pin the image tag to a specific version. See the installer’s README file to set the imageTag
configuration property for the installer to use.
When ready to update the Pulumi Sevice containers to use a different version, do the following:
pulumi login
to the self-managed (not self-hosted) backend as chosen above when installing the self-hosted service.pulumi config set imageTag {image tag}
to set the version you want to use.pulumi up
to deploy the updates.
Database Maintenance
The customer should perform standard DB maintenance for their MySQL database.
Blob Storage Maintenance
The customer should perform standard storage maintenance for their blob storage.
Thank you for your feedback!
If you have a question about how to use Pulumi, reach out in Community Slack.
Open an issue on GitHub to report a problem or suggest an improvement.