The project-planton
command line interface (CLI) is a powerful tool that allows users to manage cloud infrastructure components using a unified, consistent approach across different cloud providers. This guide provides detailed information on the available commands, their purposes, and the arguments or flags that can be used.
The CLI helps users to deploy, preview, refresh, or destroy cloud infrastructure stacks. Each command works seamlessly with Pulumi’s multi-cloud capabilities, ensuring you have a consistent deployment experience whether you are working with AWS, GCP, Azure, or other cloud services.
Install
brew install project-planton/tap/project-planton
Commands
project-planton pulumi
Purpose:
This command is used to manage Pulumi stacks, allowing you to refresh, preview, update (deploy), or destroy a cloud infrastructure stack. With project-planton pulumi
, users can interact with infrastructure deployments in a consistent manner across cloud providers.
Usage:
project-planton pulumi [command]
Available Commands:
destroy
: Runspulumi destroy
to remove all resources in the stack.preview
: Runspulumi update preview
to see what changes will be applied during a deployment.refresh
: Runspulumi refresh
to reconcile the infrastructure’s state with the actual cloud resources.update
: Runspulumi update
to apply the specified configuration and deploy the cloud resources.
Flags:
--aws-credential string
: Path of the AWS credential file.--azure-credential string
: Path of the Azure credential file.--confluent-credential string
: Path of the Confluent Cloud credential file.--docker-credential string
: Path of the Docker credential file.--gcp-credential string
: Path of the GCP credential file.--input-dir string
: Directory containing target.yaml and credential YAML files.--kubernetes-cluster string
: Path of the YAML file containing the Kubernetes cluster configuration.--manifest string
: Path of the deployment-component manifest file.--module-dir string
: Directory containing the Pulumi module (default: “/Users/swarup”).--mongodb-atlas-credential string
: Path of the MongoDB Atlas credential file.--set stringToString
: Override resource manifest values using key=value pairs.--snowflake-credential string
: Path of the Snowflake credential file.--stack string
: Pulumi stack fully-qualified name in the format of<org>/<project>/<stack>
.
Credential Handling:
Pulumi requires credentials for deploying infrastructure on different cloud platforms like AWS, GCP, Azure, and Kubernetes. By default, ProjectPlanton relies on Pulumi’s credential lookup from the environment. However, for added flexibility, ProjectPlanton provides Credential APIs that let users configure credentials through YAML files for easier team collaboration.
Users can choose to use environment-based credentials without abstraction, or leverage ProjectPlanton’s Credential APIs to centralize credential management.
project-planton validate
Purpose:
The validate
command checks the validity of a ProjectPlanton manifest before applying any deployment actions. This command helps ensure that the YAML manifest used for deployment is correct and free of errors.
Usage:
project-planton validate-manifest [flags]
Aliases:
validate-manifest
,validate
Example:
project-planton validate manifest.yaml
The validate
command provides a quick check to make sure that everything is properly configured in your manifest before applying any changes to cloud infrastructure, reducing the risk of misconfigurations.
Summary
The project-planton
CLI provides a simple, unified interface for managing multi-cloud infrastructure components. By leveraging Pulumi for infrastructure as code and combining it with the ProjectPlanton CLI, users can deploy, update, refresh, or destroy cloud resources efficiently, without needing to handle cloud-specific nuances. With robust credential handling options and easy-to-use commands, the ProjectPlanton CLI empowers teams to manage cloud deployments consistently and collaboratively.
For more details about setting up credentials, please refer to the Credential Setup Guide.