Wiki - https://fedoraproject.org/wiki/Changes/Web_Based_Remote_Installation_Support_For_Atomic_Desktops Discussion thread - https://discussion.fedoraproject.org/t/f45-change-proposal-web-based-remote-installation-support-for-atomic-desktops-self-contained/197426 This is a proposed Change for Fedora Linux. This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee. == Summary == Enable secure remote installation via the Anaconda WebUI on Fedora Atomic Desktop images. Users can boot a target machine with <code>inst.webui.remote</code> and complete the installation from a web browser on another machine over HTTPS with pin-based authentication. This change is scoped to Atomic Desktop images (Silverblue, Kinoite, etc.). == Owner == * Name: [[User:bciconelle| Bruno Ciconelle]] * Email: bciconel@redhat.com == Detailed Description == This change introduces remote installation as a '''tech preview''' for Fedora Atomic Desktop images. Users can boot with <code>inst.webui.remote</code> and complete the installation from a web browser on another machine — no VNC/RDP client needed. The Anaconda WebUI already supports remote access for development via <code>inst.webui.remote</code>, but without authentication, TLS, or configuration isolation. This change adds the production controls needed to ship it as an opt-in feature: * '''Pin-based authentication''' following the <code>inst.rdp</code> pattern, with an opt-out (<code>inst.webui.remote.noauth</code>) for development and trusted networks * '''HTTPS with self-signed certificates''' — cockpit generates these automatically * '''Port 443''' by default so users connect with just <code>https://<ip></code> * '''Isolated cockpit configuration''' under <code>/etc/anaconda/cockpit/</code> to prevent installer settings from leaking to the installed system Remote access is '''not enabled by default''' — it must be explicitly activated by the user via the <code>inst.webui.remote</code> boot option. Without it, behavior is completely unchanged. This change is scoped to Atomic Desktop images (see [[Changes/BuildAtomicDesktopsWithImageBuilder]]). == Feedback == The feature was [https://fedoramagazine.org/web-based-remote-installation-for-fedora-linux-heres-what-were-building/ announced on Fedora Magazine] in June 2026 with a developer preview and proof-of-concept. Community feedback included: * '''mDNS discovery''': Suggestion to advertise the installer via mDNS (e.g., <code>fedora-installer.local</code>) so users can find headless machines without knowing their DHCP-assigned IP. Not in scope for this initial MVP but noted as a valuable future improvement. * '''Tablet/phone support''': Cockpit's PatternFly widgets are responsive — storage configuration may be challenging on small screens but tablets should work well. * '''Lightweight boot ISO''': Interest in a minimal boot ISO without a local browser that defaults to remote installation — a headless/network-only variant. Not in scope for this change, but aligns with the broader [[Changes/ModernizeBootISO]] effort. == Benefit to Fedora == * '''New installation method''': Users can install Fedora Atomic Desktops from any device with a web browser — no VNC/RDP client software needed. This works from phones, tablets, Chromebooks, or any machine on the same network. * '''Better user experience than VNC/RDP''': The WebUI provides copy-paste support, a responsive layout, and runs in a standard web browser. No special client software to install or configure. * '''Secure by default''': Unlike VNC (historically unencrypted, 8-character password limit), remote installation uses HTTPS with TLS and user-set passwords. Authentication is required by default. * '''Practical graphical installation on lightweight ARM SBCs''': Devices like the Raspberry Pi have limited CPU and memory. Running a local browser consumes resources better used by the installer itself. With remote installation, the browser runs on the user's workstation and the target device only serves the lightweight cockpit-ws process. * '''Benefits any future boot.iso/netinst image that adopts the WebUI''': This change lives in <code>anaconda</code> and <code>anaconda-webui</code>, not in image-specific configuration. Any new boot.iso or network install image that migrates from the GTK interface to the WebUI — such as Fedora Server, which currently still uses GTK — will automatically gain remote installation support with no additional work. (Note: remote access on Live images is not supported.) * '''Community testing opportunity''': Landing in Fedora 45 Atomic images gives the community a full release cycle to test, report issues, and provide feedback before the feature is extended to other image types. == Scope == * Proposal owners: ** Modify <code>anaconda</code> to handle new boot options (<code>inst.webui.remote.password</code>, <code>inst.webui.remote.noauth</code>) in <code>argument_parsing.py</code> ** Update <code>CockpitUserInterface</code> and the cockpit startup flow to enable TLS, set port 443, and configure authentication based on boot options ** Modify <code>anaconda-webui</code>'s <code>cockpit-coproc-wrapper.sh</code> to conditionally remove <code>--no-tls</code> and change port when remote is active ** Generate cockpit configuration under <code>/etc/anaconda/cockpit/</code> at startup ** Implement password prompt on local console when password is missing (following <code>inst.rdp</code> pattern) ** All changes are within the <code>anaconda</code> and <code>anaconda-webui</code> packages * Other developers: N/A * Release engineering: N/A (no changes to image generation pipeline — images already include cockpit and anaconda-webui) * Policies and guidelines: N/A (not needed for this Change) * Trademark approval: N/A (not needed for this Change) * Alignment with the Fedora Strategy: This change aligns with the Fedora strategy of making Fedora easier to install and use, particularly for Atomic Desktops which are a focus area for Fedora's future. == Upgrade/compatibility impact == None. This change only affects the installation environment. No configuration or data is carried to the installed system. Users who do not use <code>inst.webui.remote</code> see no change whatsoever. == How To Test == # Boot a Fedora 45 Atomic Desktop ISO (Silverblue, Kinoite, or similar) # At the boot menu, add kernel options: <code>inst.webui.remote inst.webui.remote.password=testpin</code> # The installer will display the machine's IP address on the local console # From another machine on the same network, open a browser and navigate to <code>https://<ip></code> # Accept the self-signed certificate warning in the browser # Enter <code>testpin</code> at the login prompt # The Anaconda WebUI should load and allow you to proceed with the installation # Test tab close (should reconnect without re-login) and browser close (should require re-login) '''Additional test cases:''' * Boot with <code>inst.webui.remote</code> only (no password) — installer should prompt for a password * Boot with <code>inst.webui.remote inst.webui.remote.noauth</code> — remote access should work without authentication * Boot without <code>inst.webui.remote</code> — remote access should NOT be available (current default behavior preserved) == User Experience == See the [https://fedoramagazine.org/web-based-remote-installation-for-fedora-linux-heres-what-were-building/ Fedora Magazine article] for a detailed overview of the remote installation experience and the ''How To Test'' section above for step-by-step instructions. Users who do not use <code>inst.webui.remote</code> will see no change in their experience. == Dependencies == The [https://github.com/rhinstaller/anaconda-webui anaconda-webui] package is maintained by the installer team and has a dependency on [https://cockpit-project.org/ Cockpit]. There are no unfinished work items blocking this initiative. == Contingency Plan == * Contingency mechanism: No action needed. The feature is opt-in and in tech preview — it is only activated when the user explicitly passes <code>inst.webui.remote</code> on the kernel command line. Without this boot option, the installer behaves identically to previous releases. An incomplete or buggy implementation does not affect normal installation workflows. N/A (not a System Wide Change) * Contingency deadline: N/A (not a System Wide Change) * Blocks release? No. The feature is opt-in. If incomplete, remote installation remains in its current development-only state. Local installation and all other installation methods are completely unaffected. == Documentation == * [https://redhat.atlassian.net/browse/INSTALLER-3723 INSTALLER-3723] — Epic tracking all remote installation work == Release Notes == Fedora 45 introduces secure remote installation support for Atomic Desktop images (Silverblue, Kinoite, and others). You can now install Fedora from a web browser on another device by adding <code>inst.webui.remote inst.webui.remote.password=YOURPIN</code> to the kernel boot options. The installer uses HTTPS with a self-signed certificate and listens on port 443, so you can connect by navigating to <code>https://<ip></code> from any web browser. This feature is opt-in and in tech preview — installations without <code>inst.webui.remote</code> are unaffected. -- Aoife Moloney Fedora Operations Architect Fedora Project Matrix: @amoloney:fedora.im IRC: amoloney -- _______________________________________________ devel-announce mailing list -- devel-announce@lists.fedoraproject.org To unsubscribe send an email to devel-announce-leave@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org Do not reply to spam, report it: https://forge.fedoraproject.org/infra/tickets/issues/new
No comments:
Post a Comment