summaryrefslogtreecommitdiff
path: root/man
Commit message (Collapse)AuthorAgeFilesLines
* Update FSF license notices to use URL instead of addressJoseph Marrero2021-12-0744-132/+44
|
* Merge pull request #2434 from cgwalters/custom-remoteColin Walters2021-09-081-0/+8
|\ | | | | Add support for "custom remotes"
| * Add support for "custom remotes"Colin Walters2021-09-081-0/+8
| | | | | | | | | | | | | | | | | | | | This will be helpful for the "ostree native container" work in https://github.com/ostreedev/ostree-rs-ext/ Basically in order to reuse GPG/signapi verification, we need to support adding a remote, even though it can't be used via `ostree pull`. (At least, not until we merge ostree-rs-ext into ostree, but even then I think the principle stands)
* | upgrade: Stabilize deployment stagingColin Walters2021-09-071-0/+10
|/ | | | | | | | | | We're waaay overdue for this, it's been the default in rpm-ostree for years, and solves several important bugs around not capturing `/etc` while things are running. Also, `ostree admin upgrade --stage` (should) become idempotent. Closes: https://github.com/ostreedev/ostree/issues/2389
* bin/remote: Rename list-gpg-keys to gpg-list-keysDan Nicholson2021-08-231-2/+2
| | | | | | | | | | | | | | | As pointed out in the original review, `gpg-list-keys` fits better alongside the existing `gpg-import`. Changes were done with: ``` git grep -l list-gpg-keys | xargs sed -i 's/list-gpg-keys/gpg-list-keys/' for src in $(git ls-files '*list-gpg-keys*'); do dst=${src/list-gpg-keys/gpg-list-keys} git mv "$src" "$dst" done ```
* Merge pull request #2401 from dbnicholson/gpg-key-infoColin Walters2021-08-201-1/+8
|\ | | | | Remote GPG key info
| * bin/remote: Add list-gpg-keys subcommandDan Nicholson2021-07-151-1/+8
| | | | | | | | | | | | | | | | This provides a wrapper for the `ostree_repo_remote_get_gpg_keys` function to show the GPG keys associated with a remote. This is particularly useful for validating that GPG key updates have been applied. Tests are added, which checks the `ostree_repo_remote_get_gpg_keys` API by extension.
* | man: improve statoverride descriptionBenjamin Gilbert2021-07-141-1/+3
|/ | | | | A statoverride file written in the obvious way will produce incorrect results for two independent reasons. Document them.
* *: rename master to main in tests & examplesTimothée Ravier2021-05-075-12/+12
|
* Add an API+CLI to inject metadata for bootable OSTree commitsColin Walters2021-03-121-0/+7
| | | | | | | | | | | | | | | | | | | | | I was doing some rpm-ostree work and I wanted to compare two OSTree commits to see if the kernel has changed. I think this should be a lot more natural. Add `ostree commit --bootable` which calls into a new generic library API `ostree_commit_metadata_for_bootable()` that discovers the kernel version and injects it as an `ostree.linux` metadata key. And for extra clarity, add an `ostree.bootable` key. It's interesting because the "core" OSTree layer is all about generic files, but this is adding special APIs around bootable OSTree commits (as opposed to e.g. flatpak as well as things like rpm-ostree's pkgcache refs). Eventually, I'd like to ensure everyone is using this and hard require this metadata key for the `ostree admin deploy` flow - mainly to prevent accidents.
* man: Add missing repo mode in config docsfix-repo-modes-docsPhaedrus Leeds2021-03-081-1/+1
|
* pull: Allow disabling commit binding verificationDan Nicholson2020-12-172-0/+16
| | | | | | | | | | | | | | | | In some cases such as backups or mirroring you may want to pull commits from one repo to another even if there commits that have incorrect bindings. Fixing the commits in the source repository to have correct bindings may not be feasible, so provide a pull option to disable verification. For Endless we have several repositories that predate collection IDs and ref bindings. Later these repositories gained collection IDs to support the features they provide and ref bindings as the ostree tooling was upgraded. These repositories contain released commits that were valid to the clients they were targeting at the time. Correcting the bindings is not really an option as it would mean invalidating the repository history.
* Add support for explicitly requesting any specific bootloader typeWilliam Manley2020-10-261-1/+8
| | | | | | | | | ...with the `sysroot.bootloader` configuration option. This can be useful when converting a system to use `ostree` which doesn't currently have a bootloader configuration that `ostree` can automatically detect, and is also useful in combination with the `--sysroot` option when provisioning a rootfs for systems other than the one you're running `ostree admin deploy` on.
* deltas: Add and document no-deltas-in-summary config optionAlexander Larsson2020-10-231-0/+14
| | | | By default this is FALSE to keep existing clients working.
* Merge pull request #2198 from cgwalters/no-hardlink-zerosizeOpenShift Merge Robot2020-10-051-1/+1
|\ | | | | checkout: Don't hardlink zero sized files
| * checkout: Don't hardlink zero sized filesColin Walters2020-10-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Alternative to https://github.com/ostreedev/ostree/pull/2197 Python's (usually) zero-sized `__init__.py` files can provoke us hitting the hardlink limits on some filesystems (`EMLINK`). At least one Fedora rpm-ostree user hit this. The benefits of hardlinking here are quite marginal; lots of hardlinks can behave suboptimally in particular filesystems like BTRFS too. This builds on prior code which made this an option, introduced in https://github.com/ostreedev/ostree/commit/673cacd633f9d6b653cdea530657d3e780a41bbd Now we just do it uncondtionally. Also this provoked a different bug in a very obscure user mode checkout case; when the "real" permissions were different from the "physical" permissions, we would still hardlink. Fix the test case for this.
* | bin/static-delta: Add signature parameters to apply-offlineFrédéric Danis2020-09-141-1/+60
| | | | | | | | | | | | This allows to check the delta signature before applying it. Signed-off-by: Frédéric Danis <frederic.danis@collabora.com>
* | bin/static-delta: Add command to verify delta signatureFrédéric Danis2020-09-141-0/+64
| | | | | | | | | | | | | | Add new "static-delta verify" sub-command. This supports multiple keys to verify the static-delta file. Signed-off-by: Frédéric Danis <frederic.danis@collabora.com>
* | bin/static-delta: Add support to sign superblockFrédéric Danis2020-09-141-0/+33
|/ | | | | | Add signing ability to "static-delta generate" builtin. Signed-off-by: Frédéric Danis <frederic.danis@collabora.com>
* man: add missing options to the ostree-commit man pageStefan Agner2020-07-311-1/+33
| | | | | | Add missing parameter to the ostree-commit man page. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
* man: add glossary to main man pageStefan Agner2020-07-311-0/+64
| | | | | | | Add glossary to define some commonly used literals throughout the ostree man pages. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
* pull: Add --per-object-fsyncColin Walters2020-07-181-0/+12
| | | | | | | | | | | | This is the opposite of https://github.com/ostreedev/ostree/issues/1184 Motivated by OpenShift seeing etcd performance issues during OS updates: https://github.com/openshift/machine-config-operator/issues/1897 Basically, if we switch to invoking `fsync()` as we go, it makes ostree performance worse (in my tests, 31s to write 2G versus 7s if we delay sync) but it avoids *huge* outliers in `fsync()` time for etcd.
* man/checkout: document missing optionsStefan Agner2020-06-081-0/+71
| | | | | | Document missing options in the ostree checkout man page. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
* man/checkout: fix short name option of --user-modeStefan Agner2020-06-081-1/+1
| | | | | | The short name option of --user-mode is -U. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
* commit: Add --base argumentColin Walters2020-04-061-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I was trying to followup the `--selinux-policy-from-base` work to add a `cosa build --fast=overlay` for coreos-assembler, but hit on the fact that using e.g. `--owner-uid` disables commit optimizations. A while ago, https://github.com/ostreedev/ostree/pull/1643 landed which optimized this for the case where no modifications are provided. But, we really need the SELinux policy bits, and it's super convenient to run `ostree commit` as non-root. It's fairly surprising actually that it's taken us so long to iterate on a good interface for this "commit changes on top of a base" model. In practice, many nontrivial cases really end up needing to do a (hardlink) checkout, and that case is optimized. But for this coreos-assembler work I want to directly overlay onto a commit object another commit object. That previous PR above added exactly the API we need, so let's expose it in the CLI. What you can see happening in the test is that we provide `--owner-uid 42`, but that only applies to directories/files that were added in the commit. And now that I look at this, I think what we really want here is to avoid changing directories that exist in the base, but eh; in practice the main use here is for `--owner-uid 0` while committing as non-root; and that works fine with this since the baseline uid will be zero as well.
* Merge pull request #1878 from d4s/wip/d4s/no_gpgOpenShift Merge Robot2020-04-043-1/+219
|\ | | | | Alternative signing system
| * man: add signature options for ostree summaryDenis Pynkin2020-03-251-1/+34
| | | | | | | | | | | | | | Add a description of new options `--sign-type` and `--sign` for `ostree summary` command. Signed-off-by: Denis Pynkin <denis.pynkin@collabora.com>
| * man: document commit signingDenis Pynkin2020-03-251-0/+33
| | | | | | | | | | | | | | Added options descriptions for `ostree-commit` allowing to sign the commit. Signed-off-by: Denis Pynkin <denis.pynkin@collabora.com>
| * man: document `ostree sign`Denis Pynkin2020-03-251-0/+152
| | | | | | | | | | | | Add man page for `ostree sign`. Signed-off-by: Denis Pynkin <denis.pynkin@collabora.com>
* | find-remotes: Add a --mirror optionMatthew Leeds2020-03-281-0/+10
|/ | | | | | This will be useful in the unit test added by the next commit. It just passes OSTREE_REPO_PULL_FLAGS_MIRROR to the call to ostree_repo_pull_from_remotes_async().
* bin/diff: Clarify documentation around REV and DIR syntaxJonathan Lebon2020-03-181-2/+2
| | | | Related: #2032
* Update ostree-pull.xml with info about pulled refs location and accessclime2020-02-191-0/+8
|
* bin/show: Add --print-sizes option to show sizes metadataDan Nicholson2020-01-201-0/+11
| | | | | Use the new `ostree_commit_get_object_sizes()` API to read the `ostree.sizes` commit metadata and print a summary.
* bin/refs: Allow overwriting existing refDan Nicholson2019-06-121-0/+10
| | | | | | | | | | | | | | Currently if you want to update a non-alias ref, you need to first check if it exists and use either `ostree refs --create` or `ostree reset` as appropriate. That's unnecessarily complicated and is much less convenient than the old `write-refs` builtin that simply called `ostree_repo_set_ref_immediate()` without any checks. Add a `--force` option to be used with `--create` that does not raise an error when the destination ref already exists. Closes: #1870 Approved by: jlebon
* man: Document ability to commit archives from stdinTristan Van Berkom2019-05-281-1/+1
| | | | | Closes: #1862 Approved by: jlebon
* Add sysroot.bootloader repo config keyRobert Fairley2019-03-011-16/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The sysroot.bootloader key configures the bootloader that OSTree uses when deploying a sysroot. Having this key allows specifying behavior not to use the default bootloader backend code, which is preferable when creating a first deployment from the sysroot (#1774). As of now, the key can take the values "auto" or "none". If the key is not given, the value defaults to "auto". "auto" causes _ostree_sysroot_query_bootloader() to be used when writing a new deployment, which is the original behavior that dynamically detects which bootloader to use. "none" avoids querying the bootloader dynamically. The BLS config fragments are still written to sysroot/boot/loader/entries for use by higher-level software. More values can be supported in future to specify a single bootloader, different behavior for the bootloader code, or a list of bootloaders to try. Resolves: #1774 Closes: #1814 Approved by: jlebon
* man/ostree-config: Consistently use GROUPNAME placeholderMatthew Leeds2019-03-011-5/+3
| | | | | | | | It doesn't make much sense to use SECTIONNAME in some places and GROUPNAME in others when they mean the same thing. Closes: #1743 Approved by: cgwalters
* ostree/config: Add an "unset" operationMatthew Leeds2019-03-011-3/+27
| | | | | | | | | | | | | | | Currently there's a way to set a key to the empty string but there's no way to unset it completely (remove the key from the group). This might be helpful for instance if you want to temporarily set "core.lock-timeout-secs" to a specific value for the duration of one operation and then return it to the default after that operation completes. This commit implements an "unset" operation for the config command, adds a unit test, and updates the man page. Closes: #1743 Approved by: cgwalters
* man: Document ostree --versionMatthew Leeds2019-02-141-0/+9
| | | | | Closes: #1820 Approved by: rfairley
* remote-add: Add --force option to add or replace remoteDan Nicholson2019-02-081-0/+8
| | | | | | | | | This uses the OSTREE_REPO_REMOTE_CHANGE_REPLACE operation to add a remote or replace an existing one. This is roughly the opposite of --if-not-exists and will raise an error if both options are passed. Closes: #1166 Approved by: cgwalters
* man: Document remote add --if-not-exists optionDan Nicholson2019-02-081-0/+8
| | | | | Closes: #1166 Approved by: cgwalters
* man/ostree.repo-config: Update min-free-space-* docsUmang Jain2018-12-121-2/+9
| | | | | | | | Docs should reflect the changes done in PR: https://github.com/ostreedev/ostree/pull/1779 Closes: #1786 Approved by: jlebon
* lib/repo: Search a list of paths in gpgkeypath for gpg keysrfairley2018-11-211-16/+21
| | | | | | | | | | | | | | | | | | This allows specifying gpgpath as list of paths that can point to a file or a directory. If a directory path is given, paths to all regular files in the directory are added to the remote as gpg ascii keys. If the path is not a directory, the file is directly added (whether regular file, empty - errors will be reported later when verifying gpg keys e.g. when pulling). Adding the gpgkeypath property looks like: ostree --repo=repo remote add --set=gpgpath="/path/key1.asc,/path/keys.d" R1 https://example.com/some/remote/ostree/repo Closes #773 Closes: #1773 Approved by: cgwalters
* Rename core.repo-finders to core.default-repo-findersMatthew Leeds2018-10-231-1/+1
| | | | | | | | | | | This renames a config key to make its semantics more obvious. Despite what the commit message says, it only applies when a set of repo finders is not specified (either on the command line or in a library API call). This also renames the corresponding ostree_repo_get function. We can do this since it hasn't been released yet. Closes: #1763 Approved by: pwithnall
* lib/repo-pull: Disable LAN updates by defaultMatthew Leeds2018-10-211-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit disables searching on the local network for refs, unless explicitly requested by the user either by changing the value of the "core.repo-finders" config option, or by passing an OstreeRepoFinderAvahi to ostree_repo_find_remotes_async() / ostree_repo_finder_resolve_async(), or by specifying "lan" in the --finders option of the find-remotes command. The primary reason for this is that ostree_repo_find_remotes_async() takes about 40% longer to complete with the LAN finder enabled, and that API is used widely (e.g. in every flatpak operation). It's also probable that some users don't want ostree doing potentially unexpected traffic on the local network, even though everything pulled from a peer is GPG verified. Flathub will soon deploy collection IDs to everyone[1] so these code paths will soon see a lot more use and that's why this change is being made now. Endless is the only potential user of the LAN updates feature, and we can revert this patch on our fork of ostree. For it to be used outside Endless OS we will need to upstream eos-updater-avahi and eos-update-server into ostree. [1] https://github.com/flathub/flathub/issues/676 Closes: #1758 Approved by: cgwalters
* Allow disabling pulling from LAN/USB/InternetMatthew Leeds2018-10-211-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently libostree essentially has two modes when it's pulling refs: the "legacy" code paths pull only from the Internet, and the code paths that are aware of collection IDs try to pull from the Internet, the local network, and mounted filesystems (such as USB drives). The problem is that while we eventually want to migrate everyone to using collection IDs, we don't want to force checking LAN and USB sources if the user just wants to pull from the Internet, since the LAN/USB code paths can have privacy[1], security[2], and performance[3] implications. So this commit implements a new repo config option called "repo-finders" which can be configured to, for example, "config;lan;mount;" to check all three sources or "config;mount;" to disable searching the LAN. The set of values mirror those used for the --finders option of the find-remotes command. This configuration affects pulls in three places: 1. the ostree_repo_find_remotes_async() API, regardless of whether or not the user of the API provided a list of OstreeRepoFinders 2. the ostree_repo_finder_resolve_async() / ostree_repo_finder_resolve_all_async() API 3. the find-remotes command This feature is especially important right now since we soon want to have Flathub publish a metadata key which will have Flatpak clients update the remote config to add a collection ID.[4] This effectively fixes https://github.com/flatpak/flatpak/issues/1863 but I'll patch Flatpak too, so it doesn't pass finders to libostree only to then have them be removed. [1] https://github.com/flatpak/flatpak/issues/1863#issuecomment-404128824 [2] https://github.com/ostreedev/ostree/issues/1527 [3] Based on how long the "ostree find-remotes" command takes to complete, having the LAN finder enabled slows down that step of the pull process by about 40%. See also https://github.com/flatpak/flatpak/issues/1862 [4] https://github.com/flathub/flathub/issues/676 Closes: #1758 Approved by: cgwalters
* man/create-usb: Don't recommend summary updatesMatthew Leeds2018-10-021-5/+0
| | | | | | | | | | | | | | | | | This commit removes the recommendation in the create-usb man page for the user to update the summary in the source repo before using the create-usb command. I'm not sure where I got the idea that create-usb depends on a summary in the source repo. I went back to the first commit that introduced the create-usb command and even using that a summary isn't required, so it seems unlikely that this changed recently. This is good news because the exclusive lock that's taken for summary updates has been causing problems on Endless (due to other processes having a lock for the duration of the 30 second acquire time out period). Closes: #1746 Approved by: cgwalters
* man/ostree.repo-config: Document locking optionsMatthew Leeds2018-09-281-0/+17
| | | | | | | | This commit documents the "locking" and "lock-timeout-secs" options which have been around for a few releases. Closes: #1737 Approved by: jlebon
* create-usb: Add a --commit optionMatthew Leeds2018-09-251-0/+9
| | | | | | | | | | | | | | | | | | | | | | | Currently on Endless OS, the OSTree ref for the operating system is something like os/eos/amd64/eos3, so that's what gets passed to `ostree create-usb` when copying the OS to a USB drive (for offline updates). However, when eos-updater checks for updates it pulls the metadata for a candidate commit and in so doing updates that eos3 ref to point to the partial commit being examined as a potential update rather than the deployed commit. This causes `ostree create-usb` to fail with an error like "No such metadata object 7fb045cb2d1f1f3a81bfc157c6128ff443eb56350315b9536bdb56aee0659863.dirtree". OSTree creates deployment refs that look like "ostree/1/1/0" to maintain a pointer to the deployed commit, but create-usb can't use these because it shows up in the summary as just a ref, not a collection-ref. So this commit adds a --commit option to the create-usb command, so we can use the appropriate ref but copy the deployed commit rather than a (potentially partial) update commit. Closes: #1735 Approved by: cgwalters
* man/config: Keep cmdsynopsis for GROUP.KEY versionJonathan Lebon2018-08-211-1/+8
| | | | | | | | It's nice to still show the previous usage since it's easier to type in trivial cases like `core.mode`. Closes: #1710 Approved by: sinnykumari