Skip to content

rise-deploy/rise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,047 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rise

Rise is a Kubernetes-based platform for deploying containerized apps via a simple CLI and web dashboard.

DISCLAIMER: Rise is an early work-in-progress project that mostly uses AI-generated code.

Projects dashboard

Project detail view Teams view

Go to Documentation →

What is Rise?

Rise simplifies container deployment by providing:

  • Simple CLI for building and deploying apps
    • Buildpack support with pack and railpack
    • Enterprise ready with support for corparate MITM proxies (handles SSL_CERT_FILE and HTTPS_PROXY forwarding)
  • Web dashboard for monitoring deployments
  • Project & Team Management: Organize apps and collaborate with teams
  • OAuth2/OIDC Authentication: Secure authentication for Rise and deployed apps
  • Multi-tenant projects with team collaboration
  • Automatic OCI repository provisioning: Push images to AWS ACR with secure temporary credentials without per-project infrastructure setup
  • Service Accounts: Workload identity for GitHub Actions, GitLab CI, etc. to deploy from CI/CD

Install CLI from crates.io

# Install the CLI and backend from crates.io
cargo install rise-deploy

# Verify installation
rise --version

Note that this does not include server code unless you use --features cli,server.

Local Development

Prerequisites

  • Docker (or Docker Desktop on macOS) and Docker Compose
  • Rust 1.91+
  • mise (recommended for development)

Start Services

direnv allow
# or else use `. .envrc`

# Install development tools (both paths need this)
mise install

Rise supports two deployment backends, and you can run either one locally as a first-class dev environment. Choose the backend that fits what you're working on — both are fully supported.

Option A — Kubernetes backend

The original backend. Pick it to work on the Kubernetes controller / Helm / metacontroller, or if you already run a cluster.

# One-stop dev setup (cross-platform: Linux + macOS). Configures /etc/hosts
# (sudo), Docker insecure registries, and brings up a local cluster (minikube
# by default; k3s on Linux). Run interactively so the sudo prompt works.
mise setup

# Terminal (1): frontend
mise frontend:dev

# Terminal (2): host backend against the Kubernetes dev config (starts deps)
mise backend:run   # alias: mise br

mise setup invokes ./scripts/dev-setup.sh; you can run individual steps with mise setup <hosts|docker|minikube|k3s|preflight> (mise passes the subcommand through, or run ./scripts/dev-setup.sh <...> directly). Apps are served at *.rise.local (the /etc/hosts + host-IP wiring that mise setup provisions).

Option B — Docker backend

A lighter single-host setup with no cluster; great for backend/frontend feature work and for the Docker deployment backend itself.

# Adds only the /etc/hosts aliases (incl. rise-dex); no cluster, no minikube.
mise setup hosts

# Runs the compose support services + Rise on the host with the Docker
# backend (reuses config/docker.yaml; no Rise image build).
mise backend:run docker   # alias: mise br docker

# Optionally, in another terminal:
mise frontend:dev

Apps are served at *.rise.localhost (loopback per RFC 6761 — no /etc/hosts edits needed). For the full reference see the operator guide's Local development section.

Services and credentials

Services will be available at:

On the Kubernetes path you may also need to add entries for deployed projects to /etc/hosts (the Docker path uses *.rise.localhost, which needs no edits):

127.0.0.1 {project}.rise.local # One for each Rise-deployed project you want to access

Default credentials:

  • Email: admin@example.com, dev@example.com or user@example.com
  • Password: password

Deploy your first app

# Build the CLI
cargo build
# `rise` binary should be available from direnv, otherwise use `cargo run`

On the Kubernetes backend:

rise login --url http://rise.local:3000

cd examples/hello-world
rise project create hello-world
rise deploy
# Reachable at http://hello-world.rise.local

On the Docker backend:

rise login --url http://rise.localhost:3000

cd examples/hello-world
rise project create hello-world
rise deploy
# Reachable at http://hello-world.rise.localhost

(Add --url ... to rise login to switch between backends you've used before.)

Releasing

Prerequisites:

Create a new release:

# Preview release notes
./scripts/tag-version.sh --dry-run 0.14.0

# Preview release notes with extra Claude guidance
./scripts/tag-version.sh --dry-run --claude-guidance "Emphasize operator-facing changes" 0.14.0

# Create and publish release
./scripts/tag-version.sh 0.14.0

The script validates prerequisites, generates release notes, shows a plan, and after confirmation performs all git operations (commit, tag, push) and creates a GitHub release. CI then publishes to crates.io and builds Docker images.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

Simply deploy your app.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

 
 
 

Contributors