Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9c07f20dab | |||
| 374a825514 | |||
| 790ba2c3de | |||
| 4240cd61ad | |||
| a9f9c29679 | |||
| 70bb07529f | |||
| a4f6f4b06e | |||
| 688a91d04f | |||
| 4212cdc26e | |||
| f33de7c78c | |||
| d0d76fcfd2 | |||
| ec649d8ffd | |||
| 84a3d1880b | |||
| 9956a87818 | |||
| 323bc0f31b | |||
| 64d8b027e9 | |||
| 6c13aec9c1 | |||
| f04c8d7359 | |||
| b5906b613a | |||
| c0f3d2f7d6 | |||
| 73ce3ae97f |
@@ -13,6 +13,7 @@ permissions:
|
|||||||
jobs:
|
jobs:
|
||||||
terraform:
|
terraform:
|
||||||
name: 'Terraform'
|
name: 'Terraform'
|
||||||
|
if: false
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
environment: production
|
environment: production
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
image: &image 'pasarguard/panel:v3.1.0'
|
image: &image 'pasarguard/panel:v4.0.2'
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ metadata:
|
|||||||
app: web-petting
|
app: web-petting
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: web-petting
|
app: web-petting
|
||||||
@@ -16,13 +18,14 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
kubernetes.io/os: linux
|
kubernetes.io/os: linux
|
||||||
|
kubernetes.io/hostname: spb.tail2fe2d.ts.net
|
||||||
volumes:
|
volumes:
|
||||||
- name: data
|
- name: data
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
claimName: web-petting-data
|
claimName: web-petting-data
|
||||||
containers:
|
containers:
|
||||||
- name: web-petting
|
- name: web-petting
|
||||||
image: ultradesu/web-petting:0.1.0
|
image: ultradesu/web-petting:latest
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
args:
|
args:
|
||||||
# - "tail"
|
# - "tail"
|
||||||
|
|||||||
@@ -20,8 +20,21 @@ spec:
|
|||||||
name: web-petting
|
name: web-petting
|
||||||
port:
|
port:
|
||||||
number: 80
|
number: 80
|
||||||
|
- host: xn--l1acako8eb.xn--p1ai
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: web-petting
|
||||||
|
port:
|
||||||
|
number: 80
|
||||||
tls:
|
tls:
|
||||||
- secretName: web-petting-tls
|
- secretName: web-petting-tls
|
||||||
hosts:
|
hosts:
|
||||||
- pet.hexor.cy
|
- pet.hexor.cy
|
||||||
|
- secretName: web-petting-murnyanya-tls
|
||||||
|
hosts:
|
||||||
|
- xn--l1acako8eb.xn--p1ai
|
||||||
|
|
||||||
|
|||||||
@@ -23,14 +23,22 @@ configs:
|
|||||||
admin.enabled: false
|
admin.enabled: false
|
||||||
statusbadge.enabled: true
|
statusbadge.enabled: true
|
||||||
timeout.reconciliation: 60s
|
timeout.reconciliation: 60s
|
||||||
oidc.config: |
|
dex.config: |
|
||||||
name: Keycloak
|
connectors:
|
||||||
issuer: https://auth.hexor.cy/auth/realms/hexor
|
- type: oidc
|
||||||
clientID: $oidc-creds:id
|
id: keycloak
|
||||||
clientSecret: $oidc-creds:secret
|
name: Keycloak
|
||||||
requestedScopes: ["openid", "profile", "email", "offline_access"]
|
config:
|
||||||
requestedIDTokenClaims: {"groups": {"essential": true}}
|
issuer: https://auth.hexor.cy/auth/realms/hexor
|
||||||
refreshTokenThreshold: 2m
|
clientID: $oidc-creds:id
|
||||||
|
clientSecret: $oidc-creds:secret
|
||||||
|
insecureEnableGroups: true
|
||||||
|
scopes:
|
||||||
|
- openid
|
||||||
|
- profile
|
||||||
|
- email
|
||||||
|
- offline_access
|
||||||
|
getUserInfo: true
|
||||||
rbac:
|
rbac:
|
||||||
create: true
|
create: true
|
||||||
policy.default: ""
|
policy.default: ""
|
||||||
@@ -64,7 +72,7 @@ dex:
|
|||||||
replicas: 1
|
replicas: 1
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
<<: *nodeSelector
|
<<: *nodeSelector
|
||||||
enabled: false
|
enabled: true
|
||||||
|
|
||||||
# Standard Redis disabled because Redis HA is enabled
|
# Standard Redis disabled because Redis HA is enabled
|
||||||
redis:
|
redis:
|
||||||
|
|||||||
@@ -35,4 +35,6 @@ spec:
|
|||||||
dnsZones:
|
dnsZones:
|
||||||
- "*.hexor.cy"
|
- "*.hexor.cy"
|
||||||
- "hexor.cy"
|
- "hexor.cy"
|
||||||
|
- "*.xn--l1acako8eb.xn--p1ai"
|
||||||
|
- "xn--l1acako8eb.xn--p1ai"
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
|
|
||||||
|
|
||||||
alertmanager:
|
alertmanager:
|
||||||
config:
|
config:
|
||||||
global:
|
global:
|
||||||
@@ -109,18 +108,27 @@ grafana:
|
|||||||
|
|
||||||
grafana.ini:
|
grafana.ini:
|
||||||
auth:
|
auth:
|
||||||
signout_redirect_url: https://idm.hexor.cy/application/o/grafana/end-session/
|
signout_redirect_url: https://auth.hexor.cy/auth/realms/hexor/protocol/openid-connect/logout?post_logout_redirect_uri=https%3A%2F%2Fgf.hexor.cy%2Flogin&client_id=Grafana
|
||||||
|
oauth_allow_insecure_email_lookup: true
|
||||||
auth.generic_oauth:
|
auth.generic_oauth:
|
||||||
name: authentik
|
name: Keycloak
|
||||||
enabled: true
|
enabled: true
|
||||||
scopes: "openid profile email"
|
scopes: "openid profile email"
|
||||||
auth_url: https://idm.hexor.cy/application/o/authorize/
|
allow_sign_up: true
|
||||||
token_url: https://idm.hexor.cy/application/o/token/
|
auth_url: https://auth.hexor.cy/auth/realms/hexor/protocol/openid-connect/auth
|
||||||
api_url: https://idm.hexor.cy/application/o/userinfo/
|
token_url: https://auth.hexor.cy/auth/realms/hexor/protocol/openid-connect/token
|
||||||
|
api_url: https://auth.hexor.cy/auth/realms/hexor/protocol/openid-connect/userinfo
|
||||||
|
email_attribute_path: email
|
||||||
|
login_attribute_path: preferred_username
|
||||||
|
name_attribute_path: name
|
||||||
role_attribute_path: >-
|
role_attribute_path: >-
|
||||||
contains(groups, 'Grafana Admin') && 'Admin' ||
|
contains(groups[*], 'hexor-admin') && 'Admin' ||
|
||||||
contains(groups, 'Grafana Editors') && 'Editor' ||
|
contains(groups[*], 'hexor-guest') && 'Viewer' ||
|
||||||
contains(groups, 'Grafana Viewer') && 'Viewer'
|
'Viewer'
|
||||||
|
role_attribute_strict: false
|
||||||
|
log:
|
||||||
|
level: debug
|
||||||
|
filters: "oauth.generic_oauth:debug"
|
||||||
database:
|
database:
|
||||||
type: postgres
|
type: postgres
|
||||||
host: psql.psql.svc:5432
|
host: psql.psql.svc:5432
|
||||||
|
|||||||
@@ -43,23 +43,6 @@ proxy_applications = {
|
|||||||
access_groups = ["admins"]
|
access_groups = ["admins"]
|
||||||
}
|
}
|
||||||
|
|
||||||
"kubernetes-secrets" = {
|
|
||||||
name = "kubernetes-secrets"
|
|
||||||
slug = "k8s-secret"
|
|
||||||
group = "Core"
|
|
||||||
external_host = "https://pass.hexor.cy"
|
|
||||||
internal_host = "http://secret-reader.k8s-secret.svc:80"
|
|
||||||
internal_host_ssl_validation = false
|
|
||||||
meta_description = ""
|
|
||||||
skip_path_regex = <<-EOT
|
|
||||||
/webhook
|
|
||||||
EOT
|
|
||||||
meta_icon = "https://img.icons8.com/ios-filled/50/password.png"
|
|
||||||
mode = "proxy"
|
|
||||||
outpost = "kubernetes-outpost"
|
|
||||||
create_group = true
|
|
||||||
access_groups = ["admins"]
|
|
||||||
}
|
|
||||||
"mtproxy-links" = {
|
"mtproxy-links" = {
|
||||||
name = "mtproxy-links"
|
name = "mtproxy-links"
|
||||||
slug = "mtproxy-links"
|
slug = "mtproxy-links"
|
||||||
|
|||||||
@@ -167,9 +167,7 @@ resource "keycloak_openid_client_optional_scopes" "oauth2_app" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
resource "keycloak_group" "oauth2_app" {
|
resource "keycloak_group" "oauth2_app" {
|
||||||
for_each = {
|
for_each = var.oauth2_applications
|
||||||
for k, v in var.oauth2_applications : k => v if length(v.allowed_groups) > 0
|
|
||||||
}
|
|
||||||
|
|
||||||
realm_id = keycloak_realm.hexor.id
|
realm_id = keycloak_realm.hexor.id
|
||||||
name = "app-${each.key}"
|
name = "app-${each.key}"
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ oauth2_applications = {
|
|||||||
post_logout_redirect_uris = ["https://gt.hexor.cy/*"]
|
post_logout_redirect_uris = ["https://gt.hexor.cy/*"]
|
||||||
}
|
}
|
||||||
ArgoCD = {
|
ArgoCD = {
|
||||||
redirect_uris = ["https://ag.hexor.cy/auth/callback"]
|
redirect_uris = ["https://ag.hexor.cy/api/dex/callback"]
|
||||||
web_origins = ["https://ag.hexor.cy"]
|
web_origins = ["https://ag.hexor.cy"]
|
||||||
post_logout_redirect_uris = ["https://ag.hexor.cy/*"]
|
post_logout_redirect_uris = ["https://ag.hexor.cy/*"]
|
||||||
extra_optional_scopes = ["offline_access"]
|
extra_optional_scopes = ["offline_access"]
|
||||||
|
|||||||
Reference in New Issue
Block a user