Giter Site home page Giter Site logo

rudder's Introduction

Rudder

RESTful API for Helm Repositories and the Tiller service.

Requirements

  • Tiller v2.0.0

Installation

Binary

Binaries can be downloaded here.

Running

Launch in Kubernetes:

$ kubectl create -f kube/manifest.yaml

This will create a Service for Tiller in the kube-system namespace, along with the Deployment and Configmap to run Rudder (in the default namespace). Customize as needed with Services, Secrets, etc (until the Rudder helm chart is ready)

Alternatively:

$ docker run quay.io/acaleph/rudder

or

$ rudder {{flags}}

Configuration

Configuration can be provided via cli flags or through environment variables:

Configuration Flag Environment Variable Default
Rudder address --address RUDDER_ADDRESS 0.0.0.0:5000
Tiller address --tiller-address RUDDER_TILLER_ADDRESS localhost:44134
Repo File --helm-repo-file RUDDER_HELM_REPO_FILE ~/.helm/repository/repositories.yaml
Cache Directory --helm-cache-dir RUDDER_HELM_CACHE_DIR /opt/rudder/cache
Cache Lifetime --helm-repo-cache-lifetime RUDDER_HELM_REPO_CACHE_LIFETIME 10m
Swagger UI Path --swagger-ui-path RUDDER_SWAGGER_UI_PATH /opt/rudder/swagger
Basic Auth Username --basic-auth-username RUDDER_BASIC_AUTH_USERNAME
Basic Auth Password --basic-auth-password RUDDER_BASIC_AUTH_PASSWORD
OIDC Issuer URL --oidc-issuer-url RUDDER_OIDC_ISSUER_URL
Client ID --client-id RUDDER_CLIENT_ID
Client Secret --client-secret RUDDER_CLIENT_SECRET
Client Secret Encoded --client-secret-base64-encoded RUDDER_CLIENT_BASE64_ENCODED
Debug Mode --debug

API

API docs is provided via swagger. This is available at: http://{rudder-url}/swagger.

Using the docker image already has this enabled by default. When using the binary, copy the swagger files to /opt/rudder/swagger or a different directory and set --swagger-ui-path.

Currently there are read-only Helm Repository endpoints for fetching charts from repositories and Basic Release endpoints (tiller), install and uninstall. The rest is still WIP.

Notes

Helm Repositories

At the moment, repositories are provided via a repo file. The format should be the same as what helm uses (~/.helm/repository/repositories.yaml). This may change in the future when a repo manager is implemented.

Charts cache

Charts are downloaded from the helm repository and are cached at the location defined by --helm-cache-dir (default: ./opt/rudder/cache). This directory should exist and be writable.

Authentication

Authentication can be enabled by providing authentication details.

Basic Auth

Providing --basic-auth-username and --basic-auth-password will enable Basic Authentication.

OIDC

Providing --oidc-issuer-url or --client-secret will enable OIDC.

TODO

This is still WIP. Some immediate TODOs are:

  • implement a repo manager
  • implement missing tiller functions

rudder's People

Contributors

darkcrux avatar hunter avatar stefanymarie avatar awk34 avatar yarntime avatar

Watchers

James Cloos avatar  avatar  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.