-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add pihole chart taken from https://github.com/MoJo2600/pihole-kubern…
- Loading branch information
Showing
27 changed files
with
2,144 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# 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 | ||
|
||
# Manually added entries | ||
ci/ | ||
examples/ | ||
Makefile | ||
README.md.gotmpl |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
apiVersion: v1 | ||
description: Installs pihole in kubernetes | ||
home: https://github.com/MoJo2600/pihole-kubernetes/tree/master/charts/pihole | ||
name: pihole | ||
appVersion: 2022.01.1 | ||
version: 2.5.6 | ||
sources: | ||
- https://github.com/MoJo2600/pihole-kubernetes/tree/master/charts/pihole | ||
- https://pi-hole.net/ | ||
- https://github.com/pi-hole | ||
- https://github.com/pi-hole/docker-pi-hole | ||
icon: https://i2.wp.com/pi-hole.net/wp-content/uploads/2016/12/Vortex-R.png | ||
maintainers: | ||
- name: MoJo2600 | ||
email: [email protected] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
SHELL := /bin/bash | ||
.DEFAULT_GOAL := help | ||
|
||
.PHONY: help | ||
help: ## help target to show available commands with information | ||
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' | ||
|
||
.PHONY: generate-documentation | ||
generate-documentation: ## Generate README.md from template | ||
helm-docs |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,254 @@ | ||
{{ template "chart.header" . }} | ||
{{ template "chart.description" . }} | ||
|
||
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> | ||
[![All Contributors](https://img.shields.io/badge/all_contributors-27-blue.svg?style=flat-square)](#contributors-) | ||
<!-- ALL-CONTRIBUTORS-BADGE:END --> | ||
|
||
{{ template "chart.sourcesSection" . }} | ||
|
||
{{ template "chart.requirementsSection" . }} | ||
|
||
## Installation | ||
|
||
Jeff Geerling on YouTube made a video about the installation of this chart: | ||
|
||
[![Jeff Geerling on YouTube](https://img.youtube.com/vi/IafVCHkJbtI/0.jpg)](https://youtu.be/IafVCHkJbtI?t=2655) | ||
|
||
### Add Helm repository | ||
|
||
```shell | ||
helm repo add mojo2600 https://mojo2600.github.io/pihole-kubernetes/ | ||
helm repo update | ||
``` | ||
|
||
### Configure the chart | ||
|
||
The following items can be set via `--set` flag during installation or configured by editing the `values.yaml` directly. | ||
|
||
#### Configure the way how to expose pihole service: | ||
|
||
- **Ingress**: The ingress controller must be installed in the Kubernetes cluster. | ||
- **ClusterIP**: Exposes the service on a cluster-internal IP. Choosing this value makes the service only reachable from within the cluster. | ||
- **LoadBalancer**: Exposes the service externally using a cloud provider’s load balancer. | ||
|
||
## My settings in values.yaml | ||
|
||
```console | ||
dnsmasq: | ||
customDnsEntries: | ||
- address=/nas/192.168.178.10 | ||
|
||
customCnameEntries: | ||
- cname=foo.nas,nas | ||
|
||
persistentVolumeClaim: | ||
enabled: true | ||
|
||
serviceWeb: | ||
loadBalancerIP: 192.168.178.252 | ||
annotations: | ||
metallb.universe.tf/allow-shared-ip: pihole-svc | ||
type: LoadBalancer | ||
|
||
serviceDns: | ||
loadBalancerIP: 192.168.178.252 | ||
annotations: | ||
metallb.universe.tf/allow-shared-ip: pihole-svc | ||
type: LoadBalancer | ||
``` | ||
|
||
## Configuring Upstream DNS Resolvers | ||
|
||
By default, `pihole-kubernetes` will configure pod DNS automatically to use Google's `8.8.8.8` nameserver for upstream | ||
DNS resolution. You can configure this, or opt-out of pod DNS configuration completely. | ||
|
||
### Changing The Upstream DNS Resolver | ||
|
||
For example, to use Cloudflare's resolver: | ||
|
||
```yaml | ||
podDnsConfig: | ||
enabled: true | ||
policy: "None" | ||
nameservers: | ||
- 127.0.0.1 | ||
- 1.1.1.1 | ||
``` | ||
|
||
### Disabling Pod DNS Configuration | ||
|
||
If you have other DNS policy at play (for example, when running a service mesh), you may not want to have | ||
`pihole-kubernetes` control this behavior. In that case, you can disable DNS configuration on `pihole` pods: | ||
|
||
```yaml | ||
podDnsConfig: | ||
enabled: false | ||
``` | ||
|
||
## Upgrading | ||
|
||
### To 2.0.0 | ||
|
||
This version splits the DHCP service into its own resource and puts the configuration to `serviceDhcp`. | ||
|
||
**If you have not changed any configuration for `serviceDns`, you don’t need to do anything.** | ||
|
||
If you have changed your `serviceDns` configuration, **copy** your `serviceDns` section into a new `serviceDhcp` section. | ||
|
||
### To 1.8.22 | ||
|
||
To enhance compatibility for Traefik, we split the TCP and UDP service into Web and DNS. This means, if you have a dedicated configuration for the service, you have to | ||
update your `values.yaml` and add a new configuration for this new service. | ||
|
||
Before (In my case, with metallb): | ||
``` | ||
serviceTCP: | ||
loadBalancerIP: 192.168.178.252 | ||
annotations: | ||
metallb.universe.tf/allow-shared-ip: pihole-svc | ||
|
||
serviceUDP: | ||
loadBalancerIP: 192.168.178.252 | ||
annotations: | ||
metallb.universe.tf/allow-shared-ip: pihole-svc | ||
``` | ||
|
||
After: | ||
``` | ||
serviceWeb: | ||
loadBalancerIP: 192.168.178.252 | ||
annotations: | ||
metallb.universe.tf/allow-shared-ip: pihole-svc | ||
|
||
serviceDns: | ||
loadBalancerIP: 192.168.178.252 | ||
annotations: | ||
metallb.universe.tf/allow-shared-ip: pihole-svc | ||
``` | ||
|
||
Version 1.8.22 has switched from the deprecated ingress api `extensions/v1beta1` to the go forward version `networking.k8s.io/v1`. This means that your cluster must be running 1.19.x as this api is not available on older versions. If necessary to run on an older Kubernetes Version, it can be done by modifying the ingress.yaml and changing the api definition back. The backend definition would also change from: | ||
|
||
``` | ||
backend: | ||
service: | ||
name: \{\{ $serviceName \}\} | ||
port: | ||
name: http | ||
``` | ||
to: | ||
``` | ||
backend: | ||
serviceName: \{\{ $serviceName \}\} | ||
servicePort: http | ||
``` | ||
|
||
## Uninstallation | ||
|
||
To uninstall/delete the `my-release` deployment (NOTE: `--purge` is default behaviour in Helm 3+ and will error): | ||
|
||
```bash | ||
helm delete --purge my-release | ||
``` | ||
|
||
## Configuration | ||
|
||
The following table lists the configurable parameters of the pihole chart and the default values. | ||
|
||
{{ template "chart.valuesSection" . }} | ||
|
||
{{ template "chart.maintainersSection" . }} | ||
|
||
## Remarks | ||
|
||
### MetalLB 0.8.1+ | ||
|
||
pihole seems to work without issue in MetalLB 0.8.1+ | ||
|
||
### MetalLB 0.7.3 | ||
|
||
MetalLB 0.7.3 has a bug, where the service is not announced anymore, when the pod changes (e.g. update of a deployment). My workaround is to restart the `metallb-speaker-*` pods. | ||
|
||
## Credits | ||
|
||
[Pi-hole®](https://pi-hole.net/) | ||
|
||
## Contributing | ||
|
||
Feel free to contribute by making a [pull request](https://github.com/MoJo2600/pihole-kubernetes/pull/new/master). | ||
|
||
Please read [Contribution Guide](../../CONTRIBUTING.md) for more information on how you can contribute to this Chart. | ||
|
||
|
||
## Contributors ✨ | ||
|
||
Thanks goes to these wonderful people: | ||
|
||
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> | ||
<!-- prettier-ignore-start --> | ||
<!-- markdownlint-disable --> | ||
<table> | ||
<tr> | ||
<td align="center"><a href="http://www.mojo2k.de"><img src="https://avatars1.githubusercontent.com/u/2462817?v=4" width="100px;" alt=""/><br /><sub><b>Christian Erhardt</b></sub></a></td> | ||
<td align="center"><a href="https://billimek.com/"><img src="https://avatars0.githubusercontent.com/u/6393612?v=4" width="100px;" alt=""/><br /><sub><b>Jeff Billimek</b></sub></a></td> | ||
<td align="center"><a href="https://github.com/imle"><img src="https://avatars3.githubusercontent.com/u/4809109?v=4" width="100px;" alt=""/><br /><sub><b>Steven Imle</b></sub></a></td> | ||
<td align="center"><a href="https://github.com/jetersen"><img src="https://avatars2.githubusercontent.com/u/1661688?v=4" width="100px;" alt=""/><br /><sub><b>Joseph Petersen</b></sub></a></td> | ||
<td align="center"><a href="https://github.com/SiM22"><img src="https://avatars2.githubusercontent.com/u/5759618?v=4" width="100px;" alt=""/><br /><sub><b>Simon Garcia</b></sub></a></td> | ||
<td align="center"><a href="https://github.com/AndyG-0"><img src="https://avatars1.githubusercontent.com/u/29743443?v=4" width="100px;" alt=""/><br /><sub><b>Andy Gilbreath</b></sub></a></td> | ||
<td align="center"><a href="https://github.com/northerngit"><img src="https://avatars0.githubusercontent.com/u/4513272?v=4" width="100px;" alt=""/><br /><sub><b>James Wilson</b></sub></a></td> | ||
</tr> | ||
<tr> | ||
<td align="center"><a href="https://github.com/jskswamy"><img src="https://avatars2.githubusercontent.com/u/232449?v=4" width="100px;" alt=""/><br /><sub><b>Krishnaswamy Subramanian</b></sub></a></td> | ||
<td align="center"><a href="https://github.com/luqasn"><img src="https://avatars2.githubusercontent.com/u/274902?v=4" width="100px;" alt=""/><br /><sub><b>Lucas Romero</b></sub></a></td> | ||
<td align="center"><a href="https://github.com/konturn"><img src="https://avatars0.githubusercontent.com/u/35545508?v=4" width="100px;" alt=""/><br /><sub><b>konturn</b></sub></a></td> | ||
<td align="center"><a href="https://github.com/tdorsey"><img src="https://avatars3.githubusercontent.com/u/1218404?v=4" width="100px;" alt=""/><br /><sub><b>tdorsey</b></sub></a></td> | ||
<td align="center"><a href="https://github.com/alesz"><img src="https://avatars0.githubusercontent.com/u/12436980?v=4" width="100px;" alt=""/><br /><sub><b>Ales Zelenik</b></sub></a></td> | ||
<td align="center"><a href="https://github.com/dtourde"><img src="https://avatars1.githubusercontent.com/u/49169262?v=4" width="100px;" alt=""/><br /><sub><b>Damien TOURDE</b></sub></a></td> | ||
<td align="center"><a href="https://github.com/putz612"><img src="https://avatars3.githubusercontent.com/u/952758?v=4" width="100px;" alt=""/><br /><sub><b>Jason Sievert</b></sub></a></td> | ||
</tr> | ||
<tr> | ||
<td align="center"><a href="https://github.com/joshua-nord"><img src="https://avatars2.githubusercontent.com/u/1181300?v=4" width="100px;" alt=""/><br /><sub><b>joshua-nord</b></sub></a></td> | ||
<td align="center"><a href="https://maximilianbo.de/"><img src="https://avatars3.githubusercontent.com/u/9051309?v=4" width="100px;" alt=""/><br /><sub><b>Maximilian Bode</b></sub></a></td> | ||
<td align="center"><a href="https://github.com/raackley"><img src="https://avatars0.githubusercontent.com/u/1700688?v=4" width="100px;" alt=""/><br /><sub><b>raackley</b></sub></a></td> | ||
<td align="center"><a href="https://github.com/StoicPerlman"><img src="https://avatars1.githubusercontent.com/u/3152359?v=4" width="100px;" alt=""/><br /><sub><b>Sam Kleiner</b></sub></a></td> | ||
<td align="center"><a href="https://arpankapoor.com/"><img src="https://avatars3.githubusercontent.com/u/3677810?v=4" width="100px;" alt=""/><br /><sub><b>Arpan Kapoor</b></sub></a></td> | ||
<td align="center"><a href="https://github.com/chrodriguez"><img src="https://avatars1.githubusercontent.com/u/1460882?v=4" width="100px;" alt=""/><br /><sub><b>Christian Rodriguez</b></sub></a></td> | ||
<td align="center"><a href="http://dave-cahill.com/"><img src="https://avatars0.githubusercontent.com/u/361096?v=4" width="100px;" alt=""/><br /><sub><b>Dave Cahill</b></sub></a></td> | ||
</tr> | ||
<tr> | ||
<td align="center"><a href="https://github.com/golgoth31"><img src="https://avatars2.githubusercontent.com/u/5741421?v=4" width="100px;" alt=""/><br /><sub><b>golgoth31</b></sub></a></td> | ||
<td align="center"><a href="https://greg.jeanmart.me/"><img src="https://avatars3.githubusercontent.com/u/506784?v=4" width="100px;" alt=""/><br /><sub><b>Greg Jeanmart</b></sub></a></td> | ||
<td align="center"><a href="https://github.com/ballj"><img src="https://avatars1.githubusercontent.com/u/38097813?v=4" width="100px;" alt=""/><br /><sub><b>Joseph Ball</b></sub></a></td> | ||
<td align="center"><a href="http://www.oneko.org/"><img src="https://avatars2.githubusercontent.com/u/4233214?v=4" width="100px;" alt=""/><br /><sub><b>Karlos</b></sub></a></td> | ||
<td align="center"><a href="https://github.com/dza89"><img src="https://avatars0.githubusercontent.com/u/20373984?v=4" width="100px;" alt=""/><br /><sub><b>dza89</b></sub></a></td> | ||
<td align="center"><a href="https://github.com/mikewhitley"><img src="https://avatars0.githubusercontent.com/u/52802633?v=4" width="100px;" alt=""/><br /><sub><b>mikewhitley</b></sub></a></td> | ||
<td align="center"><a href="https://github.com/Vashiru"><img src="https://avatars2.githubusercontent.com/u/11370057?v=4" width="100px;" alt=""/><br /><sub><b>Vashiru</b></sub></a></td> | ||
</tr> | ||
<tr> | ||
<td align="center"><a href="https://github.com/sam-kleiner"><img src="https://avatars.githubusercontent.com/u/63059772?v=4" width="100px;" alt=""/><br /><sub><b>sam-kleiner</b></sub></a></td> | ||
<td align="center"><a href="https://www.linkedin.com/in/alexgorbatchev/"><img src="https://avatars.githubusercontent.com/u/65633?v=4" width="100px;" alt=""/><br /><sub><b>Alex Gorbatchev</b></sub></a></td> | ||
<td align="center"><a href="https://github.com/c-yco"><img src="https://avatars.githubusercontent.com/u/355591?v=4" width="100px;" alt=""/><br /><sub><b>Alexander Rabenstein</b></sub></a></td> | ||
<td align="center"><a href="http://tibbon.com/"><img src="https://avatars.githubusercontent.com/u/82880?v=4" width="100px;" alt=""/><br /><sub><b>David Fisher</b></sub></a></td> | ||
<td align="center"><a href="https://github.com/utkuozdemir"><img src="https://avatars.githubusercontent.com/u/1465819?v=4" width="100px;" alt=""/><br /><sub><b>Utku Özdemir</b></sub></a></td> | ||
<td align="center"><a href="https://mor.re/"><img src="https://avatars.githubusercontent.com/u/7683567?v=4" width="100px;" alt=""/><br /><sub><b>Morre Meyer</b></sub></a></td> | ||
<td align="center"><a href="https://github.com/johnsondnz"><img src="https://avatars.githubusercontent.com/u/7608966?v=4" width="100px;" alt=""/><br /><sub><b>Donald Johnson</b></sub></a></td> | ||
</tr> | ||
<tr> | ||
<td align="center"><a href="https://winston.milli.ng/"><img src="https://avatars.githubusercontent.com/u/6162814?v=4" width="100px;" alt=""/><br /><sub><b>Winston R. Milling</b></sub></a></td> | ||
<td align="center"><a href="https://github.com/larivierec"><img src="https://avatars.githubusercontent.com/u/3633214?v=4" width="100px;" alt=""/><br /><sub><b>Christopher Larivière</b></sub></a></td> | ||
<td align="center"><a href="https://sievenpiper.co/"><img src="https://avatars.githubusercontent.com/u/1131882?v=4" width="100px;" alt=""/><br /><sub><b>Justin Sievenpiper</b></sub></a></td> | ||
<td align="center"><a href="https://github.com/beastob"><img src="https://avatars.githubusercontent.com/u/76816315?v=4" width="100px;" alt=""/><br /><sub><b>beastob</b></sub></a></td> | ||
<td align="center"><a href="https://niftyside.io/"><img src="https://avatars.githubusercontent.com/u/653739?v=4" width="100px;" alt=""/><br /><sub><b>Daniel Mühlbachler-Pietrzykowski</b></sub></a></td> | ||
<td align="center"><a href="https://github.com/consideRatio"><img src="https://avatars.githubusercontent.com/u/3837114?v=4" width="100px;" alt=""/><br /><sub><b>Erik Sundell</b></sub></a></td> | ||
<td align="center"><a href="https://github.com/Ornias1993"><img src="https://avatars.githubusercontent.com/u/7613738?v=4" width="100px;" alt=""/><br /><sub><b>Kjeld Schouten-Lebbing</b></sub></a></td> | ||
</tr> | ||
</table> | ||
|
||
<!-- markdownlint-restore --> | ||
<!-- prettier-ignore-end --> | ||
|
||
<!-- ALL-CONTRIBUTORS-LIST:END --> | ||
|
||
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! | ||
|
||
{{ template "helm-docs.versionFooter" . }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
monitoring: | ||
enabled: true | ||
labels: | ||
testExtraLabel: fofa | ||
podMonitor: | ||
enabled: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
dnsmasq: | ||
customDnsEntries: | ||
- address=/nas/192.168.178.10 | ||
|
||
persistentVolumeClaim: | ||
enabled: true | ||
|
||
serviceTCP: | ||
loadBalancerIP: 192.168.178.253 | ||
annotations: | ||
metallb.universe.tf/address-pool: network-services | ||
metallb.universe.tf/allow-shared-ip: pihole-svc | ||
|
||
serviceUDP: | ||
loadBalancerIP: 192.168.178.253 | ||
annotations: | ||
metallb.universe.tf/address-pool: network-services | ||
metallb.universe.tf/allow-shared-ip: pihole-svc | ||
|
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
{{/* vim: set filetype=mustache: */}} | ||
{{/* | ||
Expand the name of the chart. | ||
*/}} | ||
{{- define "pihole.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). | ||
If release name contains chart name it will be used as a full name. | ||
*/}} | ||
{{- define "pihole.fullname" -}} | ||
{{- if .Values.fullnameOverride -}} | ||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} | ||
{{- else -}} | ||
{{- $name := default .Chart.Name .Values.nameOverride -}} | ||
{{- if contains $name .Release.Name -}} | ||
{{- .Release.Name | trunc 63 | trimSuffix "-" -}} | ||
{{- else -}} | ||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} | ||
{{- end -}} | ||
{{- end -}} | ||
{{- end -}} | ||
|
||
{{/* | ||
Create chart name and version as used by the chart label. | ||
*/}} | ||
{{- define "pihole.chart" -}} | ||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} | ||
{{- end -}} | ||
|
||
{{/* | ||
Default password secret name. | ||
*/}} | ||
{{- define "pihole.password-secret" -}} | ||
{{- printf "%s-%s" (include "pihole.fullname" .) "password" | replace "+" "_" | trunc 63 | trimSuffix "-" -}} | ||
{{- end -}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
{{ if .Values.adlists }} | ||
apiVersion: v1 | ||
kind: ConfigMap | ||
metadata: | ||
name: {{ template "pihole.fullname" . }}-adlists | ||
labels: | ||
app: {{ template "pihole.name" . }} | ||
chart: {{ template "pihole.chart" . }} | ||
release: {{ .Release.Name }} | ||
heritage: {{ .Release.Service }} | ||
data: | ||
adlists.list: | | ||
{{- range .Values.adlists }} | ||
{{ . }} | ||
{{- end }} | ||
{{ end }} |
Oops, something went wrong.