[blocky] - Add redis (#1561)

This commit is contained in:
Christopher Larivière 2022-05-12 10:37:55 -04:00 committed by GitHub
parent b1dca7b790
commit fba4a8d90d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 102 additions and 10 deletions

View File

@ -3,8 +3,8 @@ apiVersion: v2
appVersion: v0.18 appVersion: v0.18
description: DNS proxy as ad-blocker for local network description: DNS proxy as ad-blocker for local network
name: blocky name: blocky
version: 10.2.3 version: 10.3.0
kubeVersion: ">=1.16.0-0" kubeVersion: ">=1.19.0-0"
keywords: keywords:
- blocky - blocky
- adblock - adblock
@ -20,7 +20,15 @@ dependencies:
- name: common - name: common
repository: https://library-charts.k8s-at-home.com repository: https://library-charts.k8s-at-home.com
version: 4.4.2 version: 4.4.2
- name: redis
repository: https://charts.bitnami.com/bitnami
version: 16.9.1
condition: redis.enabled
annotations: annotations:
artifacthub.io/changes: |- artifacthub.io/changes: |-
- kind: changed - kind: changed
description: Upgraded `common` chart dependency to version 4.4.2 description: Upgraded `common` chart dependency to version 4.4.2
- kind: added
description: Added `redis` dependency for use with multiple blocky replicas
- kind: changed
description: Added chart tests, modified default values and added default ingress for blocky api

View File

@ -1,6 +1,6 @@
# blocky # blocky
![Version: 10.2.3](https://img.shields.io/badge/Version-10.2.3-informational?style=flat-square) ![AppVersion: v0.18](https://img.shields.io/badge/AppVersion-v0.18-informational?style=flat-square) ![Version: 10.3.0](https://img.shields.io/badge/Version-10.3.0-informational?style=flat-square) ![AppVersion: v0.18](https://img.shields.io/badge/AppVersion-v0.18-informational?style=flat-square)
DNS proxy as ad-blocker for local network DNS proxy as ad-blocker for local network
@ -12,12 +12,13 @@ DNS proxy as ad-blocker for local network
## Requirements ## Requirements
Kubernetes: `>=1.16.0-0` Kubernetes: `>=1.19.0-0`
## Dependencies ## Dependencies
| Repository | Name | Version | | Repository | Name | Version |
|------------|------|---------| |------------|------|---------|
| https://charts.bitnami.com/bitnami | redis | 16.9.1 |
| https://library-charts.k8s-at-home.com | common | 4.4.2 | | https://library-charts.k8s-at-home.com | common | 4.4.2 |
## TL;DR ## TL;DR
@ -67,6 +68,15 @@ helm install blocky k8s-at-home/blocky -f values.yaml
## Custom configuration ## Custom configuration
### [10.3.0]
### Added
- Add dependency for redis database as the application now supports it. [Redis - Blocky](https://0xerr0r.github.io/blocky/configuration/#redis)
- The redis dependency increases the minimum latest version of k8s to version 1.19+
### [10.2.3]
N/A N/A
## Values ## Values
@ -75,7 +85,7 @@ N/A
| Key | Type | Default | Description | | Key | Type | Default | Description |
|-----|------|---------|-------------| |-----|------|---------|-------------|
| config | string | see URL to default config | Full list of options https://github.com/0xERR0R/blocky/blob/v0.17/docs/config.yml | | config | string | see URL to default config | Full list of options https://github.com/0xERR0R/blocky/blob/v0.18/docs/config.yml |
| controller.replicas | int | `1` | (int) Number of pods to load balance between | | controller.replicas | int | `1` | (int) Number of pods to load balance between |
| controller.strategy | string | `"RollingUpdate"` | Set the controller upgrade strategy | | controller.strategy | string | `"RollingUpdate"` | Set the controller upgrade strategy |
| env | object | See below | environment variables. See [image docs](https://0xerr0r.github.io/blocky/installation/#run-with-docker) for more details. | | env | object | See below | environment variables. See [image docs](https://0xerr0r.github.io/blocky/installation/#run-with-docker) for more details. |
@ -83,6 +93,7 @@ N/A
| image.pullPolicy | string | `"IfNotPresent"` | image pull policy | | image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
| image.repository | string | `"ghcr.io/0xerr0r/blocky"` | image repository | | image.repository | string | `"ghcr.io/0xerr0r/blocky"` | image repository |
| image.tag | string | chart.appVersion | image tag | | image.tag | string | chart.appVersion | image tag |
| ingress | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
| metrics.enabled | bool | See values.yaml | Enable and configure a Prometheus serviceMonitor for the chart under this key. | | metrics.enabled | bool | See values.yaml | Enable and configure a Prometheus serviceMonitor for the chart under this key. |
| metrics.prometheusRule | object | See values.yaml | Enable and configure Prometheus Rules for the chart under this key. | | metrics.prometheusRule | object | See values.yaml | Enable and configure Prometheus Rules for the chart under this key. |
| metrics.prometheusRule.rules | list | See prometheusrules.yaml | Configure additionial rules for the chart under this key. | | metrics.prometheusRule.rules | list | See prometheusrules.yaml | Configure additionial rules for the chart under this key. |
@ -93,19 +104,21 @@ N/A
| metrics.serviceMonitor.scrapeTimeout | string | `"10s"` | Timeout after which the scrape is ended | | metrics.serviceMonitor.scrapeTimeout | string | `"10s"` | Timeout after which the scrape is ended |
| metrics.serviceMonitor.targetLabels | list | `[]` | TargetLabels transfers labels from the Kubernetes `Service`` onto the created metrics. | | metrics.serviceMonitor.targetLabels | list | `[]` | TargetLabels transfers labels from the Kubernetes `Service`` onto the created metrics. |
| persistence | object | See values.yaml | Configure persistence settings for the chart under this key. | | persistence | object | See values.yaml | Configure persistence settings for the chart under this key. |
| redis | object | See values.yaml | Enable and configure redis subchart under this key. Useful if you're running more than one replica of blocky dns. For more options see [redis chart documentation](https://github.com/bitnami/charts/tree/master/bitnami/redis) |
| service | object | See values.yaml | Configures service settings for the chart. | | service | object | See values.yaml | Configures service settings for the chart. |
## Changelog ## Changelog
### Version 10.2.3 ### Version 10.3.0
#### Added #### Added
N/A * Added `redis` dependency for use with multiple blocky replicas
#### Changed #### Changed
* Upgraded `common` chart dependency to version 4.4.2 * Upgraded `common` chart dependency to version 4.4.2
* Added chart tests, modified default values and added default ingress for blocky api
#### Fixed #### Fixed

View File

@ -5,5 +5,11 @@
{{- define "custom.custom.configuration" -}} {{- define "custom.custom.configuration" -}}
{{ template "custom.custom.configuration.header" . }} {{ template "custom.custom.configuration.header" . }}
N/A ### [10.3.0]
### Added
- Add dependency for redis database as the application now supports it. [Redis - Blocky](https://0xerr0r.github.io/blocky/configuration/#redis)
- The redis dependency increases the minimum latest version of k8s to version 1.19+
{{- end -}} {{- end -}}

View File

@ -0,0 +1,35 @@
config: |
upstream:
default:
- tcp-tls:1.1.1.1:853
- tcp-tls:8.8.8.8:853
bootstrapDns: tcp+udp:1.1.1.1
redis:
address: blocky-redis-headless:6379
database: 2
required: true
connectionAttempts: 10
connectionCooldown: 3s
service:
dns-udp:
enabled: true
type: NodePort
externalTrafficPolicy: Local
ports:
dns-udp:
enabled: true
port: 53
protocol: UDP
targetPort: 53
redis:
enabled: true
architecture: standalone
auth:
enabled: false
master:
persistence:
enabled: false
fullnameOverride: blocky-redis

View File

@ -30,6 +30,7 @@ env:
# @default -- See values.yaml # @default -- See values.yaml
service: service:
main: main:
enabled: false
ports: ports:
http: http:
port: 4000 port: 4000
@ -54,6 +55,19 @@ service:
protocol: UDP protocol: UDP
targetPort: 53 targetPort: 53
# -- Enable and configure ingress settings for the chart under this key.
# @default -- See values.yaml
ingress:
main:
enabled: false
hosts:
- host: blocky-api.local
paths:
- path: /
pathType: Prefix
service:
port: 4000
# -- Configure persistence settings for the chart under this key. # -- Configure persistence settings for the chart under this key.
# @default -- See values.yaml # @default -- See values.yaml
persistence: persistence:
@ -97,7 +111,16 @@ metrics:
# labels: # labels:
# severity: critical # severity: critical
# -- Full list of options https://github.com/0xERR0R/blocky/blob/v0.17/docs/config.yml # -- Enable and configure redis subchart under this key.
# Useful if you're running more than one replica of blocky dns.
# For more options see [redis chart documentation](https://github.com/bitnami/charts/tree/master/bitnami/redis)
# @default -- See values.yaml
redis:
enabled: false
# auth:
# enabled: false
# -- Full list of options https://github.com/0xERR0R/blocky/blob/v0.18/docs/config.yml
# @default -- see URL to default config # @default -- see URL to default config
config: | config: |
upstream: upstream:
@ -262,7 +285,7 @@ config: |
#certFile: server.crt #certFile: server.crt
#keyFile: server.key #keyFile: server.key
# optional: use this DNS server to resolve blacklist urls and upstream DNS servers. Useful if no DNS resolver is configured and blocky needs to resolve a host name. Format net:IP:port, net must be udp or tcp # optional: use this DNS server to resolve blacklist urls and upstream DNS servers. Useful if no DNS resolver is configured and blocky needs to resolve a host name. Format net:IP:port, net must be udp or tcp
bootstrapDns: tcp:1.1.1.1 bootstrapDns: tcp+udp:1.1.1.1
# optional: Drop all AAAA query if set to true. Default: false # optional: Drop all AAAA query if set to true. Default: false
disableIPv6: false disableIPv6: false
# optional: Log level (one from debug, info, warn, error). Default: info # optional: Log level (one from debug, info, warn, error). Default: info
@ -273,3 +296,10 @@ config: |
logTimestamp: true logTimestamp: true
# optional: obfuscate log output (replace all alphanumeric characters with *) for user sensitive data like request domains or responses to increase privacy. Default: false # optional: obfuscate log output (replace all alphanumeric characters with *) for user sensitive data like request domains or responses to increase privacy. Default: false
logPrivacy: false logPrivacy: false
#redis:
#address: blocky-redis-headless:6379
#password: passwd
#database: 2
#required: true
#connectionAttempts: 10
#connectionCooldown: 3s