This is outdated at this point, but this is an image I had set up previously: https://github.com/trgeiger/operator-enablement-base
Building a bootable container gives you incredible flexibility in what you can customize in the system. In the Containerfile in that repo, I'm pulling down the latest versions of oc, opm, kubectl, operator-sdk, odo, helm, and crc, installing vscode, libvirt, and qemu.
Then you just set up a github action to build the image daily and users don't have to worry about keeping any of those packages up to date.
This is outdated at this point, but this is an image I had set up previously: https://github.com/trgeiger/operator-enablement-base
Building a bootable container gives you incredible flexibility in what you can customize in the system. In the Containerfile in that repo, I'm pulling down the latest versions of oc, opm, kubectl, operator-sdk, odo, helm, and crc, installing vscode, libvirt, and qemu.
Then you just set up a github action to build the image daily and users don't have to worry about keeping any of those packages up to date.