Skip to content

About

All-in-one container image for OpenShift CI/CD pipelines (oc, kubectl, helm, helmfile, ansible, vault, govc)

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Repository files navigation

🛠️ openshift-sdk

Build

All-in-one container image for OpenShift CI/CD pipelines. Based on Red Hat UBI 9, ships with everything you need to deploy and manage OpenShift clusters.

📦 Included Tools

Tool Description
openshift-install OpenShift cluster installer
oc / kubectl OpenShift and Kubernetes CLI
ansible Automation engine with the collections pinned in requirements.yml, including kubernetes.core, kubevirt.core and community.vmware
helm Kubernetes package manager
helmfile Declarative Helm chart management
vault HashiCorp Vault CLI
govc VMware vSphere CLI
yq YAML/JSON/XML processor
oc-mirror Mirroring of releases and Operators for disconnected installs
virtctl OpenShift Virtualization / KubeVirt CLI
kubectl-mtv Migration Toolkit for Virtualization CLI (oc mtv)
velero / kubectl-oadp Backup and restore via OADP (oc oadp)
tkn OpenShift Pipelines (Tekton) CLI
kn OpenShift Serverless (Knative) CLI
argocd OpenShift GitOps (Argo CD) CLI
roxctl Advanced Cluster Security CLI
hcp Hosted Control Planes (HyperShift) CLI
stern Multi-pod log tailing
kubectx / kubens Fast context and namespace switching

🚀 Quick Start

docker run -it quay.io/slauger/openshift-sdk:4.21.3

Or with Podman:

podman run -it quay.io/slauger/openshift-sdk:4.21.3

The image tag corresponds to the OpenShift release version.

Bash completion is preinstalled in /etc/bash_completion.d/ for every tool that ships one, oc and kubectl included. It loads automatically in interactive shells.

🔄 Automated Builds

The CI pipeline automatically discovers the latest 3 supported OpenShift versions by querying the Red Hat Product Lifecycle API and the Cincinnati graph API. End-of-life versions are excluded automatically.

Builds run daily and on every push to master.

🏗️ Local Build

OCP

export DEPLOYMENT_TYPE=ocp
export RELEASE_CHANNEL=stable-4.21
export OPENSHIFT_RELEASE=$(make print_version)
make fetch
make build
make test

OKD

export DEPLOYMENT_TYPE=okd
export OPENSHIFT_RELEASE=$(make print_version)
make fetch
make build
make test

Push

export CONTAINER_NAME=registry.local/openshift-sdk
make push

🔍 Version Discovery

The scripts/discover_versions.py script can be used standalone to query the currently supported OpenShift versions:

python3 scripts/discover_versions.py
{"include": [{"release_channel": "stable-4.21", "openshift_release": "4.21.3"}, ...]}

📄 License

MIT

About

All-in-one container image for OpenShift CI/CD pipelines (oc, kubectl, helm, helmfile, ansible, vault, govc)

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages