fix(rcon-webadmin): move to stable. (#3775)

* fix(rcon-webadmin): move to stable.

* Rename README..md to README.md

* fix things

* update docs

* Update charts/stable/rcon-webadmin/docs/installation.md

Signed-off-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com>

Signed-off-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com>
Co-authored-by: Stavros kois <s.kois@outlook.com>
Co-authored-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com>
This commit is contained in:
Xstar97
2022-09-14 18:01:22 -04:00
committed by GitHub
parent 6c68a6c013
commit 9c5d9b50af
12 changed files with 359 additions and 223 deletions

View File

@@ -1,179 +0,0 @@
# Include{groups}
portals:
open:
# Include{portalLink}
questions:
# Include{global}
# Include{controller}
# Include{controllerDeployment}
# Include{replicas}
# Include{replica1}
# Include{strategy}
# Include{recreate}
# Include{controllerExpert}
# Include{controllerExpertExtraArgs}
- variable: env
group: "Container Configuration"
label: "Image Environment"
schema:
additional_attrs: true
type: dict
attrs:
- variable: RWA_ADMIN
label: "RWA_ADMIN"
description: "Container Variable RWAADMIN"
schema:
type: string
default: "TRUE"
- variable: RWA_USERNAME
label: "RWA_USERNAME"
description: "Container Variable RWAUSERNAME"
schema:
type: string
default: "admin"
- variable: RWA_PASSWORD
label: "RWA_PASSWORD"
description: "Container Variable RWAPASSWORD"
schema:
type: string
default: "admin"
- variable: RWA_ENV
label: "RWA_ENV"
description: "Container Variable RWAENV"
schema:
type: string
default: "False"
# Include{containerConfig}
# Include{serviceRoot}
- variable: main
label: "Main Service"
description: "The Primary service on which the healthcheck runs, often the webUI"
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelectorSimple}
# Include{serviceSelectorExtras}
- variable: main
label: "Main Service Port Configuration"
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: 4326
required: true
# Include{advancedPortHTTP}
- variable: targetPort
label: "Target Port"
description: "The internal(!) port on the container the Application runs on"
schema:
type: int
default: 4326
- variable: websocketacces
label: 'websocketacces service'
description: "Container Port 4327"
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelectorSimple}
# Include{serviceSelectorExtras}
- variable: websocketacces
label: "websocketacces Service Port Configuration"
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: 4327
required: true
# Include{advancedPortTCP}
- variable: targetPort
label: "Target Port"
description: "The internal(!) port on the container the Application runs on"
schema:
type: int
default: 4327
# Include{serviceExpertRoot}
default: false
# Include{serviceExpert}
# Include{serviceList}
# Include{persistenceRoot}
- variable: db
label: "db Storage"
description: "Container Path optrcon-web-admindb"
schema:
additional_attrs: true
type: dict
attrs:
# Include{persistenceBasic}
# Include{persistenceAdvanced}
# Include{persistenceList}
# Include{ingressRoot}
- variable: main
label: "Main Ingress"
schema:
additional_attrs: true
type: dict
attrs:
# Include{ingressDefault}
# Include{ingressTLS}
# Include{ingressTraefik}
# Include{ingressExpert}
# Include{ingressList}
# Include{security}
# Include{securityContextAdvancedRoot}
- 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}
# Include{podSecurityContextRoot}
- 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}
# Include{documentation}

View File

@@ -1,37 +0,0 @@
env:
RWA_ADMIN: "TRUE"
RWA_ENV: "False"
RWA_PASSWORD: admin
RWA_USERNAME: admin
image:
pullPolicy: IfNotPresent
repository: tccr.io/truecharts/rcon-webadmin
tag: latest@sha256:1a43f3e778887d61fbdc037c0ead3ffc71fbaf7eb4537ef8b73236772cb2fb8c
persistence:
db:
enabled: true
mountPath: /opt/rcon-web-admin/db
podSecurityContext:
runAsGroup: 0
runAsUser: 0
securityContext:
readOnlyRootFilesystem: false
runAsNonRoot: false
service:
main:
ports:
main:
port: 4326
protocol: HTTP
targetPort: 4326
websocketacces:
enabled: true
ports:
websocketacces:
enabled: true
port: 4327
protocol: TCP
targetPort: 4327
portal:
enabled: true

View File

@@ -1,8 +1,3 @@
annotations:
truecharts.org/SCALE-support: "true"
truecharts.org/catagories: |
- GameServers
- Tools-Utilities
apiVersion: v2
appVersion: "latest"
dependencies:
@@ -11,7 +6,7 @@ dependencies:
version: 10.5.9
deprecated: false
description: "Out of the box, RCON Web Admin can check users for high ping, VAC status, or filter the chat for you around the clock."
home: https://truecharts.org/docs/charts/incubator/rcon-webadmin
home: https://truecharts.org/docs/charts/stable/rcon-webadmin
icon: https://truecharts.org/img/hotlink-ok/chart-icons/rcon-webadmin.png
keywords:
- rcon-webadmin
@@ -28,4 +23,10 @@ sources:
- https://github.com/rcon-web-admin/rcon-web-admin
- https://hub.docker.com/r/itzg/rcon/
type: application
version: 0.0.23
version: 1.0.0
annotations:
truecharts.org/SCALE-support: "true"
truecharts.org/grade: U
truecharts.org/catagories: |
- GameServers
- Tools-Utilities

View File

@@ -0,0 +1,24 @@
# Installation Guide
## Credentials
- Set `RWA USERNAME` to any username for the web interface, defaults to **admin**.
- Set `RWA PASSWORD` to a secure password for the web interface.
- Set `RWA RCON PASSWORD` to the password for the initial RCON server to control.
## Configuration
- Set `RWA ADMIN` to **true** to make the initial user a admin.
- Set `RWA ENV` to **true** to use env variables. Setting this to **false** will use all default values.
- Set `RWA_WEB_RCON` to **true** to enable web rcon _if_ supported by the game server
- Set `RWA_READ_ONLY_WIDGET_OPTIONS` to **true** to prevent the initial user changing options in the widget options tab
- Set `RWA GAME` to a game such as minecraft | rust | csgo | other.
- Set `RWA SERVER NAME` to a custom name for the initial server.
- Set `RWA RCON HOST` To the initial RCON server IP to control. Cluster URL may work, but was not tested.
- Set `RWA RCON PORT` To the port number of the initial RCON server to control.
- Set `RWA_RESTRICT_COMMANDS` to prevent the initial user user executing these commands
- Set `RWA_RESTRICT_WIDGETS` to hide this list of widgets from the initial user
## Notes
- It's assumed that all game servers or services have secure passwords for RCON, blank or no passwords at all will **NOT** work and its advisable to set a secure password for both the web interface of this chart and also the rcon service too.

View File

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 51 KiB

View File

@@ -0,0 +1,257 @@
# Include{groups}
portals:
open:
# Include{portalLink}
questions:
# Include{global}
# Include{controller}
# Include{controllerDeployment}
# Include{replicas}
# Include{replica1}
# Include{strategy}
# Include{recreate}
# Include{controllerExpert}
# Include{controllerExpertExtraArgs}
- variable: secretEnv
group: Container Configuration
label: Image Secrets
schema:
additional_attrs: true
type: dict
attrs:
- variable: RWA_USERNAME
label: RWA USERNAME
description: Sets the initial user's username for the web interface.
schema:
type: string
default: ""
- variable: RWA_PASSWORD
label: RWA PASSWORD
description: Sets the initial user's password for the web interface.
schema:
type: string
default: ""
private: true
required: true
- variable: RWA_RCON_PASSWORD
label: RWA RCON PASSWORD
description: The password for the initial RCON server to control
schema:
type: string
default: ""
private: true
- variable: rcon
group: Container Configuration
label: RCON Configuration
schema:
additional_attrs: true
type: dict
attrs:
- variable: rwa_env
label: RWA ENV
description: Enables configuration by environment variables.
schema:
type: boolean
default: false
- variable: rwa_admin
label: RWA ADMIN
description: Sets the initial user as an admin
schema:
type: boolean
default: true
- variable: rwa_web_rcon
label: RWA WEB RCON
description: Enables web rcon if supported by the game server
schema:
type: boolean
default: false
- variable: rwa_read_only_widget_options
label: RWA READ ONLY WIDGET OPTIONS
description: Prevent the initial user changing options in the widget options tab
schema:
type: boolean
default: false
- variable: rwa_game
label: RWA GAME
description: The initial game you wish to control.
schema:
type: string
default: minecraft
- variable: rwa_server_name
label: RWA SERVER NAME
description: The display name of the initial server
schema:
type: string
default: minecraft
- variable: rwa_rcon_host
label: RWA RCON HOST
description: The initial RCON server IP to control
schema:
type: string
default: ""
- variable: rwa_rcon_port
label: RWA_RCON_PORT
description: The port number of the initial RCON server to control
schema:
type: int
default: 25575
- variable: rwa_restrict_commands
label: RWA RESTRICT COMMANDS
description: Prevent the initial user user executing these commands
schema:
type: list
default: []
items:
- variable: command
label: command
schema:
type: string
required: true
default: ""
- variable: rwa_restrict_widgets
label: RWA RESTRICT WIDGETS
description: Hide this list of widgets from the initial user
schema:
type: list
default: []
items:
- variable: widget
label: widget
schema:
type: string
required: true
default: ""
# Include{containerConfig}
# Include{serviceRoot}
- variable: main
label: Main Service
description: The Primary service on which the healthcheck runs, often the webUI
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelectorSimple}
# Include{serviceSelectorExtras}
- variable: main
label: Main Service Port Configuration
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: 4326
required: true
# Include{advancedPortHTTP}
- variable: targetPort
label: Target Port
description: The internal(!) port on the container the Application runs on
schema:
type: int
default: 4326
- variable: websocketaccess
label: Web Socket Access service
description: Container Port 4327
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelectorSimple}
# Include{serviceSelectorExtras}
- variable: websocketaccess
label: Web Socket Access Service Port Configuration
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: 4327
required: true
# Include{advancedPortTCP}
- variable: targetPort
label: Target Port
description: The internal(!) port on the container the Application runs on
schema:
type: int
default: 4327
# Include{serviceExpertRoot}
default: false
# Include{serviceExpert}
# Include{serviceList}
# Include{persistenceRoot}
- variable: db
label: App DB Storage
description: Stores the Application DB.
schema:
additional_attrs: true
type: dict
attrs:
# Include{persistenceBasic}
# Include{persistenceAdvanced}
# Include{persistenceList}
# Include{ingressRoot}
- variable: main
label: Main Ingress
schema:
additional_attrs: true
type: dict
attrs:
# Include{ingressDefault}
# Include{ingressTLS}
# Include{ingressTraefik}
# Include{ingressExpert}
# Include{ingressList}
# Include{security}
# Include{securityContextAdvancedRoot}
- 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}
# Include{podSecurityContextRoot}
- 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}
# Include{documentation}

View File

@@ -0,0 +1,69 @@
image:
pullPolicy: IfNotPresent
repository: tccr.io/truecharts/rcon-webadmin
tag: latest@sha256:1a43f3e778887d61fbdc037c0ead3ffc71fbaf7eb4537ef8b73236772cb2fb8c
podSecurityContext:
runAsGroup: 0
runAsUser: 0
securityContext:
readOnlyRootFilesystem: false
runAsNonRoot: false
secretEnv:
RWA_USERNAME: admin
RWA_PASSWORD: pass
RWA_RCON_PASSWORD: pass
rcon:
rwa_admin: true
rwa_env: false
rwa_web_rcon: false
rwa_read_only_widget_options: false
rwa_game: minecraft
rwa_server_name: minecraft
rwa_rcon_host: ""
rwa_rcon_port: 25575
rwa_restrict_commands:
- command1
- command2
rwa_restrict_widgets:
- widget1
- widget2
env:
RWA_ADMIN: '{{ ternary "TRUE" "FALSE" .Values.rcon.rwa_admin }}'
RWA_ENV: '{{ ternary "TRUE" "FALSE" .Values.rcon.rwa_env }}'
RWA_WEB_RCON: '{{ ternary "TRUE" "FALSE" .Values.rcon.rwa_web_rcon }}'
RWA_READ_ONLY_WIDGET_OPTIONS: '{{ ternary "TRUE" "FALSE" .Values.rcon.rwa_read_only_widget_options }}'
RWA_GAME: "{{ .Values.rcon.rwa_game }}"
RWA_SERVER_NAME: "{{ .Values.rcon.rwa_server_name }}"
RWA_RCON_HOST: "{{ .Values.rcon.rwa_rcon_host }}"
RWA_RCON_PORT: "{{ .Values.rcon.rwa_rcon_port }}"
RWA_RESTRICT_COMMANDS: '{{ join "," .Values.rcon.rwa_restrict_commands }}'
RWA_RESTRICT_WIDGETS: '{{ join "," .Values.rcon.rwa_restrict_widgets }}'
service:
main:
ports:
main:
port: 4326
protocol: HTTP
targetPort: 4326
websocketaccess:
enabled: true
ports:
websocketaccess:
enabled: true
port: 4327
protocol: TCP
targetPort: 4327
persistence:
db:
enabled: true
mountPath: /opt/rcon-web-admin/db
portal:
enabled: true

View File

@@ -32,6 +32,7 @@ words:
- configmap
- containo
- crossplay
- csgo
- daemonset
- dbcreds
- dbengine