mirror of
https://github.com/k8s-at-home/charts.git
synced 2025-02-09 05:06:07 +00:00
[nginx-php] feat: add new chart (#1457)
* [nginx-php] feat: add new chart * [nginx-php] fix: lint issues * [nginx-php] fix: lint trailing whitespace * [nginx-php] fix: remove tag and add @default for tag Co-authored-by: Nat Allan <nat@natallan.com>
This commit is contained in:
parent
5243f370f5
commit
471101b5b5
26
charts/stable/nginx-php/.helmignore
Normal file
26
charts/stable/nginx-php/.helmignore
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
# 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
|
||||||
|
# helm-docs templates
|
||||||
|
*.gotmpl
|
26
charts/stable/nginx-php/Chart.yaml
Normal file
26
charts/stable/nginx-php/Chart.yaml
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
appVersion: 2.4.0
|
||||||
|
description: Nginx and PHP FPM for running PHP applications
|
||||||
|
name: nginx-php
|
||||||
|
version: 1.0.0
|
||||||
|
kubeVersion: ">=1.16.0-0"
|
||||||
|
keywords:
|
||||||
|
- nginx-php
|
||||||
|
- nginx
|
||||||
|
- php
|
||||||
|
- php-fpm
|
||||||
|
home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/nginx-php
|
||||||
|
icon: https://www.nginx.com/wp-content/uploads/2020/05/NGINX-product-icon.svg
|
||||||
|
sources:
|
||||||
|
- https://github.com/TrafeX/docker-php-nginx
|
||||||
|
maintainers:
|
||||||
|
- name: Truxnell
|
||||||
|
email: nat@natallan.com
|
||||||
|
dependencies:
|
||||||
|
- name: common
|
||||||
|
repository: https://library-charts.k8s-at-home.com
|
||||||
|
version: 4.3.0
|
||||||
|
annotations:
|
||||||
|
artifacthub.io/changes: |
|
||||||
|
- kind: added
|
||||||
|
description: Initial version
|
111
charts/stable/nginx-php/README.md
Normal file
111
charts/stable/nginx-php/README.md
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
# nginx-php
|
||||||
|
|
||||||
|
![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: 1.0.0](https://img.shields.io/badge/AppVersion-1.0.0-informational?style=flat-square)
|
||||||
|
|
||||||
|
nginx-php helm package
|
||||||
|
|
||||||
|
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)**
|
||||||
|
|
||||||
|
## Source Code
|
||||||
|
|
||||||
|
* <https://github.com/nginx-php/nginx-php-docker>
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
Kubernetes: `>=1.16.0-0`
|
||||||
|
|
||||||
|
## Dependencies
|
||||||
|
|
||||||
|
| Repository | Name | Version |
|
||||||
|
|------------|------|---------|
|
||||||
|
| https://library-charts.k8s-at-home.com | common | 4.0.0 |
|
||||||
|
|
||||||
|
## TL;DR
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm repo add k8s-at-home https://k8s-at-home.com/charts/
|
||||||
|
helm repo update
|
||||||
|
helm install nginx-php k8s-at-home/nginx-php
|
||||||
|
```
|
||||||
|
|
||||||
|
## Installing the Chart
|
||||||
|
|
||||||
|
To install the chart with the release name `nginx-php`
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm install nginx-php k8s-at-home/nginx-php
|
||||||
|
```
|
||||||
|
|
||||||
|
## Uninstalling the Chart
|
||||||
|
|
||||||
|
To uninstall the `nginx-php` deployment
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm uninstall nginx-php
|
||||||
|
```
|
||||||
|
|
||||||
|
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
Read through the [values.yaml](./values.yaml) file. It has several commented out suggested values.
|
||||||
|
Other values may be used from the [values.yaml](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
|
||||||
|
|
||||||
|
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm install nginx-php \
|
||||||
|
--set env.TZ="America/New York" \
|
||||||
|
k8s-at-home/nginx-php
|
||||||
|
```
|
||||||
|
|
||||||
|
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm install nginx-php k8s-at-home/nginx-php -f values.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
## Custom configuration
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
## Values
|
||||||
|
|
||||||
|
**Important**: When deploying an application Helm chart you can add more values from our common library chart [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common)
|
||||||
|
|
||||||
|
| Key | Type | Default | Description |
|
||||||
|
|-----|------|---------|-------------|
|
||||||
|
| env | object | See below | environment variables. See more environment variables in the [nginx-php documentation](https://nginx-php.org/docs). |
|
||||||
|
| env.TZ | string | `"UTC"` | Set the container timezone |
|
||||||
|
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||||
|
| image.repository | string | `"nginx-php/nginx-php"` | image repository |
|
||||||
|
| image.tag | string | `"1.0.0"` | image tag |
|
||||||
|
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
|
||||||
|
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
|
||||||
|
| service | object | See values.yaml | Configures service settings for the chart. |
|
||||||
|
|
||||||
|
## Changelog
|
||||||
|
|
||||||
|
### Version 1.0.0
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
|
||||||
|
- Initial version
|
||||||
|
|
||||||
|
#### Changed
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
## Support
|
||||||
|
|
||||||
|
- See the [Docs](https://docs.k8s-at-home.com/our-helm-charts/getting-started/)
|
||||||
|
- Open an [issue](https://github.com/k8s-at-home/charts/issues/new/choose)
|
||||||
|
- Ask a [question](https://github.com/k8s-at-home/organization/discussions)
|
||||||
|
- Join our [Discord](https://discord.gg/sTMX7Vh) community
|
||||||
|
|
||||||
|
----------------------------------------------
|
||||||
|
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)
|
37
charts/stable/nginx-php/README_CONFIG.md.gotmpl
Normal file
37
charts/stable/nginx-php/README_CONFIG.md.gotmpl
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
{{- define "custom.custom.configuration.header" -}}
|
||||||
|
## Custom configuration
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- define "custom.custom.configuration" -}}
|
||||||
|
{{ template "custom.custom.configuration.header" . }}
|
||||||
|
|
||||||
|
There are keys in this charts yaml that allows the user to overwrite the following config files in the container. This allows for control over:
|
||||||
|
|
||||||
|
* Nginx configuration (/etc/nginx/conf.d/server.conf)
|
||||||
|
* PHP configuration (/etc/php8/conf.d/settings.ini)
|
||||||
|
* PHP-FPM configuration (/etc/php8/php-fpm.d/server.conf)
|
||||||
|
|
||||||
|
And can be found under `config:` in this charts [values.yaml](values.yaml)
|
||||||
|
```yaml
|
||||||
|
config:
|
||||||
|
nginx-server.conf: {}
|
||||||
|
|
||||||
|
php-settings.ini: {}
|
||||||
|
|
||||||
|
php-fpm-server.conf: {}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
This is achieved in the helm chart by creating a configmap, which is then mounted to the file locations in the pod.
|
||||||
|
|
||||||
|
An example of using this feature would be adding the following to your `values.yaml`
|
||||||
|
```yaml
|
||||||
|
config:
|
||||||
|
nginx-server.conf: |
|
||||||
|
[Date]
|
||||||
|
date.timezone="Australia/Melbourne"
|
||||||
|
```
|
||||||
|
|
||||||
|
The defauls for these files can be found at [https://github.com/TrafeX/docker-php-nginx/tree/master/config](https://github.com/TrafeX/docker-php-nginx/tree/master/config)
|
||||||
|
|
||||||
|
{{- end -}}
|
5
charts/stable/nginx-php/ci/ct-values.yaml
Normal file
5
charts/stable/nginx-php/ci/ct-values.yaml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
persistence:
|
||||||
|
data:
|
||||||
|
enabled: true
|
||||||
|
type: emptyDir
|
||||||
|
mountPath: /var/www/html
|
1
charts/stable/nginx-php/templates/NOTES.txt
Normal file
1
charts/stable/nginx-php/templates/NOTES.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
{{- include "common.notes.defaultNotes" . -}}
|
47
charts/stable/nginx-php/templates/common.yaml
Normal file
47
charts/stable/nginx-php/templates/common.yaml
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
{{/* Make sure all variables are set properly */}}
|
||||||
|
{{- include "common.values.setup" . }}
|
||||||
|
|
||||||
|
{{/* Append the configMap volume to the volumes */}}
|
||||||
|
{{- define "nginx-php.settingsVolume-server.conf" -}}
|
||||||
|
enabled: "true"
|
||||||
|
mountPath: "/etc/nginx/conf.d/server.conf"
|
||||||
|
subPath: "nginx-server.conf"
|
||||||
|
type: "custom"
|
||||||
|
volumeSpec:
|
||||||
|
configMap:
|
||||||
|
name: {{ include "common.names.fullname" . }}-settings
|
||||||
|
{{- end -}}
|
||||||
|
{{- if (index .Values.config "nginx-server.conf") -}}
|
||||||
|
{{- $_ := set .Values.persistence "nginx-php-server-conf" (include "nginx-php.settingsVolume-server.conf" . | fromYaml) -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/* Append the configMap volume to the volumes */}}
|
||||||
|
{{- define "nginx-php.settingsVolume-php-settings.ini" -}}
|
||||||
|
enabled: "true"
|
||||||
|
mountPath: "/etc/php8/conf.d/settings.ini"
|
||||||
|
subPath: "php-settings.ini"
|
||||||
|
type: "custom"
|
||||||
|
volumeSpec:
|
||||||
|
configMap:
|
||||||
|
name: {{ include "common.names.fullname" . }}-settings
|
||||||
|
{{- end -}}
|
||||||
|
{{- if (index .Values.config "php-settings.ini") -}}
|
||||||
|
{{- $_ := set .Values.persistence "nginx-php-settings-ini" (include "nginx-php.settingsVolume-php-settings.ini" . | fromYaml) -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/* Append the configMap volume to the volumes */}}
|
||||||
|
{{- define "nginx-php.settingsVolume-php-fpm-server.conf" -}}
|
||||||
|
enabled: "true"
|
||||||
|
mountPath: "/etc/php8/php-fpm.d/server.conf"
|
||||||
|
subPath: "php-fpm-server.conf"
|
||||||
|
type: "custom"
|
||||||
|
volumeSpec:
|
||||||
|
configMap:
|
||||||
|
name: {{ include "common.names.fullname" . }}-settings
|
||||||
|
{{- end -}}
|
||||||
|
{{- if (index .Values.config "php-fpm-server.conf") -}}
|
||||||
|
{{- $_ := set .Values.persistence "nginx-php-fpm-server-conf" (include "nginx-php.settingsVolume-php-fpm-server.conf" . | fromYaml) -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/* Render the templates */}}
|
||||||
|
{{ include "common.all" . }}
|
27
charts/stable/nginx-php/templates/configmap.yaml
Normal file
27
charts/stable/nginx-php/templates/configmap.yaml
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
{{- if .Values.config -}}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: {{ template "common.names.fullname" . }}-settings
|
||||||
|
labels:
|
||||||
|
{{- include "common.labels" . | nindent 4 }}
|
||||||
|
data:
|
||||||
|
{{- with (index .Values.config "nginx-server.conf") -}}
|
||||||
|
{{- if . }}
|
||||||
|
nginx-server.conf: |
|
||||||
|
{{- . | nindent 4 -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- with (index .Values.config "php-settings.ini") -}}
|
||||||
|
{{- if . }}
|
||||||
|
php-settings.ini: |
|
||||||
|
{{- . | nindent 4 -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- with (index .Values.config "php-fpm-server.conf") -}}
|
||||||
|
{{- if . }}
|
||||||
|
php-fpm-server.conf: |
|
||||||
|
{{- . | nindent 4 -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
51
charts/stable/nginx-php/values.yaml
Normal file
51
charts/stable/nginx-php/values.yaml
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
#
|
||||||
|
# IMPORTANT NOTE
|
||||||
|
#
|
||||||
|
# This chart inherits from our common library chart. You can check the default values/options here:
|
||||||
|
# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml
|
||||||
|
#
|
||||||
|
|
||||||
|
image:
|
||||||
|
# -- image repository
|
||||||
|
repository: trafex/php-nginx
|
||||||
|
# -- image tag
|
||||||
|
# @default -- chart.appVersion
|
||||||
|
tag:
|
||||||
|
# -- image pull policy
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
|
# -- environment variables. See more environment variables in the [nginx-php documentation](https://nginx-php.org/docs).
|
||||||
|
# @default -- See below
|
||||||
|
env:
|
||||||
|
# -- Set the container timezone
|
||||||
|
TZ: UTC
|
||||||
|
|
||||||
|
# -- Configures service settings for the chart.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
ports:
|
||||||
|
http:
|
||||||
|
port: 8080
|
||||||
|
|
||||||
|
# -- Overwrites default config files for nginx or php/php-fpm if enabled.
|
||||||
|
# @default -- See https://github.com/TrafeX/docker-php-nginx/tree/master/config for defaults
|
||||||
|
config:
|
||||||
|
nginx-server.conf: {}
|
||||||
|
|
||||||
|
php-settings.ini: {}
|
||||||
|
|
||||||
|
php-fpm-server.conf: {}
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
# -- Enable and configure ingress settings for the chart under this key.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
main:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
# -- Configure persistence settings for the chart under this key.
|
||||||
|
# @default -- See values.yaml
|
||||||
|
persistence:
|
||||||
|
data:
|
||||||
|
enabled: false
|
||||||
|
mountPath: /var/www/html
|
Loading…
Reference in New Issue
Block a user