mirror of
https://github.com/k8s-at-home/charts.git
synced 2025-01-23 15:39:02 +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