All Projects → AcalephStorage → rudder

AcalephStorage / rudder

Licence: Apache-2.0 License
RESTful API Proxy for Helm

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to rudder

Php Crud Api
Single file PHP script that adds a REST API to a SQL database
Stars: ✭ 2,904 (+4740%)
Mutual labels:  restful, api-server
Thinkphp5 Restfulapi
restful-api风格接口 APP接口 APP接口权限 oauth2.0 接口版本管理 接口鉴权
Stars: ✭ 949 (+1481.67%)
Mutual labels:  restful, api-server
java-crud-api
No description or website provided.
Stars: ✭ 24 (-60%)
Mutual labels:  restful, api-server
Graphql2rest
GraphQL to REST converter: automatically generate a RESTful API from your existing GraphQL API
Stars: ✭ 181 (+201.67%)
Mutual labels:  restful, api-server
Go Api Boilerplate
Go Server/API boilerplate using best practices DDD CQRS ES gRPC
Stars: ✭ 373 (+521.67%)
Mutual labels:  helm, restful
gonrails
Rails like mvc backend application with golang .
Stars: ✭ 37 (-38.33%)
Mutual labels:  restful, api-server
Magento-Extra-RESTful
Many more REST resources for Magento's API
Stars: ✭ 32 (-46.67%)
Mutual labels:  restful, api-server
kube-karp
☸ Add a floating virtual IP to Kubernetes cluster nodes for load balancing easily.
Stars: ✭ 104 (+73.33%)
Mutual labels:  helm
template2helm
Converts an OpenShift template into a Helm chart
Stars: ✭ 28 (-53.33%)
Mutual labels:  helm
helm-namespace
Namespace auto-creation for Helm 3
Stars: ✭ 29 (-51.67%)
Mutual labels:  helm
go-restapi-boilerplate
How I write rest api service in go
Stars: ✭ 55 (-8.33%)
Mutual labels:  restful
gitops-build-lib
Jenkins pipeline shared library for automating deployments via GitOps
Stars: ✭ 23 (-61.67%)
Mutual labels:  helm
helmenv
Helm version manager
Stars: ✭ 25 (-58.33%)
Mutual labels:  helm
maverick
Web API framework with a need for speed
Stars: ✭ 14 (-76.67%)
Mutual labels:  api-server
charts
HAProxy Ingress helm charts
Stars: ✭ 24 (-60%)
Mutual labels:  helm
hapic
Input/Output/Error management for your python controllers with Swagger doc generation
Stars: ✭ 18 (-70%)
Mutual labels:  api-server
rester
Fast and concise RESTful web framework based on fasthttp
Stars: ✭ 27 (-55%)
Mutual labels:  restful
in-memoriam
Lightweight, super fast, atomic, transactional in-memory database
Stars: ✭ 13 (-78.33%)
Mutual labels:  restful
pulsar-helm-chart
Official Apache Pulsar Helm Chart
Stars: ✭ 122 (+103.33%)
Mutual labels:  helm
litmus-helm
Helm Charts for the Litmus Chaos Operator & CRDs
Stars: ✭ 23 (-61.67%)
Mutual labels:  helm

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].