[Common] Refactor Services (#212)

* Refactor All Services

- services (dict, including main service)
- additionalServices (list)

* Add Documentation and standardised questions.yaml layout for services

* Update all existing Apps to 2.0.0

* Fix whiteline error

* fix addons
This commit is contained in:
Kjeld Schouten-Lebbing 2021-03-03 16:51:25 +01:00 committed by kjeld Schouten-Lebbing
parent 38f01e0b77
commit d22b481a3f
No known key found for this signature in database
GPG Key ID: 4CDAD4A532BC1EDB
535 changed files with 3244 additions and 1677 deletions

View File

@ -156,53 +156,3 @@ They are called general options, because they affect the basic functionalities o
schema:
type: string
```
##### Main Service
Services in Kubernetes (the underlaying framework in TrueNAS SCALE), are (simply put) internal loadbalancers. Besides being load balancers, they are always guaranteed to be reachable by (internal!) DNS name and (in some cases) prevent traffic from reaching your App when the healthcheck isn't finished yet (or is failing).
Every App is required to have a main service, the primary thing that users (or other Apps!) connect with. No mater if it's a webUI, an API, a database connection or something totally else, A service is always required.
Please keep in mind that every App is different, some just have one service (the primary one) and others need more (which get defined in `appAdditionalService`). Every App also uses different ports, so please alter accordingly.
```
- variable: service
group: "Networking"
label: "Configure Service"
schema:
type: dict
attrs:
- variable: type
label: "Service type"
schema:
type: string
default: "ClusterIP"
enum:
- value: "NodePort"
description: "NodePort"
- value: "ClusterIP"
description: "ClusterIP"
show_subquestions_if: "NodePort"
subquestions:
- variable: port
label: "Port configuration"
schema:
type: dict
attrs:
- variable: port
label: "container port"
schema:
type: int
default: 80
editable: false
- variable: nodePort
label: "Node Port to expose for UI"
schema:
type: int
min: 9000
max: 65535
default: 36052
required: true
```
_ Note: Our final main service format has not been fully completed as of yet, this might change the above snipped considerably_

147
.github/docs/development/services.md vendored Normal file
View File

@ -0,0 +1,147 @@
# Services
Every App needs to be exposed to something, either an UI, API or other containers.However with Kubernetes we don't directly connect to the containers running the App, because those might be on another node or there might be multiple "high available" containers for the App. Instead we use what is called `Services`. Services are simply put "Internal Load-Balancers", they also guaranteed to be reachable by (internal!) DNS name and (in some cases) prevent traffic from reaching your App when the healthcheck isn't finished yet (or is failing).
### Two kinds of services
##### Main Service
Every App is required to have a main service, the primary thing that users (or other Apps!) connect with. No mater if it's a webUI, an API, a database connection or something totally else, A service is always required.
Please keep in mind that every App is different, some just have one service (which *ALWAYS* has to be called `main`) and others need more (which each has to have an unique name). Every App also uses different ports, so please alter accordingly.
```
- variable: services
group: "Networking"
label: "Configure Service"
schema:
type: dict
attrs:
- variable: main
label: "Main service"
description: "The Primary service on which the healthcheck runs, often the webUI"
schema:
type: dict
attrs:
- variable: enabled
label: "Enable the service"
schema:
type: boolean
default: true
hidden: true
- variable: type
label: "Service type"
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System"
schema:
type: string
default: "ClusterIP"
enum:
- value: "nodePort"
description: "NodePort"
- value: "ClusterIP"
description: "ClusterIP"
- variable: port
label: "Port configuration"
schema:
type: dict
attrs:
- variable: protocol
label: "Port Type"
schema:
type: string
default: "TCP"
hidden: true
enum:
- value: TCP
description: "TCP"
- value: "UDP"
description: "UDP"
- variable: port
label: "container port"
schema:
type: int
default: 80
editable: false
hidden: true
- variable: targetport
label: "Internal Service port"
description: "When connecting internally to this App, you'll need this port"
schema:
type: int
default: 80
editable: true
- variable: nodePort
label: "(optional) host nodePort to expose to"
description: "only get used when nodePort is selected"
schema:
type: int
min: 9000
max: 65535
default: 36052
required: true
```
##### Unlimited custom services
in some edgecases users might need or want to have the option to add unlimited custom Services. While we _highly_ suggest not doing so, these services can be added with the following standardised template:
```
- variable: additionalServices
label: "Custom Services"
group: "Networking"
schema:
type: list
default: []
items:
- variable: additionalService
label: "Custom Service"
schema:
type: dict
attrs:
- variable: enabled
label: "Enable the service"
schema:
type: boolean
default: true
hidden: true
- variable: type
label: "Service type"
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System"
schema:
type: string
default: "ClusterIP"
enum:
- value: "nodePort"
description: "NodePort"
- value: "ClusterIP"
description: "ClusterIP"
- variable: port
label: "Port configuration"
schema:
type: dict
attrs:
- variable: port
label: "container port"
schema:
type: int
default: 80
editable: false
hidden: true
- variable: targetport
label: "Internal Service port"
description: "When connecting internally to this App, you'll need this port"
schema:
type: int
default: 80
editable: true
- variable: nodePort
label: "(optional) host nodePort to expose to"
description: "only get used when nodePort is selected"
schema:
type: int
min: 9000
max: 65535
default: 36052
required: true
```

View File

@ -142,49 +142,55 @@ class Test < ChartTest
it 'port name can be overridden' do
values = {
service: {
port: {
name: 'server'
}
services: {
main: {
port: {
name: 'server'
}
}
}
}
chart.value values
jq('.spec.ports[0].port', resource('Service')).must_equal default_port
jq('.spec.ports[0].targetPort', resource('Service')).must_equal values[:service][:port][:name]
jq('.spec.ports[0].name', resource('Service')).must_equal values[:service][:port][:name]
jq('.spec.ports[0].targetPort', resource('Service')).must_equal values[:services][:main][:port][:name]
jq('.spec.ports[0].name', resource('Service')).must_equal values[:services][:main][:port][:name]
jq('.spec.template.spec.containers[0].ports[0].containerPort', resource('Deployment')).must_equal default_port
jq('.spec.template.spec.containers[0].ports[0].name', resource('Deployment')).must_equal values[:service][:port][:name]
jq('.spec.template.spec.containers[0].ports[0].name', resource('Deployment')).must_equal values[:services][:main][:port][:name]
end
it 'targetPort can be overridden' do
values = {
service: {
port: {
targetPort: 80
}
services: {
main: {
port: {
targetPort: 80
}
}
}
}
chart.value values
jq('.spec.ports[0].port', resource('Service')).must_equal default_port
jq('.spec.ports[0].targetPort', resource('Service')).must_equal values[:service][:port][:targetPort]
jq('.spec.ports[0].targetPort', resource('Service')).must_equal values[:services][:main][:port][:targetPort]
jq('.spec.ports[0].name', resource('Service')).must_equal default_name
jq('.spec.template.spec.containers[0].ports[0].containerPort', resource('Deployment')).must_equal values[:service][:port][:targetPort]
jq('.spec.template.spec.containers[0].ports[0].containerPort', resource('Deployment')).must_equal values[:services][:main][:port][:targetPort]
jq('.spec.template.spec.containers[0].ports[0].name', resource('Deployment')).must_equal default_name
end
it 'targetPort cannot be a named port' do
values = {
service: {
port: {
targetPort: 'test'
}
services: {
main: {
port: {
targetPort: 'test'
}
}
}
}
chart.value values
exception = assert_raises HelmCompileError do
chart.execute_helm_template!
end
assert_match("Our charts do not support named ports for targetPort. (port name #{default_name}, targetPort #{values[:service][:port][:targetPort]})", exception.message)
assert_match("Our charts do not support named ports for targetPort. (port name #{default_name}, targetPort #{values[:services][:main][:port][:targetPort]})", exception.message)
end
end

42
Gemfile.lock Normal file
View File

@ -0,0 +1,42 @@
GEM
remote: https://rubygems.org/
specs:
ansi (1.5.0)
builder (3.2.4)
coderay (1.1.3)
m (1.5.1)
method_source (>= 0.6.7)
rake (>= 0.9.2.2)
method_source (1.0.0)
mini_portile2 (2.5.0)
minitest (5.14.4)
minitest-implicit-subject (1.4.0)
minitest
minitest-reporters (1.4.3)
ansi
builder
minitest (>= 5.0)
ruby-progressbar
multi_json (1.15.0)
pry (0.14.0)
coderay (~> 1.1)
method_source (~> 1.0)
rake (13.0.3)
ruby-jq (0.2.1)
mini_portile2 (>= 2.2.0)
multi_json
ruby-progressbar (1.11.0)
PLATFORMS
ruby
DEPENDENCIES
m
minitest
minitest-implicit-subject
minitest-reporters
pry
ruby-jq
BUNDLED WITH
2.1.4

View File

@ -1,6 +0,0 @@
dependencies:
- name: common
repository: https://charts.truecharts.org/
version: 1.6.7
digest: sha256:0a64f876c94732b644861a2da65f48bca5b507c99ffe3d341235d6f4b3bee2a1
generated: "2021-03-09T20:34:19.389372418Z"

View File

@ -1,7 +1,11 @@
apiVersion: v2
kubeVersion: ">=1.16.0-0"
name: bazarr
<<<<<<< HEAD:charts/bazarr/1.6.4/Chart.yaml
version: 1.6.4
=======
version: 2.0.0
>>>>>>> [Common] Refactor Services (#212):charts/bazarr/2.0.0/Chart.yaml
upstream_version: 5.2.1
appVersion: v0.9.0.5
description: Bazarr is a companion application to Bazarr and Radarr. It manages and downloads subtitles based on your requirements
@ -24,7 +28,11 @@ sources:
dependencies:
- name: common
repository: https://charts.truecharts.org/
<<<<<<< HEAD:charts/bazarr/1.6.4/Chart.yaml
version: 1.6.7
=======
version: 2.0.0
>>>>>>> [Common] Refactor Services (#212):charts/bazarr/2.0.0/Chart.yaml
# condition:
# tags:
# import-values:

View File

@ -1,6 +1,10 @@
# Introduction
<<<<<<< HEAD:charts/bazarr/1.6.4/README.md
![Version: 1.6.4](https://img.shields.io/badge/Version-1.6.4-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.9.0.5](https://img.shields.io/badge/AppVersion-v0.9.0.5-informational?style=flat-square)
=======
![Version: 1.6.1](https://img.shields.io/badge/Version-1.6.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.9.0.5](https://img.shields.io/badge/AppVersion-v0.9.0.5-informational?style=flat-square)
>>>>>>> [Common] Refactor Services (#212):charts/bazarr/2.0.0/README.md
Bazarr is a companion application to Bazarr and Radarr. It manages and downloads subtitles based on your requirements
@ -22,7 +26,11 @@ Kubernetes: `>=1.16.0-0`
| Repository | Name | Version |
|------------|------|---------|
<<<<<<< HEAD:charts/bazarr/1.6.4/README.md
| https://charts.truecharts.org/ | common | 1.6.7 |
=======
| https://charts.truecharts.org/ | common | 1.6.1 |
>>>>>>> [Common] Refactor Services (#212):charts/bazarr/2.0.0/README.md
## Installing the Chart

View File

@ -1,2 +1 @@
Bazarr is a companion application to Bazarr and Radarr. It manages and downloads subtitles based on your requirements

Binary file not shown.

View File

@ -112,37 +112,68 @@ questions:
schema:
type: string
- variable: service
- variable: services
group: "Networking"
label: "Configure Service"
schema:
type: dict
attrs:
- variable: type
label: "Service type"
- variable: main
label: "Main service"
description: "The Primary service on which the healthcheck runs, often the webUI"
schema:
type: string
default: "ClusterIP"
enum:
- value: "NodePort"
description: "NodePort"
- value: "ClusterIP"
description: "ClusterIP"
show_subquestions_if: "NodePort"
subquestions:
type: dict
attrs:
- variable: enabled
label: "Enable the service"
schema:
type: boolean
default: true
hidden: true
- variable: type
label: "Service type"
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System"
schema:
type: string
default: "ClusterIP"
enum:
- value: "nodePort"
description: "NodePort"
- value: "ClusterIP"
description: "ClusterIP"
- variable: port
label: "Port configuration"
schema:
type: dict
attrs:
- variable: protocol
label: "Port Type"
schema:
type: string
default: "TCP"
hidden: true
enum:
- value: TCP
description: "TCP"
- value: "UDP"
description: "UDP"
- variable: port
label: "container port"
schema:
type: int
default: 6767
editable: false
hidden: true
- variable: targetport
label: "Internal Service port"
description: "When connecting internally to this App, you'll need this port"
schema:
type: int
default: 6767
editable: true
- variable: nodePort
label: "Node Port to expose for UI"
label: "(optional) host nodePort to expose to"
description: "only get used when nodePort is selected"
schema:
type: int
min: 9000

View File

@ -8,9 +8,10 @@ image:
strategy:
type: Recreate
service:
port:
port: 6767
services:
main:
port:
port: 6767
env: {}
# TZ: UTC

View File

@ -8,9 +8,10 @@ image:
strategy:
type: Recreate
service:
port:
port: 6767
services:
main:
port:
port: 6767
env: {}
# TZ: UTC

View File

@ -1,6 +0,0 @@
dependencies:
- name: common
repository: https://charts.truecharts.org/
version: 1.6.7
digest: sha256:0a64f876c94732b644861a2da65f48bca5b507c99ffe3d341235d6f4b3bee2a1
generated: "2021-03-09T20:34:16.711451938Z"

View File

@ -1,7 +1,11 @@
apiVersion: v2
kubeVersion: ">=1.16.0-0"
name: calibre-web
<<<<<<< HEAD:charts/calibre-web/1.6.4/Chart.yaml
version: 1.6.4
=======
version: 2.0.0
>>>>>>> [Common] Refactor Services (#212):charts/calibre-web/2.0.0/Chart.yaml
upstream_version: 4.3.1
appVersion: 0.6.9
description: Calibre-Web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database.
@ -21,7 +25,11 @@ sources:
dependencies:
- name: common
repository: https://charts.truecharts.org/
<<<<<<< HEAD:charts/calibre-web/1.6.4/Chart.yaml
version: 1.6.7
=======
version: 2.0.0
>>>>>>> [Common] Refactor Services (#212):charts/calibre-web/2.0.0/Chart.yaml
# condition:
# tags:
# import-values:

View File

@ -1,6 +1,10 @@
# Introduction
<<<<<<< HEAD:charts/calibre-web/1.6.4/README.md
![Version: 1.6.4](https://img.shields.io/badge/Version-1.6.4-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.6.9](https://img.shields.io/badge/AppVersion-0.6.9-informational?style=flat-square)
=======
![Version: 1.6.1](https://img.shields.io/badge/Version-1.6.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.6.9](https://img.shields.io/badge/AppVersion-0.6.9-informational?style=flat-square)
>>>>>>> [Common] Refactor Services (#212):charts/calibre-web/2.0.0/README.md
Calibre-Web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database.
@ -22,7 +26,11 @@ Kubernetes: `>=1.16.0-0`
| Repository | Name | Version |
|------------|------|---------|
<<<<<<< HEAD:charts/calibre-web/1.6.4/README.md
| https://charts.truecharts.org/ | common | 1.6.7 |
=======
| https://charts.truecharts.org/ | common | 1.6.1 |
>>>>>>> [Common] Refactor Services (#212):charts/calibre-web/2.0.0/README.md
## Installing the Chart

View File

@ -1,2 +1 @@
Calibre-Web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database.

Binary file not shown.

View File

@ -112,37 +112,68 @@ questions:
schema:
type: string
- variable: service
- variable: services
group: "Networking"
label: "Configure Service"
schema:
type: dict
attrs:
- variable: type
label: "Service type"
- variable: main
label: "Main service"
description: "The Primary service on which the healthcheck runs, often the webUI"
schema:
type: string
default: "ClusterIP"
enum:
- value: "NodePort"
description: "NodePort"
- value: "ClusterIP"
description: "ClusterIP"
show_subquestions_if: "NodePort"
subquestions:
type: dict
attrs:
- variable: enabled
label: "Enable the service"
schema:
type: boolean
default: true
hidden: true
- variable: type
label: "Service type"
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System"
schema:
type: string
default: "ClusterIP"
enum:
- value: "nodePort"
description: "NodePort"
- value: "ClusterIP"
description: "ClusterIP"
- variable: port
label: "Port configuration"
schema:
type: dict
attrs:
- variable: protocol
label: "Port Type"
schema:
type: string
default: "TCP"
hidden: true
enum:
- value: TCP
description: "TCP"
- value: "UDP"
description: "UDP"
- variable: port
label: "container port"
schema:
type: int
default: 8083
editable: false
hidden: true
- variable: targetport
label: "Internal Service port"
description: "When connecting internally to this App, you'll need this port"
schema:
type: int
default: 8083
editable: true
- variable: nodePort
label: "Node Port to expose for UI"
label: "(optional) host nodePort to expose to"
description: "only get used when nodePort is selected"
schema:
type: int
min: 9000

View File

@ -8,9 +8,10 @@ image:
strategy:
type: Recreate
service:
port:
port: 8083
services:
main:
port:
port: 8083
env: {}
# TZ:

View File

@ -8,9 +8,10 @@ image:
strategy:
type: Recreate
service:
port:
port: 8083
services:
main:
port:
port: 8083
env: {}
# TZ:

View File

@ -1,6 +0,0 @@
dependencies:
- name: common
repository: https://charts.truecharts.org/
version: 1.6.7
digest: sha256:0a64f876c94732b644861a2da65f48bca5b507c99ffe3d341235d6f4b3bee2a1
generated: "2021-03-09T20:34:13.976532921Z"

View File

@ -1,7 +1,11 @@
apiVersion: v2
kubeVersion: ">=1.16.0-0"
name: collabora-online
<<<<<<< HEAD:charts/collabora-online/1.6.4/Chart.yaml
version: 1.6.4
=======
version: 2.0.0
>>>>>>> [Common] Refactor Services (#212):charts/collabora-online/2.0.0/Chart.yaml
# upstream_version:
appVersion: 6.4.6.1
description: Collabora Online Development Edition an awesome, Online Office suite image suitable for home use.
@ -19,7 +23,11 @@ sources:
dependencies:
- name: common
repository: https://charts.truecharts.org/
<<<<<<< HEAD:charts/collabora-online/1.6.4/Chart.yaml
version: 1.6.7
=======
version: 2.0.0
>>>>>>> [Common] Refactor Services (#212):charts/collabora-online/2.0.0/Chart.yaml
# condition:
# tags:
# import-values:

View File

@ -1,6 +1,10 @@
# Introduction
<<<<<<< HEAD:charts/collabora-online/1.6.4/README.md
![Version: 1.6.4](https://img.shields.io/badge/Version-1.6.4-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 6.4.6.1](https://img.shields.io/badge/AppVersion-6.4.6.1-informational?style=flat-square)
=======
![Version: 1.6.1](https://img.shields.io/badge/Version-1.6.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 6.4.6.1](https://img.shields.io/badge/AppVersion-6.4.6.1-informational?style=flat-square)
>>>>>>> [Common] Refactor Services (#212):charts/collabora-online/2.0.0/README.md
Collabora Online Development Edition an awesome, Online Office suite image suitable for home use.
@ -22,7 +26,11 @@ Kubernetes: `>=1.16.0-0`
| Repository | Name | Version |
|------------|------|---------|
<<<<<<< HEAD:charts/collabora-online/1.6.4/README.md
| https://charts.truecharts.org/ | common | 1.6.7 |
=======
| https://charts.truecharts.org/ | common | 1.6.1 |
>>>>>>> [Common] Refactor Services (#212):charts/collabora-online/2.0.0/README.md
## Installing the Chart

View File

@ -1,2 +1 @@
Collabora Online Development Edition an awesome, Online Office suite image suitable for home use.

Binary file not shown.

View File

@ -108,42 +108,73 @@ questions:
default: "002"
# Service Configuration
- variable: service
- variable: services
group: "Networking"
label: "Configure Network"
label: "Configure Service"
schema:
type: dict
attrs:
- variable: type
label: "Service type"
- variable: main
label: "Main service"
description: "The Primary service on which the healthcheck runs, often the webUI"
schema:
type: string
default: "ClusterIP"
enum:
- value: "NodePort"
description: "NodePort"
- value: "ClusterIP"
description: "ClusterIP"
show_subquestions_if: "NodePort"
subquestions:
type: dict
attrs:
- variable: enabled
label: "Enable the service"
schema:
type: boolean
default: true
hidden: true
- variable: type
label: "Service type"
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System"
schema:
type: string
default: "ClusterIP"
enum:
- value: "nodePort"
description: "NodePort"
- value: "ClusterIP"
description: "ClusterIP"
- variable: port
label: "Port configuration"
schema:
type: dict
attrs:
- variable: protocol
label: "Port Type"
schema:
type: string
default: "TCP"
hidden: true
enum:
- value: TCP
description: "TCP"
- value: "UDP"
description: "UDP"
- variable: port
label: "container port"
schema:
type: int
default: 9980
editable: false
hidden: true
- variable: targetport
label: "Internal Service port"
description: "When connecting internally to this App, you'll need this port"
schema:
type: int
default: 9980
editable: true
- variable: nodePort
label: "Node Port to expose for UI"
label: "(optional) host nodePort to expose to"
description: "only get used when nodePort is selected"
schema:
type: int
min: 9000
max: 65535
default: 30980
default: 36052
required: true
# environmentVariables Configuraiton

View File

@ -6,9 +6,10 @@ image:
strategy:
type: Recreate
service:
port:
port: 9980
services:
main:
port:
port: 9980
env:
domain:

View File

@ -1,6 +0,0 @@
dependencies:
- name: common
repository: https://charts.truecharts.org/
version: 1.6.7
digest: sha256:0a64f876c94732b644861a2da65f48bca5b507c99ffe3d341235d6f4b3bee2a1
generated: "2021-03-09T20:34:11.344240459Z"

View File

@ -1,7 +1,11 @@
apiVersion: v2
kubeVersion: ">=1.16.0-0"
name: deluge
<<<<<<< HEAD:charts/deluge/1.6.4/Chart.yaml
version: 1.6.4
=======
version: 2.0.0
>>>>>>> [Common] Refactor Services (#212):charts/deluge/2.0.0/Chart.yaml
upstream_version: 1.1.1
appVersion: v2.0.3-2201906121747
description: Deluge is a torrent download client
@ -19,7 +23,11 @@ sources:
dependencies:
- name: common
repository: https://charts.truecharts.org/
<<<<<<< HEAD:charts/deluge/1.6.4/Chart.yaml
version: 1.6.7
=======
version: 2.0.0
>>>>>>> [Common] Refactor Services (#212):charts/deluge/2.0.0/Chart.yaml
# condition:
# tags:
# import-values:

View File

@ -1,6 +1,10 @@
# Introduction
<<<<<<< HEAD:charts/deluge/1.6.4/README.md
![Version: 1.6.4](https://img.shields.io/badge/Version-1.6.4-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v2.0.3-2201906121747](https://img.shields.io/badge/AppVersion-v2.0.3--2201906121747-informational?style=flat-square)
=======
![Version: 1.6.1](https://img.shields.io/badge/Version-1.6.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v2.0.3-2201906121747](https://img.shields.io/badge/AppVersion-v2.0.3--2201906121747-informational?style=flat-square)
>>>>>>> [Common] Refactor Services (#212):charts/deluge/2.0.0/README.md
Deluge is a torrent download client
@ -22,7 +26,11 @@ Kubernetes: `>=1.16.0-0`
| Repository | Name | Version |
|------------|------|---------|
<<<<<<< HEAD:charts/deluge/1.6.4/README.md
| https://charts.truecharts.org/ | common | 1.6.7 |
=======
| https://charts.truecharts.org/ | common | 1.6.1 |
>>>>>>> [Common] Refactor Services (#212):charts/deluge/2.0.0/README.md
## Installing the Chart

View File

@ -1,2 +1 @@
Deluge is a torrent download client

Binary file not shown.

View File

@ -120,68 +120,94 @@ questions:
type: boolean
default: false
- variable: service
- variable: services
group: "Networking"
label: "Configure Service"
schema:
type: dict
attrs:
- variable: type
label: "Service type"
- variable: main
label: "Main service"
description: "The Primary service on which the healthcheck runs, often the webUI"
schema:
type: string
default: "ClusterIP"
enum:
- value: "NodePort"
description: "NodePort"
- value: "ClusterIP"
description: "ClusterIP"
show_subquestions_if: "NodePort"
subquestions:
type: dict
attrs:
- variable: enabled
label: "Enable the service"
schema:
type: boolean
default: true
hidden: true
- variable: type
label: "Service type"
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System"
schema:
type: string
default: "ClusterIP"
enum:
- value: "nodePort"
description: "NodePort"
- value: "ClusterIP"
description: "ClusterIP"
- variable: port
label: "Port configuration"
schema:
type: dict
attrs:
- variable: protocol
label: "Port Type"
schema:
type: string
default: "TCP"
hidden: true
enum:
- value: TCP
description: "TCP"
- value: "UDP"
description: "UDP"
- variable: port
label: "container port"
schema:
type: int
default: 8112
editable: false
hidden: true
- variable: targetport
label: "Internal Service port"
description: "When connecting internally to this App, you'll need this port"
schema:
type: int
default: 8112
editable: true
- variable: nodePort
label: "Node Port to expose for UI"
label: "(optional) host nodePort to expose to"
description: "only get used when nodePort is selected"
schema:
type: int
min: 9000
max: 65535
default: 36052
required: true
- variable: appAdditionalServices
group: "Networking"
label: "Configure additional services"
schema:
type: dict
attrs:
- variable: tcp
label: ""
label: "TCP Torrent connections"
description: "This service is used to process incomming torrent connections over TCP"
schema:
type: dict
attrs:
- variable: enabled
label: "Enable TCP port for Torrent Connections"
label: "Enable the service"
schema:
type: boolean
default: true
hidden: true
- variable: type
label: "Service type"
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System"
schema:
type: string
default: "ClusterIP"
enum:
- value: "NodePort"
- value: "nodePort"
description: "NodePort"
- value: "ClusterIP"
description: "ClusterIP"
@ -190,18 +216,17 @@ questions:
schema:
type: dict
attrs:
- variable: name
label: "port name"
schema:
type: string
default: "torrent-tcp"
hidden: true
- variable: protocol
label: "Protocol"
label: "Port Type"
schema:
type: string
default: "TCP"
hidden: true
enum:
- value: TCP
description: "TCP"
- value: "UDP"
description: "UDP"
- variable: port
label: "container port"
schema:
@ -210,38 +235,41 @@ questions:
editable: false
hidden: true
- variable: targetport
label: "container targetport"
label: "Internal Service port"
description: "When connecting internally to this App, you'll need this port"
schema:
type: int
default: 51413
editable: false
hidden: true
editable: true
- variable: nodePort
label: "Node Port to expose"
label: "(optional) host nodePort to expose to"
description: "only get used when nodePort is selected"
schema:
type: int
min: 9000
max: 65535
default: 51413
required: false
default: 36052
required: true
- variable: udp
label: ""
label: "UDP Torrent connections"
description: "This service is used to process incomming torrent connections over UDP"
schema:
type: dict
attrs:
- variable: enabled
label: "Enable UDP port for Torrent Connections"
label: "Enable the service"
schema:
type: boolean
default: true
hidden: true
- variable: type
label: "Service type"
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System"
schema:
type: string
default: "ClusterIP"
enum:
- value: "NodePort"
- value: "nodePort"
description: "NodePort"
- value: "ClusterIP"
description: "ClusterIP"
@ -250,18 +278,17 @@ questions:
schema:
type: dict
attrs:
- variable: name
label: "port name"
schema:
type: string
default: "torrent-udp"
hidden: true
- variable: protocol
label: "Protocol"
label: "Port Type"
schema:
type: string
default: "UDP"
hidden: true
enum:
- value: TCP
description: "TCP"
- value: "UDP"
description: "UDP"
- variable: port
label: "container port"
schema:
@ -270,21 +297,21 @@ questions:
editable: false
hidden: true
- variable: targetport
label: "container targetport"
label: "Internal Service port"
description: "When connecting internally to this App, you'll need this port"
schema:
type: int
default: 51413
editable: false
hidden: true
editable: true
- variable: nodePort
label: "Node Port to expose"
label: "(optional) host nodePort to expose to"
description: "only get used when nodePort is selected"
schema:
type: int
min: 9000
max: 65535
default: 51413
required: false
default: 36052
required: true
## TrueCharts Specific

View File

@ -8,9 +8,24 @@ image:
strategy:
type: Recreate
service:
port:
port: 8112
services:
main:
port:
port: 8112
tcp:
enabled: true
type: ClusterIP
port:
port: 51413
protocol: TCP
targetPort: 51413
udp:
enabled: true
type: ClusterIP
port:
port: 51413
protocol: UDP
targetPort: 51413
persistence:
config:
@ -57,22 +72,3 @@ appVolumeMounts:
emptyDir: true
setPermissions: true
mountPath: "/downloads"
appAdditionalServicesEnabled: true
appAdditionalServices:
tcp:
enabled: true
type: ClusterIP
port:
port: 51413
name: bittorrent-tcp
protocol: TCP
targetPort: 51413
udp:
enabled: true
type: ClusterIP
port:
port: 51413
name: bittorrent-udp
protocol: UDP
targetPort: 51413

View File

@ -8,9 +8,24 @@ image:
strategy:
type: Recreate
service:
port:
port: 8112
services:
main:
port:
port: 8112
# tcp:
# enabled: true
# type: ClusterIP
# port:
# port: 51413
# protocol: TCP
# targetPort: 51413
# udp:
# enabled: true
# type: ClusterIP
# port:
# port: 51413
# protocol: UDP
# targetPort: 51413
persistence:
config:
@ -53,22 +68,3 @@ appIngressEnabled: false
# downloads:
# enabled: false
# emptyDir: false
appAdditionalServicesEnabled: true
appAdditionalServices:
tcp:
enabled: true
type: ClusterIP
port:
port: 51413
name: bittorrent-tcp
protocol: TCP
targetPort: 51413
udp:
enabled: true
type: ClusterIP
port:
port: 51413
name: bittorrent-udp
protocol: UDP
targetPort: 51413

View File

@ -1,6 +0,0 @@
dependencies:
- name: common
repository: https://charts.truecharts.org/
version: 1.6.7
digest: sha256:0a64f876c94732b644861a2da65f48bca5b507c99ffe3d341235d6f4b3bee2a1
generated: "2021-03-09T20:34:08.67809444Z"

View File

@ -1,7 +1,11 @@
apiVersion: v2
kubeVersion: ">=1.16.0-0"
name: esphome
<<<<<<< HEAD:charts/esphome/1.6.4/Chart.yaml
version: 1.6.4
=======
version: 2.0.0
>>>>>>> [Common] Refactor Services (#212):charts/esphome/2.0.0/Chart.yaml
upstream_version: 4.3.1
appVersion: 1.15.3
description: ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
@ -19,7 +23,11 @@ sources:
dependencies:
- name: common
repository: https://charts.truecharts.org/
<<<<<<< HEAD:charts/esphome/1.6.4/Chart.yaml
version: 1.6.7
=======
version: 2.0.0
>>>>>>> [Common] Refactor Services (#212):charts/esphome/2.0.0/Chart.yaml
# condition:
# tags:
# import-values:

View File

@ -1,6 +1,10 @@
# Introduction
<<<<<<< HEAD:charts/esphome/1.6.4/README.md
![Version: 1.6.4](https://img.shields.io/badge/Version-1.6.4-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.15.3](https://img.shields.io/badge/AppVersion-1.15.3-informational?style=flat-square)
=======
![Version: 1.6.1](https://img.shields.io/badge/Version-1.6.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.15.3](https://img.shields.io/badge/AppVersion-1.15.3-informational?style=flat-square)
>>>>>>> [Common] Refactor Services (#212):charts/esphome/2.0.0/README.md
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
@ -22,7 +26,11 @@ Kubernetes: `>=1.16.0-0`
| Repository | Name | Version |
|------------|------|---------|
<<<<<<< HEAD:charts/esphome/1.6.4/README.md
| https://charts.truecharts.org/ | common | 1.6.7 |
=======
| https://charts.truecharts.org/ | common | 1.6.1 |
>>>>>>> [Common] Refactor Services (#212):charts/esphome/2.0.0/README.md
## Installing the Chart

View File

@ -1,2 +1 @@
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.

Binary file not shown.

View File

@ -128,38 +128,70 @@ questions:
schema:
type: boolean
default: false
# Service Configuration
- variable: service
- variable: services
group: "Networking"
label: "Configure Service"
schema:
type: dict
attrs:
- variable: type
label: "Service type"
- variable: main
label: "Main service"
description: "The Primary service on which the healthcheck runs, often the webUI"
schema:
type: string
default: "NodePort"
enum:
- value: "NodePort"
description: "NodePort"
- value: "ClusterIP"
description: "ClusterIP"
show_subquestions_if: "NodePort"
subquestions:
type: dict
attrs:
- variable: enabled
label: "Enable the service"
schema:
type: boolean
default: true
hidden: true
- variable: type
label: "Service type"
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System"
schema:
type: string
default: "ClusterIP"
enum:
- value: "nodePort"
description: "NodePort"
- value: "ClusterIP"
description: "ClusterIP"
- variable: port
label: "Port configuration"
schema:
type: dict
attrs:
- variable: protocol
label: "Port Type"
schema:
type: string
default: "TCP"
hidden: true
enum:
- value: TCP
description: "TCP"
- value: "UDP"
description: "UDP"
- variable: port
label: "container port"
schema:
type: int
default: 6052
editable: false
hidden: true
- variable: targetport
label: "Internal Service port"
description: "When connecting internally to this App, you'll need this port"
schema:
type: int
default: 6052
editable: true
- variable: nodePort
label: "Node Port to expose for UI"
label: "(optional) host nodePort to expose to"
description: "only get used when nodePort is selected"
schema:
type: int
min: 9000

View File

@ -8,9 +8,10 @@ image:
strategy:
type: Recreate
service:
port:
port: 6052
services:
main:
port:
port: 6052
nodePort: 30052
env: {}

View File

@ -1,6 +0,0 @@
dependencies:
- name: common
repository: https://charts.truecharts.org/
version: 1.6.7
digest: sha256:0a64f876c94732b644861a2da65f48bca5b507c99ffe3d341235d6f4b3bee2a1
generated: "2021-03-09T20:34:06.041568677Z"

View File

@ -1,7 +1,11 @@
apiVersion: v2
kubeVersion: ">=1.16.0-0"
name: freshrss
<<<<<<< HEAD:charts/freshrss/1.6.4/Chart.yaml
version: 1.6.4
=======
version: 2.0.0
>>>>>>> [Common] Refactor Services (#212):charts/freshrss/2.0.0/Chart.yaml
upstream_version: 2.3.1
appVersion: 1.17.0
description: FreshRSS is a self-hosted RSS feed aggregator
@ -20,7 +24,11 @@ sources:
dependencies:
- name: common
repository: https://charts.truecharts.org/
<<<<<<< HEAD:charts/freshrss/1.6.4/Chart.yaml
version: 1.6.7
=======
version: 2.0.0
>>>>>>> [Common] Refactor Services (#212):charts/freshrss/2.0.0/Chart.yaml
# condition:
# tags:
# import-values:

View File

@ -1,6 +1,10 @@
# Introduction
<<<<<<< HEAD:charts/freshrss/1.6.4/README.md
![Version: 1.6.4](https://img.shields.io/badge/Version-1.6.4-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.17.0](https://img.shields.io/badge/AppVersion-1.17.0-informational?style=flat-square)
=======
![Version: 1.6.1](https://img.shields.io/badge/Version-1.6.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.17.0](https://img.shields.io/badge/AppVersion-1.17.0-informational?style=flat-square)
>>>>>>> [Common] Refactor Services (#212):charts/freshrss/2.0.0/README.md
FreshRSS is a self-hosted RSS feed aggregator
@ -22,7 +26,11 @@ Kubernetes: `>=1.16.0-0`
| Repository | Name | Version |
|------------|------|---------|
<<<<<<< HEAD:charts/freshrss/1.6.4/README.md
| https://charts.truecharts.org/ | common | 1.6.7 |
=======
| https://charts.truecharts.org/ | common | 1.6.1 |
>>>>>>> [Common] Refactor Services (#212):charts/freshrss/2.0.0/README.md
## Installing the Chart

View File

@ -1,2 +1 @@
FreshRSS is a self-hosted RSS feed aggregator

Binary file not shown.

View File

@ -112,37 +112,68 @@ questions:
schema:
type: string
- variable: service
- variable: services
group: "Networking"
label: "Configure Service"
schema:
type: dict
attrs:
- variable: type
label: "Service type"
- variable: main
label: "Main service"
description: "The Primary service on which the healthcheck runs, often the webUI"
schema:
type: string
default: "ClusterIP"
enum:
- value: "NodePort"
description: "NodePort"
- value: "ClusterIP"
description: "ClusterIP"
show_subquestions_if: "NodePort"
subquestions:
type: dict
attrs:
- variable: enabled
label: "Enable the service"
schema:
type: boolean
default: true
hidden: true
- variable: type
label: "Service type"
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System"
schema:
type: string
default: "ClusterIP"
enum:
- value: "nodePort"
description: "NodePort"
- value: "ClusterIP"
description: "ClusterIP"
- variable: port
label: "Port configuration"
schema:
type: dict
attrs:
- variable: protocol
label: "Port Type"
schema:
type: string
default: "TCP"
hidden: true
enum:
- value: TCP
description: "TCP"
- value: "UDP"
description: "UDP"
- variable: port
label: "container port"
schema:
type: int
default: 80
editable: false
hidden: true
- variable: targetport
label: "Internal Service port"
description: "When connecting internally to this App, you'll need this port"
schema:
type: int
default: 80
editable: true
- variable: nodePort
label: "Node Port to expose for UI"
label: "(optional) host nodePort to expose to"
description: "only get used when nodePort is selected"
schema:
type: int
min: 9000

View File

@ -8,9 +8,10 @@ image:
strategy:
type: Recreate
service:
port:
port: 80
services:
main:
port:
port: 80
env: {}
# TZ: UTC

View File

@ -8,9 +8,10 @@ image:
strategy:
type: Recreate
service:
port:
port: 80
services:
main:
port:
port: 80
env: {}
# TZ: UTC

View File

@ -1,6 +0,0 @@
dependencies:
- name: common
repository: https://charts.truecharts.org/
version: 1.6.7
digest: sha256:0a64f876c94732b644861a2da65f48bca5b507c99ffe3d341235d6f4b3bee2a1
generated: "2021-03-09T20:34:03.366726837Z"

View File

@ -1,7 +1,11 @@
apiVersion: v2
kubeVersion: ">=1.16.0-0"
name: gaps
<<<<<<< HEAD:charts/gaps/1.6.4/Chart.yaml
version: 1.6.4
=======
version: 2.0.0
>>>>>>> [Common] Refactor Services (#212):charts/gaps/2.0.0/Chart.yaml
upstream_version: 1.1.1
appVersion: latest
description: Gaps searches through your Plex Server or local folders for all movies, then queries for known movies in the same collection.
@ -20,7 +24,11 @@ sources:
dependencies:
- name: common
repository: https://charts.truecharts.org/
<<<<<<< HEAD:charts/gaps/1.6.4/Chart.yaml
version: 1.6.7
=======
version: 2.0.0
>>>>>>> [Common] Refactor Services (#212):charts/gaps/2.0.0/Chart.yaml
# condition:
# tags:
# import-values:

View File

@ -1,6 +1,10 @@
# Introduction
<<<<<<< HEAD:charts/gaps/1.6.4/README.md
![Version: 1.6.4](https://img.shields.io/badge/Version-1.6.4-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square)
=======
![Version: 1.6.1](https://img.shields.io/badge/Version-1.6.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square)
>>>>>>> [Common] Refactor Services (#212):charts/gaps/2.0.0/README.md
Gaps searches through your Plex Server or local folders for all movies, then queries for known movies in the same collection.
@ -21,7 +25,11 @@ Kubernetes: `>=1.16.0-0`
| Repository | Name | Version |
|------------|------|---------|
<<<<<<< HEAD:charts/gaps/1.6.4/README.md
| https://charts.truecharts.org/ | common | 1.6.7 |
=======
| https://charts.truecharts.org/ | common | 1.6.1 |
>>>>>>> [Common] Refactor Services (#212):charts/gaps/2.0.0/README.md
## Installing the Chart

View File

@ -1,2 +1 @@
Gaps searches through your Plex Server or local folders for all movies, then queries for known movies in the same collection.

Binary file not shown.

View File

@ -112,37 +112,68 @@ questions:
schema:
type: string
- variable: service
- variable: services
group: "Networking"
label: "Configure Service"
schema:
type: dict
attrs:
- variable: type
label: "Service type"
- variable: main
label: "Main service"
description: "The Primary service on which the healthcheck runs, often the webUI"
schema:
type: string
default: "ClusterIP"
enum:
- value: "NodePort"
description: "NodePort"
- value: "ClusterIP"
description: "ClusterIP"
show_subquestions_if: "NodePort"
subquestions:
type: dict
attrs:
- variable: enabled
label: "Enable the service"
schema:
type: boolean
default: true
hidden: true
- variable: type
label: "Service type"
description: "ClusterIP's are only internally available, nodePorts expose the container to the host node System"
schema:
type: string
default: "ClusterIP"
enum:
- value: "nodePort"
description: "NodePort"
- value: "ClusterIP"
description: "ClusterIP"
- variable: port
label: "Port configuration"
schema:
type: dict
attrs:
- variable: protocol
label: "Port Type"
schema:
type: string
default: "TCP"
hidden: true
enum:
- value: TCP
description: "TCP"
- value: "UDP"
description: "UDP"
- variable: port
label: "container port"
schema:
type: int
default: 8484
editable: false
hidden: true
- variable: targetport
label: "Internal Service port"
description: "When connecting internally to this App, you'll need this port"
schema:
type: int
default: 8484
editable: true
- variable: nodePort
label: "Node Port to expose for UI"
label: "(optional) host nodePort to expose to"
description: "only get used when nodePort is selected"
schema:
type: int
min: 9000

View File

@ -8,9 +8,10 @@ image:
strategy:
type: Recreate
service:
port:
port: 8484
services:
main:
port:
port: 8484
env: {}
# TZ: UTC

View File

@ -8,9 +8,10 @@ image:
strategy:
type: Recreate
service:
port:
port: 8484
services:
main:
port:
port: 8484
env: {}
# TZ: UTC

View File

@ -1,6 +0,0 @@
dependencies:
- name: common
repository: https://charts.truecharts.org/
version: 1.6.7
digest: sha256:0a64f876c94732b644861a2da65f48bca5b507c99ffe3d341235d6f4b3bee2a1
generated: "2021-03-09T20:34:00.556284629Z"

Some files were not shown because too many files have changed in this diff Show More