.. Open Infrastructure: compute-tools

.. Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
..
.. SPDX-License-Identifier: GPL-3.0+
..
.. This program is free software: you can redistribute it and/or modify
.. it under the terms of the GNU General Public License as published by
.. the Free Software Foundation, either version 3 of the License, or
.. (at your option) any later version.
..
.. This program is distributed in the hope that it will be useful,
.. but WITHOUT ANY WARRANTY; without even the implied warranty of
.. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.. GNU General Public License for more details.
..
.. You should have received a copy of the GNU General Public License
.. along with this program.  If not, see <https://www.gnu.org/licenses/>.

==================
container-get-curl
==================

---------------------------------------------------------------------------
Download a Debian based container by downloading a tarball over the network
---------------------------------------------------------------------------

:manual section: 1
:manual group: Open Infrastructure

Synopsis
========

| **container get -s curl** ['OPTIONS']

Description
===========

The curl container download script uses curl(1) to download a tarball over the
network to create a Debian based container.

Depending on the tarball this script otherwise creates a pure Debian system
with three modificiations:

  * hostname is set (container name) in /etc/hostname
  * systemd machine-id is generated in /etc/machine-id
  * root password is set (user specified or 16 random characters)

Container images
----------------

compute-tools will download tarballs from a server expecting that the images are
tarballs with either gzip, lzip, xz, or no compression. See container-images.sh
as an example on how to create your own container images.

Options
=======

The following script options are available:

-n, --name='NAME':
  Specify container name.

-a, --architecture='ARCHITECTURE':
  Specify container architecture.

--clean:
  Remove container tarball after successful download.

-p, --root-password='PASSWORD':
  Specify the root password, defaults to a random 16 character password.

--server='SERVER':
  Specify the image server to download from, defaults to
  'https://get.open-infrastructure.net/system/container/debian'.

--setup='SETUP':
  Specify the setup image name to download, defaults to the value specified
  through --system using the setup.tar.${COMPRESSION} suffix (where
  ${COMPRESSION} is either lz, xz, or gz depending on compressor availability on
  the host system).

--system='SYSTEM':
  Specify the system image name to download, defaults to
  debian-bookworm-current_${ARCHITECTURE}.system.tar.${COMPRESSION} (where
  ${ARCHITECTURE} is the host systems architecture and ${COMPRESSION} either
  lz, xz, or gz depending on compressor availability on the host system).

Examples
========

Download a Debian 12 (bookworm) based container with same architecture as the host
system:

  sudo container get -s curl -n bookworm.example.net

Download a Debian 12 (bookworm) based container with different architecture as the
host system:

  sudo container get -s curl -n bookworm-i386.example.net -- --system debian-bookworm-current_i386.system.tar.xz

Files
=====

The following files are used:

/etc/compute-tools/config:
  Container configuration files.

/usr/share/compute-tools/get-scripts:
  Container download scripts.

/usr/share/doc/compute-tools:
  Container documentation.

/var/lib/machines:
  Container directory.

/var/cache/container:
  Container cache directory.

See also
========

| compute-tools(7),
| container(1).

Homepage
========

More information about compute-tools and the Open Infrastructure project can be
found on the homepage (https://open-infrastructure.net).

Contact
=======

Bug reports, feature requests, help, patches, support and everything else are
welcome on the Open Infrastructure Software Mailing List
<software@lists.open-infrastructure.net>.

Debian specific bugs can also be reported in the Debian Bug Tracking System
(https://bugs.debian.org).

Authors
=======

compute-tools were written by Daniel Baumann
<daniel.baumann@open-infrastructure.net> and others.
