first commit
This commit is contained in:
84
db-deployment.yaml
Normal file
84
db-deployment.yaml
Normal file
@@ -0,0 +1,84 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
deployment.kubernetes.io/revision: "8"
|
||||
creationTimestamp: "2026-04-17T04:01:45Z"
|
||||
generation: 12
|
||||
name: phpipam-db
|
||||
namespace: phpipam
|
||||
resourceVersion: "13922393"
|
||||
uid: ec94fe25-2662-43eb-8278-a4179aed3f62
|
||||
spec:
|
||||
progressDeadlineSeconds: 600
|
||||
replicas: 1
|
||||
revisionHistoryLimit: 10
|
||||
selector:
|
||||
matchLabels:
|
||||
app: phpipam-db
|
||||
strategy:
|
||||
rollingUpdate:
|
||||
maxSurge: 25%
|
||||
maxUnavailable: 25%
|
||||
type: RollingUpdate
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: phpipam-db
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: MYSQL_ROOT_PASSWORD
|
||||
value: phpipampassword
|
||||
- name: MYSQL_DATABASE
|
||||
value: phpipam
|
||||
- name: MYSQL_USER
|
||||
value: phpipam
|
||||
- name: MYSQL_PASSWORD
|
||||
value: phpipampassword
|
||||
- name: MYSQL_ALLOW_EMPTY_PASSWORD
|
||||
value: "yes"
|
||||
- name: MYSQL_INITDB_SKIP_GRANT_TABLES
|
||||
value: "1"
|
||||
- name: MARIADB_INITDB_SKIP_GRANT_TABLES
|
||||
value: "1"
|
||||
image: registry.redhat.io/rhel9/mariadb-1011:latest
|
||||
imagePullPolicy: Always
|
||||
name: mariadb
|
||||
ports:
|
||||
- containerPort: 3306
|
||||
protocol: TCP
|
||||
resources: {}
|
||||
terminationMessagePath: /dev/termination-log
|
||||
terminationMessagePolicy: File
|
||||
volumeMounts:
|
||||
- mountPath: /var/lib/mysql/data
|
||||
name: db-storage
|
||||
dnsPolicy: ClusterFirst
|
||||
restartPolicy: Always
|
||||
schedulerName: default-scheduler
|
||||
securityContext: {}
|
||||
terminationGracePeriodSeconds: 30
|
||||
volumes:
|
||||
- name: db-storage
|
||||
persistentVolumeClaim:
|
||||
claimName: mysql-data-pvc
|
||||
status:
|
||||
availableReplicas: 1
|
||||
conditions:
|
||||
- lastTransitionTime: "2026-04-17T16:35:20Z"
|
||||
lastUpdateTime: "2026-04-17T16:35:20Z"
|
||||
message: Deployment has minimum availability.
|
||||
reason: MinimumReplicasAvailable
|
||||
status: "True"
|
||||
type: Available
|
||||
- lastTransitionTime: "2026-04-17T04:01:45Z"
|
||||
lastUpdateTime: "2026-04-17T16:37:13Z"
|
||||
message: ReplicaSet "phpipam-db-867888dc85" has successfully progressed.
|
||||
reason: NewReplicaSetAvailable
|
||||
status: "True"
|
||||
type: Progressing
|
||||
observedGeneration: 12
|
||||
readyReplicas: 1
|
||||
replicas: 1
|
||||
updatedReplicas: 1
|
||||
30
db-pvc.yaml
Normal file
30
db-pvc.yaml
Normal file
@@ -0,0 +1,30 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
annotations:
|
||||
pv.kubernetes.io/bind-completed: "yes"
|
||||
pv.kubernetes.io/bound-by-controller: "yes"
|
||||
volume.beta.kubernetes.io/storage-provisioner: openshift-storage.cephfs.csi.ceph.com
|
||||
volume.kubernetes.io/storage-provisioner: openshift-storage.cephfs.csi.ceph.com
|
||||
creationTimestamp: "2026-04-17T16:34:49Z"
|
||||
finalizers:
|
||||
- kubernetes.io/pvc-protection
|
||||
name: mysql-data-pvc
|
||||
namespace: phpipam
|
||||
resourceVersion: "13918019"
|
||||
uid: 6c9ad7aa-32ca-4b61-9e6e-b3b3abb56dd7
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: 10Gi
|
||||
storageClassName: ocs-storagecluster-cephfs
|
||||
volumeMode: Filesystem
|
||||
volumeName: pvc-6c9ad7aa-32ca-4b61-9e6e-b3b3abb56dd7
|
||||
status:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
capacity:
|
||||
storage: 10Gi
|
||||
phase: Bound
|
||||
26
db-svc.yaml
Normal file
26
db-svc.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
creationTimestamp: "2026-04-17T03:56:00Z"
|
||||
name: phpipam-db
|
||||
namespace: phpipam
|
||||
resourceVersion: "12562525"
|
||||
uid: df9e15ed-94b2-4107-a5e4-7154cb309710
|
||||
spec:
|
||||
clusterIP: 172.30.55.152
|
||||
clusterIPs:
|
||||
- 172.30.55.152
|
||||
internalTrafficPolicy: Cluster
|
||||
ipFamilies:
|
||||
- IPv4
|
||||
ipFamilyPolicy: SingleStack
|
||||
ports:
|
||||
- port: 3306
|
||||
protocol: TCP
|
||||
targetPort: 3306
|
||||
selector:
|
||||
app: phpipam-db
|
||||
sessionAffinity: None
|
||||
type: ClusterIP
|
||||
status:
|
||||
loadBalancer: {}
|
||||
28
namespace.yaml
Normal file
28
namespace.yaml
Normal file
@@ -0,0 +1,28 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
annotations:
|
||||
openshift.io/description: ""
|
||||
openshift.io/display-name: ""
|
||||
openshift.io/requester: rcuda
|
||||
openshift.io/sa.scc.mcs: s0:c34,c14
|
||||
openshift.io/sa.scc.supplemental-groups: 1001150000/10000
|
||||
openshift.io/sa.scc.uid-range: 1001150000/10000
|
||||
security.openshift.io/MinimallySufficientPodSecurityStandard: baseline
|
||||
creationTimestamp: "2026-04-17T03:53:14Z"
|
||||
labels:
|
||||
kubernetes.io/metadata.name: phpipam
|
||||
openshift-pipelines.tekton.dev/namespace-reconcile-version: 1.21.1
|
||||
openshift-pipelines.tekton.dev/namespace-trusted-configmaps-version: 1.21.1
|
||||
pod-security.kubernetes.io/audit: baseline
|
||||
pod-security.kubernetes.io/audit-version: latest
|
||||
pod-security.kubernetes.io/warn: baseline
|
||||
pod-security.kubernetes.io/warn-version: latest
|
||||
name: phpipam
|
||||
resourceVersion: "12557620"
|
||||
uid: 346011e1-09ae-43c9-97e5-16e93c5b63a9
|
||||
spec:
|
||||
finalizers:
|
||||
- kubernetes
|
||||
status:
|
||||
phase: Active
|
||||
112
nginx-deployment.yaml
Normal file
112
nginx-deployment.yaml
Normal file
@@ -0,0 +1,112 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
deployment.kubernetes.io/revision: "5"
|
||||
creationTimestamp: "2026-04-17T14:37:38Z"
|
||||
generation: 9
|
||||
name: phpipam-web
|
||||
namespace: phpipam
|
||||
resourceVersion: "13888239"
|
||||
uid: fd050c22-8ed7-4c0b-bf9f-7f199e48ae22
|
||||
spec:
|
||||
progressDeadlineSeconds: 600
|
||||
replicas: 1
|
||||
revisionHistoryLimit: 10
|
||||
selector:
|
||||
matchLabels:
|
||||
app: phpipam-web
|
||||
strategy:
|
||||
rollingUpdate:
|
||||
maxSurge: 25%
|
||||
maxUnavailable: 25%
|
||||
type: RollingUpdate
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: phpipam-web
|
||||
spec:
|
||||
containers:
|
||||
- image: gitea.lab.cudanet.org/cudanet/phpipam/nginx:latest
|
||||
imagePullPolicy: Always
|
||||
name: nginx
|
||||
resources: {}
|
||||
securityContext:
|
||||
runAsUser: 1001
|
||||
terminationMessagePath: /dev/termination-log
|
||||
terminationMessagePolicy: File
|
||||
volumeMounts:
|
||||
- mountPath: /var/www/html
|
||||
name: phpipam-code
|
||||
- mountPath: /etc/nginx/nginx.conf
|
||||
name: nginx-config
|
||||
subPath: nginx.conf
|
||||
- mountPath: /etc/nginx/conf.d/phpipam.conf
|
||||
name: nginx-config
|
||||
subPath: phpipam.conf
|
||||
- mountPath: /var/cache/nginx
|
||||
name: ephemeral-storage
|
||||
- mountPath: /tmp
|
||||
name: ephemeral-storage
|
||||
dnsPolicy: ClusterFirst
|
||||
initContainers:
|
||||
- command:
|
||||
- /bin/sh
|
||||
- -c
|
||||
- |
|
||||
set -ex
|
||||
echo "Wiping existing locked files to reset CephFS ownership..."
|
||||
# Deleting the old files is the only way to bypass 'Operation not permitted'
|
||||
rm -rf /dst/* /dst/.* 2>/dev/null || true
|
||||
|
||||
echo "Copying fresh source code..."
|
||||
cp -rf /var/www/html/. /dst/
|
||||
|
||||
# We skip chown entirely because it triggers the CephFS error.
|
||||
# New files created by UID 1001 are already owned by UID 1001.
|
||||
image: gitea.lab.cudanet.org/cudanet/phpipam/php-fpm:latest
|
||||
imagePullPolicy: Always
|
||||
name: install-code
|
||||
resources: {}
|
||||
terminationMessagePath: /dev/termination-log
|
||||
terminationMessagePolicy: File
|
||||
volumeMounts:
|
||||
- mountPath: /dst
|
||||
name: phpipam-code
|
||||
restartPolicy: Always
|
||||
schedulerName: default-scheduler
|
||||
securityContext:
|
||||
fsGroup: 0
|
||||
runAsUser: 1001
|
||||
serviceAccount: phpipam
|
||||
serviceAccountName: phpipam
|
||||
terminationGracePeriodSeconds: 30
|
||||
volumes:
|
||||
- name: phpipam-code
|
||||
persistentVolumeClaim:
|
||||
claimName: phpipam-code-pvc
|
||||
- configMap:
|
||||
defaultMode: 420
|
||||
name: nginx-conf
|
||||
name: nginx-config
|
||||
- emptyDir: {}
|
||||
name: ephemeral-storage
|
||||
status:
|
||||
availableReplicas: 1
|
||||
conditions:
|
||||
- lastTransitionTime: "2026-04-17T16:18:27Z"
|
||||
lastUpdateTime: "2026-04-17T16:18:27Z"
|
||||
message: Deployment has minimum availability.
|
||||
reason: MinimumReplicasAvailable
|
||||
status: "True"
|
||||
type: Available
|
||||
- lastTransitionTime: "2026-04-17T14:37:38Z"
|
||||
lastUpdateTime: "2026-04-17T16:18:27Z"
|
||||
message: ReplicaSet "phpipam-web-59cbb776f5" has successfully progressed.
|
||||
reason: NewReplicaSetAvailable
|
||||
status: "True"
|
||||
type: Progressing
|
||||
observedGeneration: 9
|
||||
readyReplicas: 1
|
||||
replicas: 1
|
||||
updatedReplicas: 1
|
||||
26
nginx-svc.yaml
Normal file
26
nginx-svc.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
creationTimestamp: "2026-04-17T04:15:07Z"
|
||||
name: phpipam-web
|
||||
namespace: phpipam
|
||||
resourceVersion: "12597167"
|
||||
uid: 67fad34a-1f09-4e0d-b701-6f257731b9fe
|
||||
spec:
|
||||
clusterIP: 172.30.244.69
|
||||
clusterIPs:
|
||||
- 172.30.244.69
|
||||
internalTrafficPolicy: Cluster
|
||||
ipFamilies:
|
||||
- IPv4
|
||||
ipFamilyPolicy: SingleStack
|
||||
ports:
|
||||
- port: 8080
|
||||
protocol: TCP
|
||||
targetPort: 8080
|
||||
selector:
|
||||
app: phpipam-web
|
||||
sessionAffinity: None
|
||||
type: ClusterIP
|
||||
status:
|
||||
loadBalancer: {}
|
||||
72
php-deployment.yaml
Normal file
72
php-deployment.yaml
Normal file
@@ -0,0 +1,72 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
deployment.kubernetes.io/revision: "3"
|
||||
creationTimestamp: "2026-04-17T04:06:38Z"
|
||||
generation: 6
|
||||
name: phpipam-app
|
||||
namespace: phpipam
|
||||
resourceVersion: "14509297"
|
||||
uid: 923eb54c-0d23-444b-8496-57900c6a7a34
|
||||
spec:
|
||||
progressDeadlineSeconds: 600
|
||||
replicas: 1
|
||||
revisionHistoryLimit: 10
|
||||
selector:
|
||||
matchLabels:
|
||||
app: phpipam-app
|
||||
strategy:
|
||||
rollingUpdate:
|
||||
maxSurge: 25%
|
||||
maxUnavailable: 25%
|
||||
type: RollingUpdate
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: phpipam-app
|
||||
spec:
|
||||
containers:
|
||||
- image: gitea.lab.cudanet.org/cudanet/phpipam/php-fpm:latest
|
||||
imagePullPolicy: Always
|
||||
name: php-fpm
|
||||
resources: {}
|
||||
securityContext:
|
||||
runAsUser: 1001
|
||||
terminationMessagePath: /dev/termination-log
|
||||
terminationMessagePolicy: File
|
||||
volumeMounts:
|
||||
- mountPath: /var/www/html
|
||||
name: phpipam-code
|
||||
dnsPolicy: ClusterFirst
|
||||
restartPolicy: Always
|
||||
schedulerName: default-scheduler
|
||||
securityContext:
|
||||
fsGroup: 0
|
||||
runAsUser: 1001
|
||||
serviceAccount: phpipam
|
||||
serviceAccountName: phpipam
|
||||
terminationGracePeriodSeconds: 30
|
||||
volumes:
|
||||
- name: phpipam-code
|
||||
persistentVolumeClaim:
|
||||
claimName: phpipam-code-pvc
|
||||
status:
|
||||
availableReplicas: 1
|
||||
conditions:
|
||||
- lastTransitionTime: "2026-04-17T05:11:09Z"
|
||||
lastUpdateTime: "2026-04-17T16:03:49Z"
|
||||
message: ReplicaSet "phpipam-app-79cdcb668c" has successfully progressed.
|
||||
reason: NewReplicaSetAvailable
|
||||
status: "True"
|
||||
type: Progressing
|
||||
- lastTransitionTime: "2026-04-17T22:11:15Z"
|
||||
lastUpdateTime: "2026-04-17T22:11:15Z"
|
||||
message: Deployment has minimum availability.
|
||||
reason: MinimumReplicasAvailable
|
||||
status: "True"
|
||||
type: Available
|
||||
observedGeneration: 6
|
||||
readyReplicas: 1
|
||||
replicas: 1
|
||||
updatedReplicas: 1
|
||||
26
php-svc.yaml
Normal file
26
php-svc.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
creationTimestamp: "2026-04-17T04:06:38Z"
|
||||
name: phpipam-app-svc
|
||||
namespace: phpipam
|
||||
resourceVersion: "12581733"
|
||||
uid: 4bb0bde0-32e1-4354-ab54-998e3b0640ce
|
||||
spec:
|
||||
clusterIP: 172.30.54.18
|
||||
clusterIPs:
|
||||
- 172.30.54.18
|
||||
internalTrafficPolicy: Cluster
|
||||
ipFamilies:
|
||||
- IPv4
|
||||
ipFamilyPolicy: SingleStack
|
||||
ports:
|
||||
- port: 9000
|
||||
protocol: TCP
|
||||
targetPort: 9000
|
||||
selector:
|
||||
app: phpipam-app
|
||||
sessionAffinity: None
|
||||
type: ClusterIP
|
||||
status:
|
||||
loadBalancer: {}
|
||||
30
phpipam-pvc.yaml
Normal file
30
phpipam-pvc.yaml
Normal file
@@ -0,0 +1,30 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
annotations:
|
||||
pv.kubernetes.io/bind-completed: "yes"
|
||||
pv.kubernetes.io/bound-by-controller: "yes"
|
||||
volume.beta.kubernetes.io/storage-provisioner: openshift-storage.cephfs.csi.ceph.com
|
||||
volume.kubernetes.io/storage-provisioner: openshift-storage.cephfs.csi.ceph.com
|
||||
creationTimestamp: "2026-04-17T14:23:36Z"
|
||||
finalizers:
|
||||
- kubernetes.io/pvc-protection
|
||||
name: phpipam-code-pvc
|
||||
namespace: phpipam
|
||||
resourceVersion: "13683704"
|
||||
uid: 650c087b-2558-42b3-841a-7bd20093f8f4
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: 10Gi
|
||||
storageClassName: ocs-storagecluster-cephfs
|
||||
volumeMode: Filesystem
|
||||
volumeName: pvc-650c087b-2558-42b3-841a-7bd20093f8f4
|
||||
status:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
capacity:
|
||||
storage: 10Gi
|
||||
phase: Bound
|
||||
33
route.yaml
Normal file
33
route.yaml
Normal file
@@ -0,0 +1,33 @@
|
||||
apiVersion: route.openshift.io/v1
|
||||
kind: Route
|
||||
metadata:
|
||||
creationTimestamp: "2026-04-17T12:48:26Z"
|
||||
generation: 1
|
||||
labels:
|
||||
app: phpipam-web
|
||||
name: phpipam-web
|
||||
namespace: phpipam
|
||||
resourceVersion: "13515489"
|
||||
uid: 0bde3be0-6934-4095-855d-8700afb1c322
|
||||
spec:
|
||||
host: phpipam-web-phpipam.apps.ocp.lab.cudanet.org
|
||||
port:
|
||||
targetPort: 8080
|
||||
tls:
|
||||
insecureEdgeTerminationPolicy: Redirect
|
||||
termination: edge
|
||||
to:
|
||||
kind: Service
|
||||
name: phpipam-web
|
||||
weight: 100
|
||||
wildcardPolicy: None
|
||||
status:
|
||||
ingress:
|
||||
- conditions:
|
||||
- lastTransitionTime: "2026-04-17T12:48:26Z"
|
||||
status: "True"
|
||||
type: Admitted
|
||||
host: phpipam-web-phpipam.apps.ocp.lab.cudanet.org
|
||||
routerCanonicalHostname: router-default.apps.ocp.lab.cudanet.org
|
||||
routerName: default
|
||||
wildcardPolicy: None
|
||||
Reference in New Issue
Block a user