OpenMCF logoOpenMCF

Loading...

Welcome to OpenMCF Documentation

OpenMCF is an open-source multi-cloud infrastructure framework that lets you author KRM-style YAML manifests once, validate them with Protobuf + Buf, and deploy with Pulumi or OpenTofu.

Getting Started

New to OpenMCF? Start here:

  • Install the CLI via Homebrew
  • Validate your first manifest
  • Deploy to your cloud provider or Kubernetes cluster

CLI Reference

Master the OpenMCF command-line interface:

  • Unified Commands - kubectl-style apply and destroy commands
  • Complete CLI Reference - All commands, flags, and options
  • Pulumi Commands - Deploy with Pulumi (init, preview, up, refresh, destroy)
  • OpenTofu Commands - Deploy with OpenTofu (init, plan, apply, refresh, destroy)

Guides

In-depth guides for common scenarios:

  • Manifest Structure - Understanding and writing manifests
  • Credentials Management - Setting up cloud provider authentication
  • Kustomize Integration - Multi-environment deployments
  • Advanced Usage - Runtime overrides, URL manifests, and power techniques

Tutorials

Step-by-step walkthroughs for common deployment scenarios:

  • Deploy Your First AWS Resource - S3 bucket end-to-end
  • Deploy Your First Kubernetes Resource - PostgreSQL on Kubernetes
  • Multi-Environment Deployments - Kustomize overlays for dev/staging/prod
  • Deploy Across Providers - Cross-provider comparison

Examples

Copy-paste-ready manifest examples:

  • Manifest Gallery - Curated manifests across AWS, GCP, Azure, Kubernetes, and more

Contributing

Join the OpenMCF community:

  • How to Contribute - Development setup, building, testing, and PR workflow
  • Adding Components - Create new deployment components

Deployment Components

Browse deployment components by cloud provider in the Catalog:

AWS
AWS
25 components
GCP
GCP
19 components
Azure
Azure
10 components
Cloudflare
Cloudflare
8 components
Civo
Civo
12 components
DigitalOcean
DigitalOcean
15 components
MongoDB Atlas
Atlas
1 component
Confluent
Confluent
1 component
Kubernetes
Kubernetes
51 components
Snowflake
Snowflake
1 component
Scaleway
Scaleway
19 components
OpenStack
OpenStack
27 components

Key Features

  • One Model, Many Clouds: Single API structure across AWS, GCP, Azure, and Kubernetes
  • Validation First: Buf ProtoValidate catches errors before deployment
  • Battle-Tested Modules: Curated Pulumi and OpenTofu modules
  • CLI-First Workflow: Developer-grade CLI for all operations
  • Security & Governance: Provider credentials as stack inputs, consistent labeling

Quick Example

apiVersion: kubernetes.openmcf.org/v1
kind: KubernetesRedis
metadata:
  name: my-redis
  labels:
    openmcf.org/provisioner: pulumi
spec:
  namespace: redis
  container:
    replicas: 3
    resources:
      limits:
        memory: 2Gi
        cpu: 1000m
# Simple kubectl-style workflow
openmcf validate redis.yaml
openmcf apply -f redis.yaml

# Or use provisioner-specific commands
openmcf pulumi up -f redis.yaml --stack myorg/project/dev

Troubleshooting

Having issues? Common solutions:

  • Manifest validation errors — Check field names and types against the component's protobuf schema
  • Authentication and credentials — See the Credentials Management guide
  • Pulumi/OpenTofu-specific issues — Ensure the provisioner CLI is installed and your backend is configured
  • Network and connectivity — The CLI clones modules from GitHub; verify network access

For detailed solutions, see the full Troubleshooting Guide.

Resources

  • GitHub Repository
  • Buf Schema Registry
  • Issue Tracker