Add phpMyAdmin Studio service

This commit is contained in:
Arvind Prabhakar 2026-09-05 23:41:11 +00:00
commit b494e08cb8
11 changed files with 224 additions and 0 deletions

View file

@ -0,0 +1,18 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: phpmyadmin
namespace: argocd
spec:
project: studio
source:
repoURL: http://forgejo.forgejo.svc.cluster.local:3000/symcrest/k8s-platform.git
targetRevision: main
path: rendered/phpmyadmin
destination:
server: https://kubernetes.default.svc
namespace: phpmyadmin
syncPolicy:
automated:
prune: false
selfHeal: true

View file

@ -18,3 +18,5 @@ spec:
- namespace: pgadmin
server: https://kubernetes.default.svc
- namespace: phpmyadmin
server: https://kubernetes.default.svc

View file

@ -0,0 +1,6 @@
apiVersion: v2
name: phpmyadmin
description: Symcrest Studio phpMyAdmin deployment
type: application
version: 0.1.0
appVersion: "5.2.3"

View file

@ -0,0 +1,43 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: phpmyadmin
namespace: {{ .Values.namespace }}
spec:
replicas: 1
selector:
matchLabels:
app: phpmyadmin
template:
metadata:
labels:
app: phpmyadmin
spec:
nodeSelector:
{{ toYaml .Values.nodeSelector | indent 8 }}
containers:
- name: phpmyadmin
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 80
env:
- name: PMA_HOST
value: {{ .Values.mysql.host | quote }}
- name: PMA_PORT
value: {{ .Values.mysql.port | quote }}
- name: PMA_ABSOLUTE_URI
value: {{ .Values.app.absoluteUri | quote }}
volumeMounts:
- name: sessions
mountPath: /sessions
volumes:
- name: sessions
persistentVolumeClaim:
claimName: phpmyadmin-sessions

View file

@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: phpmyadmin-sessions
namespace: {{ .Values.namespace }}
spec:
accessModes:
- ReadWriteOnce
storageClassName: {{ .Values.storage.className }}
resources:
requests:
storage: {{ .Values.storage.size }}

View file

@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: phpmyadmin
namespace: {{ .Values.namespace }}
spec:
selector:
app: phpmyadmin
ports:
- name: http
port: 80
targetPort: http

View file

@ -0,0 +1,19 @@
namespace: phpmyadmin
image:
repository: phpmyadmin
tag: "5.2.3"
mysql:
host: platform-mysql.platform-services.svc.cluster.local
port: 3306
app:
absoluteUri: https://www.symcrest.com/services/studio/phpmyadmin/
storage:
className: longhorn
size: 1Gi
nodeSelector:
workload: app

View file

@ -0,0 +1,32 @@
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: phpmyadmin
namespace: phpmyadmin
spec:
parentRefs:
- name: public-gateway
namespace: apps
hostnames:
- "www.symcrest.com"
rules:
- matches:
- path:
type: Exact
value: /services/studio/phpmyadmin
filters:
- type: RequestRedirect
requestRedirect:
scheme: https
path:
type: ReplaceFullPath
replaceFullPath: /services/studio/phpmyadmin/
statusCode: 301
- matches:
- path:
type: PathPrefix
value: /services/studio/phpmyadmin/
backendRefs:
- name: phpmyadmin
port: 80

View file

@ -8,3 +8,8 @@ kind: Namespace
metadata:
name: pgadmin
---
apiVersion: v1
kind: Namespace
metadata:
name: phpmyadmin

View file

@ -11,6 +11,8 @@ spec:
- fromEndpoints:
- matchLabels:
k8s:io.kubernetes.pod.namespace: leantime-poc
- matchLabels:
k8s:io.kubernetes.pod.namespace: phpmyadmin
toPorts:
- ports:
- port: "3306"

View file

@ -0,0 +1,73 @@
---
# Source: phpmyadmin/templates/pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: phpmyadmin-sessions
namespace: phpmyadmin
spec:
accessModes:
- ReadWriteOnce
storageClassName: longhorn
resources:
requests:
storage: 1Gi
---
# Source: phpmyadmin/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
name: phpmyadmin
namespace: phpmyadmin
spec:
selector:
app: phpmyadmin
ports:
- name: http
port: 80
targetPort: http
---
# Source: phpmyadmin/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: phpmyadmin
namespace: phpmyadmin
spec:
replicas: 1
selector:
matchLabels:
app: phpmyadmin
template:
metadata:
labels:
app: phpmyadmin
spec:
nodeSelector:
workload: app
containers:
- name: phpmyadmin
image: "phpmyadmin:5.2.3"
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 80
env:
- name: PMA_HOST
value: "platform-mysql.platform-services.svc.cluster.local"
- name: PMA_PORT
value: "3306"
- name: PMA_ABSOLUTE_URI
value: "https://www.symcrest.com/services/studio/phpmyadmin/"
volumeMounts:
- name: sessions
mountPath: /sessions
volumes:
- name: sessions
persistentVolumeClaim:
claimName: phpmyadmin-sessions