Chapter 13. Managing Flatpak repositories in Satellite
Flatpak allows users to install, manage, and run portable applications on Satellite, primarily for desktop environments. In Satellite, you can integrate Flatpak repositories to distribute and control Flatpak applications across managed hosts. By configuring Flatpak repositories, you ensure that systems have access to the necessary application packages while maintaining centralized control over application deployment.
Flatpak repositories function similarly to other content repositories in Satellite. You can synchronize, manage access permissions, and assign repositories to specific lifecycle environments to control which applications are available to systems. You can also use Hammer CLI to manage Flatpak repositories.
For more information, see Installing applications using Flatpak.
13.1. Enabling the Flatpak remote Copy linkLink copied to clipboard!
This procedure configures and manages Flatpak repositories by using Hammer CLI.
Prerequisites
-
Your Satellite account has a role that grants the permissions
view_flatpak_remotes
,create_flatpak_remotes
,edit_flatpak_remotes
, anddestroy_flatpak_remotes
. - Set up Flatpak. For more information, see Setting up Flatpak.
-
Flatpak applications rely on Flatpak runtimes. For example,
rhel9/firefox-flatpak
depends onrhel9/flatpak-runtime
. - Ensure that runtime repositories are available to clients alongside application repositories for installations to work.
CLI procedure
Enable a Flatpak remote on the Satellite Server by using standalone Red Hat Enterprise Linux systems or Red Hat Satellite:
hammer flatpak-remote create \ --name=My_Flatpak_Remote_Name \ --organization=My_Organization \ --url=My_Flatpak_Remote_URL
$ hammer flatpak-remote create \ --name=My_Flatpak_Remote_Name \ --organization=My_Organization \ --url=My_Flatpak_Remote_URL
Copy to Clipboard Copied! Toggle word wrap Toggle overflow You can include authentication details by using the options
--username=My_User_Name --token=My_Token
.You can generate a Red Hat official token at Registry Service Accounts.
Update the Flatpak remote with authentication credentials:
hammer flatpak-remote update \ --token=My_Token \ --username=My_User_Name
$ hammer flatpak-remote update \ --token=My_Token \ --username=My_User_Name
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Optional: List and view information about the Flatpak remote:
hammer flatpak-remote list hammer flatpak-remote info
$ hammer flatpak-remote list $ hammer flatpak-remote info
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Scan the Flatpak remote:
hammer flatpak-remote scan --id=My_ID
$ hammer flatpak-remote scan --id=My_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow List repositories in the Flatpak remote:
hammer flatpak-remote remote-repository list --flatpak-remote-id=My_ID
$ hammer flatpak-remote remote-repository list --flatpak-remote-id=My_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Mirror a Flatpak remote repository to a Satellite product:
hammer flatpak-remote remote-repository mirror \ --id=My_Remote_Repo_ID \ --product-id=Satellite_Product_ID
$ hammer flatpak-remote remote-repository mirror \ --id=My_Remote_Repo_ID \ --product-id=Satellite_Product_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow The
--id
in this command refers to the Flatpak remote repository ID, not the standard Satellite repository ID.You can view the repository under the selected product in Satellite web UI. Set the Include Tags field to latest.
Synchronize the Satellite repository:
hammer repository sync --id=My_Repo_ID
$ hammer repository sync --id=My_Repo_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow The
--id
in this command refers to the standard Satellite repository ID, not the Flatpak remote repository ID.
13.2. Installing Flatpak applications on Satellite hosts Copy linkLink copied to clipboard!
Use the command line to install selected applications from the enabled Flatpak remotes.
Prerequisites
- Flatpak is installed on the host.
- The Red Hat Flatpak remote is enabled.
- Ensure that Podman is installed on the host.
-
To install Flatpak applications from Satellite, ensure that your Satellite account has the
view_lifecycle_environments
,view_products
, andview_content_views
permissions, unless the lifecycle environment allows unauthenticated pull. -
Your Satellite account has a role that grants the
create_personal_access_tokens
permission to generate an access token for authentication. The token generates automatically when you runpodman login
.
Procedure
On the managed host, add your Satellite Server as a Flatpak remote:
flatpak remote-add --authenticator-name=org.flatpak.Authenticator.Oci katello oci+https://satellite.example.com/
$ flatpak remote-add --authenticator-name=org.flatpak.Authenticator.Oci katello oci+https://satellite.example.com/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Log in using Podman:
podman login satellite.example.com
$ podman login satellite.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Install your application. For example, to install the Mozilla Firefox Flatpak:
flatpak install firefox
$ flatpak install firefox
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Additional resources
- For more information about launching Flatpak applications, see Launching Flatpak applications.
- For more information about updating Flatpak applications, see Updating Flatpak applications.
13.3. Setting up Flatpak remote for Capsule Copy linkLink copied to clipboard!
Configure Capsule Servers to synchronize and distribute Flatpak repositories to managed hosts.
Capsules synchronize Flatpaks and make them available to all hosts, but not organizations, content views, or lifecycle environments. Clients receive the latest Flatpaks synchronized on the Capsule globally.
Prerequisites
- Synchronize Flatpak repositories to the Capsule. For more information, see Section 4.7, “Synchronizing repositories”.
Procedure
On the managed host, add the Capsule as a Flatpak remote:
flatpak remote-add --authenticator-name=org.flatpak.Authenticator.Oci katello oci+https://capsule.example.com/pulpcore_registry/
$ flatpak remote-add --authenticator-name=org.flatpak.Authenticator.Oci katello oci+https://capsule.example.com/pulpcore_registry/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Log in using Podman:
podman login satellite.example.com
$ podman login satellite.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow For more information about logging in using Podman, see Section 12.4, “Configuring Podman and Docker to trust the certificate authority”.
You might need to log in to the registry again if you have not saved your credentials.
Optional: Save your credentials permanently using one of the following options:
To save the credentials for the current user:
cp $XDG_RUNTIME_DIR/containers/auth.json $HOME/.config/flatpak/oci-auth.json
$ cp $XDG_RUNTIME_DIR/containers/auth.json $HOME/.config/flatpak/oci-auth.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow To save the credentials system-wide:
cp $XDG_RUNTIME_DIR/containers/auth.json /etc/flatpak/oci-auth.json
$ cp $XDG_RUNTIME_DIR/containers/auth.json /etc/flatpak/oci-auth.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Install your application. For example, to install the Mozilla Firefox Flatpak:
flatpak install firefox
$ flatpak install firefox
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
13.4. Importing and exporting content to Satellite Server for Flatpak Copy linkLink copied to clipboard!
Use Hammer CLI to transfer Flatpak content to Satellite Server in environments with disconnected Satellite Server instances.
Prerequisites
- Enable the Flatpak remote. For more information about enabling the Flatpak remote, see Section 13.1, “Enabling the Flatpak remote”.
CLI procedure
Export content from the connected Satellite Server:
hammer content-export start \ --export-to=My_Path_to_Export_Directory \ --id=My_Product_ID
$ hammer content-export start \ --export-to=My_Path_to_Export_Directory \ --id=My_Product_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Import the exported content to the disconnected Satellite Server:
hammer content-import start --path=My_Path_to_Export_Directory/export.tar
$ hammer content-import start --path=My_Path_to_Export_Directory/export.tar
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Add the disconnected Satellite as a Flatpak remote:
flatpak remote-add --authenticator-name=org.flatpak.Authenticator.Oci katello oci+https://satellite.example.com/
$ flatpak remote-add --authenticator-name=org.flatpak.Authenticator.Oci katello oci+https://satellite.example.com/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Log in using Podman:
podman login satellite.example.com
$ podman login satellite.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Install your application. For example, to install the Mozilla Firefox Flatpak:
flatpak install firefox
$ flatpak install firefox
Copy to Clipboard Copied! Toggle word wrap Toggle overflow