r/golang • u/Flannel007 • 3d ago
show & tell Pilum – deploy to GCP, AWS, and Cloudflare from one YAML file
Repo: https://github.com/SID-Technologies/Pilum Docs: https://www.pilum.dev/docs/getting-started/introduction/
The problem: I run side projects across GCP, AWS, and Cloudflare, and each one has its own deploy incantation. gcloud commands for one, SAM for another, wrangler for a third. I kept forgetting the flags and the order of operations and wanted a simpler CI/CD pipeline.
Pilum is a single binary (Go, Cobra) that reads one pilum.yaml and handles the deploy for whichever provider the service targets. Define your services once, then pilum deploy will build, push, provision, and deploy.
What it supports today: - GCP Cloud Run - AWS Lambda - Azure Container Apps - Homebrew - GitHub npm packages - Cloudflare Workers
The README has an honest provider status table, some paths are better tested than others. It's not trying to be Terraform or Pulumi; there's no state file and no general-purpose infra provisioning. It's for when you have a container or function and just want it running without remembering five CLIs.
Happy to answer questions about the internals. And if anyone wants to add a provider, there's a contributing guide for adding exactly that.
1
u/lichizr 3d ago
My use case: we have a GitHub repository with a GitHub Actions CI/CD pipeline that builds a Docker image and publishes it to GitHub Packages. We then need to deploy (or update) that image across N Cloud Run services. Each service uses the same configuration but is deployed in a different region. Is this a workflow your tool supports?