project-planton

command module
v0.3.33 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 23, 2026 License: Apache-2.0 Imports: 2 Imported by: 0

README

Project Planton

Deploy anywhere with one workflow. Write declarative YAML once, deploy to AWS, GCP, Azure, or Kubernetes with the same CLI and consistent experience.

project-planton-logo

What is Project Planton?

An open-source multi-cloud deployment framework that brings Kubernetes-style consistency to infrastructure deployments everywhere. No vendor lock-in, no artificial abstractions—just provider-specific configurations with a unified structure and workflow.

Documentation · Component Catalog · Website


Why Project Planton?

  • One structure, any cloud - Kubernetes Resource Model (apiVersion/kind/metadata/spec) for all deployments
  • Validate before deploy - Protocol Buffer validations catch errors in seconds, not minutes
  • Zero abstraction - Provider-specific configs preserve cloud capabilities, consistent experience across all
  • Choose your IaC - Built-in Pulumi and Terraform/OpenTofu modules with feature parity
  • Build on top - Auto-generated SDKs in Go, Python, TypeScript, Java from Protocol Buffer definitions

Quick Start

1. Install the CLI
brew install plantonhq/tap/project-planton
2. Create a YAML Manifest

Example: Deploy Redis to Kubernetes using the redis-kubernetes deployment component.

apiVersion: kubernetes.project-planton.org/v1
kind: RedisKubernetes
metadata:
  name: payments
  id: payments-namespace
spec:
  container:
    replicas: 1
    resources:
      limits:
        cpu: 50m
        memory: 2Gi
      requests:
        cpu: 50m
        memory: 100Mi
    isPersistenceEnabled: true
    diskSize: 1Gi

You can create similar manifests for AWS VPC, GKE Cluster, Kafka on Kubernetes, and many more.

3. Deploy
project-planton pulumi up --manifest redis.yaml

Learn More


Contributing

Visit CONTRIBUTING.md for information on building ProjectPlanton from source or contributing improvements.

Also, refer to this Contributor Guide for detailed information about becoming a contributor to Project-Planton.

License

Project Planton is released under the Apache 2.0 license. You are free to use, modify, and distribute this software in accordance with the license terms.

Acknowledgments

  • Brian Grant & Kubernetes API team for their foundational work on the Kubernetes Resource Model.
  • The Protobuf Team for laying the foundation for a powerful language neutral contract definition language.
  • The Buf Team for their Protobuf tooling—including BSR Docs, BSR SDKs, and ProtoValidate — which collectively democratized protobuf adoption and made this project possible.
  • The Pulumi team for providing a powerful infrastructure as code platform that enables multi-language support.
  • The spf13/cobra team for making building command line tools a bliss.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
apis
org/project_planton/provider/aws/awsalb/v1/iac/pulumi command
Package main provides the Pulumi program entrypoint for AWS ALB deployment.
Package main provides the Pulumi program entrypoint for AWS ALB deployment.
org/project_planton/provider/aws/awsclientvpn/v1/iac/pulumi command
Package main provides the Pulumi program entrypoint for AWS Client VPN deployment.
Package main provides the Pulumi program entrypoint for AWS Client VPN deployment.
org/project_planton/provider/aws/awscloudfront/v1/iac/pulumi command
Package main provides the Pulumi program entrypoint for AWS CloudFront deployment.
Package main provides the Pulumi program entrypoint for AWS CloudFront deployment.
org/project_planton/provider/aws/awsecsservice/v1/iac/pulumi command
Package main provides the Pulumi program entrypoint for AWS ECS Service deployment.
Package main provides the Pulumi program entrypoint for AWS ECS Service deployment.
org/project_planton/provider/aws/awseksnodegroup/v1/iac/pulumi command
Package main provides the Pulumi program entrypoint for AWS EKS Node Group deployment.
Package main provides the Pulumi program entrypoint for AWS EKS Node Group deployment.
org/project_planton/provider/azure/azureakscluster/v1/iac/pulumi command
Package main provides the Pulumi program entrypoint for Azure AKS Cluster deployment.
Package main provides the Pulumi program entrypoint for Azure AKS Cluster deployment.
org/project_planton/provider/azure/azurecontainerregistry/v1/iac/pulumi command
Package main provides the Pulumi program entrypoint for Azure Container Registry deployment.
Package main provides the Pulumi program entrypoint for Azure Container Registry deployment.
org/project_planton/provider/cloudflare/cloudflarednszone/v1/iac/pulumi command
Package main provides the Pulumi program entrypoint for Cloudflare DNS Zone deployment.
Package main provides the Pulumi program entrypoint for Cloudflare DNS Zone deployment.
org/project_planton/provider/gcp/gcpartifactregistryrepo/v1/iac/pulumi command
Package main provides the Pulumi program entrypoint for GCP Artifact Registry deployment.
Package main provides the Pulumi program entrypoint for GCP Artifact Registry deployment.
org/project_planton/provider/gcp/gcpcloudcdn/v1/iac/pulumi command
Package main provides the Pulumi program entrypoint for GCP Cloud CDN deployment.
Package main provides the Pulumi program entrypoint for GCP Cloud CDN deployment.
org/project_planton/provider/kubernetes/kubernetesargocd/v1/iac/pulumi command
Package main provides the Pulumi program entrypoint for Kubernetes ArgoCD deployment.
Package main provides the Pulumi program entrypoint for Kubernetes ArgoCD deployment.
ingress.go
File: variables.go
cmd
project-planton
Package project_planton provides the root command for the Project Planton CLI.
Package project_planton provides the root command for the Project Planton CLI.
internal
pkg
crkreflect
Code generated by pkg/crkreflect/codegen; DO NOT EDIT.
Code generated by pkg/crkreflect/codegen; DO NOT EDIT.
crkreflect/codegen command
pkg/crkreflect/cmd/genkindmap/main.go Generates pkg/crkreflect/kind_map_gen.go.
pkg/crkreflect/cmd/genkindmap/main.go Generates pkg/crkreflect/kind_map_gen.go.
kubernetes/kubernetestypes/altinityoperator/kubernetes
A Pulumi package for creating and managing Kubernetes resources.
A Pulumi package for creating and managing Kubernetes resources.
kubernetes/kubernetestypes/certmanager/kubernetes
A Pulumi package for creating and managing Kubernetes resources.
A Pulumi package for creating and managing Kubernetes resources.
kubernetes/kubernetestypes/elasticsearch/kubernetes
A Pulumi package for creating and managing Kubernetes resources.
A Pulumi package for creating and managing Kubernetes resources.
kubernetes/kubernetestypes/externalsecrets/kubernetes
A Pulumi package for creating and managing Kubernetes resources.
A Pulumi package for creating and managing Kubernetes resources.
kubernetes/kubernetestypes/gatewayapis/kubernetes
A Pulumi package for creating and managing Kubernetes resources.
A Pulumi package for creating and managing Kubernetes resources.
kubernetes/kubernetestypes/istio/kubernetes
A Pulumi package for creating and managing Kubernetes resources.
A Pulumi package for creating and managing Kubernetes resources.
kubernetes/kubernetestypes/keycloak/kubernetes
A Pulumi package for creating and managing Kubernetes resources.
A Pulumi package for creating and managing Kubernetes resources.
kubernetes/kubernetestypes/nack/kubernetes
A Pulumi package for creating and managing Kubernetes resources.
A Pulumi package for creating and managing Kubernetes resources.
kubernetes/kubernetestypes/perconamongodb/kubernetes
A Pulumi package for creating and managing Kubernetes resources.
A Pulumi package for creating and managing Kubernetes resources.
kubernetes/kubernetestypes/perconamysql/kubernetes
A Pulumi package for creating and managing Kubernetes resources.
A Pulumi package for creating and managing Kubernetes resources.
kubernetes/kubernetestypes/perconapostgres/kubernetes
A Pulumi package for creating and managing Kubernetes resources.
A Pulumi package for creating and managing Kubernetes resources.
kubernetes/kubernetestypes/solroperator/kubernetes
A Pulumi package for creating and managing Kubernetes resources.
A Pulumi package for creating and managing Kubernetes resources.
kubernetes/kubernetestypes/strimzioperator/kubernetes
A Pulumi package for creating and managing Kubernetes resources.
A Pulumi package for creating and managing Kubernetes resources.
kubernetes/kubernetestypes/zalandooperator/kubernetes
A Pulumi package for creating and managing Kubernetes resources.
A Pulumi package for creating and managing Kubernetes resources.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL