captain

command module
v0.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 12, 2019 License: Apache-2.0 Imports: 18 Imported by: 0

README

Captain

License Go Report Card Tag

Captain is a Helm 3 Controller

About Helm3

The Helm 3 Design Proposal has been exist for a while, and the helm developer group is focused on the core helm 3 development, this is the first implementation of Helm3 Controller based on the Proposal.

This project is based on the core helm code, which promised to be act as an library. Since it's not official released yet, we add some little medication to help create this controller. Of course this will be unnecessary in the future.

Features

  • HelmRequest and Release CRD, namespace based
  • ChartRepo CRD
  • Multi cluster support based on https://github.com/kubernetes/cluster-registry
  • Dependency check for HelmRequest (between HelmRequests)
  • valuesFrom support, also use ConfigMap or Secret to store values
  • kubectl apply like resource manipulation,no more resource conflict and CRD management issues

Quick Start

Check the Installation Guide to learn how to install captain

Then, create a HelmRequest resource

kind: HelmRequest
apiVersion: app.alauda.io/v1alpha1
metadata:
  name: nginx-ingress
spec:
  chart: stable/nginx-ingress

After a few seconds, you have a nginx-ingress chart running

root@VM-16-12-ubuntu:~/demo# kubectl get pods
NAME                                             READY   STATUS    RESTARTS   AGE
nginx-ingress-controller-57987f445c-9rhv5        1/1     Running   0          16s
nginx-ingress-default-backend-7679dbd5c9-wkkss   1/1     Running   0          16s
root@VM-16-12-ubuntu:~/demo# kubectl get hr
NAME            CHART                  VERSION   NAMESPACE   ALLCLUSTER   PHASE    AGE
nginx-ingress   stable/nginx-ingress             default                  Synced   23s

For the detailed explain and advanced usage, please check the documentation below

Documention

Future Plans

  • Release Version secret support
  • Repo CRD
  • Repo proxy support
  • Data migration tool from Helm2 release to Helm3 Release
  • flux: flux have a similar controller based on Helm2

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg
client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/versioned/typed/app/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/app/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL