Files
mward4 9dbe3749ba Add OpenShift manifests for in-cluster build and runtime
- build chain: project, Gitea basic-auth source secret, output ImageStream,
  BuildConfig (Docker strategy, ubuntu:24.04 base), optional base-image
  ImageStream and Docker Hub pull secret
- runtime: ServiceAccount + least-privilege SCC and its RoleBinding (VShell
  needs UID 0), PVC for config/certificate, Deployment with ImageStream
  trigger, ClusterIP Service, passthrough HTTPS Route
- all manifests verified with 'oc create --dry-run=client' against the
  OpenShift 4.22 client scheme (12/12 decode cleanly)
2026-10-05 13:25:10 -04:00

38 lines
874 B
YAML

# Cluster-internal entry point for all four VShell listeners.
#
# Only 80/443 can be exposed through an OpenShift Route. SSH (22), explicit FTPS
# (21) and implicit FTPS (990) need a NodePort/LoadBalancer service or an
# external load balancer in front of this ClusterIP service.
apiVersion: v1
kind: Service
metadata:
name: vshell
namespace: vshell
labels:
app.kubernetes.io/name: vshell
spec:
type: ClusterIP
selector:
app.kubernetes.io/name: vshell
ports:
- name: ssh
port: 22
targetPort: ssh
protocol: TCP
- name: ftps
port: 21
targetPort: ftps
protocol: TCP
- name: ftps-implicit
port: 990
targetPort: ftps-implicit
protocol: TCP
- name: http
port: 80
targetPort: http
protocol: TCP
- name: https
port: 443
targetPort: https
protocol: TCP