Compare commits

..

6 Commits

Author SHA1 Message Date
Gitea Actions Bot
a7bcd74509 Auto-update README with current k8s applications
All checks were successful
Terraform / Terraform (pull_request) Successful in 46s
Generated by CI/CD workflow on 2025-11-24 16:40:09

This PR updates the README.md file with the current list of applications found in the k8s/ directory structure.
2025-11-24 16:40:09 +00:00
Ultradesu
6cf7a68ad7 Added user UI remnawave
Some checks failed
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Has been cancelled
Check with kubeconform / lint (push) Successful in 14s
Auto-update README / Generate README and Create MR (push) Successful in 12s
2025-11-24 18:38:54 +02:00
Ultradesu
b82407f31f Added user UI remnawave
All checks were successful
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 12s
Check with kubeconform / lint (push) Successful in 15s
Auto-update README / Generate README and Create MR (push) Successful in 15s
2025-11-24 18:33:39 +02:00
ab
117583e660 Update terraform/authentik/proxy-apps.tfvars
All checks were successful
Terraform / Terraform (push) Successful in 40s
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 12s
2025-11-24 15:08:49 +00:00
ab
70d31aae17 Update k8s/core/authentik/values.yaml
All checks were successful
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 13s
Check with kubeconform / lint (push) Successful in 14s
Auto-update README / Generate README and Create MR (push) Successful in 13s
2025-11-24 15:06:20 +00:00
ab
9066b3f624 Update terraform/authentik/proxy-apps.tfvars
All checks were successful
Terraform / Terraform (push) Successful in 46s
Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Successful in 12s
2025-11-24 15:03:55 +00:00
7 changed files with 153 additions and 1 deletions

View File

@@ -12,7 +12,7 @@ spec:
data:
METRICS_USER: admin
FRONT_END_DOMAIN: rw.hexor.cy
SUB_PUBLIC_DOMAIN: rw.hexor.cy/api/sub
SUB_PUBLIC_DOMAIN: sub.hexor.cy
REDIS_HOST: remnawave-redis
REDIS_PORT: "6379"

View File

@@ -0,0 +1,37 @@
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: remnawave-tls-ingress
annotations:
ingressClassName: traefik
cert-manager.io/cluster-issuer: letsencrypt
traefik.ingress.kubernetes.io/router.middlewares: kube-system-https-redirect@kubernetescrd
acme.cert-manager.io/http01-edit-in-place: "true"
spec:
rules:
- host: sub.hexor.cy
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: remnawave-subscription-page
port:
number: 3010
- host: sub.hexor.ru
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: remnawave-subscription-page
port:
number: 3010
tls:
- secretName: remnawave-tls
hosts:
- sub.hexor.cy
- sub.hexor.ru

View File

@@ -5,4 +5,6 @@ resources:
- ./external-secrets.yaml
- ./deployment.yaml
- ./redis-deployment.yaml
- ./subscription-page-configmap.yaml
- ./subscription-page-deployment.yaml
- ./servicemonitor.yaml

View File

@@ -0,0 +1,27 @@
---
apiVersion: v1
kind: ConfigMap
metadata:
name: remnawave-subscription-page-config
labels:
app: remnawave-subscription-page
data:
APP_PORT: "3010"
REMNAWAVE_PANEL_URL: "http://remnawave.remnawave.svc:3000"
META_TITLE: "RemnaWave Subscription"
META_DESCRIPTION: "Your VPN subscription portal"
META_KEYWORDS: "vpn,subscription,remnawave"
META_AUTHOR: "RemnaWave"
ENABLE_ANALYTICS: "false"
ANALYTICS_MEASUREMENT_ID: ""
CUSTOM_SUB_PREFIX: ""
THEME: "dark"
CUSTOM_LOGO_URL: ""
SHOW_SUBSCRIPTION_INFO: "true"
SHOW_CONNECTION_INFO: "true"
SHOW_QR_CODE: "true"
QR_CODE_SIZE: "256"
REFRESH_INTERVAL: "30000"
SUBSCRIPTION_TEXT_COLOR: "#ffffff"
BACKGROUND_COLOR: "#1a1a1a"
ACCENT_COLOR: "#007bff"

View File

@@ -0,0 +1,68 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: remnawave-subscription-page
labels:
app: remnawave-subscription-page
spec:
selector:
matchLabels:
app: remnawave-subscription-page
replicas: 1
strategy:
type: RollingUpdate
template:
metadata:
labels:
app: remnawave-subscription-page
spec:
containers:
- name: subscription-page
image: 'remnawave/subscription-page:latest'
imagePullPolicy: Always
envFrom:
- configMapRef:
name: remnawave-subscription-page-config
ports:
- name: http
containerPort: 3010
protocol: TCP
livenessProbe:
httpGet:
path: /
port: 3010
initialDelaySeconds: 30
periodSeconds: 30
timeoutSeconds: 5
failureThreshold: 3
readinessProbe:
httpGet:
path: /
port: 3010
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 3
failureThreshold: 3
resources:
requests:
memory: "64Mi"
cpu: "50m"
limits:
memory: "256Mi"
cpu: "200m"
---
apiVersion: v1
kind: Service
metadata:
name: remnawave-subscription-page
labels:
app: remnawave-subscription-page
spec:
selector:
app: remnawave-subscription-page
ports:
- name: http
protocol: TCP
port: 3010
targetPort: 3010

View File

@@ -47,6 +47,7 @@ server:
- minecraft.hexor.cy # Minecraft UI and server
- pass.hexor.cy # k8s-secret for openai
- ps.hexor.cy # pasarguard UI
# - rw.hexor.cy # RemnaWave UI
tls:
- secretName: idm-tls
hosts:

View File

@@ -206,5 +206,22 @@ EOT
create_group = true
access_groups = ["admins"]
}
"remnawave" = {
name = "RemnaWave"
slug = "remnawave"
group = "Tools"
external_host = "https://rw.hexor.cy"
internal_host = "http://remnawave.remnawave.svc:3000"
internal_host_ssl_validation = false
meta_description = ""
skip_path_regex = <<-EOT
/api/sub/
EOT
meta_icon = "https://camo.githubusercontent.com/0fbcff9dfaebb0363774139d00ef58d7f128eed3ddabaaf2bf7d18b68fd296a1/68747470733a2f2f63646e2e72656d6e612e73742f6c6f676f732f6c6f676f2e737667"
mode = "proxy"
outpost = "kubernetes-outpost"
create_group = true
access_groups = ["admins"]
}
}