Commit Graph

161 Commits

Author SHA1 Message Date
Brian C. Lane
f6f2308765 Add pylorax.api.gitrpm module and tests
This handles creating the rpm from the dictionary describing the
repository and rpm. Also adds tests for archive and rpm creation.
2019-03-15 11:18:12 -07:00
Brian C. Lane
d7b96c8f0f Add support for [[repos.git]] section to blueprints
This adds support, documentation, and testing for a [[repos.git]]
blueprint section that can be used to install files from a git
repository. It will create an rpm that will be added to the build,
and included in the metadata that can be downloaded. This allows you to
accurately keep track of the source of configuration files and extra
metadata that is added to the build.

The source repo and reference will be listed in the rpm's summary making
it easy to discover on the installed system.
2019-03-15 11:18:12 -07:00
Brian C. Lane
2af0973155 Drop auth from the kickstart examples
System defaults should be sufficient these days.
2019-02-11 16:00:15 -08:00
Brian C. Lane
9577f719ae fedora-livemedia.ks: Add packages needed to boot livecd on UEFI systems 2019-01-29 14:01:05 -08:00
Brian C. Lane
2a3c41e1ce Use xorrisofs instead of mkisofs
Update the templates to use xorrisofs, require the newer version of
syslinux and syslinux-nonlinux.

This closes issue #326
2019-01-29 14:01:05 -08:00
Brian C. Lane
e85bcf4359 Turn off smartquotes in Sphinx documentation
It mangles the double dashes in the docstrings, and should close #155
2019-01-08 10:20:38 -08:00
David Shea
d619430d6d Add openstack to the image type list in the docs 2018-12-07 15:11:27 -05:00
Brian C. Lane
9ea1f4c09d New lorax documentation - 30.7 2018-11-29 11:06:27 -08:00
Brian C. Lane
35b8957f12 Remove SELinux Permissive checks
Anaconda, Lorax, lorax-composer, and livemedia-creator can all now run
with SELinux in Enforcing mode. It does not need to be disabled and if
there are denials they should be reported as a bug.

Log the current state of SELinux when starting, update the
documentation.
2018-11-29 11:06:26 -08:00
Alexander Todorov
6631002a81 Update docs with info about ssh keys
it looks like the key value expects the entire content of
~/.ssh/id_rsa.pub
2018-11-08 10:32:42 +02:00
Brian C. Lane
f80cc97a42 New lorax documentation - 30.5 2018-10-29 13:32:54 -07:00
Brian C. Lane
7500a17f27 Build manpages for composer-cli and lorax-composer
Add manpage creation to make docs target to keep them updated.
2018-10-29 13:31:30 -07:00
Brian C. Lane
c017300ad6 Revert "Rename composer-cli to composer"
This reverts commit c9be91c879.

It conflicts with the PHP dependency manager project named 'composer'
2018-10-08 09:23:47 -07:00
Brian C. Lane
0086362f0b New lorax documentation - 30.1 2018-10-04 16:55:20 -07:00
Brian C. Lane
f360ef9216 Lock the root account, except on live-iso
If we leave the root account w/o a password people will use it that way,
leading to insecure images. Also if we use a default password. So lock
the root account in the templates.

Users will need to do one of these things:
 1. Use [[customizations.user]] in their blueprint to configure root or
    another user.
 2. Use [[customizations.sshkey]] to set a key for root
 2. Install a package that configures a user at install time
 3. Install a package that sets up a user at boot time (eg. cloud-init)

This also drops the auth line from the kickstart templates, allowing it
to use the default password algoritm instead of md5.

Resolves: rhbz#1626122
2018-10-02 13:59:42 -07:00
David Shea
1056bfc25b Add a vmdk compose type.
This is similar to the AMI type, but also adds open-vm-tools and does not do
anything special to the partitioning
2018-10-02 11:54:41 -04:00
David Shea
e0c236ff36 Add a vhd compose type for Azure images
This does pretty much the same things as the AMI compose type, but also
replaces NetworkManager with the Azure linux agent.
2018-10-02 11:54:41 -04:00
David Shea
18188bf6cf Add an ami compose type for AWS images
This differs from lmc's --make-ami in that creates a full disk image instead of
an fsimage. Create a raw disk image with a / and /boot partitions, and enable
sshd, chronyd, and cockpit by default.
2018-10-02 11:54:38 -04:00
Lars Karlitski
c9be91c879 Rename composer-cli to composer 2018-09-20 12:02:03 +03:00
Brian C. Lane
0432c6d56e Add a Makefile target for building html docs using a rawhide environment
This makes it easier to generate new documentation for
http://weldr.io/lorax/

It requires having a current welder/lorax-composer:latest image (created with
the test-in-docker target), then run docs-in-docker to rerun sphinx with
the docs/html directory mounted from the container.
2018-09-07 09:54:21 -07:00
Brian C. Lane
330ee6c8b6 New lorax documentation - 29.14 2018-09-06 10:37:53 -07:00
Brian C. Lane
04fd94f44b Add documentation for using a DVD as the package source 2018-08-21 11:28:35 -07:00
Brian C. Lane
c638926880 New lorax documentation - 29.11 2018-08-13 16:43:20 -07:00
Brian C. Lane
83e5f3f885 Add a note about using lorax-composer.service
Update the docs to make it clear that .socket will be slow to respond to
the first request, and to use .service to speed it up.
2018-08-13 16:41:44 -07:00
Brian C. Lane
07de4c371a Ignore dnf.logging when building docs 2018-08-13 16:32:26 -07:00
Chris Lumens
bf95a3310b Document that you shouldn't run lorax-composer twice.
(cherry picked from commit 052828047c)
2018-07-26 10:41:56 -04:00
Brian C. Lane
8b271aa917 New lorax documentation - 29.10 2018-07-20 15:51:06 -07:00
Brian C. Lane
0ff9a674ca Add dnf.transaction to list of modules for sphinx to ignore 2018-07-20 15:48:18 -07:00
Chris Lumens
76d376fe18 Add support for groups to blueprints.
Nothing is currently being done with this information, but it will be
soon.

(cherry picked from commit 0f69d2084c)
2018-07-18 13:48:25 -07:00
Brian C. Lane
9e41052992 Fix a couple typos in lorax-composer docs.
The description of blueprint versions was wrong, now it is
correct.
2018-06-29 14:15:54 -07:00
Brian C. Lane
98de565979 Add reqpart to example kickstart files
This will make sure that platform specific partitions are created when
making partitioned disk images.
2018-06-11 13:54:51 -07:00
Brian C. Lane
ca6030c5c7 New lorax documentation - 29.7 2018-06-07 09:03:55 -07:00
Brian C. Lane
84ee526d3f New lorax documentation - 29.6 2018-06-04 16:27:56 -07:00
Brian C. Lane
d47d38e0c8 Override Sphinx documentation version with LORAX_VERSION
Normally you want to document the NEXT release, not the last. This
allows you to build the documentation using:

LORAX_VERSION="29.6" make docs
2018-06-04 16:25:33 -07:00
Brian C. Lane
6d677b2207 Add support for user defined package sources API
This lives under /api/v0/projects/source/*

See the documentation for details
2018-06-04 15:45:36 -07:00
Colin Walters
bb3d8edd06 templates: Stop using gconfset
We had only been indirectly pulling in GConf, and anyways
nothing was listening to these keys.

<kalev> I still think it's a fallout from 27a90d973f

Really in general, if we wanted to make changes like this
it'd probably be a lot simpler to do them on boot or so.

https://bugzilla.redhat.com/show_bug.cgi?id=1581838
2018-05-23 14:20:44 -07:00
Brian C. Lane
683ec03cc8 Update documentation (#1430906) 2018-05-17 11:20:22 -07:00
Brian C. Lane
e963af3b1a Fix documentation for enabling lorax-composer.socket
It needs to be enabled AND started for it to work.
2018-05-14 14:09:46 -07:00
Brian C. Lane
c726f19434 Update the generated html docs 2018-05-14 13:00:15 -07:00
Brian C. Lane
ad549a4601 Add documentation for lorax-composer and composer-cli 2018-05-14 13:00:15 -07:00
Brian C. Lane
4462124848 lorax's gh-pages are under ./lorax/ so make the links relative 2018-03-15 14:21:37 -07:00
Brian C. Lane
dfaac5c84d New lorax documentation - 29.0 2018-03-15 14:07:05 -07:00
Brian C. Lane
e49c49ecb5 Update Copyright year to 2018 in Sphinx docs 2018-03-15 14:05:58 -07:00
Brian C. Lane
567e103058 Add links to documentation for previous versions 2018-03-15 14:05:58 -07:00
Brian C. Lane
c2d94cd195 Add --old-chroot to the mock example cmdlines
Since mock now needs this in order for livemedia-creator to work with it
add it to all of the example cmdlines.
2018-01-03 11:36:05 -08:00
Brian C. Lane
605031c269 New lorax documentation - 28.2 2017-11-28 09:18:51 -08:00
Brian C. Lane
40d823eacf Add documentation about mock changes (#1473880)
mock now uses systemd-nspawn by default, but it cannot setup the
/dev/loop* nodes that are needed by lorax and livemedia-creator so users
will need to pass --old-chroot to mock if they are using it.
2017-11-28 09:08:33 -08:00
Brian C. Lane
092c593d6b INSTALL_ROOT and LIVE_ROOT are not available during %post
These were set by livecd-creator, and the %post section was used to
setup the license files on the / of the iso which will not work from
inside anaconda so drop it completely.
2017-03-15 08:22:23 -07:00
Brian C. Lane
57216bd9c7 New lorax documentation - 26.2 2016-11-29 09:27:44 -08:00
Brian C. Lane
5c15371874 New lorax documentation - 25.12 2016-07-28 07:57:51 -07:00
Brian C. Lane
f2d50198ef New lorax documentation - 25.6 2016-05-23 16:55:51 -07:00
Brian C. Lane
31db046a80 Add example kickstart for Atomic PXE live no-virt
Because --no-virt uses a fsimage disk you can't create a /boot
partition. This kickstart will also work for creating the PXE files
inside a mock environment.

Also rename rhel-atomic-pxe-live.ks to fedora-atomic-pxe-live.ks
2016-04-29 16:09:06 -07:00
Brian C. Lane
4e495bc918 livemedia-creator: Update example kickstarts
Update the URL, add network command where needed, make sure all auth
commands are using sha512 now.

Removed the fedora-livemedia-ec2 example, Fedora doesn't have grub and
it has never really been tested.
2016-03-29 09:44:53 -07:00
Brian C. Lane
17e8cfa095 New lorax documentation - 25.2 2016-03-21 14:23:15 -07:00
Brian C. Lane
e12f6b8ede Use Sphinx to generate manpages
Use make -C docs man to regenerate the manpages in docs/man/
2016-03-21 14:21:56 -07:00
Brian C. Lane
12690a0aa3 livemedia-creator: Use sphinx-argparse to document args
Add it to lorax.rst and livemedia-creator.rst
2016-03-21 14:21:56 -07:00
Brian C. Lane
0b9077ceaa Move argument parsers into pylorax.cmdline
This will make it possible to use sphinx-argparse to generate all the
documentation and manual pages.
2016-03-21 14:21:55 -07:00
Brian C. Lane
9328100a4d livemedia-creator: Update kickstarts for rawhide 2016-03-09 16:41:11 -08:00
Brian C. Lane
f8316a7b89 livemedia-creator: Use qemu instead of virt-install
Switching to using qemu directly allows lmc to be more flexible. It can
now run from inside a mock chroot for creation of all image types,
inculding disk images, and can take advantage of KVM on the host system
if /dev/kvm device is present inside the mock.

It should also be possible to create cross-arch images, but without kvm
available this is likely to be a very slow option.
2016-03-03 17:22:50 -08:00
Brian C. Lane
5b109a9337 New lorax documentation - 24.10 2016-02-12 16:06:33 -08:00
Brian C. Lane
76bce910e0 Move templates to /usr/share/lorax/templates.d/99-generic 2016-02-10 17:14:11 -08:00
Brian C. Lane
b099b30754 Add documentation for the lorax command and templates 2016-02-09 09:11:54 -08:00
Brian C. Lane
87d941b81a livemedia-creator: Add kernel-modules and kernel-modules-extra to examples
If you don't do this DNF will add the debug kernel to the package set to
satisfy kmod() requirements.

Also bump the default releasever for lmc to 24.
2016-01-13 14:31:40 -08:00
Brian C. Lane
b138b27bd8 Add --iso-name to use with --iso-only
Instead of reusing --image-name add a new argument to name the iso. This
way the disk image can be given a unique name with --image-name and the
iso can be named something different.
2016-01-11 09:54:40 -08:00
Brian C. Lane
059e40a64b Add --iso-only option to --make-iso
This option removes all the extra build artifacts from --make-iso,
leaving only the boot.iso

It also supports naming of the final iso with --image-name
2016-01-08 08:53:55 -08:00
Brian C. Lane
f04fa1ea34 docs: Update documentation for livemedia-creator 2015-12-21 16:13:08 -08:00
Brian C. Lane
785c4c9cd5 Update Lorax documentation - 24.6 2015-12-04 10:12:19 -08:00
Brian C. Lane
6acf489ffd Update docs for product.img
Make it clear that the contents of product.img and updates.img comes
from the install root, not from the build host's filesystem.
2015-12-04 10:07:19 -08:00
Brian C. Lane
e5c0c634b0 Add --virt-uefi to boot the VM using OVMF
This requires OVMF to be setup on the system, and for the kickstart to
create a /boot/efi/ partition. You can then use it to create UEFI
bootable partitioned disk images.
2015-11-05 09:33:15 -08:00
Brian C. Lane
b77506cb50 Add documentation and kickstart for --make-vagrant 2015-10-20 17:46:54 -07:00
Brian C. Lane
88a2d9cc58 Add documentation for --make-oci 2015-10-20 17:43:39 -07:00
Brian C. Lane
f0262472f6 Update Lorax documentation - 24.3 2015-10-07 11:25:53 -07:00
Brian C. Lane
6f6af862c6 livemedia-creator: Remove random-seed from images (#1258986)
systemd uses /var/lib/systemd/random-seed to add entropy to /dev/urandom
at boot time. During image creation this file is created, and if not
removed everything using the image will be adding the same seed.

This is only additional entropy, NOT a seed in the sense of a starting
point for a PRNG, so it will be mixed with other entropy as the system
runs. It isn't a good idea to use the same value everywhere so make sure
it is removed in %post

Resolves: rhbz#1258986
2015-09-02 10:32:30 -07:00
Will Woods
a3e1a275ff don't build upgrade.img anymore
fedup is deprecated and abandoned. Let's save time and disk by not
building `upgrade.img` when nothing is going to use it anymore.

For the record, performing upgrades using an initramfs from the new
system turns out to be fragile and hard to support:

* dracut initramfs isn't generic enough to handle booting all systems
  (e.g. missing vconsole.conf means you get keymaps wrong, so users
  can't unlock encrypted disks)

* The ABI differences between the two versions of plymouth, systemd,
  etc. requires nasty workarounds at best and causes nightmarish
  systemd crashes at worst

This patch removes all the code that built and installed `upgrade.img`.

For backwards compatibility, the API retains the `doupgrade` keyword
argument, and the `--noupgrade` flag is still accepted.
2015-08-31 16:24:39 -07:00
Brian C. Lane
9da9bf954d Update lmc docs for new mock
As of mock 1.2.12 you no longer need to bind mount /dev/ to get access
to the loop devices.
2015-08-28 11:36:02 -07:00
Alexander Todorov
dd15b0ab08 document --timeout in livemedia-creator man page 2015-08-27 08:38:38 -07:00
Brian C. Lane
76362a8dd2 Update Lorax documentation - 24.1 2015-08-25 15:51:32 -07:00
Brian C. Lane
b23bef069a Add dracut-live for livemedia kickstart example 2015-07-30 15:08:23 -07:00
Brian C. Lane
9e910fadde Update Lorax documentation - 23.13
Add documentation for the new monitor and mount modules.
2015-07-17 08:36:21 -07:00
Brian C. Lane
3560d12608 Update execWith* docstrings 2015-05-15 17:11:21 -07:00
Brian C. Lane
1a6a118665 livemedia-creator: Update example kickstarts
network line is no longer needed.

zerombr is not needed, use --initlabel with clearpart
2015-05-15 17:11:21 -07:00
Brian C. Lane
0f8deb52e2 Update fedora-livemedia.ks example
Updated to current f22 version.
2015-05-15 17:11:20 -07:00
Brian C. Lane
37868a3529 Include html documentation under docs/html 2015-05-15 17:11:20 -07:00
Brian C. Lane
92583a728b Switch documentation to python3
Build html by running make html
2015-05-15 17:11:20 -07:00
Brian C. Lane
0f0f01d51d Create html documentation under docs/html/ 2015-05-15 17:11:20 -07:00
Brian C. Lane
a6e469e0e6 Clean up some pylint warnings
Mostly logging, using .format() on the strings.
2015-05-15 17:11:20 -07:00
Brian C. Lane
9b384e084f Mock more modules for RTD
Also add a requirements.txt for RTD so that it will install Mako into
the virtualenv when generating the documentation.
2015-04-09 11:01:20 -07:00
Brian C. Lane
da59f8af4b Mock the selinux package for RTD 2015-04-09 10:26:14 -07:00
Brian C. Lane
f40dadf9be Added Sphinx Documentation
Run 'make docs' to update the apidocs.

Also moves the README.livemedia-creator and README.product into docs
as ReST documents. They will be installed in /usr/share/doc/lorax/
by the rpm package.
2015-04-09 09:29:56 -07:00
Radek Vykydal
5aa6bb5f0c Add --live-rootfs-keep-size option 2015-01-16 10:01:41 +01:00
Radek Vykydal
d16bdcaf6d Add --live-rootfs-size option. 2015-01-16 10:01:41 +01:00
Brian C. Lane
a55fe2259a livemedia-creator: Update example kickstarts
We don't need biosboot partitions, and the urls should point to rawhide.
On minimal installs dracut needs to have tar and dracut-network
explicitly included.
2015-01-15 09:39:15 -08:00
Radek Vykydal
c46f3367ca Override services kickstart setting from interactive-defaults.ks 2015-01-15 11:03:05 +01:00
Radek Vykydal
a19c509430 Add --make-pxe-live and --make-ostree-live (for Atomic) targets.
--make-pxe-live target generate live squashfs and initrd for pxe boot.
Also generates pxe config template.

--make-ostree-live is used for installations of Atomic Host. Additionally to
--make-pxe-live it ensures using deployment root instead of physical root of
installed disk image where needed. Atomic installation needs to be virt
installation with /boot on separate partition (the only way supported by
Anaconda currently). Content of boot partition is added to live root fs so that
ostree can find deployment by boot configuration.
2015-01-13 12:45:06 +01:00
Brian C. Lane
096497b9d9 Fix 'docs' typo in livemedia-creator manpage (#1149026) 2014-10-03 13:33:50 -07:00
Brian C. Lane
d04a99e8f4 livemedia-creator: Add support for making tarfiles
This adds the --make-tar option which will produce a xz compressed tar
of the root filesystem. This works with either virt-install or no-virt
modes. Use --image-name to set the output filename.

--compression is used to set the compression type to use, which defaults
to xz. Supported types are xz, lzma, gzip and bzip2.

--compress-arg is used to pass arguments to the compression utility.
2014-04-07 10:58:32 -07:00
Brian C. Lane
71dd20607b livemedia-creator: Update documentation to reflect new options 2014-04-04 15:01:09 -07:00
Brian C. Lane
99f2ab9137 move image-minimizer to lorax (#1082642)
This is used as a kickstart %post interpreter to streamline
modifications to images.

Also adds an example kickstart.

This obsoletes the old appliance-tools-minimizer and includes a Provide
so that the transition will be seamless.
2014-03-31 17:02:55 -07:00
Brian C. Lane
fca6a13875 livemedia-creator: Add minimal disk example kickstart (#1019728)
Also adds a check for a bad url repo, and fix ram calculation for
appliance mode. Updates the README.livemedia-creator documentation.

Resolves: rhbz#1019728
2013-11-01 10:27:24 -07:00
Brian C. Lane
dd8b0a5ee6 livemedia-creator: Update example kickstart
Update the url to us the F20 development repo, drop the --device from
the ks and add them to the docs directory.
2013-09-17 16:27:21 -07:00