Pilum v0.5.1

Deploy everything with one command.

One config, one CLI, all targets.

$
// Targets

Supported Targets

Google Cloud GCP Cloud Run
Google Cloud GCP Cloud Run Jobs
AWS Lambda AWS Lambda
Azure Azure Container Apps
Cloudflare Cloudflare Pages
npm npm
Homebrew Homebrew
Docker Docker Registry Planned
AWS ECS AWS ECS Planned
GitHub GitHub Releases Planned
Fly.io Fly.io Planned
AWS S3 AWS S3 Planned
// Configuration

Real Examples

Drop a service.yaml in each service directory. Run pilum deploy. Done.

GCP Cloud Run
service.yaml
# Basic service configuration
name: activities-service
provider: gcp
service: cloud-run
region: us-central1
project: romans-dev
registry_name: romans-dev

# Build configuration
build:
  language: go
  version: "1.23"
  cmd: "go build -o ./dist"
  env_vars:
    CGO_ENABLED: '0'
    GOOS: linux
    GOARCH: amd64
  flags:
    ldflags:
      - "-s"
      - "-w"

# Cloud Run configuration
cloud_run:
  min_instances: 0
  cpu_throttling: true
Homebrew Homebrew
service.yaml
# Pilum deploys itself
name: pilum
type: homebrew
description: Multi-cloud deployment CLI
license: BSL-1.1

homebrew:
  project_url: https://github.com/SID-Technologies/pilum
  tap_url: https://github.com/SID-Technologies/Homebrew-Pilum
  token_env: GH_TOKEN

build:
  language: go
  version: "1.23"
  output: dist/pilum
  env_vars:
    CGO_ENABLED: "0"
  platforms:
    - os: darwin
      arch: amd64
    - os: darwin
      arch: arm64
    - os: linux
      arch: amd64
npm
pilum.yaml
# Private npm package
name: my-package
provider: npm
description: My private package

npm:
  scope: "@my-org"
  registry: https://npm.pkg.github.com
  token_env: NODE_AUTH_TOKEN
  access: restricted

build:
  cmd: "npm run build"
// Install

Get Started

Up and running in seconds.

Homebrew
brew tap sid-technologies/pilum && brew install pilum
Read the docs