No description
Find a file
Tomas Hozza 5dc72038ef stages/chrony: extend chrony stage to allow additional directives
The `org.osbuild.chrony` stage currently supports only a single option
'timeservers' which does not allow specifying additional options for the
configured timeservers. The option can not be easily extended to allow
specifying additional options and at the same time keep the backward
compatibility with old manifests.

The need for a lower-level stage option allowing to configure additional
options of the 'server' directive is required by RHEL AMI images, which
use 'maxpoll', 'minpoll' and 'prefered' options.

Extend the `org.osbuild.chrony` stage with two additional options. The
'servers' option accepts a list of dictionaries specifying timeservers
to be configured using the 'server' directive, including a subset of the
directive options. The 'servers' option can not be used at the same time
in the stage options as the 'timeservers' option.

The second added option is 'leapsectz' corresponding with a directive of
the same name. The value of the option is a string. If the provided
string is empty, then all occurrences of the 'leapsectz' directive are
removed from the `chrony.conf`. Otherwise, the 'leapsectz' directive is
added to the `chrony.conf` with the provided value, while all original
occurrences of the option are removed.

Add a new stage test case under `test/data/stages/chrony-servers` to
test the new variant of the stage options. The reason is that the
'timeservers' option conflicts with 'servers' option, which makes it
impossible to test both of them in the same test case.

Signed-off-by: Tomas Hozza <thozza@redhat.com>
2021-06-26 10:28:03 +01:00
.devcontainer devcontainer: specify the workdir 2021-04-08 12:56:06 +02:00
.github stages/cloud-init: add new stage for configuring cloud-init 2021-06-24 16:55:18 +02:00
assemblers assemblers/ostree: fix copying of var 2021-06-22 10:07:07 +02:00
devices devices: add support for loopback devices 2021-06-09 18:37:47 +01:00
docs Docs: Document --inspect option in the man page 2021-01-17 13:07:14 +01:00
inputs inputs/files: support for pipeline origins 2021-06-09 18:37:47 +01:00
mounts mounts/btrfs: mount support for btrfs 2021-06-09 18:37:47 +01:00
osbuild objectstore: eagerly unmount bind-mounts 2021-06-23 21:01:05 +01:00
runners aarch64: use single qemu-img thread 2021-06-09 11:57:26 +02:00
samples stages/noop: fix the schema to allow any props 2020-07-16 19:02:25 +02:00
schemas osbuild: introduce mount host service 2021-06-09 18:37:47 +01:00
schutzbot mockbuild: use s3cmd put instead of sync to speed up the RPM upload 2021-06-10 09:35:04 +01:00
selinux selinux: allow nnp and nosuid transitions 2020-08-10 14:05:24 +02:00
sources sources/curl: Implement new way of getting RHSM secrets 2021-06-04 18:23:05 +01:00
stages stages/chrony: extend chrony stage to allow additional directives 2021-06-26 10:28:03 +01:00
test stages/chrony: extend chrony stage to allow additional directives 2021-06-26 10:28:03 +01:00
tools tools/mpp: sort urls for v2 manifests 2021-06-22 21:10:49 +02:00
.editorconfig editorconfig: include markdown specifications 2020-10-23 16:29:50 +02:00
.gitignore test: add coverity targets to the Makefile 2020-06-24 10:01:24 +02:00
.packit.yaml packit: use custom command to get the current version 2021-06-22 18:28:04 +02:00
.travis.yml ci: move test_boot to github-actions 2020-05-13 22:00:27 +02:00
LICENSE Revert "Fill in the license template" 2019-11-18 12:23:10 +01:00
Makefile test: update test manifests to use Fedora 34 2021-06-07 12:15:26 +02:00
NEWS.md NEWS: update for osbuild release 29 2021-06-16 21:43:58 +02:00
osbuild.spec spec: install devices and mounts 2021-06-17 13:26:07 +01:00
README.md readme: add IRC 2021-06-04 15:10:12 +02:00
requirements.txt Makefile: use pytest for nicer output 2020-12-04 18:24:48 +01:00
setup.cfg setup.cfg: set max line length in pycodestyle 2021-05-12 14:26:16 +02:00
setup.py 29 2021-06-16 21:43:58 +02:00

OSBuild

Build-Pipelines for Operating System Artifacts

OSBuild is a pipeline-based build system for operating system artifacts. It defines a universal pipeline description and a build system to execute them, producing artifacts like operating system images, working towards an image build pipeline that is more comprehensible, reproducible, and extendable.

See the osbuild(1) man-page for details on how to run osbuild, the definition of the pipeline description, and more.

Project

Requirements

The requirements for this project are:

  • bubblewrap >= 0.4.0
  • python >= 3.7

Additionally, the built-in stages require:

  • bash >= 5.0
  • coreutils >= 8.31
  • curl >= 7.68
  • qemu-img >= 4.2.0
  • rpm >= 4.15
  • tar >= 1.32
  • util-linux >= 235

At build-time, the following software is required:

  • python-docutils >= 0.13
  • pkg-config >= 0.29

Testing requires additional software:

  • pytest

Build

The standard python package system is used. Consult upstream documentation for detailed help. In most situations the following commands are sufficient to build and install from source:

python setup.py build
python setup.py install --skip-build --root=/

The man-pages require python-docutils and can be built via:

rst2man docs/<input-file>.rst <output-file>

Repository:

License:

  • Apache-2.0
  • See LICENSE file for details.