OpenShift 102 Workshop
This site bundles the following hands-on workshops into one Antora showroom:
-
Helm Workshop — Helm charts, templating, and packaging.
-
Advanced deployment workshop — progressive delivery and related deployment topics.
-
Istio service mesh workshop — traffic management with Istio.
-
Prometheus query workshop — PromQL and observability basics.
Upstream sources (same layout as each standalone workshop):
If you prefer not to install oc, kubectl, helm, istioctl, and related tools on your laptop, run the workshop CLI tools image on the cluster. You do not need a local oc client: apply the manifest from the web console (see below). An interactive bash session prints a short list of bundled tools when the shell starts (for example after opening Terminal on the pod and running bash or bash -l if the default shell is sh).
Default image (change the tag to match your deployed showroom chart or offline bundle):
ghcr.io/shpwrck/openshift-102-tools:latest
To apply the workload without a local oc client:
-
In the OpenShift console, select your Project.
-
Click + in the top bar, then Import YAML.
-
Paste the manifest below, adjust the
image:line if you mirror images, then click Create. -
Go to Workloads → Deployments → openshift-102-workshop-tools, open the Pods tab, select the running pod, then Terminal (or Actions → Debug pod). Run
bashorbash -lif you need the interactive bash banner.
The same manifest lives in the repository as deploy/openshift-102-tools-deployment.yaml and is shipped in the offline release tarball.
apiVersion: apps/v1
kind: Deployment
metadata:
name: openshift-102-workshop-tools
labels:
app.kubernetes.io/name: openshift-102-workshop-tools
app.kubernetes.io/part-of: openshift-102-workshop
spec:
replicas: 1
revisionHistoryLimit: 2
selector:
matchLabels:
app.kubernetes.io/name: openshift-102-workshop-tools
template:
metadata:
labels:
app.kubernetes.io/name: openshift-102-workshop-tools
spec:
securityContext:
runAsNonRoot: true
runAsUser: 1001
seccompProfile:
type: RuntimeDefault
containers:
- name: tools
image: "ghcr.io/shpwrck/openshift-102-tools:latest"
imagePullPolicy: IfNotPresent
securityContext:
allowPrivilegeEscalation: false
runAsUser: 1001
capabilities:
drop: ["ALL"]
resources:
requests:
cpu: 50m
memory: 128Mi
limits:
memory: 512Mi
The container image CMD keeps the process alive (sleep via the image entrypoint) so the pod stays running until you delete the Deployment. The image includes a small docker CLI shim for Helm OCI exercises (no Docker Engine); manifest operations use skopeo under the hood. For disconnected clusters, mirror the tools image and UBI base listed in the release tarball TOOLS.md and images-mirror.txt.
Local build
Clone with submodules, then generate the site:
git clone --recurse-submodules <your-fork-or-repo-url>
cd openshift-102
./scripts/verify-submodules.sh
utilities/lab-build
utilities/lab-serve
Browse to http://localhost:8080/index.html and use the left nav to switch between workshops.