diff --git a/docs/common/craft-application/how-to-guides/pack-a-pro-artifact.rst b/docs/common/craft-application/how-to-guides/pack-a-pro-artifact.rst new file mode 100644 index 000000000..88dd8787d --- /dev/null +++ b/docs/common/craft-application/how-to-guides/pack-a-pro-artifact.rst @@ -0,0 +1,73 @@ +Pack a Pro-compliant |artifact| +=============================== + +.. Begin overview + +Follow this guide to pack |an-artifact| that contains extended security patches or meets +regulatory compliance needs. + +.. End overview + +Prerequisites +------------- + +- An Ubuntu Pro system (https://ubuntu.com/pro) +- LXD version 5.21 or higher installed (https://documentation.ubuntu.com/lxd/) +- |app| version |app-min-pro-version| or higher installed (|app-link|) + +Enable guest attachment +----------------------- + +|app| makes use of Ubuntu Pro’s own support for LXD instances, but this support needs +to be explicitly enabled and configured. In a terminal, run: + +.. code-block:: bash + + sudo pro config set lxd_guest_attach=available + +This command lets |app| attach its LXD instances to the system’s Pro subscription, +and only needs to be executed once. + +Restart LXD so the new configuration takes effect: + +.. code-block:: bash + + sudo snap restart lxd + +Identify the required Pro services +---------------------------------- + +Next, determine which Pro services fit your needs. |app| supports the following services: + +- ``esm-apps`` or ``esm-infra``: If your goal is to pack |an-artifact| for an application and + include the latest security patches for a base that is no longer under Standard Security + Maintenance. +- ``fips``, ``fips-updates`` or ``fips-preview``: If you need to deploy |an-artifact| in a + highly regulated environment that processes sensitive data. + +The desired Pro services must be available. On a system with your Pro token +attached, run ``pro status`` and check the ``ENTITLED`` column for available +services. The Ubuntu Pro Client documentation has `detailed information on each service +`__. + +Pack the |artifact| +------------------- + +Pack your Pro-compliant |artifact| with the ``pack`` command, listing the desired +services with the ``--pro`` option: + +.. code-block:: bash + :substitutions: + + |app-command| pack --pro= + +To use multiple services, pass them to the option as comma-separated values. For example, +to pack |an-artifact| with the ``esm-apps`` and ``esm-infra`` services call: + +.. code-block:: bash + :substitutions: + + |app-command| pack --pro=esm-apps,esm-infra + +|app| will automatically attach the Pro subscription and enable the requested services on +the LXD instance while packing the |artifact|. diff --git a/docs/conf.py b/docs/conf.py index aa2cb3646..549c59a30 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -181,6 +181,7 @@ # Common docs "common/README.md", "common/craft-application/how-to-guides/build-remotely.rst", + "common/craft-application/how-to-guides/pack-a-pro-artifact.rst", "common/craft-application/how-to-guides/reuse-packages-between-builds.rst", "common/craft-application/reference/remote-builds.rst", "common/craft-application/reference/fetch-service.rst", diff --git a/docs/how-to/index.rst b/docs/how-to/index.rst index e518206c4..f445ee8e5 100644 --- a/docs/how-to/index.rst +++ b/docs/how-to/index.rst @@ -7,6 +7,7 @@ How-to guides :maxdepth: 1 build-remotely + pack-a-pro-artifact partitions platforms add-a-linter diff --git a/docs/how-to/pack-a-pro-artifact.rst b/docs/how-to/pack-a-pro-artifact.rst new file mode 100644 index 000000000..6ae7658ab --- /dev/null +++ b/docs/how-to/pack-a-pro-artifact.rst @@ -0,0 +1,13 @@ +.. meta:: + :description: Pack an artifact that contains extended security patches or meets regulatory compliance needs, powered by Ubuntu Pro. + +.. |app| replace:: Craft Application +.. |app-command| replace:: +.. |artifact| replace:: artifact +.. |an-artifact| replace:: an artifact +.. |app-min-pro-version| replace:: 6.3.0 +.. |app-link| replace:: https://pypi.org/project/craft-application/ + +.. _how-to-pack-a-pro-artifact: + +.. include:: ../common/craft-application/how-to-guides/pack-a-pro-artifact.rst diff --git a/docs/reference/changelog.rst b/docs/reference/changelog.rst index 655348291..da626d272 100644 --- a/docs/reference/changelog.rst +++ b/docs/reference/changelog.rst @@ -15,7 +15,7 @@ Changelog For a complete list of commits, check out the `1.2.3`_ release on GitHub. -7.2.0 (unreleased) +7.2.0 (2028-08-11) ------------------ Application @@ -29,12 +29,22 @@ Commands - The ``init`` command now accepts the ``--base`` option to choose profile variants for specific bases. +Remote build +============ + +- Snap recipes now accept a build path. + Bug fixes ========= - Ignore .spread-reuse files when deciding if a source is outdated. - By default, trim documentation URLs so they display major version only. +Documentation +============= + +- Add a :ref:`how-to-pack-a-pro-artifact` how-to guide. + For a complete list of commits, check out the `7.2.0`_ release on GitHub. 7.1.0 (2026-07-07)