A faster way to deploy to Kubernetes!
Crystal JavaScript Shell
Clone or download

README.adoc

Psykube

Releases License Travis

Kubernetes is a powerful tool, but configuring with it and working with the various commands can be complex and tedious. Psykube aims to make your application configuration more concise and to make interacting with your application more simple and PaaS-like.



Functionality Overview

  • Combine configuration of various files into one simplified manifest.

  • Easily assign schedule CronJobs for your application.

  • Easily specify different pieces of configuration for different clusters.

  • Build, Push, and Apply in a single command.

    psykube apply
  • exec into an application pod without looking up a Pod name.

    psykube exec
  • port-forward a port without looking up a Pod name.

    psykube port-forward
  • Specify Jobs for your application and run them easily from the command line.

    psykube run-job migrate
  • Easily understand the status of your application.

    psykube status
  • Tail the logs of all the running pods in your application.

    psykube logs

Installation

Mac OSX via Homebrew

brew tap psykube/homebrew
brew install psykube

CI and Linux Environments

curl -fsSL https://raw.githubusercontent.com/psykube/psykube/master/travis.sh | bash

From source

Prerequisites

brew install crystal-lang

Compiling

You can follow the steps below to clone and compile psykube. Once compiled you can find the binary at ./bin/psykube.

git clone git@github:psykube/psykube.git
shards build psykube

Getting Started

Initialize and Configure the Project

To get started, run psykube init inside your project. For details on how to configure the manifest, see documentation/configuration.

Apply Changes

Use psykube apply to build the docker image, push it to the specified registry, and apply the generated kubernetes manifests. Psykube will ensure that the generated manifests are properly linked together. A typical application may include:

  • A Deployment for the application.

  • A ConfigMap to hold configuration.

  • A Secret to hold sensitive information.

  • A Service to expose the application to the cluster.

  • An Ingress to expose the application to the internet.

More Reading

Psykube makes things simple, but due to the sheer amount of use cases it covers, you can read more in the documentation section in docs.