Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions articles/agama-automated-installation.asm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@
<!-- S T R U C T U R E -->
<structure renderas="article" xml:id="agama-automated-installation" xml:lang="en">
<merge>
<title>Automated installation of &productname; using &agama;</title>
<title>Automated Installation of &productname; Using &agama;</title>
<!-- subtitle>Subtitle if necessary</subtitle -->
<!-- Create revision history to enable versioning: adjust the placeholder revhistory ID,
for each entry add the date of when the updated article will be published,
Expand Down Expand Up @@ -107,7 +107,7 @@
<!-- enter one or more product names and version -->
<meta name="productname" its:translate="no"><productname version="16.0">&productname;</productname>
</meta>
<meta name="title" its:translate="yes">Automated installation of &productname; using &agama;</meta>
<meta name="title" its:translate="yes">Automated Installation of &productname; Using &agama;</meta>
<meta name="description" its:translate="yes">How to automate &productname; installations for unattended bulk deployments using &agama;, ensuring efficient and consistent server provisioning</meta>
<meta name="social-descr" its:translate="yes">Automatically install &productnameshort;; using &agama;</meta>
<!-- suitable categories has to be identical with the category selected in the docserv config -->
Expand Down Expand Up @@ -160,7 +160,7 @@
<term>EFFORT</term>
<listitem>
<para>
You may need 30 minutes to read and understand the most important sections of this
You need about 30 minutes to read and understand the most important sections of this
article. The time required for customization of Agama profiles and storage
configuration depends on deployment requirements.
</para>
Expand All @@ -181,7 +181,7 @@
<itemizedlist>
<listitem>
<para>
A bare metal server or a virtual machine. For server installations without any
A bare-metal server or a virtual machine. For server installations without any
desktop environment, &suse; recommends a minimum of 1&nbsp;CPU, 2&nbsp;GB
memory and 32&nbsp;GB storage (which includes storage for Btrfs snapshots in
the root partition, swap space, and storage for software packages).
Expand All @@ -202,7 +202,7 @@
<title>Optional registration</title>
<para>
Certain images that are signed with the developer's key may allow you to skip
registration before or while installation. Besides, certain images may
registration before or during installation. Besides, certain images may
contain all installable packages for your operating system that you can use
as an offline package repository. In such cases, you may not need an active
registration code before installation. However, if you use software packages
Expand Down
44 changes: 24 additions & 20 deletions concepts/introduction-automated-installation-using-agama.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
<para>
This article describes how to use &agama; for automated and unattended installation of
&productname;. You can use JSON <emphasis>profiles</emphasis> describing different aspects
of intended system, and &agama; installs accordingly. While not a fully backward compatible
of the intended system, and &agama; installs accordingly. While not a fully backward compatible
replacement for Auto&yast;, it simplifies the task of automated installation and provides
multiple clients for interactive and automated installation.
</para>
Expand All @@ -36,39 +36,43 @@
<section xml:id="automated-installation-what-is-agama">
<title>What is &agama;</title>
<para>
Agama as a service-based Linux installer capable of performing both interactive and
unattended installations. You can provide &agama; a JSON profile file detailing the initial
Agama is a service-based Linux installer capable of performing both interactive and
unattended installations. You can provide &agama; with a JSON profile file detailing the initial
system state, such as user authentication, partitioning, networking and software selection.
On receiving the profile and instruction for installation from one of its supported clients,
On receiving the profile and instructions for installation from one of its supported clients,
&agama; installs your target system accordingly. Users can interact with and control the
installation process using &agama;'s web-based user interface, command-line interface and
installation process using &agama;'s Web-based user interface, command-line interface and
HTTP API, facilitating automation and integration into existing workflows.
</para>
<para>
While &agama; reuses many principles and internal components from previous SUSE installers
like &yast; and Auto&yast;, and offers a high level of backwards compatibility for unattended
like &yast; and Auto&yast;, and offers a high level of backward compatibility for unattended
installations, it is not a 100% compatible drop-in replacement for all Auto&yast; features.
&agama; focuses only on the installation process rather than being a general configuration
tool.
</para>
<figure xml:id="agama-server-client-architecture">
<title>&agama; server client architecture</title>
<title>&agama; client-server architecture</title>
<mediaobject>
<imageobject role="html">
<imagedata fileref="agama-server-client-architecture.png"/>
</imageobject>
<imageobject role="fo">
<imagedata fileref="agama-server-client-architecture.png" width="85%"/>
</imageobject>
<textobject role="description">
<phrase>Diagram of &agama;'s client-server architecture showing three clients&mdash;CLI,
Web UI and others&mdash;connecting to the &agama; core via an HTTP API</phrase>
</textobject>
</mediaobject>
</figure>
</section>
<section xml:id="automated-installation-why-use-agama">
<title>Why use &agama; for automated installation</title>
<title>Why use &agama; for automated installation?</title>
<para>
&agama;offers its installation service by exposing an HTTP API, which you can use
interactively from a web-based interface and a command-line interface (CLI), or provide a
JSON profile to &agama; for automated installation of a target system. Using the HTTP API you
&agama; offers its installation service through an HTTP API, which you can use
interactively from a Web-based interface and a command-line interface (CLI), or provide a
JSON profile to &agama; for automated installation of a target system. Using the HTTP API, you
can also integrate with custom scripts and deployment tools. The benefits of using Agama for
automated installation are as follows:
</para>
Expand All @@ -79,16 +83,16 @@
<para>
&agama; focuses on core installation tasks such as user authentication, network
configuration, storage setup and software installation, delegating further
configuration to other tools such as &ansible; &salt;, &cockpit; or &openscap;.
configuration to other tools such as &ansible;, &salt;, &cockpit; or &openscap;.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Profile based installation</term>
<term>Profile-based installation</term>
<listitem>
<para>
You can define installation parameters for the target system in an easily readable and
editable JSON or Jsonnet profile. Existing XML based Auto&yast; are also supported with
editable JSON or Jsonnet profile. Existing XML-based Auto&yast; profiles are also supported with
some exceptions.
</para>
</listitem>
Expand All @@ -100,8 +104,8 @@
The profile allows detailed setup including user authentication, product registration,
network connections, storage (drives, partitions, LVM, RAID, encryption, resizing,
deleting), software selection by patterns and packages, localization (language,
keyboard, timezone) and many other aspects of the target system that are not exposed in
the graphical or web-based interface. This helps in a more granular control over the
keyboard, time zone) and many other aspects of the target system that are not exposed in
the graphical or Web-based interface. This provides a more granular level of control over the
installation parameters.
</para>
</listitem>
Expand All @@ -124,7 +128,7 @@
supports some dynamic features such as pre-scripts, rules/classes, and Embedded Ruby
(ERB) when using Auto&yast; profiles. A <literal>legacyAutoyastStorage</literal>
section allows direct use of the Auto&yast; profile's <literal>partitioning</literal>
section for backwards compatibility.
section for backward compatibility.
</para>
</listitem>
</varlistentry>
Expand All @@ -143,11 +147,11 @@
<listitem>
<para>
The typical way to start an unattended installation from an ISO image is using the
<literal>inst.auto</literal> kernel boot option, pointing to the profile URL or it's
<literal>inst.auto</literal> kernel boot option, pointing to the profile URL or its
location in the hard drive. You can also use the <command>agama profile
import</command> command from the &agama; CLI to load a profile, followed by the
<command>agama install</command> command. The CLI also allows inspection, modification,
validation of the profile, and subsequent monitoring of the installation process.
<command>agama install</command> command. The CLI also allows inspection, modification
and validation of the profile, and subsequent monitoring of the installation process.
</para>
</listitem>
</varlistentry>
Expand Down
24 changes: 11 additions & 13 deletions concepts/understanding-agama-installation-profiles.xml
Original file line number Diff line number Diff line change
Expand Up @@ -42,16 +42,15 @@
the Auto&yast; profiles that are currently supported in &agama; profiles, or may be
supported in the future. However, there are certain other aspects that are neither
currently supported in &agama; profiles, nor will be supported in the future. For more
information, refer to the section
<xref linkend="autoyast-agama-compatibility-reference"></xref>.
information, refer to <xref linkend="autoyast-agama-compatibility-reference"></xref>.
</para>
</note>
</abstract>
</info>
<section xml:id="introduction-agama-installation-profile-structure">
<title>Introduction to the &agama; profile structure</title>
<para>
&agama; profile configuration is defined using a JSON document. It contains several sections
The &agama; profile configuration is defined using a JSON document. It contains several sections
that are necessary for describing the installation parameters for a customized system. At a
high level, the profile consists of the following sections:
</para>
Expand Down Expand Up @@ -92,7 +91,7 @@
</callout>
<callout arearefs="localization">
<para>
<literal>localization</literal>: Language, keyboard, and timezone settings.
<literal>localization</literal>: Language, keyboard, and time zone settings.
</para>
</callout>
<callout arearefs="hostname">
Expand Down Expand Up @@ -137,7 +136,7 @@
</callout>
<callout arearefs="legacyAutoyastStorage">
<para>
<literal>legacyAutoyastStorage</literal>: Support for legacy AutoYaST JSON-style storage.
<literal>legacyAutoyastStorage</literal>: Support for the legacy &ay; JSON-style storage.
</para>
</callout>
<callout arearefs="iscsi">
Expand All @@ -158,19 +157,18 @@
</para>
<para>
For more information on the JSON and Jsonnet profiles, refer to the resources mentioned in
the <xref linkend="more-info-automated-installation-agama"></xref> section. The upstream
resources usually contains most updated information and examples about the profiles.
<xref linkend="more-info-automated-installation-agama"></xref>. The upstream
resources usually contain most updated information and examples about the profiles.
</para>
</section>
<section xml:id="minimal-example-agama-installation-profile">
<title>A minimal example of an &agama; profile</title>
<para>
A minimal &agama; JSON profile must at least include sections for product identification,
product registration, and credentials for the root user. &agama; uses the defaults for the
rest of the profile. As a best practice, you should also configure the following as a best
practice:
rest of the profile. As a best practice, you should also configure the following:
</para>
<simplelist><member>A hostname</member><member>
<simplelist><member>A host name</member><member>
A non-root user
</member><member>
Minimal localization settings
Expand Down Expand Up @@ -211,7 +209,7 @@
<calloutlist>
<callout arearefs="hashed-password">
<para>
You can generated a hashed password by running the following command:
You can generate a hashed password by running the following command:
</para>
<screen>&prompt.sudo;<command>openssl passwd -6</command></screen>
</callout>
Expand All @@ -222,8 +220,8 @@
<screen>&prompt.sudo;<command>ssh-keygen -t rsa -b 4096 -C "<replaceable>[email protected]</replaceable>"
</command></screen>
<para>
Based on your requirements, choose the key type and the key size. However, it's better
to adopt a stronger security.
Based on your requirements, choose the key type and the key size. However, it is better
to adopt stronger security.
</para>
</callout>
</calloutlist>
Expand Down
4 changes: 2 additions & 2 deletions glues/more-info-automated-installation-agama.xml
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@
<listitem>
<para>
<link xlink:href="https://github.com/agama-project/agama">&agama; project on GitHub</link>:
Contains source code for the &agama; installer, which you can use to deep dive into the
Contains the source code for the &agama; installer, which you can use to deep dive into the
installer's internals.
</para>
<itemizedlist>
Expand All @@ -95,7 +95,7 @@
<para>
<link
xlink:href="https://github.com/agama-project/agama/blob/master/rust/agama-lib/share/examples/profile.jsonnet">&agama;
profile example in Jsonnet</link>.
profile example in Jsonnet</link>
</para>
</listitem>
<listitem>
Expand Down
Loading