Update repo structure and README

- Add incubator folder to follow github.com/kubernetes/charts structure
- Add list of all Bitnami maintained charts in README, pointing to
  kubernetes/charts or bitnami/charts
This commit is contained in:
Adnan Abdulhussein
2016-10-25 14:19:14 -07:00
parent 43343dad44
commit e7499c51ca
332 changed files with 27 additions and 2393 deletions

View File

@@ -1,8 +1,32 @@
# Bitnami Charts Repository
# The Bitnami Library for Kubernetes
This repository contains Charts for [Helm](https://github.com/kubernetes/helm) that use Docker containers developed and maintained by [Bitnami](https://bitnami.com/)
Popular applications, provided by Bitnami, ready to launch on Kubernetes using [Kubernetes Helm](https://github.com/kubernetes/helm).
To learn more about Bitnami-provided Docker containers, please visit http://bitnami.com/docker.
- [WordPress (stable)](https://github.com/kubernetes/charts/tree/master/stable/wordpress)
- [Joomla! (incubator)](https://github.com/bitnami/charts/tree/master/incubator/joomla)
- [Redmine (stable)](https://github.com/kubernetes/charts/tree/master/stable/redmine)
- [Drupal (stable)](https://github.com/kubernetes/charts/tree/master/stable/drupal)
- [OpenCart (incubator)](https://github.com/bitnami/charts/tree/master/incubator/opencart)
- [Magento (incubator)](https://github.com/bitnami/charts/tree/master/incubator/magento)
- [RabbitMQ (incubator)](https://github.com/bitnami/charts/tree/master/incubator/rabbitmq)
- [OwnCloud (incubator)](https://github.com/bitnami/charts/tree/master/incubator/owncloud)
- [Memcached (incubator)](https://github.com/bitnami/charts/tree/master/incubator/memcached)
- [Phabricator (incubator)](https://github.com/bitnami/charts/tree/master/incubator/phabricator)
- [PrestaShop (incubator)](https://github.com/bitnami/charts/tree/master/incubator/prestashop)
- [PostgreSQL (incubator)](https://github.com/bitnami/charts/tree/master/incubator/postgresql)
- [MediaWiki (incubator)](https://github.com/bitnami/charts/tree/master/incubator/mediawiki)
- [MongoDB (incubator)](https://github.com/bitnami/charts/tree/master/incubator/mongodb)
- [Redis (incubator)](https://github.com/bitnami/charts/tree/master/incubator/redis)
- [Odoo (incubator)](https://github.com/bitnami/charts/tree/master/incubator/odoo)
- [nginx (incubator)](https://github.com/bitnami/charts/tree/master/incubator/nginx)
- [TestLink (incubator)](https://github.com/bitnami/charts/tree/master/incubator/testlink)
- [WildFly (incubator)](https://github.com/bitnami/charts/tree/master/incubator/wildfly)
- [phpBB (incubator)](https://github.com/bitnami/charts/tree/master/incubator/phpbb)
- [Ghost (incubator)](https://github.com/bitnami/charts/tree/master/incubator/ghost)
- [Tomcat (incubator)](https://github.com/bitnami/charts/tree/master/incubator/tomcat)
- [Apache (incubator)](https://github.com/bitnami/charts/tree/master/incubator/apache)
- [MariaDB (stable)](https://github.com/kubernetes/charts/tree/master/stable/mariadb)
- [MariaDB Cluster (incubator)](https://github.com/bitnami/charts/tree/master/incubator/mariadb-cluster)
## Before you begin
@@ -25,4 +49,3 @@ The above command creates a new cluster named `my-cluster`. You can name the clu
Helm is a tool for managing Kubernetes charts. Charts are packages of pre-configured Kubernetes resources.
To install Helm, refer to the [Helm install guide](https://github.com/kubernetes/helm#install) and ensure that the `helm` binary is in the `PATH` of your shell.

View File

@@ -1,18 +0,0 @@
name: drupal
version: 0.3.2
description: One of the most versatile open source content management systems.
keywords:
- drupal
- cms
- blog
- http
- web
- application
- php
home: http://www.drupal.org/
sources:
- https://github.com/bitnami/bitnami-docker-drupal
maintainers:
- name: Bitnami
email: containers@bitnami.com
engine: gotpl

View File

@@ -1,102 +0,0 @@
# Drupal
[Drupal](https://www.drupal.org/) is one of the most versatile open source content management systems on the market.
## TL;DR;
```bash
$ helm install drupal-x.x.x.tgz
```
## Introduction
This chart bootstraps a [Drupal](https://github.com/bitnami/bitnami-docker-drupal) deployment on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
It also packages the Bitnami MariaDB chart which is required for bootstrapping a MariaDB deployment for the database requirements of the Drupal application.
## Prerequisites
- Kubernetes 1.3+ with Alpha APIs enabled
- PV provisioner support in the underlying infrastructure
## Get this chart
Download the latest release of the chart from the [releases](../../../releases) page.
Alternatively, clone the repo if you wish to use the development snapshot:
```bash
$ git clone https://github.com/kubernetes/charts.git
```
## Installing the Chart
To install the chart with the release name `my-release`:
```bash
$ helm install --name my-release drupal-x.x.x.tgz
```
*Replace the `x.x.x` placeholder with the chart release version.*
The command deploys Drupal 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 Drupal chart and their default values.
| Parameter | Description | Default |
| ------------------------------- | ---------------------------- | --------------------------------------------------------- |
| `image` | Drupal image | `bitnami/drupal:{VERSION}` |
| `imagePullPolicy` | Image pull policy | `Always` if `image` tag is `latest`, else `IfNotPresent` |
| `drupalUsername` | User of the application | `user` |
| `drupalPassword` | Application password | `bitnami` |
| `drupalEmail` | Admin email | `user@example.com` |
| `mariadb.mariadbRootPassword` | MariaDB admin password | `nil` |
| `serviceType` | Kubernetes Service type | `LoadBalancer` |
| `persistence.enabled` | Enable persistence using PVC | `true` |
| `persistence.apache.storageClass` | PVC Storage Class for Apache volume | `generic` |
| `persistence.apache.accessMode` | PVC Access Mode for Apache volume | `ReadWriteOnce` |
| `persistence.apache.size` | PVC Storage Request for Apache volume | `1Gi` |
| `persistence.drupal.storageClass` | PVC Storage Class for Drupal volume | `generic` |
| `persistence.drupal.accessMode` | PVC Access Mode for Drupal volume | `ReadWriteOnce` |
| `persistence.drupal.size` | PVC Storage Request for Drupal volume | `8Gi` |
The above parameters map to the env variables defined in [bitnami/drupal](http://github.com/bitnami/bitnami-docker-drupal). For more information please refer to the [bitnami/drupal](http://github.com/bitnami/bitnami-docker-drupal) 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 drupalUsername=admin,drupalPassword=password,mariadb.mariadbRootPassword=secretpassword \
drupal-x.x.x.tgz
```
The above command sets the Drupal administrator account username and password to `admin` and `password` respectively. Additionally it sets the MariaDB `root` user password to `secretpassword`.
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,
```bash
$ helm install --name my-release -f values.yaml drupal-x.x.x.tgz
```
> **Tip**: You can use the default [values.yaml](values.yaml)
## Persistence
The [Bitnami Drupal](https://github.com/bitnami/bitnami-docker-drupal) image stores the Drupal data and configurations at the `/bitnami/drupal` and `/bitnami/apache` paths of the container.
Persistent Volume Claims are used to keep the data across deployments. This is known to work in GCE, AWS, and minikube.
See the [Configuration](#configuration) section to configure the PVC or to disable persistence.

View File

@@ -1,122 +0,0 @@
# MariaDB
[MariaDB](https://mariadb.org) is one of the most popular database servers in the world. Its made by the original developers of MySQL and guaranteed to stay open source. Notable users include Wikipedia, Facebook and Google.
MariaDB is developed as open source software and as a relational database it provides an SQL interface for accessing data. The latest versions of MariaDB also include GIS and JSON features.
## TL;DR;
```bash
$ helm install mariadb-x.x.x.tgz
```
## Introduction
This chart bootstraps a [MariaDB](https://github.com/bitnami/bitnami-docker-mariadb) deployment on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
## Get this chart
Download the latest release of the chart from the [releases](../../../releases) page.
Alternatively, clone the repo if you wish to use the development snapshot:
```bash
$ git clone https://github.com/kubernetes/charts.git
```
## Installing the Chart
To install the chart with the release name `my-release`:
```bash
$ helm install --name my-release mariadb-x.x.x.tgz
```
*Replace the `x.x.x` placeholder with the chart release version.*
The command deploys MariaDB 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 MariaDB chart and their default values.
| Parameter | Description | Default |
|-----------------------|----------------------------------|----------------------------------------------------------|
| `imageTag` | `bitnami/mariadb` image tag. | Most recent release |
| `imagePullPolicy` | Image pull policy. | `Always` if `imageTag` is `latest`, else `IfNotPresent`. |
| `mariadbRootPassword` | Password for the `root` user. | `nil` |
| `mariadbUser` | Username of new user to create. | `nil` |
| `mariadbPassword` | Password for the new user. | `nil` |
| `mariadbDatabase` | Name for new database to create. | `nil` |
The above parameters map to the env variables defined in [bitnami/mariadb](http://github.com/bitnami/bitnami-docker-mariadb). For more information please refer to the [bitnami/mariadb](http://github.com/bitnami/bitnami-docker-mariadb) 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 mariadbRootPassword=secretpassword,mariadbUser=my-user,mariadbPassword=my-password,mariadbDatabase=my-database \
mariadb-x.x.x.tgz
```
The above command sets the MariaDB `root` account password to `secretpassword`. Additionally it creates a standard database user named `my-user`, with the password `my-password`, who has access to 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 mariadb-x.x.x.tgz
```
> **Tip**: You can use the default [values.yaml](values.yaml)
## Persistence
The [Bitnami MariaDB](https://github.com/bitnami/bitnami-docker-mariadb) image stores the MariaDB data and configurations at the `/bitnami/mariadb` path of the container.
As a placeholder, the chart mounts an [emptyDir](http://kubernetes.io/docs/user-guide/volumes/#emptydir) volume at this location.
> *"An emptyDir volume is first created when a Pod is assigned to a Node, and exists as long as that Pod is running on that node. When a Pod is removed from a node for any reason, the data in the emptyDir is deleted forever."*
For persistence of the data you should replace the `emptyDir` volume with a persistent [storage volume](http://kubernetes.io/docs/user-guide/volumes/), else the data will be lost if the Pod is shutdown.
### Step 1: Create a persistent disk
You first need to create a persistent disk in the cloud platform your cluster is running. For example, on GCE you can use the `gcloud` tool to create a [gcePersistentDisk](http://kubernetes.io/docs/user-guide/volumes/#gcepersistentdisk):
```bash
$ gcloud compute disks create --size=500GB --zone=us-central1-a mariadb-data-disk
```
### Step 2: Update `templates/deployment.yaml`
Replace:
```yaml
volumes:
- name: data
emptyDir: {}
```
with
```yaml
volumes:
- name: data
gcePersistentDisk:
pdName: mariadb-data-disk
fsType: ext4
```
[Install](#installing-the-chart) the chart after making these changes.

View File

@@ -1,31 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 24 -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 24 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 24 -}}
{{- end -}}
{{/*
Get the imagePullPolicy.
*/}}
{{- define "imagePullPolicy" -}}
{{- if .Values.imagePullPolicy -}}
{{- .Values.imagePullPolicy -}}
{{- else -}}
{{- if eq .Values.imageTag "latest" -}}
{{- "Always" -}}
{{- else -}}
{{- "IfNotPresent" -}}
{{- end -}}
{{- end -}}
{{- end -}}

View File

@@ -1,65 +0,0 @@
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" . }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
spec:
containers:
- name: {{ template "fullname" . }}
image: "bitnami/mariadb:{{ .Values.imageTag }}"
imagePullPolicy: {{ template "imagePullPolicy" . }}
env:
- name: MARIADB_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: {{ template "fullname" . }}
key: mariadb-root-password
- name: MARIADB_USER
value: {{ default "" .Values.mariadbUser | quote }}
- name: MARIADB_PASSWORD
valueFrom:
secretKeyRef:
name: {{ template "fullname" . }}
key: mariadb-password
- name: MARIADB_DATABASE
value: {{ default "" .Values.mariadbDatabase | quote }}
ports:
- name: mysql
containerPort: 3306
livenessProbe:
exec:
command:
- mysqladmin
- ping
initialDelaySeconds: 30
timeoutSeconds: 5
readinessProbe:
exec:
command:
- mysqladmin
- ping
initialDelaySeconds: 5
timeoutSeconds: 1
volumeMounts:
- name: data
mountPath: /bitnami/mariadb
volumes:
- name: data
{{- if .Values.persistence.enabled }}
persistentVolumeClaim:
claimName: {{ template "fullname" . }}
{{- else }}
emptyDir: {}
{{- end -}}

View File

@@ -1,14 +0,0 @@
{{- if .Values.persistence.enabled -}}
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: {{ template "fullname" . }}
annotations:
volume.alpha.kubernetes.io/storage-class: {{ .Values.persistence.storageClass | quote }}
spec:
accessModes:
- {{ .Values.persistence.accessMode | quote }}
resources:
requests:
storage: {{ .Values.persistence.size | quote }}
{{- end -}}

View File

@@ -1,36 +0,0 @@
## Bitnami MariaDB image version
## ref: https://hub.docker.com/r/bitnami/mariadb/tags/
##
## Default: none
imageTag: 10.1.17-r1
## Specify a imagePullPolicy
## Default to 'Always' if imageTag is 'latest', else set to 'IfNotPresent'
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
##
# imagePullPolicy:
## Specify password for root user
## ref: https://github.com/bitnami/bitnami-docker-mariadb/blob/master/README.md#setting-the-root-password-on-first-run
##
# mariadbRootPassword:
## Create a database user
## ref: https://github.com/bitnami/bitnami-docker-mariadb/blob/master/README.md#creating-a-database-user-on-first-run
##
# mariadbUser:
# mariadbPassword:
## Create a database
## ref: https://github.com/bitnami/bitnami-docker-mariadb/blob/master/README.md#creating-a-database-on-first-run
##
# mariadbDatabase:
## Enable persistence using Persistent Volume Claims
## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
##
persistence:
enabled: true
storageClass: generic
accessMode: ReadWriteOnce
size: 8Gi

View File

@@ -1,26 +0,0 @@
1. Get the Drupal URL by running:
{{- if contains "NodePort" .Values.serviceType }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT/
{{- else if contains "LoadBalancer" .Values.serviceType }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
Watch the status with: 'kubectl get svc -w {{ template "fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo http://$SERVICE_IP/
{{- else if contains "ClusterIP" .Values.serviceType }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "fullname" . }}" -o jsonpath="{.items[0].metadata.name}")
echo http://127.0.0.1:8080/
kubectl port-forward $POD_NAME 8080:80
{{- end }}
2. Login with the following credentials
Username: {{ .Values.drupalUsername }}
Password: {{ .Values.drupalPassword }}

View File

@@ -1,14 +0,0 @@
{{- if .Values.persistence.enabled -}}
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: {{ template "fullname" . }}-apache
annotations:
volume.alpha.kubernetes.io/storage-class: {{ .Values.persistence.apache.storageClass | quote }}
spec:
accessModes:
- {{ .Values.persistence.apache.accessMode | quote }}
resources:
requests:
storage: {{ .Values.persistence.apache.size | quote }}
{{- end -}}

View File

@@ -1,79 +0,0 @@
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:
replicas: 1
template:
metadata:
labels:
app: {{ template "fullname" . }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
spec:
containers:
- name: {{ template "fullname" . }}
image: "{{ .Values.image }}"
imagePullPolicy: {{ default "" .Values.imagePullPolicy | quote }}
env:
- name: MARIADB_HOST
value: {{ template "mariadb.fullname" . }}
- name: MARIADB_PORT
value: "3306"
- name: MARIADB_PASSWORD
valueFrom:
secretKeyRef:
name: {{ template "mariadb.fullname" . }}
key: mariadb-root-password
- name: DRUPAL_USERNAME
value: {{ default "" .Values.drupalUsername | quote }}
- name: DRUPAL_PASSWORD
valueFrom:
secretKeyRef:
name: {{ template "fullname" . }}
key: drupal-password
- name: DRUPAL_EMAIL
value: {{ default "" .Values.drupalEmail | quote }}
ports:
- name: http
containerPort: 80
- name: https
containerPort: 443
livenessProbe:
httpGet:
path: /
port: http
initialDelaySeconds: 120
timeoutSeconds: 5
readinessProbe:
httpGet:
path: /
port: http
initialDelaySeconds: 5
timeoutSeconds: 1
volumeMounts:
- name: drupal-data
mountPath: /bitnami/drupal
- name: apache-data
mountPath: /bitnami/apache
volumes:
- name: drupal-data
{{- if .Values.persistence.enabled }}
persistentVolumeClaim:
claimName: {{ template "fullname" . }}-drupal
{{- else }}
emptyDir: {}
{{- end }}
- name: apache-data
{{- if .Values.persistence.enabled }}
persistentVolumeClaim:
claimName: {{ template "fullname" . }}-apache
{{- else }}
emptyDir: {}
{{- end }}

View File

@@ -1,14 +0,0 @@
{{- if .Values.persistence.enabled -}}
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: {{ template "fullname" . }}-drupal
annotations:
volume.alpha.kubernetes.io/storage-class: {{ .Values.persistence.drupal.storageClass | quote }}
spec:
accessModes:
- {{ .Values.persistence.drupal.accessMode | quote }}
resources:
requests:
storage: {{ .Values.persistence.drupal.size | quote }}
{{- end -}}

View File

@@ -1,12 +0,0 @@
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:
drupal-password: {{ default "" .Values.drupalPassword | b64enc | quote }}

View File

@@ -1,20 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: {{ template "fullname" . }}
labels:
app: {{ template "fullname" . }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
spec:
type: {{ .Values.serviceType }}
ports:
- name: http
port: 80
targetPort: http
- name: https
port: 443
targetPort: https
selector:
app: {{ template "fullname" . }}

View File

@@ -1,62 +0,0 @@
## Bitnami Drupal image version
## ref: https://hub.docker.com/r/bitnami/drupal/tags/
##
image: bitnami/drupal:8.2.1-r0
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
##
# imagePullPolicy:
## User of the application
## ref: https://github.com/bitnami/bitnami-docker-drupal#configuration
##
drupalUsername: user
## Application password
## ref: https://github.com/bitnami/bitnami-docker-drupal#configuration
##
drupalPassword: bitnami
## Admin email
## ref: https://github.com/bitnami/bitnami-docker-drupal#configuration
##
drupalEmail: user@example.com
##
## MariaDB chart configuration
##
mariadb:
## MariaDB admin password
## ref: https://github.com/bitnami/bitnami-docker-mariadb/blob/master/README.md#setting-the-root-password-on-first-run
##
# mariadbRootPassword:
## Enable persistence using Persistent Volume Claims
## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
##
persistence:
enabled: true
storageClass: generic
accessMode: ReadWriteOnce
size: 8Gi
## Kubernetes configuration
## For minikube, set this to NodePort, elsewhere use LoadBalancer
##
serviceType: LoadBalancer
## Enable persistence using Persistent Volume Claims
## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
##
persistence:
enabled: true
apache:
storageClass: generic
accessMode: ReadWriteOnce
size: 1Gi
drupal:
storageClass: generic
accessMode: ReadWriteOnce
size: 8Gi

Some files were not shown because too many files have changed in this diff Show More