Add OpenLDAP (#670)
* add initial work on openldap * fix indent * use latest common version * remove remaining nextcloud components... * disable ldap tls for now * correct common version * bump common version used to fix some issues * some slight OpenLDAP tweaks
This commit is contained in:
@@ -0,0 +1,24 @@
|
|||||||
|
# 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
|
||||||
|
.vscode/
|
||||||
|
# OWNERS file for Kubernetes
|
||||||
|
OWNERS
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
# Configuration Options
|
||||||
|
|
||||||
|
##### Connecting to other apps
|
||||||
|
If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Together" guide:
|
||||||
|
https://truecharts.org/manual/linking/
|
||||||
|
|
||||||
|
|
||||||
|
##### Available config options
|
||||||
|
In the future this page is going to contain an automated list of options available in the installation/edit UI.
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
appVersion: auto
|
||||||
|
dependencies:
|
||||||
|
- name: common
|
||||||
|
repository: https://truecharts.org/
|
||||||
|
version: 6.6.1
|
||||||
|
deprecated: false
|
||||||
|
description: Community developed LDAP software
|
||||||
|
home: https://www.openldap.org
|
||||||
|
icon: https://raw.githubusercontent.com/jp-gouin/helm-openldap/master/logo.png
|
||||||
|
keywords:
|
||||||
|
- ldap
|
||||||
|
- openldap
|
||||||
|
- iam-stack
|
||||||
|
- high availability
|
||||||
|
kubeVersion: '>=1.16.0-0'
|
||||||
|
maintainers:
|
||||||
|
- email: info@truecharts.org
|
||||||
|
name: TrueCharts
|
||||||
|
url: truecharts.org
|
||||||
|
- email: kjeld@schouten-lebbing.nl
|
||||||
|
name: Ornias1993
|
||||||
|
url: truecharts.org
|
||||||
|
name: openldap
|
||||||
|
sources:
|
||||||
|
- https://github.com/jp-gouin/helm-openldap
|
||||||
|
- https://github.com/osixia/docker-openldap
|
||||||
|
type: application
|
||||||
|
version: 1.0.0
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
# Introduction
|
||||||
|
|
||||||
|
  
|
||||||
|
|
||||||
|
A private cloud server that puts the control and security of your own data back into your hands.
|
||||||
|
|
||||||
|
TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation.
|
||||||
|
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)**
|
||||||
|
|
||||||
|
## Source Code
|
||||||
|
|
||||||
|
* <https://github.com/nextcloud/docker>
|
||||||
|
* <https://github.com/nextcloud/helm>
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
Kubernetes: `>=1.16.0-0`
|
||||||
|
|
||||||
|
## Dependencies
|
||||||
|
|
||||||
|
| Repository | Name | Version |
|
||||||
|
|------------|------|---------|
|
||||||
|
| https://charts.bitnami.com/bitnami | postgresql | 10.5.1 |
|
||||||
|
| https://truecharts.org/ | common | 6.4.6 |
|
||||||
|
|
||||||
|
## Installing the Chart
|
||||||
|
|
||||||
|
To install the chart with the release name `nextcloud`
|
||||||
|
|
||||||
|
- Open TrueNAS SCALE
|
||||||
|
- Go to Apps
|
||||||
|
- Click "Install" for this specific Apps
|
||||||
|
- Fill out the configuration form
|
||||||
|
|
||||||
|
## Uninstalling the Chart
|
||||||
|
|
||||||
|
To uninstall the `nextcloud` deployment
|
||||||
|
|
||||||
|
- Open TrueNAS SCALE
|
||||||
|
- Go to Apps
|
||||||
|
- Go to "Installed Apps"
|
||||||
|
- Expand the menu in the top-right corner of this App
|
||||||
|
- Click "Remove" for this specific Apps
|
||||||
|
|
||||||
|
The command removes all the Kubernetes components associated with the chart **including storage volumes** _(Except hostPath Storage)_ and deletes the release.
|
||||||
|
|
||||||
|
## Support
|
||||||
|
|
||||||
|
- See the [Wiki](https://truecharts.org)
|
||||||
|
- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
|
||||||
|
- Ask a [question](https://github.com/truecharts/apps/discussions)
|
||||||
|
|
||||||
|
|
||||||
|
----------------------------------------------
|
||||||
|
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)
|
||||||
|
All Rights Reserved - The TrueCharts Project
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
categories:
|
||||||
|
- cloud
|
||||||
|
icon_url: https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Nextcloud_Logo.svg/1280px-Nextcloud_Logo.svg.png
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
##
|
||||||
|
# This file contains Values.yaml content that gets added to the output of questions.yaml
|
||||||
|
# It's ONLY meant for content that the user is NOT expected to change.
|
||||||
|
# Example: Everything under "image" is not included in questions.yaml but is included here.
|
||||||
|
##
|
||||||
|
image:
|
||||||
|
repository: osixia/openldap
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
tag: 1.5.0
|
||||||
|
|
||||||
|
controller:
|
||||||
|
# -- Set the controller type.
|
||||||
|
# Valid options are deployment, daemonset or statefulset
|
||||||
|
type: statefulset
|
||||||
|
# -- Number of desired pods
|
||||||
|
replicas: 1
|
||||||
|
# -- Set the controller upgrade strategy
|
||||||
|
# For Deployments, valid values are Recreate (default) and RollingUpdate.
|
||||||
|
# For StatefulSets, valid values are OnDelete and RollingUpdate (default).
|
||||||
|
# DaemonSets ignore this.
|
||||||
|
strategy: RollingUpdate
|
||||||
|
rollingUpdate:
|
||||||
|
# -- Set deployment RollingUpdate max unavailable
|
||||||
|
unavailable: 1
|
||||||
|
# -- Set deployment RollingUpdate max surge
|
||||||
|
surge:
|
||||||
|
# -- Set statefulset RollingUpdate partition
|
||||||
|
partition:
|
||||||
|
# -- ReplicaSet revision history limit
|
||||||
|
revisionHistoryLimit: 3
|
||||||
|
|
||||||
|
envFrom:
|
||||||
|
- configMapRef:
|
||||||
|
name: openldapconfig
|
||||||
|
|
||||||
|
replication:
|
||||||
|
enabled: false
|
||||||
|
# Enter the name of your cluster, defaults to "cluster.local"
|
||||||
|
clusterName: "cluster.local"
|
||||||
|
retry: 60
|
||||||
|
timeout: 1
|
||||||
|
interval: 00:00:00:10
|
||||||
|
starttls: "critical"
|
||||||
|
tls_reqcert: "never"
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
# Most other defaults are set in questions.yaml
|
||||||
|
# For other options please refer to the wiki, default_values.yaml or the common library chart
|
||||||
|
##
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,21 @@
|
|||||||
|
{{/* Define the configmap */}}
|
||||||
|
{{- define "openldap.configmap" -}}
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: openldapconfig
|
||||||
|
data:
|
||||||
|
LDAP_TLS_CRT_FILENAME: "tls.crt"
|
||||||
|
LDAP_TLS_KEY_FILENAME: "tls.key"
|
||||||
|
LDAP_TLS_DH_PARAM_FILENAME: "dhparam.pem"
|
||||||
|
LDAP_TLS_CA_CRT_FILENAME: "ca.crt"
|
||||||
|
{{- if .Values.replication.enabled }}
|
||||||
|
LDAP_REPLICATION: "true"
|
||||||
|
LDAP_REPLICATION_CONFIG_SYNCPROV: "binddn=\"cn=admin,cn=config\" bindmethod=simple credentials=$LDAP_CONFIG_PASSWORD searchbase=\"cn=config\" type=refreshAndPersist retry=\"{{.Values.replication.retry }} +\" timeout={{.Values.replication.timeout }} starttls={{.Values.replication.starttls }} tls_reqcert={{.Values.replication.tls_reqcert }}"
|
||||||
|
LDAP_REPLICATION_DB_SYNCPROV: "binddn=\"cn=admin,$LDAP_BASE_DN\" bindmethod=simple credentials=$LDAP_ADMIN_PASSWORD searchbase=\"$LDAP_BASE_DN\" type=refreshAndPersist interval={{.Values.replication.interval }} retry=\"{{.Values.replication.retry }} +\" timeout={{.Values.replication.timeout }} starttls={{.Values.replication.starttls }} tls_reqcert={{.Values.replication.tls_reqcert }}"
|
||||||
|
LDAP_REPLICATION_HOSTS: "#PYTHON2BASH:[{{ template "replicalist" . }}]"
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- end -}}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{{/* Make sure all variables are set properly */}}
|
||||||
|
{{- include "common.values.setup" . }}
|
||||||
|
|
||||||
|
{{/* Render the templates */}}
|
||||||
|
{{ include "common.all" . }}
|
||||||
|
|
||||||
|
{{/* Render configmap for openldap */}}
|
||||||
|
{{- include "openldap.configmap" . }}
|
||||||
@@ -0,0 +1,88 @@
|
|||||||
|
# Default values for Bitwarden.
|
||||||
|
|
||||||
|
image:
|
||||||
|
repository: osixia/openldap
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
tag: 1.5.0
|
||||||
|
|
||||||
|
controller:
|
||||||
|
# -- Set the controller type.
|
||||||
|
# Valid options are deployment, daemonset or statefulset
|
||||||
|
type: statefulset
|
||||||
|
# -- Number of desired pods
|
||||||
|
replicas: 1
|
||||||
|
# -- Set the controller upgrade strategy
|
||||||
|
# For Deployments, valid values are Recreate (default) and RollingUpdate.
|
||||||
|
# For StatefulSets, valid values are OnDelete and RollingUpdate (default).
|
||||||
|
# DaemonSets ignore this.
|
||||||
|
strategy: RollingUpdate
|
||||||
|
rollingUpdate:
|
||||||
|
# -- Set deployment RollingUpdate max unavailable
|
||||||
|
unavailable: 1
|
||||||
|
# -- Set deployment RollingUpdate max surge
|
||||||
|
surge:
|
||||||
|
# -- Set statefulset RollingUpdate partition
|
||||||
|
partition:
|
||||||
|
# -- ReplicaSet revision history limit
|
||||||
|
revisionHistoryLimit: 3
|
||||||
|
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
ports:
|
||||||
|
main:
|
||||||
|
port: 389
|
||||||
|
https:
|
||||||
|
ports:
|
||||||
|
https:
|
||||||
|
port: 636
|
||||||
|
|
||||||
|
# Default configuration for openldap as environment variables. These get injected directly in the container.
|
||||||
|
# Use the env variables from https://github.com/osixia/docker-openldap#beginner-guide
|
||||||
|
env:
|
||||||
|
LDAP_LOG_LEVEL: "256"
|
||||||
|
LDAP_ORGANISATION: "Example Inc."
|
||||||
|
LDAP_DOMAIN: "example.org"
|
||||||
|
LDAP_READONLY_USER: "false"
|
||||||
|
LDAP_READONLY_USER_USERNAME: "readonly"
|
||||||
|
LDAP_READONLY_USER_PASSWORD: "readonly"
|
||||||
|
LDAP_RFC2307BIS_SCHEMA: "false"
|
||||||
|
LDAP_BACKEND: "mdb"
|
||||||
|
LDAP_TLS: "true"
|
||||||
|
LDAP_TLS_ENFORCE: "false"
|
||||||
|
LDAP_TLS_VERIFY_CLIENT: "never"
|
||||||
|
LDAP_TLS_PROTOCOL_MIN: "3.0"
|
||||||
|
LDAP_TLS_CIPHER_SUITE: "NORMAL"
|
||||||
|
LDAP_TLS_REQCERT: "never"
|
||||||
|
CONTAINER_LOG_LEVEL: "4"
|
||||||
|
KEEP_EXISTING_CONFIG: "false"
|
||||||
|
LDAP_REMOVE_CONFIG_AFTER_SETUP: "true"
|
||||||
|
LDAP_SSL_HELPER_PREFIX: "ldap"
|
||||||
|
LDAP_ADMIN_PASSWORD: "ldapadmin"
|
||||||
|
LDAP_CONFIG_PASSWORD: "changeme"
|
||||||
|
|
||||||
|
replication:
|
||||||
|
enabled: false
|
||||||
|
# Enter the name of your cluster, defaults to "cluster.local"
|
||||||
|
clusterName: "cluster.local"
|
||||||
|
retry: 60
|
||||||
|
timeout: 1
|
||||||
|
interval: 00:00:00:10
|
||||||
|
starttls: "critical"
|
||||||
|
tls_reqcert: "never"
|
||||||
|
|
||||||
|
envFrom:
|
||||||
|
- configMapRef:
|
||||||
|
name: openldapconfig
|
||||||
|
|
||||||
|
# -- Used in conjunction with `controller.type: statefulset` to create individual disks for each instance.
|
||||||
|
volumeClaimTemplates:
|
||||||
|
data:
|
||||||
|
enabled: true
|
||||||
|
mountPath: "/var/lib/ldap"
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
size: "100Gi"
|
||||||
|
slapd:
|
||||||
|
enabled: true
|
||||||
|
mountPath: "/etc/ldap/slapd.d"
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
size: "100Gi"
|
||||||
Reference in New Issue
Block a user