Files
vshell/openshift/04-base-imagestream.yaml
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
1.0 KiB
YAML

# Optional: keep the Ubuntu base image inside the cluster instead of pulling it
# from Docker Hub on every build (rate limits, air-gapped clusters, or an
# ImageDigestMirrorSet that rewrites docker.io).
#
# Import the tag once:
# oc import-image ubuntu:24.04 -n vshell \
# --from=docker.io/library/ubuntu:24.04 --confirm
#
# Then point the build at it in 03-buildconfig.yaml:
# strategy:
# dockerStrategy:
# from:
# kind: ImageStreamTag
# name: ubuntu:24.04
#
# Equivalent one-shot without this file:
# oc tag docker.io/library/ubuntu:24.04 vshell/ubuntu:24.04 --scheduled
apiVersion: image.openshift.io/v1
kind: ImageStream
metadata:
name: ubuntu
namespace: vshell
labels:
app.kubernetes.io/name: vshell
app.kubernetes.io/component: base-image
spec:
lookupPolicy:
local: true
tags:
- name: "24.04"
from:
kind: DockerImage
name: docker.io/library/ubuntu:24.04
importPolicy:
scheduled: false
referencePolicy:
type: Local