- 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)
38 lines
1.0 KiB
YAML
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
|