Commit 5a4c3172 authored by Jens Langhammer's avatar Jens Langhammer

update confluence, cleanup

parent 7cda9df6
description: Atlassian Confluence
keywords:
- wiki
maintainers:
- email: docker@seibert-media.net
name: //SEIBERT/MEDIA GmbH
name: confluence
sources:
- https://hub.docker.com/r/seibertmedia/atlassian-confluence/
version: 5.10.8
version: 7.0.0
appVersion: 6.15.3
description: Chart for PostgreSQL
engine: gotpl
home: https://www.postgresql.org/
keywords:
- postgresql
- postgres
- database
- sql
maintainers:
- name: swordbeta
- name: databus23
name: postgresql
sources:
- https://github.com/kubernetes/charts
- https://github.com/docker-library/postgres
version: 0.3.2
# PostgreSQL
[PostgreSQL](https://postgresql.org) is a powerful, open source object-relational database system. It has more than 15 years of active development and a proven architecture that has earned it a strong reputation for reliability, data integrity, and correctness.
## TL;DR;
```bash
$ helm install stable/postgresql
```
## Introduction
This chart bootstraps a [PostgreSQL](https://github.com/docker-library/postgres) deployment on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
## Prerequisites
- Kubernetes 1.4+ with Beta APIs enabled
- PV provisioner support in the underlying infrastructure (Only when persisting data)
## Installing the Chart
To install the chart with the release name `my-release`:
```bash
$ helm install --name my-release stable/postgresql
```
The command deploys PostgreSQL on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation.
> **Tip**: List all releases using `helm list`
## Uninstalling the Chart
To uninstall/delete the `my-release` deployment:
```bash
$ helm delete my-release
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
## Configuration
The following tables lists the configurable parameters of the PostgresSQL chart and their default values.
| Parameter | Description | Default |
| ----------------------- | ---------------------------------- | ---------------------------------------------------------- |
| `image` | `postgres` image repository | `postgres` |
| `imageTag` | `postgres` image tag | `9.5.4` |
| `imagePullPolicy` | Image pull policy | `Always` if `imageTag` is `latest`, else `IfNotPresent` |
| `postgresUser` | Username of new user to create. | `postgres` |
| `postgresPassword` | Password for the new user. | random 10 characters |
| `postgresDatabase` | Name for new database to create. | `postgres` |
| `persistence.enabled` | Use a PVC to persist data | `true` |
| `persistence.storageClass` | Storage class of backing PVC | `nil` (uses alpha storage class annotation) |
| `persistence.accessMode` | Use volume as ReadOnly or ReadWrite | `ReadWriteOnce` |
| `persistence.size` | Size of data volume | `8Gi` |
| `resources` | CPU/Memory resource requests/limits | Memory: `256Mi`, CPU: `100m` |
| `metrics.enabled` | Start a side-car prometheus exporter | `false` |
| `metrics.image` | Exporter image | `wrouesnel/postgres_exporter` |
| `metrics.imageTag` | Exporter image | `v0.1.1` |
| `metrics.imagePullPolicy` | Exporter image pull policy | `IfNotPresent` |
| `metrics.resources` | Exporter resource requests/limit | Memory: `256Mi`, CPU: `100m` |
The above parameters map to the env variables defined in [postgres](http://github.com/docker-library/postgres). For more information please refer to the [postgres](http://github.com/docker-library/postgres) image documentation.
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```bash
$ helm install --name my-release \
--set postgresUser=my-user,postgresPassword=secretpassword,postgresDatabase=my-database \
stable/postgresql
```
The above command creates a PostgresSQL user named `root` with password `secretpassword`. Additionally it creates a database named `my-database`.
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
```bash
$ helm install --name my-release -f values.yaml stable/postgresql
```
> **Tip**: You can use the default [values.yaml](values.yaml)
## Persistence
The [postgres](https://github.com/docker-library/postgres) image stores the PostgreSQL data and configurations at the `/var/lib/postgresql/data/pgdata` path of the container.
The chart mounts a [Persistent Volume](http://kubernetes.io/docs/user-guide/persistent-volumes/) volume at this location. The volume is created using dynamic volume provisioning.
## Metrics
The chart optionally can start a metrics exporter for [prometheus](https://prometheus.io). The metrics endpoint (port 9187) is not exposed and it is expected that the metrics are collected from inside the k8s cluster using something similar as the described in the [example Prometheus scrape configuration](https://github.com/prometheus/prometheus/blob/master/documentation/examples/prometheus-kubernetes.yml).
PostgreSQL can be accessed via port 5432 on the following DNS name from within your cluster:
{{ template "fullname" . }}.{{ .Release.Namespace }}.svc.cluster.local
To get your user password run:
PGPASSWORD=$(kubectl get secret --namespace {{ .Release.Namespace }} {{ template "fullname" . }} -o jsonpath="{.data.postgres-password}" | base64 --decode; echo)
To connect to your database run the following command (using the env variable from above):
kubectl run {{ template "fullname" . }}-client --rm --tty -i --image postgres \
--env "PGPASSWORD=$PGPASSWORD" \
--command -- psql -U {{ default "postgres" .Values.postgresUser }} \
-h {{ template "fullname" . }} {{ default "postgres" .Values.postgresDatabase }}
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "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).
*/}}
{{- define "fullname" -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: {{ template "fullname" . }}
labels:
app: {{ template "fullname" . }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
spec:
template:
metadata:
labels:
app: {{ template "fullname" . }}
annotations:
pod.beta.kubernetes.io/init-containers: '[
{
"name": "remove-lost-found",
"image": "busybox:1.25.0",
"imagePullPolicy": {{ default "IfNotPresent" .Values.imagePullPolicy | quote }},
"command": ["rm", "-fr", "/var/lib/postgresql/data/pgdata/lost+found"],
"volumeMounts": [
{
"name": "data",
"mountPath": "/var/lib/postgresql/data/pgdata"
}
]
}
]'
spec:
containers:
- name: {{ template "fullname" . }}
image: "{{ .Values.image }}:{{ .Values.imageTag }}"
imagePullPolicy: {{ default "" .Values.imagePullPolicy | quote }}
env:
- name: POSTGRES_USER
value: {{ default "postgres" .Values.postgresUser | quote }}
# Required for pg_isready in the health probes.
- name: PGUSER
value: {{ default "postgres" .Values.postgresUser | quote }}
- name: POSTGRES_DB
value: {{ default "" .Values.postgresDatabase | quote }}
- name: PGDATA
value: /var/lib/postgresql/data/pgdata
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: {{ template "fullname" . }}
key: postgres-password
ports:
- name: postgresql
containerPort: 5432
livenessProbe:
exec:
command:
- pg_isready
initialDelaySeconds: 60
timeoutSeconds: 3
readinessProbe:
exec:
command:
- pg_isready
initialDelaySeconds: 60
timeoutSeconds: 3
resources:
{{ toYaml .Values.resources | indent 10 }}
volumeMounts:
- name: data
mountPath: /var/lib/postgresql/data/pgdata
{{- if .Values.metrics.enabled }}
- name: metrics
image: "{{ .Values.metrics.image }}:{{ .Values.metrics.imageTag }}"
imagePullPolicy: {{ default "" .Values.metrics.imagePullPolicy | quote }}
env:
- name: DATA_SOURCE_NAME
value: postgresql://postgres@localhost:5432?sslmode=disable
ports:
- name: metrics
containerPort: 9187
resources:
{{ toYaml .Values.metrics.resources | indent 10 }}
{{- end }}
volumes:
- name: data
{{- if .Values.persistence.enabled }}
persistentVolumeClaim:
claimName: {{ template "fullname" . }}
{{- else }}
emptyDir: {}
{{- end -}}
{{- if .Values.persistence.enabled }}
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: {{ template "fullname" . }}
labels:
app: {{ template "fullname" . }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
annotations:
{{- if .Values.persistence.storageClass }}
volume.beta.kubernetes.io/storage-class: {{ .Values.persistence.storageClass | quote }}
{{- end }}
spec:
accessModes:
- {{ .Values.persistence.accessMode | quote }}
resources:
requests:
storage: {{ .Values.persistence.size | quote }}
selector:
matchLabels:
volume: {{ template "fullname" . }}
{{- end }}
apiVersion: v1
kind: Secret
metadata:
name: {{ template "fullname" . }}
labels:
app: {{ template "fullname" . }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
type: Opaque
data:
{{ if .Values.postgresPassword }}
postgres-password: {{ .Values.postgresPassword | b64enc | quote }}
{{ else }}
postgres-password: {{ randAlphaNum 10 | b64enc | quote }}
{{ end }}
\ No newline at end of file
apiVersion: v1
kind: Service
metadata:
name: {{ template "fullname" . }}
labels:
app: {{ template "fullname" . }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
{{- if .Values.metrics.enabled }}
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "9187"
{{- end }}
spec:
ports:
- name: postgresql
port: 5432
targetPort: postgresql
selector:
app: {{ template "fullname" . }}
\ No newline at end of file
## postgres image repository
image: "postgres"
## postgres image version
## ref: https://hub.docker.com/r/library/postgres/tags/
##
imageTag: "9.5.4"
## Specify a imagePullPolicy
## 'Always' if imageTag is 'latest', else set to 'IfNotPresent'
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
##
# imagePullPolicy:
## Create a database user
## Default: postgres
# postgresUser:
## Default: random 10 character string
# postgresPassword:
## Create a database
## Default: the postgres user
# postgresDatabase:
## Persist data to a persitent volume
persistence:
enabled: true
## If defined, volume.beta.kubernetes.io/storage-class: <storageClass>
## Default: volume.alpha.kubernetes.io/storage-class: default
##
# storageClass:
accessMode: ReadWriteOnce
size: 8Gi
metrics:
enabled: false
image: wrouesnel/postgres_exporter
imageTag: v0.1.1
imagePullPolicy: IfNotPresent
resources:
requests:
memory: 256Mi
cpu: 100m
## Configure resource requests and limits
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
##
resources:
requests:
memory: 256Mi
cpu: 100m
......@@ -2,5 +2,5 @@ dependencies:
- name: postgresql
repository: https://kubernetes-charts.storage.googleapis.com/
version: 0.3.2
digest: sha256:958f4f93f3f03e58a88658a149615f835e20c220a342d701bf2c50183bb084f6
generated: 2017-01-29T14:28:10.006348717-08:00
digest: sha256:6d5d259b3cda9b2667bfa38e086c0ab9b914c35d8f3287d3a351c01fadcfd273
generated: 2019-05-04T00:19:00.160155+02:00
......@@ -19,21 +19,26 @@ spec:
image: {{ .Values.image }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
env:
- name: TOMCAT_PROXY_NAME
value: {{ .Values.ingressDomain }}
- name: TOMCAT_PROXY_PORT
value: "443"
- name: TOMCAT_PROXY_SCHEME
value: https
- name: JVM_MEMORY_MAX
value: {{ .Values.maxMemoryJVM }}
- name: TOMCAT_PROXY_SECURE
- name: CATALINA_CONNECTOR_PROXYNAME
value: {{ .Values.ingressDomain }}
- name: CATALINA_CONNECTOR_PROXYPORT
value: "443"
- name: CATALINA_CONNECTOR_SCHEME
value: "https"
- name: CATALINA_CONNECTOR_SECURE
value: "true"
ports:
- containerPort: 8090
- name: http
containerPort: 8090
protocol: TCP
- name: websocket
containerPort: 8091
protocol: TCP
volumeMounts:
- name: confluence-home
mountPath: /var/opt/confluence
mountPath: /var/atlassian/application-data/confluence
resources:
{{ toYaml .Values.resources | indent 10 }}
volumes:
......@@ -43,4 +48,4 @@ spec:
claimName: {{ template "fullname" . }}-home
{{- else }}
emptyDir: {}
{{- end }}
\ No newline at end of file
{{- end }}
......@@ -13,7 +13,4 @@ spec:
resources:
requests:
storage: {{ .Values.persistence.size | quote }}
selector:
matchLabels:
volume: {{ template "fullname" . }}-home
{{- end }}
......@@ -8,12 +8,27 @@ metadata:
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
annotations:
kubernetes.io/ingress.class: "traefik"
certmanager.k8s.io/cluster-issuer: letsencrypt-prod
kubernetes.io/tls-acme: "true"
nginx.ingress.kubernetes.io/proxy-connect-timeout: "3000"
nginx.ingress.kubernetes.io/proxy-send-timeout: "3000"
nginx.ingress.kubernetes.io/proxy-read-timeout: "3000"
nginx.ingress.kubernetes.io/proxy-next-upstream-timeout: "3000"
nginx.org/websocket-services: "{{ template "fullname" . }}-websocket"
spec:
tls:
- hosts:
- {{ .Values.ingressDomain }}
secretName: "{{ .Release.Name }}-acme"
rules:
- host: {{ .Values.ingressDomain }}
http:
paths:
- backend:
- path: /synchrony
backend:
serviceName: {{ template "fullname" . }}-websocket
servicePort: 8091
- path: /
backend:
serviceName: {{ template "fullname" . }}
servicePort: 80
\ No newline at end of file
servicePort: 8090
......@@ -10,7 +10,26 @@ metadata:
spec:
type: {{ .Values.serviceType }}
ports:
- port: 80
- port: 8090
targetPort: 8090
name: http
selector:
app: {{ template "fullname" . }}
---
apiVersion: v1
kind: Service
metadata:
name: {{ template "fullname" . }}-websocket
labels:
app: {{ template "fullname" . }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
spec:
type: {{ .Values.serviceType }}
ports:
- port: 8091
targetPort: 8091
name: websocket
selector:
app: {{ template "fullname" . }}
## Confluence
image: seibertmedia/atlassian-confluence:5.10.8
image: atlassian/confluence-server
imagePullPolicy: IfNotPresent
serviceType: LoadBalancer
ingressDomain: wiki.example.com
serviceType: ClusterIP
ingressDomain: wiki.beryju.org
maxMemoryJVM: 1G
......
# 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
*~
# Various IDEs
.project
.idea/
*.tmproj
description: GitLab Community Edition
keywords:
- git
- ci
- deploy
- issue tracker
- code review
- wiki
maintainers:
- email: gtaylor@gc-taylor.com
name: Greg Taylor
name: gitlab-ce
sources:
- https://hub.docker.com/r/gitlab/gitlab-ce/
- https://docs.gitlab.com/omnibus/
version: 0.1.3
# GitLab Community Edition
[GitLab Community Edition](https://about.gitlab.com/) is an application to code, test, and deploy code together. It provides Git repository management with fine grained access controls, code reviews, issue tracking, activity feeds, wikis, and continuous integration.
## Introduction
This chart stands up a GitLab Community Edition install. This includes:
- A [GitLab Omnibus](https://docs.gitlab.com/omnibus/) Pod
- Redis
- Postgresql
## Prerequisites
- _At least_ 3 GB of RAM available on your cluster, in chunks of 1 GB
- Kubernetes 1.4+ with Beta APIs enabled
- PV provisioner support in the underlying infrastructure
- The ability to point a DNS entry or URL at your GitLab install
## Installing the Chart
To install the chart with the release name `my-release` run:
```bash
$ helm install --name my-release \
--set externalUrl=http://your-domain.com/ stable/gitlab-ce
```
Note that you _must_ pass in externalUrl, or you'll end up with a non-functioning release.
> **Tip**: List all releases using `helm list`
## Uninstalling the Chart
To uninstall/delete the `my-release` deployment:
```bash
$ helm delete my-release
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
## Configuration
Refer to [values.yaml](values.yaml) for the full run-down on defaults. These are a mixture of Kubernetes and GitLab-related directives.
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```bash
$ helm install --name my-release \
--set externalUrl=http://your-domain.com/,gitlabRootPassword=pass1234 \
stable/gitlab-ce
```
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
```bash
$ helm install --name my-release -f values.yaml stable/gitlab-ce
```
> **Tip**: You can use the default [values.yaml](values.yaml)
## Persistence
By default, persistence of GitLab data and configuration happens using PVCs. If you know that you'll need a larger amount of space, make _sure_ to look at the `persistence` section in [values.yaml](values.yaml).
> *"If you disable persistence, the contents of your volume(s) will only last as long as the Pod does. Upgrading or changing certain settings may lead to data loss without persistence."*
description: Chart for PostgreSQL
engine: gotpl
home: https://www.postgresql.org/
keywords:
- postgresql
- postgres
- database
- sql
maintainers:
- name: swordbeta
- name: databus23
name: postgresql
sources:
- https://github.com/kubernetes/charts
- https://github.com/docker-library/postgres
version: 0.3.2
# PostgreSQL
[PostgreSQL](https://postgresql.org) is a powerful, open source object-relational database system. It has more than 15 years of active development and a proven architecture that has earned it a strong reputation for reliability, data integrity, and correctness.
## TL;DR;
```bash
$ helm install stable/postgresql
```
## Introduction
This chart bootstraps a [PostgreSQL](https://github.com/docker-library/postgres) deployment on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
## Prerequisites
- Kubernetes 1.4+ with Beta APIs enabled
- PV provisioner support in the underlying infrastructure (Only when persisting data)
## Installing the Chart
To install the chart with the release name `my-release`:
```bash
$ helm install --name my-release stable/postgresql
```
The command deploys PostgreSQL on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation.
> **Tip**: List all releases using `helm list`
## Uninstalling the Chart
To uninstall/delete the `my-release` deployment:
```bash
$ helm delete my-release
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
## Configuration
The following tables lists the configurable parameters of the PostgresSQL chart and their default values.
| Parameter | Description | Default |
| ----------------------- | ---------------------------------- | ---------------------------------------------------------- |
| `image` | `postgres` image repository | `postgres` |
| `imageTag` | `postgres` image tag | `9.5.4` |
| `imagePullPolicy` | Image pull policy | `Always` if `imageTag` is `latest`, else `IfNotPresent` |
| `postgresUser` | Username of new user to create. | `postgres` |
| `postgresPassword` | Password for the new user. | random 10 characters |
| `postgresDatabase` | Name for new database to create. | `postgres` |
| `persistence.enabled` | Use a PVC to persist data | `true` |
| `persistence.storageClass` | Storage class of backing PVC | `nil` (uses alpha storage class annotation) |
| `persistence.accessMode` | Use volume as ReadOnly or ReadWrite | `ReadWriteOnce` |
| `persistence.size` | Size of data volume | `8Gi` |
| `resources` | CPU/Memory resource requests/limits | Memory: `256Mi`, CPU: `100m` |
| `metrics.enabled` | Start a side-car prometheus exporter | `false` |
| `metrics.image` | Exporter image | `wrouesnel/postgres_exporter` |
| `metrics.imageTag` | Exporter image | `v0.1.1` |
| `metrics.imagePullPolicy` | Exporter image pull policy | `IfNotPresent` |
| `metrics.resources` | Exporter resource requests/limit | Memory: `256Mi`, CPU: `100m` |
The above parameters map to the env variables defined in [postgres](http://github.com/docker-library/postgres). For more information please refer to the [postgres](http://github.com/docker-library/postgres) image documentation.