Move Studio tools to customer-facing routes

This commit is contained in:
Arvind Prabhakar 2026-09-05 20:35:02 +00:00
commit 6b87b1a39b
24 changed files with 49 additions and 34 deletions

View file

@ -6,7 +6,7 @@ metadata:
spec: spec:
project: platform project: platform
source: source:
repoURL: https://www.symcrest.com/internal/dev/git/symcrest/k8s-platform.git repoURL: http://forgejo.forgejo.svc.cluster.local:3000/symcrest/k8s-platform.git
targetRevision: main targetRevision: main
path: infrastructure/external-secrets path: infrastructure/external-secrets
destination: destination:

View file

@ -6,7 +6,7 @@ metadata:
spec: spec:
project: platform project: platform
source: source:
repoURL: https://www.symcrest.com/internal/dev/git/symcrest/k8s-platform.git repoURL: http://forgejo.forgejo.svc.cluster.local:3000/symcrest/k8s-platform.git
targetRevision: main targetRevision: main
path: infrastructure/gateway/envoy path: infrastructure/gateway/envoy
directory: directory:

View file

@ -6,7 +6,7 @@ metadata:
spec: spec:
project: platform project: platform
source: source:
repoURL: https://www.symcrest.com/internal/dev/git/symcrest/k8s-platform.git repoURL: http://forgejo.forgejo.svc.cluster.local:3000/symcrest/k8s-platform.git
targetRevision: main targetRevision: main
path: rendered/longhorn path: rendered/longhorn
destination: destination:

View file

@ -6,7 +6,7 @@ metadata:
spec: spec:
project: platform project: platform
source: source:
repoURL: https://www.symcrest.com/internal/dev/git/symcrest/k8s-platform.git repoURL: http://forgejo.forgejo.svc.cluster.local:3000/symcrest/k8s-platform.git
targetRevision: main targetRevision: main
path: infrastructure/namespaces path: infrastructure/namespaces
destination: destination:

View file

@ -6,7 +6,7 @@ metadata:
spec: spec:
project: platform project: platform
source: source:
repoURL: https://www.symcrest.com/internal/dev/git/symcrest/k8s-platform.git repoURL: http://forgejo.forgejo.svc.cluster.local:3000/symcrest/k8s-platform.git
targetRevision: main targetRevision: main
path: infrastructure/network-policies path: infrastructure/network-policies
destination: destination:

View file

@ -6,7 +6,7 @@ metadata:
spec: spec:
project: platform project: platform
source: source:
repoURL: https://www.symcrest.com/internal/dev/git/symcrest/k8s-platform.git repoURL: http://forgejo.forgejo.svc.cluster.local:3000/symcrest/k8s-platform.git
targetRevision: main targetRevision: main
path: rendered/argocd path: rendered/argocd
destination: destination:

View file

@ -6,7 +6,7 @@ metadata:
spec: spec:
project: platform project: platform
source: source:
repoURL: https://www.symcrest.com/internal/dev/git/symcrest/k8s-platform.git repoURL: http://forgejo.forgejo.svc.cluster.local:3000/symcrest/k8s-platform.git
targetRevision: main targetRevision: main
path: rendered/forgejo path: rendered/forgejo
destination: destination:

View file

@ -6,7 +6,7 @@ metadata:
spec: spec:
project: platform project: platform
source: source:
repoURL: https://www.symcrest.com/internal/dev/git/symcrest/k8s-platform.git repoURL: http://forgejo.forgejo.svc.cluster.local:3000/symcrest/k8s-platform.git
targetRevision: main targetRevision: main
path: rendered/pgadmin path: rendered/pgadmin
destination: destination:

View file

@ -6,7 +6,7 @@ metadata:
spec: spec:
project: platform project: platform
source: source:
repoURL: https://www.symcrest.com/internal/dev/git/symcrest/k8s-platform.git repoURL: http://forgejo.forgejo.svc.cluster.local:3000/symcrest/k8s-platform.git
targetRevision: main targetRevision: main
path: rendered/platform-minio path: rendered/platform-minio
destination: destination:

View file

@ -6,7 +6,7 @@ metadata:
spec: spec:
project: platform project: platform
source: source:
repoURL: https://www.symcrest.com/internal/dev/git/symcrest/k8s-platform.git repoURL: http://forgejo.forgejo.svc.cluster.local:3000/symcrest/k8s-platform.git
targetRevision: main targetRevision: main
path: rendered/platform-postgres path: rendered/platform-postgres
destination: destination:

View file

@ -6,7 +6,7 @@ metadata:
spec: spec:
project: platform project: platform
source: source:
repoURL: https://www.symcrest.com/internal/dev/git/symcrest/k8s-platform.git repoURL: http://forgejo.forgejo.svc.cluster.local:3000/symcrest/k8s-platform.git
targetRevision: main targetRevision: main
path: rendered/platform-rabbitmq path: rendered/platform-rabbitmq
destination: destination:

View file

@ -6,7 +6,7 @@ metadata:
spec: spec:
project: platform project: platform
source: source:
repoURL: https://www.symcrest.com/internal/dev/git/symcrest/k8s-platform.git repoURL: http://forgejo.forgejo.svc.cluster.local:3000/symcrest/k8s-platform.git
targetRevision: main targetRevision: main
path: rendered/platform-redis path: rendered/platform-redis
destination: destination:

View file

@ -6,7 +6,7 @@ metadata:
spec: spec:
project: platform project: platform
source: source:
repoURL: https://www.symcrest.com/internal/dev/git/symcrest/k8s-platform.git repoURL: http://forgejo.forgejo.svc.cluster.local:3000/symcrest/k8s-platform.git
targetRevision: main targetRevision: main
path: rendered/symcrest-web path: rendered/symcrest-web
destination: destination:

View file

@ -6,7 +6,7 @@ metadata:
spec: spec:
project: platform project: platform
source: source:
repoURL: https://www.symcrest.com/internal/dev/git/symcrest/k8s-platform.git repoURL: http://forgejo.forgejo.svc.cluster.local:3000/symcrest/k8s-platform.git
targetRevision: main targetRevision: main
path: argocd-apps path: argocd-apps
directory: directory:

View file

@ -17,7 +17,7 @@ route:
gatewayNamespace: apps gatewayNamespace: apps
hostnames: hostnames:
- www.symcrest.com - www.symcrest.com
basePath: /internal/dev/git basePath: /services/studio/forgejo
serviceName: forgejo serviceName: forgejo
servicePort: 3000 servicePort: 3000

View file

@ -1,7 +1,7 @@
openproject: openproject:
https: true https: true
host: www.symcrest.com host: www.symcrest.com
railsRelativeUrlRoot: /internal/dev/projectmanagement railsRelativeUrlRoot: /services/studio/openproject
extraEnvVarsSecret: openproject-postgres-secret extraEnvVarsSecret: openproject-postgres-secret

View file

@ -1,6 +1,6 @@
hostnames: hostnames:
- www.symcrest.com - www.symcrest.com
basePath: /internal/dev/projectmanagement basePath: /services/studio/openproject
gateway: gateway:
name: public-gateway name: public-gateway
namespace: apps namespace: apps

View file

@ -21,6 +21,6 @@ route:
gatewayNamespace: apps gatewayNamespace: apps
hostnames: hostnames:
- www.symcrest.com - www.symcrest.com
basePath: /internal/dev/dbadmin/postgres basePath: /services/studio/pgadmin
serviceName: pgadmin serviceName: pgadmin
servicePort: 80 servicePort: 80

View file

@ -13,15 +13,30 @@ spec:
- matches: - matches:
- path: - path:
type: Exact type: Exact
value: /internal/dev/git value: /services/studio/forgejo
filters: filters:
- type: RequestRedirect - type: RequestRedirect
requestRedirect: requestRedirect:
path: path:
type: ReplaceFullPath type: ReplaceFullPath
replaceFullPath: /internal/dev/git/ replaceFullPath: /services/studio/forgejo/
statusCode: 301 statusCode: 301
- matches:
- path:
type: PathPrefix
value: /services/studio/forgejo/
filters:
- type: URLRewrite
urlRewrite:
path:
type: ReplacePrefixMatch
replacePrefixMatch: /
backendRefs:
- name: forgejo
port: 3000
# Temporary compatibility path for Argo CD and existing Git remotes.
- matches: - matches:
- path: - path:
type: PathPrefix type: PathPrefix

View file

@ -13,7 +13,7 @@ spec:
- matches: - matches:
- path: - path:
type: PathPrefix type: PathPrefix
value: /internal/dev/projectmanagement value: /services/studio/openproject
backendRefs: backendRefs:
- name: openproject - name: openproject
port: 8080 port: 8080

View file

@ -13,19 +13,19 @@ spec:
- matches: - matches:
- path: - path:
type: Exact type: Exact
value: /internal/dev/dbadmin/postgres value: /services/studio/pgadmin
filters: filters:
- type: RequestRedirect - type: RequestRedirect
requestRedirect: requestRedirect:
path: path:
type: ReplaceFullPath type: ReplaceFullPath
replaceFullPath: /internal/dev/dbadmin/postgres/ replaceFullPath: /services/studio/pgadmin/
statusCode: 301 statusCode: 301
- matches: - matches:
- path: - path:
type: PathPrefix type: PathPrefix
value: /internal/dev/dbadmin/postgres/ value: /services/studio/pgadmin/
backendRefs: backendRefs:
- name: pgadmin - name: pgadmin
port: 80 port: 80

View file

@ -59,7 +59,7 @@ spec:
containerPort: 22 containerPort: 22
env: env:
- name: FORGEJO__server__ROOT_URL - name: FORGEJO__server__ROOT_URL
value: "https://www.symcrest.com/internal/dev/git/" value: "https://www.symcrest.com/services/studio/forgejo/"
- name: FORGEJO__server__HTTP_PORT - name: FORGEJO__server__HTTP_PORT
value: "3000" value: "3000"
- name: FORGEJO__database__DB_TYPE - name: FORGEJO__database__DB_TYPE

View file

@ -83,7 +83,7 @@ stringData:
OPENPROJECT_HOST__NAME: "www.symcrest.com" OPENPROJECT_HOST__NAME: "www.symcrest.com"
OPENPROJECT_HSTS: "true" OPENPROJECT_HSTS: "true"
OPENPROJECT_RAILS__CACHE__STORE: "memcache" OPENPROJECT_RAILS__CACHE__STORE: "memcache"
OPENPROJECT_RAILS__RELATIVE__URL__ROOT: "/internal/dev/projectmanagement" OPENPROJECT_RAILS__RELATIVE__URL__ROOT: "/services/studio/openproject"
POSTGRES_STATEMENT_TIMEOUT: "120s" POSTGRES_STATEMENT_TIMEOUT: "120s"
... ...
--- ---
@ -124,7 +124,7 @@ metadata:
"helm.sh/resource-policy": "keep" "helm.sh/resource-policy": "keep"
data: # reset data to make sure only keys defined below remain data: # reset data to make sure only keys defined below remain
stringData: stringData:
secret-key-base: ydQvzBCGhvxuoMLCB25TOfqfMAzCgROooYKzWeac2MSQ6I1YCa62HQw5KFTyHaRU secret-key-base: 2NvoLwisgyb1TI1TFHbiJ07gQn5lkIBuzxehR4Wea1DpsYpD3Rh3xfaIgkT2Tmzu
... ...
--- ---
# Source: openproject/templates/persistentvolumeclaim.yaml # Source: openproject/templates/persistentvolumeclaim.yaml
@ -331,7 +331,7 @@ spec:
# annotate pods with env value checksums so changes trigger re-deployments # annotate pods with env value checksums so changes trigger re-deployments
checksum/env-core: 4d455db544e55fa9615b889773dff0800b54259754f45df6e95a050e1f9e581f checksum/env-core: 2d0e679fb4fde1d473b3f274fa94ae520dd26c1045409de808b7562f7b64a454
checksum/env-memcached: fd1a022eb3ba9e1437809d0177660fdab3ae79b4fcfbee2f8ec1264ee0aa944d checksum/env-memcached: fd1a022eb3ba9e1437809d0177660fdab3ae79b4fcfbee2f8ec1264ee0aa944d
checksum/env-oidc: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b checksum/env-oidc: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
checksum/env-s3: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b checksum/env-s3: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
@ -546,7 +546,7 @@ spec:
# annotate pods with env value checksums so changes trigger re-deployments # annotate pods with env value checksums so changes trigger re-deployments
checksum/env-core: 4d455db544e55fa9615b889773dff0800b54259754f45df6e95a050e1f9e581f checksum/env-core: 2d0e679fb4fde1d473b3f274fa94ae520dd26c1045409de808b7562f7b64a454
checksum/env-memcached: fd1a022eb3ba9e1437809d0177660fdab3ae79b4fcfbee2f8ec1264ee0aa944d checksum/env-memcached: fd1a022eb3ba9e1437809d0177660fdab3ae79b4fcfbee2f8ec1264ee0aa944d
checksum/env-oidc: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b checksum/env-oidc: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
checksum/env-s3: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b checksum/env-s3: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
@ -722,7 +722,7 @@ spec:
protocol: TCP protocol: TCP
livenessProbe: livenessProbe:
httpGet: httpGet:
path: "/internal/dev/projectmanagement/health_checks/default" path: "/services/studio/openproject/health_checks/default"
port: 8080 port: 8080
httpHeaders: httpHeaders:
# required otherwise health check will return 404 because health check is done using the Pod IP, which may cause issues with downstream variants # required otherwise health check will return 404 because health check is done using the Pod IP, which may cause issues with downstream variants
@ -735,7 +735,7 @@ spec:
successThreshold: 1 successThreshold: 1
readinessProbe: readinessProbe:
httpGet: httpGet:
path: "/internal/dev/projectmanagement/health_checks/default" path: "/services/studio/openproject/health_checks/default"
port: 8080 port: 8080
httpHeaders: httpHeaders:
# required otherwise health check will return 404 because health check is done using the Pod IP, which may cause issues with downstream variants # required otherwise health check will return 404 because health check is done using the Pod IP, which may cause issues with downstream variants
@ -748,7 +748,7 @@ spec:
successThreshold: 1 successThreshold: 1
startupProbe: startupProbe:
httpGet: httpGet:
path: "/internal/dev/projectmanagement/health_checks/default" path: "/services/studio/openproject/health_checks/default"
port: 8080 port: 8080
httpHeaders: httpHeaders:
# required otherwise health check will return 404 because health check is done using the Pod IP, which may cause issues with downstream variants # required otherwise health check will return 404 because health check is done using the Pod IP, which may cause issues with downstream variants
@ -797,7 +797,7 @@ spec:
# annotate pods with env value checksums so changes trigger re-deployments # annotate pods with env value checksums so changes trigger re-deployments
checksum/env-core: 4d455db544e55fa9615b889773dff0800b54259754f45df6e95a050e1f9e581f checksum/env-core: 2d0e679fb4fde1d473b3f274fa94ae520dd26c1045409de808b7562f7b64a454
checksum/env-memcached: fd1a022eb3ba9e1437809d0177660fdab3ae79b4fcfbee2f8ec1264ee0aa944d checksum/env-memcached: fd1a022eb3ba9e1437809d0177660fdab3ae79b4fcfbee2f8ec1264ee0aa944d
checksum/env-oidc: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b checksum/env-oidc: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
checksum/env-s3: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b checksum/env-s3: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b

View file

@ -63,7 +63,7 @@ spec:
name: pgadmin-secret name: pgadmin-secret
env: env:
- name: SCRIPT_NAME - name: SCRIPT_NAME
value: "/internal/dev/dbadmin/postgres" value: "/services/studio/pgadmin"
volumeMounts: volumeMounts:
- name: pgadmin-data - name: pgadmin-data
mountPath: /var/lib/pgadmin mountPath: /var/lib/pgadmin