Project

kran

0.0
The project is in a healthy, maintained state
One command to build, push, render and deploy with krane, plus helpers for logs, exec, details and audit.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

~> 1.3
 Project Readme

kran

Gem Version CI Coverage Status License

Deploy to Kubernetes with krane, the simple way. One command builds the image, pushes it, renders the krane templates and deploys them. A few more commands cover the daily work: logs, exec, details, audit.

Install

gem install kran

Kran drives docker, krane and kubectl, and ejson when secrets come from krane's secrets.ejson. None of them is a gem dependency. kran version shows which ones are found.

Use

kran init                 # writes config/kran.yml
kran deploy --dry-run     # prints every command it would run
kran deploy               # docker login, docker build --push, krane render | krane deploy
kran deploy -P            # skip the build and push
kran logs -f
kran exec bin/rails db:migrate
kran shell                # alias for: exec --interactive bash
kran console              # alias for: exec --interactive bin/rails console

Every command reads config/kran.yml. -d staging layers config/kran.staging.yml on top of it.

If you have used kamal, this will feel just as simple: familiar command names, one config file, one command to deploy.

Documentation: https://kran.bincode.tw

Develop

bundle install
bundle exec rake test
bundle exec rubocop

License

MIT