feat(apps): Unraid Port - A (#2438)

* feat(apps): Unraid Port - A

* fix some minimal issues with naming

* cleanup unwanted Apps

* fix some weirdness

* fix some more issues with the parser

* fixes

* use tccr

* some fixes

* fix some things

* fix current issues

* patches

* NUKE AD SHIT
This commit is contained in:
Kjeld Schouten-Lebbing
2022-04-08 12:15:01 +02:00
committed by GitHub
parent 36ef2b7f48
commit 76a2e81774
225 changed files with 16040 additions and 2 deletions
+26
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
+34
View File
@@ -0,0 +1,34 @@
annotations:
truecharts.org/SCALE-support: 'true'
truecharts.org/catagories: |
- Network-Other
- Productivity
- Tools-Utilities
truecharts.org/grade: U
apiVersion: v2
appVersion: 0.0.1
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 9.2.6
deprecated: false
description: "Anope is a set of IRC Services designed for flexibility and ease of\
\ use.\r\n"
home: https://github.com/truecharts/apps/tree/master/charts/stable/anope
icon: https://truecharts.org/_static/img/appicons/anope.png
keywords:
- anope
- Network-Other
- Productivity
- Tools-Utilities
kubeVersion: '>=1.16.0-0'
maintainers:
- email: info@truecharts.org
name: TrueCharts
url: https://truecharts.org
name: anope
sources:
- https://thelounge.chat/
- https://hub.docker.com/r/ich777/anope
type: application
version: 0.0.1
Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

+290
View File
@@ -0,0 +1,290 @@
# Include{groups}
portals: {}
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: false
# 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: env
group: "Container Configuration"
label: "Image Environment"
schema:
additional_attrs: true
type: dict
attrs:
- variable: HOST
label: 'HOST'
description: "Specify the full hostname from your IRCd (must be the same as configured in your IRCd Server)."
schema:
type: string
default: "irc.example.com"
- variable: IP_ADDR
label: 'IP_ADDR'
description: "Specify the IP Address from your IRCd (if you run it on Unraid it is usually the IP address of Unraid)."
schema:
type: string
default: ""
- variable: SSL
label: 'SSL'
description: "Use SSL to establish the connection (if your IRCd is on the same network this is no problem since Anope talks internally to your IRCd - use this carefully since you have to configure some extra settings in the services.conf itself - valid options are yes or no)."
schema:
type: string
default: "yes"
- variable: PORT
label: 'PORT'
description: "The Server port of your IRCd (usually 7000 is without SSL - this is be no proble if you connect it to your internal network since it only talks internally to your IRCd - if you want to enable SSL you have to configure some extra settings in the services.conf itself)."
schema:
type: string
default: "7000"
- variable: PASSWORD
label: 'PASSWORD'
description: "This have to be the same as your IRCd Service Password (if you are using InspIRCd click on Show more Settings)."
schema:
type: string
default: ""
- variable: IRCD
label: 'IRCD'
description: "Set your IRCd type (valid options are bahamut, charybdis, hybrid, inspircd12, inspircd20, inspircd3, ngircd, plexus, ratbox, unreal (for 3.2.x), unreal4)"
schema:
type: string
default: "inspircd3"
- variable: CASEMAP
label: 'CASEMAP'
description: "Specify the casemap of your IRCd (if you use InspIRCd the default value is rfc1459 other clients often use for example ascii)"
schema:
type: string
default: "rfc1459"
- variable: LOCAL_HOSTNAME
label: 'LOCAL_HOSTNAME'
description: "Specify the hostname where Anope is available (this has to be something different than your IRCd hostname, you dont have to make it reachable from outside or create any port forwarding - leave this value as it is)"
schema:
type: string
default: "services"
- variable: UMASK
label: 'UMASK'
description: "Container Variable UMASK"
schema:
type: string
default: "000"
- variable: DATA_PERM
label: 'DATA_PERM'
description: "Container Variable DATAPERM"
schema:
type: string
default: "770"
- 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}
- variable: persistence
label: "Integrated Persistent Storage"
description: "Integrated Persistent Storage"
group: "Storage and Persistence"
schema:
additional_attrs: true
type: dict
attrs:
- variable: datapath
label: "datapath Storage"
description: "Data Path"
schema:
additional_attrs: true
type: dict
attrs:
- variable: type
label: "Type of Storage"
description: "Sets the persistence type, Anything other than PVC could break rollback!"
schema:
type: string
default: "simplePVC"
enum:
- value: "simplePVC"
description: "PVC (simple)"
- value: "simpleHP"
description: "HostPath (simple)"
- value: "emptyDir"
description: "emptyDir"
- value: "pvc"
description: "pvc"
- value: "hostPath"
description: "hostPath"
# Include{persistenceBasic}
- variable: hostPath
label: "hostPath"
description: "Path inside the container the storage is mounted"
schema:
show_if: [["type", "=", "hostPath"]]
type: hostpath
- variable: medium
label: "EmptyDir Medium"
schema:
show_if: [["type", "=", "emptyDir"]]
type: string
default: ""
enum:
- value: ""
description: "Default"
- value: "Memory"
description: "Memory"
# Include{persistenceAdvanced}
# Include{persistenceList}
# 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}
View File
+2
View File
@@ -0,0 +1,2 @@
{{/* Render the templates */}}
{{ include "common.all" . }}
+31
View File
@@ -0,0 +1,31 @@
env:
CASEMAP: rfc1459
DATA_PERM: '770'
HOST: irc.example.com
IP_ADDR: ''
IRCD: inspircd3
LOCAL_HOSTNAME: services
PASSWORD: ''
PORT: '7000'
SSL: 'yes'
UMASK: '000'
image:
pullPolicy: IfNotPresent
repository: tccr.io/truecharts/anope
tag: latest
persistence:
datapath:
enabled: true
mountPath: /anope
podSecurityContext:
runAsGroup: 0
runAsUser: 0
securityContext:
readOnlyRootFilesystem: false
runAsNonRoot: false
service:
main:
enabled: false
ports:
main:
enabled: false