Compare commits

..

3 Commits

Author SHA1 Message Date
ᗪєνιη ᗷυнʟ
64b0f9e85c [adguard-home] migrate to common (#741)
* feat: migrate adguard-home to common

* feat: migrate adguard-home to common

* feat: migrate adguard-home to common

* feat: migrate adguard-home to common

* feat: migrate adguard-home to common

* feat: migrate adguard-home to common

* feat: migrate adguard-home to common

* feat: migrate adguard-home to common

* feat: migrate adguard-home to common

* feat: migrate adguard-home to common

* feat: migrate adguard-home to common

* feat: migrate adguard-home to common

* feat: migrate adguard-home to common

* feat: migrate adguard-home to common

* feat: migrate adguard-home to common

* feat: migrate adguard-home to common

* feat: migrate adguard-home to common
2021-03-31 22:27:05 -04:00
ᗪєνιη ᗷυнʟ
1f6a7848f7 [stash] new chart (#740)
* feat: stash app

* feat: stash app

* feat: stash app

* feat: stash app

* feat: stash app

* feat: stash app
2021-03-31 13:39:48 -04:00
Vegetto
9992a5d4cc Add CHART_TYPE to tasks (#737)
Co-authored-by: ᗪєνιη ᗷυнʟ <onedr0p@users.noreply.github.com>
2021-03-30 06:51:04 -04:00
31 changed files with 752 additions and 1095 deletions

View File

@@ -7,18 +7,18 @@ tasks:
desc: create new chart
cmds:
- git checkout -b add-chart-{{.CHART}}
- cp -r {{.GIT_ROOT}}/templates/chart {{.GIT_ROOT}}/charts/{{.CHART}}
- ./.bin/go-replace -s '${CHARTNAME}' -r "{{.CHART}}" --path={{.GIT_ROOT}}/charts/{{.CHART}} --path-pattern='*.*'
- cp -r {{.GIT_ROOT}}/templates/chart "{{.GIT_ROOT}}/charts/{{.CHART_TYPE}}/{{.CHART}}"
- ./.bin/go-replace -s '${CHARTNAME}' -r "{{.CHART}}" --path="{{.GIT_ROOT}}/charts/{{.CHART_TYPE}}/{{.CHART}}" --path-pattern='*.*'
- task: dependency
- echo "Congratulations, charts/{{.CHART}} successfully generated, you can now edit chart informations ( Chart.yaml and values.yaml )"
- echo "Congratulations, charts/{{.CHART_TYPE}}/{{.CHART}} successfully generated, you can now edit chart informations ( Chart.yaml and values.yaml )"
status:
- test -d {{.GIT_ROOT}}/charts/{{.CHART}}
- test -d "{{.GIT_ROOT}}/charts/{{.CHART_TYPE}}/{{.CHART}}"
deps:
- check-chart
silent: true
dependency:
dir: "{{.GIT_ROOT}}/charts/{{.CHART}}"
dir: "{{.GIT_ROOT}}/charts/{{.CHART_TYPE}}/{{.CHART}}"
cmds:
- test -d Chart.lock && rm Chart.lock || exit 0
- test -d tmpcharts && rm -rf tmpcharts || exit 0
@@ -27,7 +27,7 @@ tasks:
lint:
desc: lint your chart code
dir: "{{.GIT_ROOT}}/charts/{{.CHART}}"
dir: "{{.GIT_ROOT}}/charts/{{.CHART_TYPE}}/{{.CHART}}"
cmds:
- helm lint
deps:
@@ -37,7 +37,7 @@ tasks:
ct-lint:
desc: run `ct lint` on your chart code
cmds:
- docker run --rm -it --user $(id -u):$(id -g) -e "HELM_CONFIG_HOME=/tmp/helm" -e "HELM_CACHE_HOME=/tmp/helm" -v {{.GIT_ROOT}}:/ci -w /ci quay.io/helmpack/chart-testing:latest ct lint --charts charts/{{.CHART}} --config /ci/.github/ct-lint.yaml
- docker run --rm -it --user $(id -u):$(id -g) -e "HELM_CONFIG_HOME=/tmp/helm" -e "HELM_CACHE_HOME=/tmp/helm" -v {{.GIT_ROOT}}:/ci -w /ci quay.io/helmpack/chart-testing:latest ct lint --charts "charts/{{.CHART_TYPE}}/{{.CHART}}" --config /ci/.github/ct-lint.yaml
deps:
- check-chart
- lint
@@ -46,12 +46,13 @@ tasks:
desc: generate helm-docs
dir: "{{.GIT_ROOT}}/hack"
cmds:
- ./gen-helm-docs.sh "{{.CHART}}"
- ./gen-helm-docs.sh "{{.CHART_TYPE}}" "{{.CHART}}"
deps:
- check-chart
# Checks Parameters
check-chart:
cmds:
- test ! -z "{{.CHART_TYPE}}" || (echo "Please define CHART_TYPE parameter"; exit 1)
- test ! -z "{{.CHART}}" || (echo "Please define CHART parameter"; exit 1)
silent: true

View File

@@ -22,3 +22,5 @@
.vscode/
# OWNERS file for Kubernetes
OWNERS
# helm-docs templates
*.gotmpl

View File

@@ -1,15 +1,21 @@
apiVersion: v2
appVersion: v0.102.0
appVersion: v0.105.2
description: DNS proxy as ad-blocker for local network
name: adguard-home
version: 2.2.3
version: 3.0.0
kubeVersion: ">=1.16.0-0"
keywords:
- adguard-home
- adguard
- dns
- adguard-home
- adblock
- dns
home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/adguard-home
icon: https://avatars3.githubusercontent.com/u/8361145?s=200&v=4?sanitize=true
sources:
- https://github.com/AdguardTeam/AdGuardHome
- https://github.com/AdguardTeam/AdGuardHome
maintainers:
- name: billimek
- name: billimek
email: jeff@billimek.com
dependencies:
- name: common
repository: https://library-charts.k8s-at-home.com
version: 2.1.0

View File

@@ -1,6 +1,6 @@
# adguard-home
![Version: 2.2.2](https://img.shields.io/badge/Version-2.2.2-informational?style=flat-square) ![AppVersion: v0.102.0](https://img.shields.io/badge/AppVersion-v0.102.0-informational?style=flat-square)
![Version: 3.0.0](https://img.shields.io/badge/Version-3.0.0-informational?style=flat-square) ![AppVersion: v0.105.2](https://img.shields.io/badge/AppVersion-v0.105.2-informational?style=flat-square)
DNS proxy as ad-blocker for local network
@@ -12,10 +12,13 @@ DNS proxy as ad-blocker for local network
## Requirements
Kubernetes: `>=1.16.0-0`
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
| https://library-charts.k8s-at-home.com | common | 2.1.0 |
## TL;DR
@@ -72,165 +75,35 @@ N/A
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| affinity | object | `{}` | |
| configAsCode.config.bind_host | string | `"0.0.0.0"` | |
| configAsCode.config.bind_port | int | `3000` | |
| configAsCode.config.clients | list | `[]` | |
| configAsCode.config.debug_pprof | bool | `false` | |
| configAsCode.config.dhcp.enabled | bool | `false` | |
| configAsCode.config.dhcp.gateway_ip | string | `""` | |
| configAsCode.config.dhcp.icmp_timeout_msec | int | `1000` | |
| configAsCode.config.dhcp.interface_name | string | `""` | |
| configAsCode.config.dhcp.lease_duration | int | `86400` | |
| configAsCode.config.dhcp.range_end | string | `""` | |
| configAsCode.config.dhcp.range_start | string | `""` | |
| configAsCode.config.dhcp.subnet_mask | string | `""` | |
| configAsCode.config.dns.aaaa_disabled | bool | `false` | |
| configAsCode.config.dns.all_servers | bool | `false` | |
| configAsCode.config.dns.allowed_clients | list | `[]` | |
| configAsCode.config.dns.anonymize_client_ip | bool | `false` | |
| configAsCode.config.dns.bind_host | string | `"0.0.0.0"` | |
| configAsCode.config.dns.blocked_hosts | list | `[]` | |
| configAsCode.config.dns.blocked_response_ttl | int | `10` | |
| configAsCode.config.dns.blocked_services | list | `[]` | |
| configAsCode.config.dns.blocking_ipv4 | string | `""` | |
| configAsCode.config.dns.blocking_ipv6 | string | `""` | |
| configAsCode.config.dns.blocking_mode | string | `"default"` | |
| configAsCode.config.dns.bogus_nxdomain | list | `[]` | |
| configAsCode.config.dns.bootstrap_dns[0] | string | `"9.9.9.10"` | |
| configAsCode.config.dns.bootstrap_dns[1] | string | `"149.112.112.10"` | |
| configAsCode.config.dns.bootstrap_dns[2] | string | `"2620:fe::10"` | |
| configAsCode.config.dns.bootstrap_dns[3] | string | `"2620:fe::fe:10"` | |
| configAsCode.config.dns.cache_size | int | `4194304` | |
| configAsCode.config.dns.cache_time | int | `30` | |
| configAsCode.config.dns.cache_ttl_max | int | `0` | |
| configAsCode.config.dns.cache_ttl_min | int | `0` | |
| configAsCode.config.dns.disallowed_clients | list | `[]` | |
| configAsCode.config.dns.edns_client_subnet | bool | `false` | |
| configAsCode.config.dns.enable_dnssec | bool | `false` | |
| configAsCode.config.dns.fastest_addr | bool | `false` | |
| configAsCode.config.dns.filtering_enabled | bool | `true` | |
| configAsCode.config.dns.filters_update_interval | int | `24` | |
| configAsCode.config.dns.parental_block_host | string | `"family-block.dns.adguard.com"` | |
| configAsCode.config.dns.parental_cache_size | int | `1048576` | |
| configAsCode.config.dns.parental_enabled | bool | `false` | |
| configAsCode.config.dns.port | int | `53` | |
| configAsCode.config.dns.protection_enabled | bool | `true` | |
| configAsCode.config.dns.querylog_enabled | bool | `true` | |
| configAsCode.config.dns.querylog_interval | int | `90` | |
| configAsCode.config.dns.querylog_size_memory | int | `1000` | |
| configAsCode.config.dns.ratelimit | int | `0` | |
| configAsCode.config.dns.ratelimit_whitelist | list | `[]` | |
| configAsCode.config.dns.refuse_any | bool | `true` | |
| configAsCode.config.dns.rewrites | list | `[]` | |
| configAsCode.config.dns.safebrowsing_block_host | string | `"standard-block.dns.adguard.com"` | |
| configAsCode.config.dns.safebrowsing_cache_size | int | `1048576` | |
| configAsCode.config.dns.safebrowsing_enabled | bool | `false` | |
| configAsCode.config.dns.safesearch_cache_size | int | `1048576` | |
| configAsCode.config.dns.safesearch_enabled | bool | `false` | |
| configAsCode.config.dns.statistics_interval | int | `1` | |
| configAsCode.config.dns.upstream_dns[0] | string | `"https://dns10.quad9.net/dns-query"` | |
| configAsCode.config.filters[0].enabled | bool | `true` | |
| configAsCode.config.filters[0].id | int | `1` | |
| configAsCode.config.filters[0].name | string | `"AdGuard DNS filter"` | |
| configAsCode.config.filters[0].url | string | `"https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt"` | |
| configAsCode.config.filters[1].enabled | bool | `false` | |
| configAsCode.config.filters[1].id | int | `2` | |
| configAsCode.config.filters[1].name | string | `"AdAway"` | |
| configAsCode.config.filters[1].url | string | `"https://adaway.org/hosts.txt"` | |
| configAsCode.config.filters[2].enabled | bool | `false` | |
| configAsCode.config.filters[2].id | int | `4` | |
| configAsCode.config.filters[2].name | string | `"MalwareDomainList.com Hosts List"` | |
| configAsCode.config.filters[2].url | string | `"https://www.malwaredomainlist.com/hostslist/hosts.txt"` | |
| configAsCode.config.http_proxy | string | `""` | |
| configAsCode.config.language | string | `"en"` | |
| configAsCode.config.log_file | string | `""` | |
| configAsCode.config.rlimit_nofile | int | `0` | |
| configAsCode.config.schema_version | int | `6` | |
| configAsCode.config.tls.allow_unencrypted_doh | bool | `false` | |
| configAsCode.config.tls.certificate_chain | string | `""` | |
| configAsCode.config.tls.certificate_path | string | `""` | |
| configAsCode.config.tls.enabled | bool | `false` | |
| configAsCode.config.tls.force_https | bool | `false` | |
| configAsCode.config.tls.port_dns_over_tls | int | `853` | |
| configAsCode.config.tls.port_https | int | `443` | |
| configAsCode.config.tls.private_key | string | `""` | |
| configAsCode.config.tls.private_key_path | string | `""` | |
| configAsCode.config.tls.server_name | string | `""` | |
| configAsCode.config.tls.strict_sni_check | bool | `false` | |
| configAsCode.config.user_rules | list | `[]` | |
| configAsCode.config.users | list | `[]` | |
| configAsCode.config.verbose | bool | `false` | |
| configAsCode.config.web_session_ttl | int | `720` | |
| configAsCode.config.whitelist_filters | list | `[]` | |
| configAsCode.enabled | bool | `false` | |
| configAsCode.image.pullPolicy | string | `"Always"` | |
| configAsCode.image.repository | string | `"busybox"` | |
| configAsCode.image.tag | string | `"latest"` | |
| configAsCode.resources | object | `{}` | |
| fullnameOverride | string | `""` | |
| args[0] | string | `"--config"` | |
| args[1] | string | `"/opt/adguardhome/conf/AdGuardHome.yaml"` | |
| args[2] | string | `"--no-check-update"` | |
| config | string | `"bind_host: 0.0.0.0\nbind_port: 3000\nbeta_bind_port: 0\nusers: []\nhttp_proxy: \"\"\nlanguage: en\nrlimit_nofile: 0\ndebug_pprof: false\nweb_session_ttl: 720\ndns:\n bind_host: 0.0.0.0\n port: 53\n statistics_interval: 1\n querylog_enabled: true\n querylog_file_enabled: true\n querylog_interval: 90\n querylog_size_memory: 1000\n anonymize_client_ip: false\n protection_enabled: true\n blocking_mode: default\n blocking_ipv4: \"\"\n blocking_ipv6: \"\"\n blocked_response_ttl: 10\n parental_block_host: family-block.dns.adguard.com\n safebrowsing_block_host: standard-block.dns.adguard.com\n ratelimit: 0\n ratelimit_whitelist: []\n refuse_any: true\n upstream_dns:\n - https://dns10.quad9.net/dns-query\n upstream_dns_file: \"\"\n bootstrap_dns:\n - 9.9.9.10\n - 149.112.112.10\n - 2620:fe::10\n - 2620:fe::fe:10\n all_servers: false\n fastest_addr: false\n allowed_clients: []\n disallowed_clients: []\n blocked_hosts: []\n cache_size: 4194304\n cache_ttl_min: 0\n cache_ttl_max: 0\n bogus_nxdomain: []\n aaaa_disabled: false\n enable_dnssec: false\n edns_client_subnet: false\n max_goroutines: 300\n ipset: []\n filtering_enabled: true\n filters_update_interval: 24\n parental_enabled: false\n safesearch_enabled: false\n safebrowsing_enabled: false\n safebrowsing_cache_size: 1048576\n safesearch_cache_size: 1048576\n parental_cache_size: 1048576\n cache_time: 30\n rewrites: []\n blocked_services: []\n customresolver: null\ntls:\n enabled: false\n server_name: \"\"\n force_https: false\n port_https: 443\n port_dns_over_tls: 853\n port_dns_over_quic: 784\n port_dnscrypt: 0\n dnscrypt_config_file: \"\"\n allow_unencrypted_doh: false\n strict_sni_check: false\n certificate_chain: \"\"\n private_key: \"\"\n certificate_path: \"\"\n private_key_path: \"\"\nfilters:\n- enabled: true\n url: https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt\n name: AdGuard DNS filter\n id: 1\n- enabled: false\n url: https://adaway.org/hosts.txt\n name: AdAway\n id: 2\n- enabled: false\n url: https://www.malwaredomainlist.com/hostslist/hosts.txt\n name: MalwareDomainList.com Hosts List\n id: 4\nwhitelist_filters: []\nuser_rules: []\ndhcp:\n enabled: false\n interface_name: \"\"\n dhcpv4:\n gateway_ip: \"\"\n subnet_mask: \"\"\n range_start: \"\"\n range_end: \"\"\n lease_duration: 86400\n icmp_timeout_msec: 1000\n options: []\n dhcpv6:\n range_start: \"\"\n lease_duration: 86400\n ra_slaac_only: false\n ra_allow_slaac: false\nclients: []\nlog_compress: false\nlog_localtime: false\nlog_max_backups: 0\nlog_max_size: 100\nlog_max_age: 3\nlog_file: \"\"\nverbose: false\nschema_version: 7\n"` | |
| env | object | `{}` | |
| image.pullPolicy | string | `"IfNotPresent"` | |
| image.repository | string | `"adguard/adguardhome"` | |
| ingress.annotations | object | `{}` | |
| ingress.enabled | bool | `false` | |
| ingress.hosts[0] | string | `"chart-example.local"` | |
| ingress.path | string | `"/"` | |
| ingress.tls | list | `[]` | |
| nameOverride | string | `""` | |
| nodeSelector | object | `{}` | |
| persistence.config.accessMode | string | `"ReadWriteOnce"` | |
| persistence.config.enabled | bool | `true` | |
| persistence.config.size | string | `"20Mi"` | |
| persistence.config.skipuninstall | bool | `false` | |
| persistence.work.accessMode | string | `"ReadWriteOnce"` | |
| persistence.work.enabled | bool | `true` | |
| persistence.work.size | string | `"10Gi"` | |
| persistence.work.skipuninstall | bool | `false` | |
| podAnnotations."prometheus.io/port" | string | `"api"` | |
| podAnnotations."prometheus.io/scrape" | string | `"true"` | |
| podSecurityContext | object | `{}` | |
| probes.liveness.enabled | bool | `true` | |
| probes.liveness.failureThreshold | int | `5` | |
| probes.liveness.initialDelaySeconds | int | `5` | |
| probes.liveness.periodSeconds | int | `10` | |
| probes.readiness.enabled | bool | `false` | |
| probes.readiness.failureThreshold | int | `5` | |
| probes.readiness.initialDelaySeconds | int | `5` | |
| probes.readiness.periodSeconds | int | `10` | |
| probes.startup.enabled | bool | `false` | |
| probes.startup.failureThreshold | int | `30` | |
| probes.startup.initialDelaySeconds | int | `5` | |
| probes.startup.periodSeconds | int | `10` | |
| resources | object | `{}` | |
| securityContext | object | `{}` | |
| service.annotations | object | `{}` | |
| service.type | string | `"ClusterIP"` | |
| serviceDHCP.annotations | object | `{}` | |
| serviceDHCP.enabled | bool | `false` | |
| serviceDHCP.loadBalancerIP | string | `""` | |
| serviceDHCP.type | string | `"NodePort"` | |
| serviceDNSOverTLS.annotations | object | `{}` | |
| serviceDNSOverTLS.enabled | bool | `false` | |
| serviceDNSOverTLS.loadBalancerIP | string | `""` | |
| serviceDNSOverTLS.type | string | `"NodePort"` | |
| serviceMonitor.additionalLabels | object | `{}` | |
| serviceMonitor.enabled | bool | `false` | |
| serviceTCP.annotations | object | `{}` | |
| serviceTCP.enabled | bool | `false` | |
| serviceTCP.loadBalancerIP | string | `""` | |
| serviceTCP.type | string | `"NodePort"` | |
| serviceUDP.annotations | object | `{}` | |
| serviceUDP.enabled | bool | `true` | |
| serviceUDP.loadBalancerIP | string | `""` | |
| serviceUDP.type | string | `"NodePort"` | |
| strategyType | string | `"Recreate"` | |
| timezone | string | `"UTC"` | |
| tlsSecretName | string | `""` | |
| tolerations | list | `[]` | |
| volumePermissions.image.pullPolicy | string | `"Always"` | |
| volumePermissions.image.repository | string | `"busybox"` | |
| volumePermissions.image.tag | string | `"latest"` | |
| volumePermissions.resources | object | `{}` | |
| image.tag | string | `"v0.105.2"` | |
| initContainers[0].command[0] | string | `"sh"` | |
| initContainers[0].command[1] | string | `"-c"` | |
| initContainers[0].command[2] | string | `"if [ ! -f /opt/adguardhome/conf/AdGuardHome.yaml ]; then\n mkdir -p /opt/adguardhome/conf\n cp /tmp/AdGuardHome.yaml /opt/adguardhome/conf/AdGuardHome.yaml\nfi\n"` | |
| initContainers[0].image | string | `"busybox"` | |
| initContainers[0].name | string | `"copy-configmap"` | |
| initContainers[0].securityContext.runAsUser | int | `0` | |
| initContainers[0].volumeMounts[0].mountPath | string | `"/tmp/AdGuardHome.yaml"` | |
| initContainers[0].volumeMounts[0].name | string | `"adguard-home-config"` | |
| initContainers[0].volumeMounts[0].subPath | string | `"AdGuardHome.yaml"` | |
| persistence.config.emptyDir.enabled | bool | `false` | |
| persistence.config.enabled | bool | `false` | |
| persistence.config.mountPath | string | `"/opt/adguardhome/conf"` | |
| persistence.data.emptyDir.enabled | bool | `false` | |
| persistence.data.enabled | bool | `false` | |
| persistence.data.mountPath | string | `"/opt/adguardhome/work"` | |
| prometheus.serviceMonitor.additionalLabels | object | `{}` | |
| prometheus.serviceMonitor.enabled | bool | `false` | |
| prometheus.serviceMonitor.interval | string | `"30s"` | |
| replicas | int | `1` | (int) Number of pods to load balance between |
| service.port.port | int | `3000` | |
| strategy.type | string | `"Recreate"` | |
## Changelog
@@ -238,7 +111,7 @@ All notable changes to this application Helm chart will be documented in this fi
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### [2.2.1]
### [3.0.0]
#### Added
@@ -246,13 +119,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
#### Changed
- Use helm-docs
- **BREAKING** Migrate Adguard Home to the common library, a lot of configuration has changed.
#### Removed
- N/A
[2.2.1]: #2.2.1
[3.0.0]: #3.0.0
## Support
@@ -262,4 +135,4 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
- 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)
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)

View File

@@ -9,7 +9,7 @@ All notable changes to this application Helm chart will be documented in this fi
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### [2.2.1]
### [3.0.0]
#### Added
@@ -17,11 +17,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
#### Changed
- Use helm-docs
- **BREAKING** Migrate Adguard Home to the common library, a lot of configuration has changed.
#### Removed
- N/A
[2.2.1]: #2.2.1
[3.0.0]: #3.0.0
{{- end -}}

View File

@@ -0,0 +1,11 @@
persistence:
config:
enabled: true
emptyDir:
enabled: true
mountPath: /opt/adguardhome/conf
data:
enabled: true
emptyDir:
enabled: true
mountPath: /opt/adguardhome/work

View File

@@ -1,15 +1 @@
1. Get the application URL by running these commands:
{{- if contains "NodePort" .Values.serviceUDP.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "adguard-home.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.serviceUDP.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get svc -w {{ include "adguard-home.fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "adguard-home.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo http://$SERVICE_IP:{{ .Values.serviceUDP.port }}
{{- else if contains "ClusterIP" .Values.serviceUDP.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "adguard-home.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl port-forward $POD_NAME 8080:3000
{{- end }}
{{- include "common.notes.defaultNotes" . -}}

View File

@@ -1,32 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "adguard-home.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 "adguard-home.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 "adguard-home.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}

View File

@@ -0,0 +1,31 @@
{{/* Make sure all variables are set properly */}}
{{- include "common.values.setup" . }}
{{/* Append the configMap to the additionalVolumes */}}
{{- define "adguard-home.configmap.volume" -}}
name: adguard-home-config
configMap:
name: {{ template "common.names.fullname" . }}-config
{{- end -}}
{{- $volume := include "adguard-home.configmap.volume" . | fromYaml -}}
{{- if $volume -}}
{{- $additionalVolumes := append .Values.additionalVolumes $volume }}
{{- $_ := set .Values "additionalVolumes" (deepCopy $additionalVolumes) -}}
{{- end -}}
{{/* Append the configMap volume to the additionalVolumeMounts */}}
{{- define "adguard-home.configmap.volumeMount" -}}
name: adguard-home-config
mountPath: /tmp/AdGuardHome.yaml
subPath: AdGuardHome.yaml
{{- end -}}
{{- $volumeMount := include "adguard-home.configmap.volumeMount" . | fromYaml -}}
{{- if $volumeMount -}}
{{- $additionalVolumeMounts := append .Values.additionalVolumeMounts $volumeMount }}
{{- $_ := set .Values "additionalVolumeMounts" (deepCopy $additionalVolumeMounts) -}}
{{- end -}}
{{/* Render the templates */}}
{{ include "common.all" . }}

View File

@@ -1,29 +0,0 @@
{{- if and .Values.persistence.config.enabled (not .Values.persistence.config.existingClaim) }}
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: {{ template "adguard-home.fullname" . }}-config
{{- if .Values.persistence.config.skipuninstall }}
annotations:
"helm.sh/resource-policy": keep
{{- end }}
labels:
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
helm.sh/chart: {{ include "adguard-home.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
accessModes:
- {{ .Values.persistence.config.accessMode | quote }}
resources:
requests:
storage: {{ .Values.persistence.config.size | quote }}
{{- if .Values.persistence.config.storageClass }}
{{- if (eq "-" .Values.persistence.config.storageClass) }}
storageClassName: ""
{{- else }}
storageClassName: "{{ .Values.persistence.config.storageClass }}"
{{- end }}
{{- end }}
{{- end -}}

View File

@@ -1,14 +1,9 @@
{{- if .Values.configAsCode.enabled }}
kind: ConfigMap
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "adguard-home.fullname" . }}
name: {{ template "common.names.fullname" . }}-config
labels:
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
helm.sh/chart: {{ include "adguard-home.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- include "common.labels" . | nindent 4 }}
data:
AdGuardHome.yaml: |
{{- toYaml .Values.configAsCode.config | nindent 4 }}
{{- end }}
{{ .Values.config | indent 4 }}

View File

@@ -1,208 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "adguard-home.fullname" . }}
labels:
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
helm.sh/chart: {{ include "adguard-home.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
replicas: 1
strategy:
type: {{ .Values.strategyType }}
revisionHistoryLimit: 3
selector:
matchLabels:
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
template:
metadata:
labels:
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
annotations:
{{- with .Values.podAnnotations }}
{{ toYaml . | nindent 8 }}
{{- end }}
{{- if .Values.configAsCode.enabled }}
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
{{- end }}
spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- if or .Values.configAsCode.enabled .Values.securityContext.runAsUser }}
initContainers:
{{- if .Values.configAsCode.enabled }}
- name: "config"
securityContext:
readOnlyRootFilesystem: true
image: "{{ .Values.configAsCode.image.repository }}:{{ .Values.configAsCode.image.tag }}"
imagePullPolicy: {{ .Values.configAsCode.image.pullPolicy }}
command: ["sh", "-c", "cat /configmap/AdGuardHome.yaml > /opt/adguardhome/conf/AdGuardHome.yaml"]
resources: {{- toYaml .Values.configAsCode.resources | nindent 12 }}
volumeMounts:
- name: configmap
mountPath: /configmap
- name: config
mountPath: /opt/adguardhome/conf
readOnly: false
{{- end }}
{{- if .Values.securityContext.runAsUser }}
- name: "volume-permissions"
securityContext:
readOnlyRootFilesystem: true
image: "{{ .Values.volumePermissions.image.repository }}:{{ .Values.volumePermissions.image.tag }}"
imagePullPolicy: {{ .Values.volumePermissions.image.pullPolicy }}
command: ["/bin/chown", "-R", "{{ .Values.securityContext.runAsUser }}:", "/opt/adguardhome/work", "/opt/adguardhome/conf"]
resources: {{- toYaml .Values.volumePermissions.resources | nindent 12 }}
volumeMounts:
- name: work
mountPath: /opt/adguardhome/work
{{- with .Values.persistence.work.subPath }}
subPath: {{ . }}
{{- end }}
readOnly: false
- name: config
mountPath: /opt/adguardhome/conf
{{- with .Values.persistence.config.subPath }}
subPath: {{ . }}
{{- end }}
readOnly: false
{{- end }}
{{- end }}
containers:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.repository }}:{{ default .Chart.AppVersion .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
env:
{{- if .Values.timezone }}
- name: TZ
value: {{ .Values.timezone | quote }}
{{- end }}
volumeMounts:
- name: work
mountPath: /opt/adguardhome/work
{{- with .Values.persistence.work.subPath }}
subPath: {{ . }}
{{- end }}
readOnly: false
- name: config
mountPath: /opt/adguardhome/conf
{{- with .Values.persistence.config.subPath }}
subPath: {{ . }}
{{- end }}
readOnly: false
{{- if .Values.tlsSecretName }}
- name: certs
mountPath: /certs
readOnly: false
{{- end }}
ports:
- name: http
{{- if .Values.configAsCode.enabled }}
containerPort: {{ .Values.configAsCode.config.bind_port | default 3000 }}
{{- else }}
containerPort: 3000
{{- end }}
- name: dns
{{- if .Values.configAsCode.enabled }}
containerPort: {{ .Values.configAsCode.config.dns.port | default 53 }}
{{- else }}
containerPort: 53
{{- end }}
protocol: TCP
- name: dns-udp
{{- if .Values.configAsCode.enabled }}
containerPort: {{ .Values.configAsCode.config.dns.port | default 53 }}
{{- else }}
containerPort: 53
{{- end }}
protocol: UDP
{{- if .Values.serviceDHCP.enabled }}
- name: dhcp-server-udp
containerPort: 67
protocol: UDP
- name: dhcp-client-tcp
containerPort: 68
protocol: TCP
- name: dhcp-client-udp
containerPort: 68
protocol: UDP
{{- end }}
{{- if .Values.serviceDNSOverTLS.enabled }}
- name: dns-over-tls
containerPort: 853
protocol: TCP
{{- end }}
{{- if .Values.probes.liveness.enabled }}
livenessProbe:
httpGet:
path: /login.html
port: http
scheme: HTTP
initialDelaySeconds: {{ .Values.probes.liveness.initialDelaySeconds }}
failureThreshold: {{ .Values.probes.liveness.failureThreshold }}
periodSeconds: {{ .Values.probes.liveness.periodSeconds }}
{{- end }}
{{- if .Values.probes.readiness.enabled }}
readinessProbe:
httpGet:
path: /login.html
port: http
scheme: HTTP
initialDelaySeconds: {{ .Values.probes.readiness.initialDelaySeconds }}
failureThreshold: {{ .Values.probes.readiness.failureThreshold }}
periodSeconds: {{ .Values.probes.readiness.periodSeconds }}
{{- end }}
{{- if .Values.probes.startup.enabled }}
startupProbe:
httpGet:
path: /login.html
port: http
scheme: HTTP
initialDelaySeconds: {{ .Values.probes.startup.initialDelaySeconds }}
failureThreshold: {{ .Values.probes.startup.failureThreshold }}
periodSeconds: {{ .Values.probes.startup.periodSeconds }}
{{- end }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
volumes:
{{- if .Values.tlsSecretName }}
- name: certs
secret:
secretName: {{ .Values.tlsSecretName }}
{{- end }}
{{- if .Values.configAsCode.enabled }}
- name: configmap
configMap:
name: {{ include "adguard-home.fullname" . }}
{{- end }}
- name: config
{{- if .Values.persistence.config.enabled }}
persistentVolumeClaim:
claimName: {{ if .Values.persistence.config.existingClaim }}{{ .Values.persistence.config.existingClaim }}{{- else }}{{ template "adguard-home.fullname" . }}-config{{- end }}
{{- else }}
emptyDir: {}
{{- end }}
- name: work
{{- if .Values.persistence.work.enabled }}
persistentVolumeClaim:
claimName: {{ if .Values.persistence.work.existingClaim }}{{ .Values.persistence.work.existingClaim }}{{- else }}{{ template "adguard-home.fullname" . }}-work{{- end }}
{{- else }}
emptyDir: {}
{{- end }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}

View File

@@ -1,38 +0,0 @@
{{- if .Values.ingress.enabled -}}
{{- $fullName := include "adguard-home.fullname" . -}}
{{- $ingressPath := .Values.ingress.path -}}
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: {{ $fullName }}
labels:
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
helm.sh/chart: {{ include "adguard-home.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- with .Values.ingress.annotations }}
annotations:
{{ toYaml . | indent 4 }}
{{- end }}
spec:
{{- if .Values.ingress.tls }}
tls:
{{- range .Values.ingress.tls }}
- hosts:
{{- range .hosts }}
- {{ . | quote }}
{{- end }}
secretName: {{ .secretName }}
{{- end }}
{{- end }}
rules:
{{- range .Values.ingress.hosts }}
- host: {{ . | quote }}
http:
paths:
- path: {{ $ingressPath }}
backend:
serviceName: {{ $fullName }}
servicePort: http
{{- end }}
{{- end }}

View File

@@ -1,45 +0,0 @@
{{- if .Values.serviceDHCP.enabled }}
apiVersion: v1
kind: Service
metadata:
name: {{ include "adguard-home.fullname" . }}-dhcp
labels:
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
helm.sh/chart: {{ include "adguard-home.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- if .Values.serviceDHCP.annotations }}
annotations:
{{ toYaml .Values.serviceDHCP.annotations | indent 4 }}
{{- end }}
spec:
type: {{ .Values.serviceDHCP.type }}
{{- if .Values.serviceDHCP.loadBalancerIP }}
loadBalancerIP: {{ .Values.serviceDHCP.loadBalancerIP }}
{{- end }}
{{- if .Values.serviceDHCP.loadBalancerSourceRanges }}
loadBalancerSourceRanges:
{{ toYaml .Values.serviceDHCP.loadBalancerSourceRanges | indent 4 }}
{{- end -}}
{{- if .Values.serviceDHCP.externalIPs }}
externalIPs:
{{ toYaml .Values.serviceDHCP.externalIPs | indent 4 }}
{{- end }}
externalTrafficPolicy: {{ .Values.serviceDHCP.externalTrafficPolicy }}
ports:
- port: 67
targetPort: dhcp-server-udp
protocol: UDP
name: dhcp-server-udp
- port: 68
targetPort: dhcp-client-tcp
protocol: TCP
name: dhcp-client-tcp
- port: 68
targetPort: dhcp-client-udp
protocol: UDP
name: dhcp-client-udp
selector:
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

View File

@@ -1,37 +0,0 @@
{{- if .Values.serviceDNSOverTLS.enabled }}
apiVersion: v1
kind: Service
metadata:
name: {{ include "adguard-home.fullname" . }}-dns-over-tls
labels:
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
helm.sh/chart: {{ include "adguard-home.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- if .Values.serviceDNSOverTLS.annotations }}
annotations:
{{ toYaml .Values.serviceDNSOverTLS.annotations | indent 4 }}
{{- end }}
spec:
type: {{ .Values.serviceDNSOverTLS.type }}
{{- if .Values.serviceDNSOverTLS.loadBalancerIP }}
loadBalancerIP: {{ .Values.serviceDNSOverTLS.loadBalancerIP }}
{{- end }}
{{- if .Values.serviceDNSOverTLS.loadBalancerSourceRanges }}
loadBalancerSourceRanges:
{{ toYaml .Values.serviceDNSOverTLS.loadBalancerSourceRanges | indent 4 }}
{{- end -}}
{{- if .Values.serviceDNSOverTLS.externalIPs }}
externalIPs:
{{ toYaml .Values.serviceDNSOverTLS.externalIPs | indent 4 }}
{{- end }}
externalTrafficPolicy: {{ .Values.serviceDNSOverTLS.externalTrafficPolicy }}
ports:
- port: 853
targetPort: dns-over-tls
protocol: TCP
name: dns-over-tls
selector:
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

View File

@@ -1,37 +0,0 @@
{{- if .Values.serviceTCP.enabled }}
apiVersion: v1
kind: Service
metadata:
name: {{ include "adguard-home.fullname" . }}-tcp
labels:
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
helm.sh/chart: {{ include "adguard-home.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- if .Values.serviceTCP.annotations }}
annotations:
{{ toYaml .Values.serviceTCP.annotations | indent 4 }}
{{- end }}
spec:
type: {{ .Values.serviceTCP.type }}
{{- if .Values.serviceTCP.loadBalancerIP }}
loadBalancerIP: {{ .Values.serviceTCP.loadBalancerIP }}
{{- end }}
{{- if .Values.serviceTCP.loadBalancerSourceRanges }}
loadBalancerSourceRanges:
{{ toYaml .Values.serviceTCP.loadBalancerSourceRanges | indent 4 }}
{{- end -}}
{{- if .Values.serviceTCP.externalIPs }}
externalIPs:
{{ toYaml .Values.serviceTCP.externalIPs | indent 4 }}
{{- end }}
externalTrafficPolicy: {{ .Values.serviceTCP.externalTrafficPolicy }}
ports:
- port: 53
targetPort: dns
protocol: TCP
name: dns
selector:
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

View File

@@ -1,37 +0,0 @@
{{- if .Values.serviceUDP.enabled }}
apiVersion: v1
kind: Service
metadata:
name: {{ include "adguard-home.fullname" . }}-udp
labels:
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
helm.sh/chart: {{ include "adguard-home.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- if .Values.serviceUDP.annotations }}
annotations:
{{ toYaml .Values.serviceUDP.annotations | indent 4 }}
{{- end }}
spec:
type: {{ .Values.serviceUDP.type }}
{{- if .Values.serviceUDP.loadBalancerIP }}
loadBalancerIP: {{ .Values.serviceUDP.loadBalancerIP }}
{{- end }}
{{- if .Values.serviceUDP.loadBalancerSourceRanges }}
loadBalancerSourceRanges:
{{ toYaml .Values.serviceUDP.loadBalancerSourceRanges | indent 4 }}
{{- end -}}
{{- if .Values.serviceUDP.externalIPs }}
externalIPs:
{{ toYaml .Values.serviceUDP.externalIPs | indent 4 }}
{{- end }}
externalTrafficPolicy: {{ .Values.serviceUDP.externalTrafficPolicy }}
ports:
- port: 53
targetPort: dns-udp
protocol: UDP
name: dns-udp
selector:
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

View File

@@ -1,35 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: {{ include "adguard-home.fullname" . }}
labels:
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
helm.sh/chart: {{ include "adguard-home.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- if .Values.service.annotations }}
annotations:
{{ toYaml .Values.service.annotations | indent 4 }}
{{- end }}
spec:
type: {{ .Values.service.type }}
{{- if .Values.service.loadBalancerIP }}
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
{{- end }}
{{- if .Values.service.loadBalancerSourceRanges }}
loadBalancerSourceRanges:
{{ toYaml .Values.service.loadBalancerSourceRanges | indent 4 }}
{{- end -}}
{{- if .Values.service.externalIPs }}
externalIPs:
{{ toYaml .Values.service.externalIPs | indent 4 }}
{{- end }}
externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy }}
ports:
- port: 3000
targetPort: http
protocol: TCP
name: http
selector:
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}

View File

@@ -1,23 +1,21 @@
{{- if .Values.serviceMonitor.enabled }}
{{- if .Values.prometheus.serviceMonitor.enabled }}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ include "adguard-home.fullname" . }}
name: {{ template "common.names.fullname" . }}
labels:
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
helm.sh/chart: {{ include "adguard-home.chart" . }}
{{- with .Values.serviceMonitor.additionalLabels }}
{{- include "common.labels" . | nindent 4 }}
{{- with .Values.prometheus.serviceMonitor.additionalLabels }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end }}
spec:
selector:
matchLabels:
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- include "common.labels.selectorLabels" . | nindent 6 }}
endpoints:
- port: http
interval: 30s
{{- with .Values.prometheus.serviceMonitor.interval }}
interval: {{ . }}
{{- end }}
path: /
{{- end }}

View File

@@ -1,29 +0,0 @@
{{- if and .Values.persistence.work.enabled (not .Values.persistence.work.existingClaim) }}
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: {{ template "adguard-home.fullname" . }}-work
{{- if .Values.persistence.work.skipuninstall }}
annotations:
"helm.sh/resource-policy": keep
{{- end }}
labels:
app.kubernetes.io/name: {{ include "adguard-home.name" . }}
helm.sh/chart: {{ include "adguard-home.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
accessModes:
- {{ .Values.persistence.work.accessMode | quote }}
resources:
requests:
storage: {{ .Values.persistence.work.size | quote }}
{{- if .Values.persistence.work.storageClass }}
{{- if (eq "-" .Values.persistence.work.storageClass) }}
storageClassName: ""
{{- else }}
storageClassName: "{{ .Values.persistence.work.storageClass }}"
{{- end }}
{{- end }}
{{- end -}}

View File

@@ -1,362 +1,223 @@
# upgrade strategy type (e.g. Recreate or RollingUpdate)
strategyType: Recreate
#
# 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
#
configAsCode:
enabled: false
resources: {}
# requests:
# memory: 128Mi
# cpu: 100m
image:
repository: busybox
tag: latest
pullPolicy: Always
# Copy the configmap to the AdGuardHome conf directory
# Do NOT overwrite when the file already exists
initContainers:
- name: copy-configmap
image: busybox
command:
- "sh"
- "-c"
- |
if [ ! -f /opt/adguardhome/conf/AdGuardHome.yaml ]; then
mkdir -p /opt/adguardhome/conf
cp /tmp/AdGuardHome.yaml /opt/adguardhome/conf/AdGuardHome.yaml
fi
volumeMounts:
- name: adguard-home-config
mountPath: /tmp/AdGuardHome.yaml
subPath: AdGuardHome.yaml
securityContext:
runAsUser: 0
image:
repository: adguard/adguardhome
tag: v0.105.2
pullPolicy: IfNotPresent
strategy:
type: Recreate
env: {}
# TZ:
args:
- "--config"
- "/opt/adguardhome/conf/AdGuardHome.yaml"
- "--no-check-update"
# -- (int) Number of pods to load balance between
replicas: 1
service:
port:
port: 3000
# additionalServices:
# - enabled: true
# nameSuffix: dns-tcp
# type: NodePort
# port:
# port: 53
# name: dns-tcp
# protocol: TCP
# targetPort: 53
# externalTrafficPolicy: Local
# - enabled: true
# nameSuffix: dns-udp
# type: NodePort
# port:
# port: 53
# name: dns-udp
# protocol: UDP
# targetPort: 53
# externalTrafficPolicy: Local
persistence:
config:
enabled: false
emptyDir:
enabled: false
mountPath: /opt/adguardhome/conf
data:
enabled: false
emptyDir:
enabled: false
mountPath: /opt/adguardhome/work
## Persistent Volume Storage Class
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner. (gp2 on AWS, standard on
## GKE, AWS & OpenStack)
# storageClass: "-"
# accessMode: ReadWriteOnce
# size: 1Gi
## Do not delete the pvc upon helm uninstall
# skipuninstall: false
# existingClaim: ""
prometheus:
serviceMonitor:
enabled: false
interval: 30s
additionalLabels: {}
# podAnnotations:
# prometheus.io/scrape: "true"
# prometheus.io/port: "api"
# -- Full list of options https://github.com/AdguardTeam/AdGuardHome/wiki/Configuration
# @default -- see URL to default config
config: |
bind_host: 0.0.0.0
bind_port: 3000
beta_bind_port: 0
users: []
http_proxy: ""
language: en
rlimit_nofile: 0
debug_pprof: false
web_session_ttl: 720
dns:
bind_host: 0.0.0.0
bind_port: 3000
users: []
# - name: admin
# password: $2y$05$mV4GSa5Dymk4Hjg3NCscBuCYSckCGfc2mbS57SNkBkBAfvqfOdFfm
http_proxy: ""
language: "en"
rlimit_nofile: 0
debug_pprof: false
web_session_ttl: 720
dns:
bind_host: 0.0.0.0
port: 53
statistics_interval: 1
querylog_enabled: true
querylog_interval: 90
querylog_size_memory: 1000
anonymize_client_ip: false
protection_enabled: true
blocking_mode: default
blocking_ipv4: ""
blocking_ipv6: ""
blocked_response_ttl: 10
parental_block_host: family-block.dns.adguard.com
safebrowsing_block_host: standard-block.dns.adguard.com
ratelimit: 0
ratelimit_whitelist: []
refuse_any: true
upstream_dns:
- https://dns10.quad9.net/dns-query
bootstrap_dns:
- 9.9.9.10
- 149.112.112.10
- 2620:fe::10
- 2620:fe::fe:10
all_servers: false
fastest_addr: false
allowed_clients: []
# - 10.0.0.1
# - 10.0.1.1/24
disallowed_clients: []
# - 10.0.1.1
# - 10.0.11.1/24
blocked_hosts: []
# - example.org
# - '*.example.org'
# - '||example.org^'
cache_size: 4194304
cache_ttl_min: 0
cache_ttl_max: 0
bogus_nxdomain: []
aaaa_disabled: false
enable_dnssec: false
edns_client_subnet: false
filtering_enabled: true
filters_update_interval: 24
parental_enabled: false
safesearch_enabled: false
safebrowsing_enabled: false
safebrowsing_cache_size: 1048576
safesearch_cache_size: 1048576
parental_cache_size: 1048576
cache_time: 30
rewrites: []
# - domain: example.org
# answer: 127.0.0.1
# - domain: '*.example.org'
# answer: 127.0.0.1
blocked_services: []
# - facebook
# - origin
# - twitter
# - snapchat
# - skype
# - whatsapp
# - instagram
# - youtube
# - netflix
# - twitch
# - discord
# - amazon
# - ebay
# - cloudflare
# - steam
# - epic_games
# - reddit
# - ok
# - vk
# - mail_ru
# - tiktok
tls:
enabled: false
server_name: ""
force_https: false
port_https: 443
port_dns_over_tls: 853
allow_unencrypted_doh: false
strict_sni_check: false
certificate_chain: ""
private_key: ""
certificate_path: ""
private_key_path: ""
filters:
- enabled: true
url: https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt
name: AdGuard DNS filter
id: 1
- enabled: false
url: https://adaway.org/hosts.txt
name: AdAway
id: 2
- enabled: false
url: https://www.malwaredomainlist.com/hostslist/hosts.txt
name: MalwareDomainList.com Hosts List
id: 4
whitelist_filters: []
# - enabled: true
# url: https://easylist-downloads.adblockplus.org/exceptionrules.txt
# name: Allow nonintrusive advertising
# id: 1595760241
user_rules: []
# - '||example.org^'
# - '@@||example.org^'
# - 127.0.0.1 example.org
# - '! Here goes a comment'
# - '# Also a comment'
dhcp:
enabled: false
interface_name: ""
port: 53
statistics_interval: 1
querylog_enabled: true
querylog_file_enabled: true
querylog_interval: 90
querylog_size_memory: 1000
anonymize_client_ip: false
protection_enabled: true
blocking_mode: default
blocking_ipv4: ""
blocking_ipv6: ""
blocked_response_ttl: 10
parental_block_host: family-block.dns.adguard.com
safebrowsing_block_host: standard-block.dns.adguard.com
ratelimit: 0
ratelimit_whitelist: []
refuse_any: true
upstream_dns:
- https://dns10.quad9.net/dns-query
upstream_dns_file: ""
bootstrap_dns:
- 9.9.9.10
- 149.112.112.10
- 2620:fe::10
- 2620:fe::fe:10
all_servers: false
fastest_addr: false
allowed_clients: []
disallowed_clients: []
blocked_hosts: []
cache_size: 4194304
cache_ttl_min: 0
cache_ttl_max: 0
bogus_nxdomain: []
aaaa_disabled: false
enable_dnssec: false
edns_client_subnet: false
max_goroutines: 300
ipset: []
filtering_enabled: true
filters_update_interval: 24
parental_enabled: false
safesearch_enabled: false
safebrowsing_enabled: false
safebrowsing_cache_size: 1048576
safesearch_cache_size: 1048576
parental_cache_size: 1048576
cache_time: 30
rewrites: []
blocked_services: []
customresolver: null
tls:
enabled: false
server_name: ""
force_https: false
port_https: 443
port_dns_over_tls: 853
port_dns_over_quic: 784
port_dnscrypt: 0
dnscrypt_config_file: ""
allow_unencrypted_doh: false
strict_sni_check: false
certificate_chain: ""
private_key: ""
certificate_path: ""
private_key_path: ""
filters:
- enabled: true
url: https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt
name: AdGuard DNS filter
id: 1
- enabled: false
url: https://adaway.org/hosts.txt
name: AdAway
id: 2
- enabled: false
url: https://www.malwaredomainlist.com/hostslist/hosts.txt
name: MalwareDomainList.com Hosts List
id: 4
whitelist_filters: []
user_rules: []
dhcp:
enabled: false
interface_name: ""
dhcpv4:
gateway_ip: ""
subnet_mask: ""
range_start: ""
range_end: ""
lease_duration: 86400
icmp_timeout_msec: 1000
clients: []
# - name: myuser
# tags:
# - user_admin
# ids:
# - 192.168.91.1
# use_global_settings: true
# filtering_enabled: false
# parental_enabled: false
# safesearch_enabled: false
# safebrowsing_enabled: false
# use_global_blocked_services: true
# blocked_services: []
# upstreams: []
log_file: ""
verbose: false
schema_version: 6
tlsSecretName: ""
# name of the secret that contains the tls cert and key.
# this secret will be mounted inside the adguard container /certs path. e.g. works with cert-manager
image:
repository: adguard/adguardhome
# Image tag is set via charts appVersion. If you want to override the tag, specify it here
# tag: vX.Y.Z
pullPolicy: IfNotPresent
nameOverride: ""
fullnameOverride: ""
podSecurityContext: {}
# fsGroup: 2000
securityContext: {}
# capabilities:
# drop:
# - ALL
# add:
# - NET_BIND_SERVICE
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
timezone: "UTC"
ingress:
enabled: false
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
path: /
hosts:
- chart-example.local
tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
# Probes configuration
probes:
liveness:
enabled: true
initialDelaySeconds: 5
failureThreshold: 5
periodSeconds: 10
readiness:
enabled: false
initialDelaySeconds: 5
failureThreshold: 5
periodSeconds: 10
startup:
enabled: false
initialDelaySeconds: 5
failureThreshold: 30
periodSeconds: 10
service:
type: ClusterIP
# externalTrafficPolicy: Local
# externalIPs: []
# loadBalancerIP: ""
# a fixed LoadBalancer IP
# loadBalancerSourceRanges: []
annotations: {}
# metallb.universe.tf/address-pool: network-services
# metallb.universe.tf/allow-shared-ip: adguard-home-svc
serviceTCP:
enabled: false
type: NodePort
# externalTrafficPolicy: Local
# externalIPs: []
loadBalancerIP: ""
# a fixed LoadBalancer IP
# loadBalancerSourceRanges: []
annotations: {}
# metallb.universe.tf/address-pool: network-services
# metallb.universe.tf/allow-shared-ip: adguard-home-svc
serviceUDP:
enabled: true
type: NodePort
# externalTrafficPolicy: Local
# externalIPs: []
loadBalancerIP: ""
# a fixed LoadBalancer IP
# loadBalancerSourceRanges: []
annotations: {}
# metallb.universe.tf/address-pool: network-services
# metallb.universe.tf/allow-shared-ip: adguard-home-svc
serviceDNSOverTLS:
enabled: false
## Enable if you use AdGuard as a DNS over TLS/HTTPS server
type: NodePort
# externalTrafficPolicy: Local
# externalIPs: []
loadBalancerIP: ""
# a fixed LoadBalancer IP
# loadBalancerSourceRanges: []
annotations: {}
# metallb.universe.tf/address-pool: network-services
# metallb.universe.tf/allow-shared-ip: adguard-home-svc
serviceDHCP:
enabled: false
## Enable if you use AdGuard as a DHCP Server
type: NodePort
# externalTrafficPolicy: Local
# externalIPs: []
loadBalancerIP: ""
# a fixed LoadBalancer IP
annotations: {}
# metallb.universe.tf/address-pool: network-services
# metallb.universe.tf/allow-shared-ip: adguard-home-svc
serviceMonitor:
enabled: false
additionalLabels: {}
## Pod Annotations
podAnnotations:
prometheus.io/scrape: "true"
prometheus.io/port: "api"
persistence:
config:
enabled: true
## adguard-home configuration data Persistent Volume Storage Class
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner. (gp2 on AWS, standard on
## GKE, AWS & OpenStack)
##
# storageClass: "-"
##
## If you want to reuse an existing claim, you can pass the name of the PVC using
## the existingClaim variable
# existingClaim: your-claim
# subPath: some-subpath
accessMode: ReadWriteOnce
size: 20Mi
## Do not delete the pvc upon helm uninstall
skipuninstall: false
work:
enabled: true
## adguard-home work volume configuration
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner. (gp2 on AWS, standard on
## GKE, AWS & OpenStack)
##
# storageClass: "-"
##
## If you want to reuse an existing claim, you can pass the name of the PVC using
## the existingClaim variable
# existingClaim: your-claim
# subPath: some-subpath
accessMode: ReadWriteOnce
size: 10Gi
## Do not delete the pvc upon helm uninstall
skipuninstall: false
volumePermissions:
image:
repository: busybox
tag: latest
pullPolicy: Always
resources: {}
# requests:
# memory: 128Mi
# cpu: 100m
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# memory: 500Mi
# requests:
# cpu: 50m
# memory: 275Mi
nodeSelector: {}
tolerations: []
affinity: {}
options: []
dhcpv6:
range_start: ""
lease_duration: 86400
ra_slaac_only: false
ra_allow_slaac: false
clients: []
log_compress: false
log_localtime: false
log_max_backups: 0
log_max_size: 100
log_max_age: 3
log_file: ""
verbose: false
schema_version: 7

View 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

View File

@@ -0,0 +1,19 @@
apiVersion: v2
appVersion: latest
description: An organizer for your porn, written in Go
name: stash
version: 1.0.0
kubeVersion: ">=1.16.0-0"
keywords:
- porn
home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/stash
sources:
- https://github.com/stashapp/stash
- https://hub.docker.com/r/stashapp/stash
maintainers:
- name: onedr0p
email: devin.kray@gmail.com
dependencies:
- name: common
repository: https://library-charts.k8s-at-home.com
version: 2.1.0

View File

@@ -0,0 +1,122 @@
# stash
![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square)
An organizer for your porn, written in Go
**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/stashapp/stash>
* <https://hub.docker.com/r/stashapp/stash>
## Requirements
Kubernetes: `>=1.16.0-0`
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
| https://library-charts.k8s-at-home.com | common | 2.1.0 |
## TL;DR
```console
helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm repo update
helm install stash k8s-at-home/stash
```
## Installing the Chart
To install the chart with the release name `stash`
```console
helm install stash k8s-at-home/stash
```
## Uninstalling the Chart
To uninstall the `stash` deployment
```console
helm uninstall stash
```
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 stash \
--set env.TZ="America/New York" \
k8s-at-home/stash
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install stash k8s-at-home/stash -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 | `{}` | |
| image.pullPolicy | string | `"IfNotPresent"` | |
| image.repository | string | `"stashapp/stash"` | |
| image.tag | string | `"latest"` | |
| ingress.enabled | bool | `false` | |
| persistence.config.emptyDir.enabled | bool | `false` | |
| persistence.config.enabled | bool | `false` | |
| persistence.media.emptyDir.enabled | bool | `false` | |
| persistence.media.enabled | bool | `false` | |
| persistence.media.mountPath | string | `"/media"` | |
| service.port.port | int | `9999` | |
| strategy.type | string | `"Recreate"` | |
## Changelog
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common#changelog).
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### [1.0.0]
#### Added
- N/A
#### Changed
- N/A
#### Removed
- N/A
[1.0.0]: #1.0.0
## 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)

View File

@@ -0,0 +1,145 @@
{{- define "custom.repository.organization" -}}
k8s-at-home
{{- end -}}
{{- define "custom.repository.url" -}}
https://github.com/k8s-at-home/charts
{{- end -}}
{{- define "custom.helm.url" -}}
https://k8s-at-home.com/charts/
{{- end -}}
{{- define "custom.helm.path" -}}
{{ template "custom.repository.organization" . }}/{{ template "chart.name" . }}
{{- end -}}
{{- define "custom.notes" -}}
**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)**
{{- end -}}
{{- define "custom.requirements" -}}
## Requirements
{{ template "chart.kubeVersionLine" . }}
{{- end -}}
{{- define "custom.dependencies" -}}
## Dependencies
{{ template "chart.requirementsTable" . }}
{{- end -}}
{{- define "custom.install.tldr" -}}
## TL;DR
```console
helm repo add {{ template "custom.repository.organization" . }} {{ template "custom.helm.url" . }}
helm repo update
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.install" -}}
## Installing the Chart
To install the chart with the release name `{{ template "chart.name" . }}`
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.uninstall" -}}
## Uninstalling the Chart
To uninstall the `{{ template "chart.name" . }}` deployment
```console
helm uninstall {{ template "chart.name" . }}
```
The command removes all the Kubernetes components associated with the chart **including persistent volumes** and deletes the release.
{{- end -}}
{{- define "custom.configuration.header" -}}
## Configuration
{{- end -}}
{{- define "custom.configuration.readValues" -}}
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).
{{- end -}}
{{- define "custom.configuration.example.set" -}}
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
```console
helm install {{ template "chart.name" . }} \
--set env.TZ="America/New York" \
{{ template "custom.helm.path" . }}
```
{{- end -}}
{{- define "custom.configuration.example.file" -}}
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
```console
helm install {{ template "chart.name" . }} {{ template "custom.helm.path" . }} -f values.yaml
```
{{- end -}}
{{- define "custom.valuesSection" -}}
## 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)
{{ template "chart.valuesTable" . }}
{{- end -}}
{{- define "custom.support" -}}
## 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
{{- end -}}
{{ template "chart.header" . }}
{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }}
{{ template "chart.description" . }}
{{ template "custom.notes" . }}
{{ template "chart.sourcesSection" . }}
{{ template "custom.requirements" . }}
{{ template "custom.dependencies" . }}
{{ template "custom.install.tldr" . }}
{{ template "custom.install" . }}
{{ template "custom.uninstall" . }}
{{ template "custom.configuration.header" . }}
{{ template "custom.configuration.readValues" . }}
{{ template "custom.configuration.example.set" . }}
{{ template "custom.configuration.example.file" . }}
{{ template "custom.custom.configuration" . }}
{{ template "custom.valuesSection" . }}
{{ template "custom.changelog" . }}
{{ template "custom.support" . }}
{{ template "helm-docs.versionFooter" . }}

View File

@@ -0,0 +1,27 @@
{{- define "custom.changelog.header" -}}
## Changelog
{{- end -}}
{{- define "custom.changelog" -}}
{{ template "custom.changelog.header" . }}
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click [here](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common#changelog).
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### [1.0.0]
#### Added
- N/A
#### Changed
- N/A
#### Removed
- N/A
[1.0.0]: #1.0.0
{{- end -}}

View File

@@ -0,0 +1,9 @@
{{- define "custom.custom.configuration.header" -}}
## Custom configuration
{{- end -}}
{{- define "custom.custom.configuration" -}}
{{ template "custom.custom.configuration.header" . }}
N/A
{{- end -}}

View File

@@ -0,0 +1,16 @@
env:
STASH_STASH: "/media"
STASH_GENERATED: "/root/.stash/generated"
STASH_METADATA: "/root/.stash/metadata"
STASH_CACHE: "/root/.stash/cache"
persistence:
config:
enabled: true
emptyDir:
enabled: true
mountPath: /root/.stash
media:
enabled: true
emptyDir:
enabled: true
mountPath: /media

View File

@@ -0,0 +1 @@
{{- include "common.notes.defaultNotes" . -}}

View File

@@ -0,0 +1 @@
{{ include "common.all" . }}

View File

@@ -0,0 +1,54 @@
#
# 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:
repository: stashapp/stash
pullPolicy: IfNotPresent
tag: latest@sha256:24dbd76071745be0c4e75f730aa7ac2b37cb2b2918eabf8559643196b3b7a64a
strategy:
type: Recreate
# # See more environment variables in the stash documentation
# https://raw.githubusercontent.com/stashapp/stash/master/docker/production/docker-compose.yml
env: {}
# STASH_STASH:
# STASH_GENERATED:
# STASH_METADATA:
# STASH_CACHE:
service:
port:
port: 9999
ingress:
enabled: false
persistence:
config:
enabled: false
emptyDir:
enabled: false
mountPath: /root/.stash
media:
enabled: false
emptyDir:
enabled: false
mountPath: /media
## Persistent Volume Storage Class
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner. (gp2 on AWS, standard on
## GKE, AWS & OpenStack)
# storageClass: "-"
# accessMode: ReadWriteOnce
# size: 1Gi
## Do not delete the pvc upon helm uninstall
# skipuninstall: false
# existingClaim: ""