Skip to content

airgap: enable disconnected installation for Trustee operator#310

Merged
lmilleri merged 1 commit into
openshift:mainfrom
beraldoleal:disconnected-imageset
Apr 22, 2026
Merged

airgap: enable disconnected installation for Trustee operator#310
lmilleri merged 1 commit into
openshift:mainfrom
beraldoleal:disconnected-imageset

Conversation

@beraldoleal
Copy link
Copy Markdown
Member

To install Trustee in disconnected environments, users need an ImageSetConfiguration for oc-mirror and all operand images listed in the bundle. This PR adds both.

Tested locally with --dry-run. Planning to validate on a real disconnected cluster once the first round of review is in place.

@beraldoleal beraldoleal requested a review from lmilleri April 13, 2026 14:08
@beraldoleal beraldoleal force-pushed the disconnected-imageset branch 2 times, most recently from 93399b2 to f4bd8c2 Compare April 13, 2026 17:22
@lmilleri
Copy link
Copy Markdown

Should the ocp 4.21 mirror be added as well?

Comment thread docs/disconnected/README.md Outdated
@beraldoleal beraldoleal force-pushed the disconnected-imageset branch from f4bd8c2 to 523131d Compare April 14, 2026 18:01
@beraldoleal
Copy link
Copy Markdown
Member Author

Thank you @lmilleri , done.

Comment thread docs/disconnected/imageset-config-4.18.yaml Outdated
@beraldoleal beraldoleal force-pushed the disconnected-imageset branch from 523131d to 356fe86 Compare April 15, 2026 11:30
Add imageset-config files for OCP 4.17-4.20 and a README under
docs/disconnected/. This is an initial attempt to provide a supported
way to mirror the Trustee operator in air-gapped environments using
oc-mirror.

Related: rhjira#KATA-4832

Signed-off-by: Beraldo Leal <bleal@redhat.com>
@beraldoleal beraldoleal force-pushed the disconnected-imageset branch from 356fe86 to 81f7ee6 Compare April 16, 2026 14:46
Copy link
Copy Markdown

@lmilleri lmilleri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

Copy link
Copy Markdown

@lmilleri lmilleri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@beraldoleal on second thought, I'm not completely sure we should have multiple yaml files, one per ocp version.

What about having a single file named imageset-config.yaml.in:

kind: ImageSetConfiguration
apiVersion: mirror.openshift.io/v1alpha2
storageConfig:
  registry:
    # URL of your internal registry where oc-mirror will store its metadata
    # and push the mirrored images.
    imageURL: ${REGISTRY}/mirror/oc-mirror-metadata
    skipTLS: false
mirror:
  operators:
  - # Red Hat's official OLM catalog index for OCP 4.21.
    # oc-mirror will automatically mirror the catalog index, the operator
    # bundle, and all images listed as relatedImages in the bundle.
    catalog: registry.redhat.io/redhat/redhat-operator-index:v${OCP_VERSION}
    packages:
    - name: trustee-operator
      channels:
      - name: stable

and provide instructions for generating the yaml manifest like:

export REGISTRY=<user-registry>
export OCP_VERSION=4.21
envsubst < imageset-config.yaml.in > imageset-config.yaml

This way we won't have to create a new file for the next ocp releases

@beraldoleal
Copy link
Copy Markdown
Member Author

Hey @lmilleri, I´'m not sure a template would work well here... the content can change between versions beyond just the version number, and the .yaml.in isn't valid YAML so tooling can't validate or parse it. I also see this being nudged by Konflux for digest bumps, which expects real YAML files.

So, what about if we keep it as-is for now and revisit if needed? wdyt?

@lmilleri
Copy link
Copy Markdown

ok fine with me, let's stick with the current solution and iterate

@lmilleri lmilleri merged commit e9c1036 into openshift:main Apr 22, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants