From 360cbe995bd114d80ae517aa7242f98552f21527 Mon Sep 17 00:00:00 2001 From: Samir Jha Date: Tue, 17 Dec 2024 14:30:07 +0000 Subject: [PATCH] Fixes #38109 - As a user, I want to install flatpaks on remote hosts --- .../foreman/job_templates/flatpak_install.erb | 23 ++++++++++++++ .../job_templates/flatpak_login_action.erb | 30 +++++++++++++++++++ .../foreman/job_templates/flatpak_setup.erb | 27 +++++++++++++++++ 3 files changed, 80 insertions(+) create mode 100644 app/views/foreman/job_templates/flatpak_install.erb create mode 100644 app/views/foreman/job_templates/flatpak_login_action.erb create mode 100644 app/views/foreman/job_templates/flatpak_setup.erb diff --git a/app/views/foreman/job_templates/flatpak_install.erb b/app/views/foreman/job_templates/flatpak_install.erb new file mode 100644 index 00000000000..f461ce663d2 --- /dev/null +++ b/app/views/foreman/job_templates/flatpak_install.erb @@ -0,0 +1,23 @@ +<%# +kind: job_template +name: Install Flatpak application on host +job_category: Katello +description_format: 'Install Flatpak application %{Application name} on host' +provider_type: script +template_inputs: +- name: Flatpak remote name + description: Name of remote to use on host + input_type: user + required: false +- name: Application name + description: Name of the application to install + input_type: user + required: true +%> + +<% + remote_name = input('Flatpak remote name') + app_name = input('Application name') +%> + +sudo dbus-launch flatpak install <%= remote_name %> <%= app_name %> --assumeyes \ No newline at end of file diff --git a/app/views/foreman/job_templates/flatpak_login_action.erb b/app/views/foreman/job_templates/flatpak_login_action.erb new file mode 100644 index 00000000000..407b52d25db --- /dev/null +++ b/app/views/foreman/job_templates/flatpak_login_action.erb @@ -0,0 +1,30 @@ +<%# +kind: job_template +name: Login to flatpak registry via podman +job_category: Katello +description_format: 'Login to flatpak registry via podman' +provider_type: script +template_inputs: +- name: Flatpak registry URL + description: URL of server/capsule + input_type: user + required: true +- name: Username + description: Username for container registry login + input_type: user + required: true +- name: Password + description: Password/Access token for container registry login + input_type: user + required: true + hidden_value: true +%> + +<% + server_url = input('Flatpak registry URL') + username = input('Username') + password = input('Password') +%> + +sudo podman login <%= server_url %> --username <%= username %> --password <%= password %> +sudo cp /run/containers/0/auth.json /etc/flatpak/oci-auth.json \ No newline at end of file diff --git a/app/views/foreman/job_templates/flatpak_setup.erb b/app/views/foreman/job_templates/flatpak_setup.erb new file mode 100644 index 00000000000..d4d5d9deaa1 --- /dev/null +++ b/app/views/foreman/job_templates/flatpak_setup.erb @@ -0,0 +1,27 @@ +<%# +kind: job_template +name: Set up Flatpak remote on host +job_category: Katello +description_format: 'Set up Flatpak remote on host' +provider_type: script +template_inputs: +- name: Remote Name + description: Remote name for Flatpak + input_type: user + required: true +- name: Flatpak registry URL + description: URL of server/capsule + input_type: user + required: true +foreign_input_sets: +- template: Login to flatpak registry via podman + exclude: Flatpak registry URL +%> + +<% + remote_name = input('Remote Name') + registry_url = input('Flatpak registry URL') +%> + +sudo flatpak remote-add --authenticator-name=org.flatpak.Authenticator.Oci <%= remote_name %> oci+<%= registry_url %>/ +<%= render_template('Login to flatpak registry via podman', 'Flatpak registry URL': registry_url) %> \ No newline at end of file