feat(spotweb): move to stable (#2313)

This commit is contained in:
Stavros Kois
2022-03-27 20:10:34 +03:00
committed by GitHub
parent dcf0fee40a
commit a05d041233
10 changed files with 10 additions and 9 deletions
+23
View File
@@ -0,0 +1,23 @@
# 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
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
+236
View File
@@ -0,0 +1,236 @@
# Changelog<br>
<a name="spotweb-1.0.8"></a>
### [spotweb-1.0.8](https://github.com/truecharts/apps/compare/spotweb-1.0.7...spotweb-1.0.8) (2022-03-26)
#### Chore
* update helm general non-major helm releases ([#2290](https://github.com/truecharts/apps/issues/2290))
<a name="spotweb-1.0.7"></a>
### [spotweb-1.0.7](https://github.com/truecharts/apps/compare/spotweb-1.0.6...spotweb-1.0.7) (2022-03-26)
#### Chore
* bump all apps to trigger ci
<a name="spotweb-1.0.2"></a>
### [spotweb-1.0.2](https://github.com/truecharts/apps/compare/spotweb-1.0.1...spotweb-1.0.2) (2022-03-08)
#### Chore
* update helm general non-major helm releases ([#2116](https://github.com/truecharts/apps/issues/2116))
<a name="spotweb-1.0.1"></a>
### [spotweb-1.0.1](https://github.com/truecharts/apps/compare/spotweb-1.0.0...spotweb-1.0.1) (2022-03-07)
#### Chore
* update helm general non-major helm releases ([#2111](https://github.com/truecharts/apps/issues/2111))
<a name="spotweb-1.0.0"></a>
### [spotweb-1.0.0](https://github.com/truecharts/apps/compare/spotweb-0.0.19...spotweb-1.0.0) (2022-03-03)
#### Chore
* remove fixed env from questions.yaml
* remove TZ from values. ([#1945](https://github.com/truecharts/apps/issues/1945))
* update helm general major helm releases ([#2021](https://github.com/truecharts/apps/issues/2021))
#### Fix
* BREAKING CHANGE Move some env-vars outside of env section ([#2010](https://github.com/truecharts/apps/issues/2010))
<a name="spotweb-0.0.19"></a>
### [spotweb-0.0.19](https://github.com/truecharts/apps/compare/spotweb-0.0.17...spotweb-0.0.19) (2022-03-02)
#### Chore
* rename `web_portal` to `open` ([#1957](https://github.com/truecharts/apps/issues/1957))
* update helm general non-major helm releases ([#1999](https://github.com/truecharts/apps/issues/1999))
* update helm general non-major helm releases ([#1927](https://github.com/truecharts/apps/issues/1927))
<a name="spotweb-0.0.18"></a>
### [spotweb-0.0.18](https://github.com/truecharts/apps/compare/spotweb-0.0.17...spotweb-0.0.18) (2022-02-21)
#### Chore
* update helm general non-major helm releases ([#1927](https://github.com/truecharts/apps/issues/1927))
<a name="spotweb-0.0.17"></a>
### [spotweb-0.0.17](https://github.com/truecharts/apps/compare/spotweb-0.0.16...spotweb-0.0.17) (2022-02-15)
#### Chore
* update helm general non-major helm releases ([#1901](https://github.com/truecharts/apps/issues/1901))
<a name="spotweb-0.0.16"></a>
### [spotweb-0.0.16](https://github.com/truecharts/apps/compare/spotweb-0.0.15...spotweb-0.0.16) (2022-02-08)
#### Chore
* update helm general non-major helm releases ([#1871](https://github.com/truecharts/apps/issues/1871))
<a name="spotweb-0.0.15"></a>
### [spotweb-0.0.15](https://github.com/truecharts/apps/compare/spotweb-0.0.14...spotweb-0.0.15) (2022-02-06)
#### Chore
* update helm chart common to v8.15.0 ([#1859](https://github.com/truecharts/apps/issues/1859))
<a name="spotweb-0.0.14"></a>
### [spotweb-0.0.14](https://github.com/truecharts/apps/compare/spotweb-0.0.13...spotweb-0.0.14) (2022-02-05)
#### Chore
* update helm general non-major helm releases ([#1852](https://github.com/truecharts/apps/issues/1852))
<a name="spotweb-0.0.13"></a>
### [spotweb-0.0.13](https://github.com/truecharts/apps/compare/spotweb-0.0.12...spotweb-0.0.13) (2022-02-02)
#### Chore
* update helm general non-major helm releases ([#1828](https://github.com/truecharts/apps/issues/1828))
<a name="spotweb-0.0.12"></a>
### [spotweb-0.0.12](https://github.com/truecharts/apps/compare/spotweb-0.0.11...spotweb-0.0.12) (2022-01-25)
#### Chore
* update helm general non-major helm releases ([#1791](https://github.com/truecharts/apps/issues/1791))
<a name="spotweb-0.0.11"></a>
### [spotweb-0.0.11](https://github.com/truecharts/apps/compare/spotweb-0.0.10...spotweb-0.0.11) (2022-01-22)
#### Chore
* update helm general non-major helm releases ([#1766](https://github.com/truecharts/apps/issues/1766))
<a name="spotweb-0.0.10"></a>
### [spotweb-0.0.10](https://github.com/truecharts/apps/compare/spotweb-0.0.9...spotweb-0.0.10) (2022-01-22)
#### Chore
* update helm general non-major helm releases ([#1763](https://github.com/truecharts/apps/issues/1763))
<a name="spotweb-0.0.9"></a>
### [spotweb-0.0.9](https://github.com/truecharts/apps/compare/spotweb-0.0.8...spotweb-0.0.9) (2022-01-21)
#### Chore
* update helm general non-major helm releases ([#1759](https://github.com/truecharts/apps/issues/1759))
#### Fix
* set additional_attrs: true on all dicts ([#1750](https://github.com/truecharts/apps/issues/1750))
<a name="spotweb-0.0.8"></a>
### [spotweb-0.0.8](https://github.com/truecharts/apps/compare/spotweb-0.0.7...spotweb-0.0.8) (2022-01-18)
#### Chore
* update helm general non-major helm releases ([#1732](https://github.com/truecharts/apps/issues/1732))
<a name="spotweb-0.0.7"></a>
### [spotweb-0.0.7](https://github.com/truecharts/apps/compare/spotweb-0.0.6...spotweb-0.0.7) (2022-01-13)
#### Chore
* update helm general non-major helm releases ([#1712](https://github.com/truecharts/apps/issues/1712))
#### Feat
* expose capabilities in GUI ([#1709](https://github.com/truecharts/apps/issues/1709))
<a name="spotweb-0.0.6"></a>
### [spotweb-0.0.6](https://github.com/truecharts/apps/compare/spotweb-0.0.5...spotweb-0.0.6) (2022-01-12)
#### Chore
* update helm general non-major helm releases ([#1704](https://github.com/truecharts/apps/issues/1704))
<a name="spotweb-0.0.5"></a>
### [spotweb-0.0.5](https://github.com/truecharts/apps/compare/spotweb-0.0.4...spotweb-0.0.5) (2022-01-11)
#### Chore
* update helm general non-major helm releases ([#1693](https://github.com/truecharts/apps/issues/1693))
#### Fix
* Add validation to user information ([#1645](https://github.com/truecharts/apps/issues/1645))
<a name="spotweb-0.0.4"></a>
### [spotweb-0.0.4](https://github.com/truecharts/apps/compare/spotweb-0.0.3...spotweb-0.0.4) (2022-01-04)
#### Chore
* update helm general non-major helm releases
<a name="spotweb-0.0.3"></a>
### [spotweb-0.0.3](https://github.com/truecharts/apps/compare/spotweb-0.0.2...spotweb-0.0.3) (2021-12-30)
#### Feat
* Add shlink-web-client ([#1618](https://github.com/truecharts/apps/issues/1618))
<a name="spotweb-0.0.2"></a>
### [spotweb-0.0.2](https://github.com/truecharts/apps/compare/spotweb-0.0.1...spotweb-0.0.2) (2021-12-28)
#### Chore
* update helm general non-major helm releases ([#1623](https://github.com/truecharts/apps/issues/1623))
<a name="spotweb-0.0.1"></a>
### spotweb-0.0.1 (2021-12-28)
#### Feat
* Add Spotweb ([#1617](https://github.com/truecharts/apps/issues/1617))
+7
View File
@@ -0,0 +1,7 @@
# Configuration Options
##### Connecting to other apps
If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our [Linking Apps Internally](https://truecharts.org/manual/Quick-Start%20Guides/06-linking-apps/) quick-start guide.
##### Available config options
In the future this page is going to contain an automated list of options available in the installation/edit UI.
+34
View File
@@ -0,0 +1,34 @@
apiVersion: v2
appVersion: "1.5.1"
kubeVersion: '>=1.16.0-0'
version: 1.0.0
name: spotweb
description: Spotweb is a decentralized usenet community based on the Spotnet protocol.
type: application
home: https://github.com/truecharts/apps/master/charts/incubator/spotweb
icon: https://raw.githubusercontent.com/spotweb/spotweb/9af0ade0f618675206dcf1f744dbb3c1eae70e5a/images/spotnet.gif
keywords:
- usenet
- spotweb
- spotnet
sources:
- https://github.com/spotweb/spotweb
- https://hub.docker.com/r/jbaten/spotweb
- https://github.com/joachimbaten/spotweb-docker
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 9.1.15
- condition: postgresql.enabled
name: postgresql
repository: https://truecharts.org/
version: 7.0.10
maintainers:
- email: info@truecharts.org
name: TrueCharts
url: https://truecharts.org
annotations:
truecharts.org/catagories: |
- media
truecharts.org/SCALE-support: "true"
truecharts.org/grade: U
+40
View File
@@ -0,0 +1,40 @@
# Introduction
Spotweb is a decentralized usenet community based on the Spotnet protocol.
TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation.
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)**
## Source Code
* <https://github.com/spotweb/spotweb>
* <https://hub.docker.com/r/jbaten/spotweb>
* <https://github.com/joachimbaten/spotweb-docker>
## Requirements
Kubernetes: `>=1.16.0-0`
## Dependencies
| Repository | Name | Version |
|------------|------|---------|
| https://library-charts.truecharts.org | common | 9.1.15 |
| https://truecharts.org/ | postgresql | 7.0.10 |
## Installing the Chart
To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/02-Installing-an-App/).
## Upgrading, Rolling Back and Uninstalling the Chart
To upgrade, rollback or delete this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/04-Upgrade-rollback-delete-an-App/).
## Support
- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Adding-TrueCharts/) first.
- See the [Wiki](https://truecharts.org)
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
---
All Rights Reserved - The TrueCharts Project
+44
View File
@@ -0,0 +1,44 @@
# Default Helm-Values
TrueCharts is primarily build to supply TrueNAS SCALE Apps.
However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file.
Most of our Apps also consume our "common" Helm Chart.
If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart.
You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document.
## Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| env.DB_DATABASE | string | `"{{ .Values.postgresql.postgresqlDatabase }}"` | |
| env.DB_ENGINE | string | `"pdo_pgsql"` | |
| env.DB_PORT | string | `"5432"` | |
| env.DB_SCHEMA | string | `"public"` | |
| env.DB_USER | string | `"{{ .Values.postgresql.postgresqlUsername }}"` | |
| env.SPOTWEB_FIRSTNAME | string | `"demo"` | |
| env.SPOTWEB_LASTNAME | string | `"spotweb"` | |
| env.SPOTWEB_MAIL | string | `"demo@spotweb.com"` | |
| env.SPOTWEB_RETRIEVE | string | `"15min"` | |
| env.SPOTWEB_SYSTEMTYPE | string | `"single"` | |
| envValueFrom.DB_HOST.secretKeyRef.key | string | `"plainhost"` | |
| envValueFrom.DB_HOST.secretKeyRef.name | string | `"dbcreds"` | |
| envValueFrom.DB_PASSWORD.secretKeyRef.key | string | `"postgresql-password"` | |
| envValueFrom.DB_PASSWORD.secretKeyRef.name | string | `"dbcreds"` | |
| image.pullPolicy | string | `"IfNotPresent"` | |
| image.repository | string | `"tccr.io/truecharts/spotweb"` | |
| image.tag | string | `"v1.5.1@sha256:75fe32474598f89d7b0741c3b96eeebd6b346da5219e1eabf8ed9e769f7a98f5"` | |
| podSecurityContext.runAsGroup | int | `0` | |
| podSecurityContext.runAsUser | int | `0` | |
| postgresql.enabled | bool | `true` | |
| postgresql.existingSecret | string | `"dbcreds"` | |
| postgresql.postgresqlDatabase | string | `"spotweb"` | |
| postgresql.postgresqlUsername | string | `"spotweb"` | |
| secret.SPOTWEB_PASSWORD | string | `"changeme"` | |
| secret.SPOTWEB_USERNAME | string | `"myawesomeuser"` | |
| securityContext.readOnlyRootFilesystem | bool | `false` | |
| securityContext.runAsNonRoot | bool | `false` | |
| service.main.ports.main.port | int | `10050` | |
| service.main.ports.main.targetPort | int | `80` | |
All Rights Reserved - The TrueCharts Project
+344
View File
@@ -0,0 +1,344 @@
# Include{groups}
portals:
open:
protocols:
- "$kubernetes-resource_configmap_portal_protocol"
host:
- "$kubernetes-resource_configmap_portal_host"
ports:
- "$kubernetes-resource_configmap_portal_port"
questions:
- variable: portal
group: "Container Image"
label: "Configure Portal Button"
schema:
type: dict
hidden: true
attrs:
- variable: enabled
label: "Enable"
description: "enable the portal button"
schema:
hidden: true
editable: false
type: boolean
default: true
# Include{global}
- variable: controller
group: "Controller"
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: advanced
label: "Show Advanced Controller Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: type
description: "Please specify type of workload to deploy"
label: "(Advanced) Controller Type"
schema:
type: string
default: "deployment"
required: true
enum:
- value: "deployment"
description: "Deployment"
- value: "statefulset"
description: "Statefulset"
- value: "daemonset"
description: "Daemonset"
- variable: replicas
description: "Number of desired pod replicas"
label: "Desired Replicas"
schema:
type: int
default: 1
required: true
- variable: strategy
description: "Please specify type of workload to deploy"
label: "(Advanced) Update Strategy"
schema:
type: string
default: "Recreate"
required: true
enum:
- value: "Recreate"
description: "Recreate: Kill existing pods before creating new ones"
- value: "RollingUpdate"
description: "RollingUpdate: Create new pods and then kill old ones"
- value: "OnDelete"
description: "(Legacy) OnDelete: ignore .spec.template changes"
# Include{controllerExpert}
- variable: secret
group: "Container Configuration"
label: "Image Secrets"
schema:
additional_attrs: true
type: dict
attrs:
- variable: SPOTWEB_USERNAME
label: "Admin username"
description: "Username to configure for the admin of this installation."
schema:
type: string
default: ""
valid_chars: ^((?!god|mod|spot|admin|drazix|superuser|supervisor|root|anonymous)[^<>])*$
required: true
- variable: SPOTWEB_PASSWORD
label: "Admin password"
description: "Password to configure for the admin of this installation."
schema:
type: string
default: ""
valid_chars: "[a-zA-Z0-9!@#$%^&*?]{8,}"
private: true
required: true
- variable: env
group: "Container Configuration"
label: "Image Environment"
schema:
additional_attrs: true
type: dict
attrs:
- variable: SPOTWEB_SYSTEMTYPE
label: "System Type"
description: "System type to configure during initialization."
schema:
type: string
required: true
default: "single"
enum:
- value: "single"
description: "Singe User System"
- value: "shared"
description: "Shared System"
- value: "public"
description: "Public System"
- variable: SPOTWEB_FIRSTNAME
label: "Admin first name"
description: "The first name of the admin user."
schema:
type: string
required: true
default: "firstname"
valid_chars: ^([^<>]{2})([^<>]*)$
- variable: SPOTWEB_LASTNAME
label: "Admin last name"
description: "Last name of the admin user."
schema:
type: string
required: true
default: "lastname"
valid_chars: ^([^<>]{2})([^<>]*)$
- variable: SPOTWEB_MAIL
label: "Admin mail adres"
description: "Email adres to configure for the provided admin user."
schema:
type: string
required: true
default: firstname@lastname.com
valid_chars: ^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$
- variable: SPOTWEB_RETRIEVE
label: "SPOTWEB_RETRIEVE"
description: "Schedule on which to automatically retrieve new spots."
schema:
type: string
default: "15min"
enum:
- value: "1min"
description: "Each minute"
- value: "5min"
description: "Every 5 minutes"
- value: "15min"
description: "Every 15 minutes"
- value: "hourly"
description: "Every hour"
- value: "weekly"
description: "Once a week"
- value: "monthly"
description:: "Once a month"
# Include{containerConfig}
- variable: service
group: "Networking and Services"
label: "Configure Service(s)"
schema:
additional_attrs: true
type: dict
attrs:
- variable: main
label: "Main Service"
description: "Spotweb Web UI and API endpoint"
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelector}
- variable: main
label: "Web Interface"
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: "Port"
description: "This port exposes the container port on the service"
schema:
type: int
default: 10050
editable: true
required: true
- variable: advanced
label: "Show Advanced settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: protocol
label: "Port Type"
schema:
type: string
default: "HTTP"
enum:
- value: HTTP
description: "HTTP"
- value: "HTTPS"
description: "HTTPS"
- value: TCP
description: "TCP"
- value: "UDP"
description: "UDP"
- variable: nodePort
label: "Node Port (Optional)"
description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer"
schema:
type: int
min: 9000
max: 65535
- variable: targetPort
label: "Target Port"
description: "The internal(!) port on the container the Application runs on"
schema:
type: int
default: 80
- variable: serviceexpert
group: "Networking and Services"
label: "Show Expert Config"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: hostNetwork
group: "Networking and Services"
label: "Host-Networking (Complicated)"
schema:
type: boolean
default: false
# Include{serviceExpert}
# Include{serviceList}
# Include{persistenceList}
- variable: ingress
label: ""
group: "Ingress"
schema:
additional_attrs: true
type: dict
attrs:
- variable: main
label: "Main Ingress"
schema:
additional_attrs: true
type: dict
attrs:
# Include{ingressDefault}
# Include{ingressTLS}
# Include{ingressTraefik}
# Include{ingressExpert}
# Include{ingressList}
# Include{security}
- variable: advancedSecurity
label: "Show Advanced Security Settings"
group: "Security and Permissions"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: securityContext
label: "Security Context"
schema:
additional_attrs: true
type: dict
attrs:
- variable: privileged
label: "Privileged mode"
schema:
type: boolean
default: false
- variable: readOnlyRootFilesystem
label: "ReadOnly Root Filesystem"
schema:
type: boolean
default: false
- variable: allowPrivilegeEscalation
label: "Allow Privilege Escalation"
schema:
type: boolean
default: false
- variable: runAsNonRoot
label: "runAsNonRoot"
schema:
type: boolean
default: false
# Include{securityContextAdvanced}
- variable: podSecurityContext
group: "Security and Permissions"
label: "Pod Security Context"
schema:
additional_attrs: true
type: dict
attrs:
- variable: runAsUser
label: "runAsUser"
description: "The UserID of the user running the application"
schema:
type: int
default: 0
- variable: runAsGroup
label: "runAsGroup"
description: The groupID this App of the user running the application"
schema:
type: int
default: 0
- variable: fsGroup
label: "fsGroup"
description: "The group that should own ALL storage."
schema:
type: int
default: 568
# Include{podSecurityContextAdvanced}
# Include{resources}
# Include{advanced}
# Include{addons}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{{ include "common.all" . }}
+54
View File
@@ -0,0 +1,54 @@
image:
repository: tccr.io/truecharts/spotweb
pullPolicy: IfNotPresent
tag: v1.5.1@sha256:75fe32474598f89d7b0741c3b96eeebd6b346da5219e1eabf8ed9e769f7a98f5
# See more environment variables in the babybuddy documentation
# https://hub.docker.com/r/jgeusebroek/spotweb
env:
SPOTWEB_SYSTEMTYPE: "single"
SPOTWEB_FIRSTNAME: "demo"
SPOTWEB_LASTNAME: "spotweb"
SPOTWEB_MAIL: "demo@spotweb.com"
SPOTWEB_RETRIEVE: "15min"
DB_ENGINE: "pdo_pgsql"
DB_PORT: "5432"
DB_DATABASE: "{{ .Values.postgresql.postgresqlDatabase }}"
DB_USER: "{{ .Values.postgresql.postgresqlUsername }}"
DB_SCHEMA: "public"
envValueFrom:
DB_PASSWORD:
secretKeyRef:
name: dbcreds
key: postgresql-password
DB_HOST:
secretKeyRef:
name: dbcreds
key: plainhost
secret:
SPOTWEB_USERNAME: "myawesomeuser"
SPOTWEB_PASSWORD: "changeme"
securityContext:
readOnlyRootFilesystem: false
runAsNonRoot: false
podSecurityContext:
runAsUser: 0
runAsGroup: 0
service:
main:
ports:
main:
port: 10050
targetPort: 80
# Enabled postgres
postgresql:
enabled: true
existingSecret: "dbcreds"
postgresqlUsername: spotweb
postgresqlDatabase: spotweb