Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,21 @@ jobs:
env:
DOCKER_CLI_EXPERIMENTAL: enabled
IMAGE_TAG: ${{ steps.tagName.outputs.tag }}

release-chart:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Get the version
id: getversion
run: echo ::set-output name=tag::${GITHUB_REF#refs/tags/}
- name: Install yq
run: |
sudo wget -O /usr/local/bin/yq https://github.com/mikefarah/yq/releases/download/4.2.0/yq_linux_amd64
sudo chmod +x /usr/local/bin/yq
- name: Change appVersion
run: yq e -i '.appVersion="${{ steps.getversion.outputs.tag }}"' charts/scaleway-k8s-node-coffee/Chart.yaml
- name: Publish Helm charts
uses: stefanprodan/helm-gh-pages@master
with:
token: ${{ secrets.GITHUB_TOKEN }}
23 changes: 23 additions & 0 deletions charts/scaleway-k8s-node-coffee/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
11 changes: 11 additions & 0 deletions charts/scaleway-k8s-node-coffee/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: v2
name: scaleway-k8s-node-coffee
description: Helm chart for The Coffee Machine for Scaleway Kubernetes Nodes
version: 0.1.0
appVersion: 1.0.0
type: application
keywords:
- scaleway
- nodes
sources:
- https://github.com/Sh4d1/scaleway-k8s-node-coffee
33 changes: 33 additions & 0 deletions charts/scaleway-k8s-node-coffee/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Scaleway-k8s-node-coffee Helm Chart

Helm chart to install [scaleway-k8s-node-coffee Helm Chart](https://github.com/Sh4d1/scaleway-k8s-node-coffee).
This is a controller that (will) do a lot of different things based on changes in a Kubernetes cluster (especially Kapsule).

## TL;DR

```bash
helm repo add sknc https://sh4d1.github.io/scaleway-k8s-node-coffee/
helm install my-release sknc/scaleway-k8s-node-coffee
```

## Prerequisites

- Kubernetes 1.12+
- Helm 3.1.0

## Uninstalling the Chart

To uninstall/delete the `my-release` deployment:

```console
helm delete my-release
```

## Parameters

The following table lists the configurable parameters and their default values.

| Parameter | Description | Default |
| ----------------------------------- | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- |

TO DO
5 changes: 5 additions & 0 deletions charts/scaleway-k8s-node-coffee/templates/NOTES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
** Please be patient while the chart is being deployed **

To verify that scaleway-k8s-node-coffee has started, run:

kubectl --namespace={{ .Release.Namespace }} get pods -l "app.kubernetes.io/name={{ template "scaleway-k8s-node-coffee.name" . }},app.kubernetes.io/instance={{ .Release.Name }}"
59 changes: 59 additions & 0 deletions charts/scaleway-k8s-node-coffee/templates/_helpers.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "scaleway-k8s-node-coffee.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}

{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "scaleway-k8s-node-coffee.fullname" -}}
{{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- $name := default .Chart.Name .Values.nameOverride }}
{{- if contains $name .Release.Name }}
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- end }}
{{- end }}

{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "scaleway-k8s-node-coffee.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}

{{/*
Common labels
*/}}
{{- define "scaleway-k8s-node-coffee.labels" -}}
helm.sh/chart: {{ include "scaleway-k8s-node-coffee.chart" . }}
{{ include "scaleway-k8s-node-coffee.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}

{{/*
Selector labels
*/}}
{{- define "scaleway-k8s-node-coffee.selectorLabels" -}}
app.kubernetes.io/name: {{ include "scaleway-k8s-node-coffee.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

{{/*
Create the name of the service account to use
*/}}
{{- define "scaleway-k8s-node-coffee.serviceAccountName" -}}
{{- default (include "scaleway-k8s-node-coffee.fullname" .) .Values.serviceAccount.name }}
{{- end }}
23 changes: 23 additions & 0 deletions charts/scaleway-k8s-node-coffee/templates/cluster-role.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ include "scaleway-k8s-node-coffee.fullname" . }}
labels:
{{- include "scaleway-k8s-node-coffee.labels" . | nindent 4 }}
rules:
- apiGroups:
- ""
resources:
- nodes
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
- services
verbs:
- get
- list
- watch
14 changes: 14 additions & 0 deletions charts/scaleway-k8s-node-coffee/templates/cluster-rolebinding.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ include "scaleway-k8s-node-coffee.fullname" . }}
labels:
{{- include "scaleway-k8s-node-coffee.labels" . | nindent 4 }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ include "scaleway-k8s-node-coffee.fullname" . }}
subjects:
- kind: ServiceAccount
name: {{ include "scaleway-k8s-node-coffee.fullname" . }}
namespace: {{ .Release.Namespace }}
12 changes: 12 additions & 0 deletions charts/scaleway-k8s-node-coffee/templates/configmap.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "scaleway-k8s-node-coffee.fullname" . }}
labels:
{{- include "scaleway-k8s-node-coffee.labels" . | nindent 4 }}
data:
REVERSE_IP_DOMAIN: {{ .Values.config.reverseIpDomain | default "" | quote }}
DATABASE_IDS: {{ .Values.config.databaseIds | default "" | quote }}
RESERVED_IPS_POOL: {{ .Values.config.reservedIpsPool | default ""| quote }}
SECURITY_GROUP_IDS: {{ .Values.config.securityGroupIds | default "" | quote }}
RETRIES_NUMBER: {{ .Values.config.retiesNumber | default "30" | quote }}
73 changes: 73 additions & 0 deletions charts/scaleway-k8s-node-coffee/templates/deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "scaleway-k8s-node-coffee.fullname" . }}
labels:
{{- include "scaleway-k8s-node-coffee.labels" . | nindent 4 }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
{{- include "scaleway-k8s-node-coffee.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "scaleway-k8s-node-coffee.selectorLabels" . | nindent 8 }}
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "scaleway-k8s-node-coffee.serviceAccountName" . }}
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
containers:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- name: http
containerPort: 80
protocol: TCP
env:
- name: CONFIGMAP_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
envFrom:
- secretRef:
{{- if not .Values.secrets.existingSecret }}
name: {{ include "scaleway-k8s-node-coffee.fullname" . }}
{{- else }}
name: {{ .Values.secrets.existingSecret }}
{{- end }}
- configMapRef:
name: {{ include "scaleway-k8s-node-coffee.fullname" . }}
livenessProbe:
httpGet:
path: /
port: http
readinessProbe:
httpGet:
path: /
port: http
resources:
{{- toYaml .Values.resources | nindent 12 }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
14 changes: 14 additions & 0 deletions charts/scaleway-k8s-node-coffee/templates/secret.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{{- if not .Values.secrets.existingSecret }}
apiVersion: v1
kind: Secret
metadata:
name: {{ include "scaleway-k8s-node-coffee.fullname" . }}
labels:
{{- include "scaleway-k8s-node-coffee.labels" . | nindent 4 }}
type: Opaque
data:
SCW_ACCESS_KEY: {{ required "A valid .Values.secrets.accessKey entry required!" .Values.secrets.accessKey | b64enc | quote }}
SCW_SECRET_KEY: {{ required "A valid .Values.secrets.secretKey entry required!" .Values.secrets.secretKey | b64enc | quote }}
SCW_DEFAULT_ZONE: {{ required "A valid .Values.secrets.defaultZone entry required!" .Values.secrets.defaultZone | b64enc | quote }}
SCW_DEFAULT_REGION: {{ required "A valid .Values.secrets.defaultRegion entry required!" .Values.secrets.defaultRegion | b64enc | quote }}
{{- end }}
10 changes: 10 additions & 0 deletions charts/scaleway-k8s-node-coffee/templates/serviceaccount.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "scaleway-k8s-node-coffee.serviceAccountName" . }}
labels:
{{- include "scaleway-k8s-node-coffee.labels" . | nindent 4 }}
{{- with .Values.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
60 changes: 60 additions & 0 deletions charts/scaleway-k8s-node-coffee/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
## Default values for scaleway-k8s-node-coffee.
replicaCount: 1

image:
repository: sh4d1/scaleway-k8s-node-coffee
pullPolicy: IfNotPresent
## Overrides the image tag whose default is the chart appVersion.
tag: ""

imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""

serviceAccount:
## Annotations to add to the service account
annotations: {}
## The name of the service account to use.
## If not set a name is generated using the fullname template
name: ""

podAnnotations: {}

podSecurityContext: {}
# fsGroup: 2000

securityContext: {}
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000

## Configuration
config: {}

## Secrets
secrets: {}
## Specify values of your scaleway configuration
# accessKey: <YOUR-ACCESS-KEY>
# secretKey: <YOUR-SECRET-KEY>
# defaultZone: <YOUR-DEFAULT-ZONE>
# defaultRegion: <YOUR-DEFAULT-REGION>

## Use an existing secret
# existingSecret: ""

resources: {}
# limits:
# cpu: 100m
# memory: 30Mi
# requests:
# cpu: 100m
# memory: 20Mi

nodeSelector: {}

tolerations: []

affinity: {}