Chapter 3. Embedding applications for offline use


You can embed microservices-based workloads and applications in a Red Hat Enterprise Linux for Edge (RHEL for Edge) image. Embedding means you can run a MicroShift cluster in air-gapped, disconnected, or offline environments.

3.1. Embedding workload container images for offline use

To embed container images in devices at the edge that do not have any network connection, you must create a new container, mount the ISO, and then copy the contents into the file system.

Prerequisites

  • You have root access to the host.
  • Application RPMs have been added to a blueprint.

Procedure

  1. Render the manifests, extract all of the container image references, and translate the application image to blueprint container sources by running the following command:

    $ oc kustomize ~/manifests | grep "image:" | grep -oE '[^ ]+$' | while read line; do echo -e "[[containers]]\nsource = \"${line}\"\n"; done >><my_blueprint>.toml
  2. Push the updated blueprint to Image Builder by running the following command:

    $ sudo composer-cli blueprints push <my_blueprint>.toml
  3. If your workload containers are located in a private repository, you must provide Image Builder with the necessary pull secrets:

    1. Set the auth_file_path in the [containers] section of the osbuilder worker configuration in the /etc/osbuild-worker/osbuild-worker.toml file to point to the pull secret.
    2. If needed, create a directory and file for the pull secret, for example:

      Example directory and file

      [containers]
      auth_file_path = "/<path>/pull-secret.json" 1

      1
      Use the custom location previously set for copying and retrieving images.
  4. Build the container image by running the following command:

    $ sudo composer-cli compose start-ostree <my_blueprint> edge-commit
  5. Proceed with your preferred rpm-ostree image flow, such as waiting for the build to complete, exporting the image and integrating it into your rpm-ostree repository or creating a bootable ISO.

3.2. Additional resources

Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.