Giter Club home page Giter Club logo

ketch's Introduction

Ketch

Build Status Slack

Think applications not yamls :)

What is Ketch

Ketch is an application delivery framework that facilitates the deployment and management of applications on Kubernetes using a simple command line interface. No YAML required!

Contents

Architecture Diagram

Architecture

Getting Started

Download and Install Ketch

The latest Ketch release can be found here. Use the following commands to install Ketch,

Install latest at /usr/local/bin default location

curl -s https://raw.githubusercontent.com/shipa-corp/ketch/main/install.sh | bash

Alternatively, you can install specific tag at a target location, for example command below installs ketch version v0.2.1 in current directory:

curl -s https://raw.githubusercontent.com/shipa-corp/ketch/main/install.sh | INSTALL_DIR=. TAG=v0.2.1  bash

Install Ingress Controller

At present, Ketch supports Istio and Traefik ingress controllers.

Here is how you can install Traefik:

Use Helm to install Traefik.

helm repo add traefik https://helm.traefik.io/traefik
helm repo update
helm install traefik traefik/traefik

Or you can install Istio:

curl -Ls https://istio.io/downloadIstio | ISTIO_VERSION=1.9.0 sh -
export PATH=$PWD/istio-1.9.0/bin:$PATH
istioctl install --set profile=demo 

Install Cert Manager.

kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v1.0.3/cert-manager.yaml

Install Ketch controller.

kubectl apply -f https://github.com/shipa-corp/ketch/releases/download/v0.2.1/ketch-controller.yaml

Thats it!

Using Ketch

Learn more about Ketch at Ketch documentation

Quick Start

Deploying apps is easy once you've installed Ketch. First, create a pool. Then create app(s) adding them to the pool and finally deploy the app(s). The following example illustrates these steps.

# Add a pool with ingress Traefik (default), replace ingress IP address by your ingress IP address
ketch pool add mypool  --ingress-service-endpoint 35.247.8.23 --ingress-type traefik

# Create app
ketch app create bulletinboard --pool mypool       

# Deploy app
ketch app deploy bulletinboard -i docker.io/shipasoftware/bulletinboard:1.0 

# Check app status
ketch app list 

NAME             POOL        STATE        ADDRESSES                                      PLATFORM    DESCRIPTION
bulletinboard    mypool      1 running    http://bulletinboard.35.247.8.23.shipa.cloud

After you deploy your application, you can access it at the address associated with it using the ketch app list, in this example bulletinboard.35.247.8.23.shipa.cloud.

Usage

For details see https://theketch.io.

Usage:
  ketch [flags]
  ketch [command]

Available Commands:
  app         Manage applications
  cname       Manage cnames of an application
  env         Manage an app's environment variables
  help        Help about any command
  platform    Manage platforms
  pool        Manage pools
  unit        Manage an app's units

Flags:
  -h, --help      help for ketch
  -v, --version   version for ketch

Use "ketch [command] --help" for more information about a command.

Get Involved

Office Hours

Ketch office hours aim is to listen from the community, share ideas, experiences and ask questions. In this meeting Ketch maintainers are going to look for new ideas, feature requests, answer any questions related to uses of Ketch, contributing to Ketch or any other questions/suggestions.

Ketch office hours takes place every other Wednesday at 4:30pm UTC/8:30am PST. Summer (daylight time): 3:30pm UTC/8:30am PDT. Check our Event calendar and check your local time.

Developer Guide See Contributing

ketch's People

Contributors

aleksej-paschenko avatar c12o16h1 avatar itsksaurabh avatar murphybytes avatar parkerduckworth avatar saiyam1814 avatar vivek avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.