All Projects → giantswarm → draughtsman

giantswarm / draughtsman

Licence: Apache-2.0 license
An in-cluster agent that handles Helm based deployments

Programming Languages

go
31211 projects - #10 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to draughtsman

configurator
Synchronize and Version Control ConfigMaps & Secrets across Deployment Rollouts.
Stars: ✭ 68 (+119.35%)
Mutual labels:  deployment, helm
helm
GitHub action for deploying Helm charts.
Stars: ✭ 107 (+245.16%)
Mutual labels:  deployment, helm
Keel
Kubernetes Operator to automate Helm, DaemonSet, StatefulSet & Deployment updates
Stars: ✭ 1,870 (+5932.26%)
Mutual labels:  deployment, helm
create-release-action
| Public | GitHub Action to Create a Release in Octopus Deploy
Stars: ✭ 68 (+119.35%)
Mutual labels:  deployment
jdeploy
Developer friendly desktop deployment tool
Stars: ✭ 282 (+809.68%)
Mutual labels:  deployment
abilitysheet
This app is ability sheet for beatmania iidx music of level 12.
Stars: ✭ 38 (+22.58%)
Mutual labels:  helm
django-quick-start
Deploy a Django app on Render
Stars: ✭ 17 (-45.16%)
Mutual labels:  deployment
web-ext-deploy
A tool for deploying WebExtensions to multiple stores.
Stars: ✭ 28 (-9.68%)
Mutual labels:  deployment
running-redmine-on-puma
running redmine on puma installation tutorial (Ubuntu/MySQL)
Stars: ✭ 20 (-35.48%)
Mutual labels:  deployment
helm-starter
A helm plugin for managing chart starters.
Stars: ✭ 32 (+3.23%)
Mutual labels:  helm
QLD
A graphical tool to make the deploying of Qt quick applications on linux platform faster
Stars: ✭ 18 (-41.94%)
Mutual labels:  deployment
skein
A tool and library for easily deploying applications on Apache YARN
Stars: ✭ 128 (+312.9%)
Mutual labels:  deployment
jenkins-stack-docker
Docker-compose version of jenkins-stack-kubernetes
Stars: ✭ 135 (+335.48%)
Mutual labels:  helm
porter
Multi-region blue-green Docker deployments and a whole lot more
Stars: ✭ 43 (+38.71%)
Mutual labels:  deployment
helm-charts
Helm charts for sigstore project
Stars: ✭ 33 (+6.45%)
Mutual labels:  helm
Certified-Rancher-Operator-Thai
มาเรียนรู้ Kuberntes แบบ On-Premise และ Architecture ของ Rancher ที่ใช้ในการจัดการ Kubernetes Cluster เพื่อนำสู่ Certified Kubernetes Administrator และ Certified Rancer Operator
Stars: ✭ 78 (+151.61%)
Mutual labels:  helm
serverless-model-aws
Deploy any Machine Learning model serverless in AWS.
Stars: ✭ 19 (-38.71%)
Mutual labels:  deployment
twitter-go
A high throughput, horizontally scalable microservice backend using Go, Cassandra, RabbitMQ, Kubernetes, Helm.
Stars: ✭ 39 (+25.81%)
Mutual labels:  helm
HELMpy
HELMpy, open source package of power flow solvers, including the Holomorphic Embedding Load Flow Method (HELM), developed on Python 3
Stars: ✭ 24 (-22.58%)
Mutual labels:  helm
helm-charts
📈 Helm charts from Adfinis
Stars: ✭ 31 (+0%)
Mutual labels:  helm

draughtsman

CircleCI Docker Repository on Quay

draughtsman is a deployment agent for Kubernetes clusters.

It is designed to be used in several Kubernetes clusters to deploy and manage applications running with different configurations.

Kubernetes Configuration

draughtsman runs in its own namespace, named draughtsman.

For configuration of draughtsman itself, a Secret named draughtsman is required, inside the draughtsman namespace.

For example:

apiVersion: v1
kind: Secret
metadata:
  name: draughtsman
  namespace: draughtsman
  labels:
    app: draughtsman
type: Opaque
data:
  secret.yaml: <SECRET-CONFIGURATION-BASE64-ENCODED-HERE>

with the secret configuration (for example) as follows:

service:
    slack:
        token: ...
    deployer:
        environment: ...
        eventer:
            github:
                oauthtoken: ...
                organisation: ...
                projectlist: ...
        installer:
            helm:
                username: ...
                password: ...
                organisation: ...
        notifier:
            slack:
                channel: ...

This file needs to be updated, the file contents base64 encoded, and then inserted into the secret.

A second ConfigMap is also necessary, if using the ConfigMap Configurer (the default). By default, this configmap is named draughtsman-values, and is in the draughtsman namespace.

For example:

apiVersion: v1
kind: ConfigMap
metadata:
  name: draughtsman-values
  namespace: draughtsman
data:
  values: |
    Installation:
      V1:
        GiantSwarm:
          API:
            Address:
              Scheme: "https"
              Host: "api-test.giantswarm.io

All data under the values key (by default), is passed verbatim to Helm, to provide values for chart Installations.

Helm and RBAC

Draughtsman uses helm as packager manager to deploy and manage the applications in the cluster. In latest kubernetes versions, RBAC (Role-Based Access Control) is enable by default. In that case helm will need a cluster role and service account to work properly.

apiVersion: v1
kind: ServiceAccount
metadata:
  name: tiller
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: tiller
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: tiller
    namespace: kube-system

Furtherly, helm should be installed using the flag service account set to tiller.

helm init --service-account tiller
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].