2014-03-31 03:32:50 +04:00
<?xml version='1.0'?> <!-- * - nxml - * -->
< !DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
Copyright 2014 Colin Walters <walters @ v e r b u m . o r g >
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
-->
<refentry id= "ostree.repo-config" >
<refentryinfo >
<title > ostree.repo-config</title>
<productname > OSTree</productname>
<authorgroup >
<author >
<contrib > Developer</contrib>
<firstname > Colin</firstname>
<surname > Walters</surname>
<email > walters@verbum.org</email>
</author>
</authorgroup>
</refentryinfo>
<refmeta >
<refentrytitle > ostree.repo-config</refentrytitle>
<manvolnum > 5</manvolnum>
</refmeta>
<refnamediv >
<refname > ostree.repo-config</refname>
<refpurpose > OSTree repository configuration</refpurpose>
</refnamediv>
<refsect1 >
<title > Description</title>
<para >
The <filename > config</filename> file in an OSTree
repository is a "keyfile" in the <ulink
url="http://standards.freedesktop.org/desktop-entry-spec/latest/">XDG
Desktop Entry Specification</ulink> format. It has
several global flags, as well as zero or more remote
entries which describe how to access remote
repositories.
</para>
<para >
See <citerefentry > <refentrytitle > ostree.repo</refentrytitle> <manvolnum > 5</manvolnum> </citerefentry> for more information
about OSTree repositories.
</para>
</refsect1>
<refsect1 >
<title > [core] Section Options</title>
<para >
Repository-global options. The following entries are defined:
</para>
<variablelist >
<varlistentry >
<term > <varname > mode</varname> </term>
2017-09-01 23:15:33 +03:00
<listitem > <para > One of <literal > bare</literal> , <literal > bare-user</literal> or <literal > archive-z2</literal> (note that <literal > archive</literal> is used everywhere else.)</para> </listitem>
2014-03-31 03:32:50 +04:00
</varlistentry>
<varlistentry >
<term > <varname > repo_version</varname> </term>
<listitem > <para > Currently, this must be set to <literal > 1</literal> .</para> </listitem>
</varlistentry>
2014-06-04 17:59:47 +04:00
2015-04-02 13:33:07 +03:00
<varlistentry >
<term > <varname > commit-update-summary</varname> </term>
<listitem > <para > Boolean value controlling whether or not to
automatically update the summary file after a commit. Defaults
to <literal > false</literal> .</para> </listitem>
</varlistentry>
2014-06-04 17:59:47 +04:00
<varlistentry >
<term > <varname > fsync</varname> </term>
<listitem > <para > Boolean value controlling whether or not to
ensure files are on stable storage when performing operations
such as commits, pulls, and checkouts. Defaults to
<literal > true</literal> .</para>
<para >
If you disable fsync, OSTree will no longer be robust
against kernel crashes or power loss.
</para>
<para >
You might choose to disable this for local development
repositories, under the assumption they can be recreated from
source. Similarly, you could disable for a mirror where you could
re-pull.
</para>
<para >
For the system repository, you might choose to disable fsync
if you have uninterruptable power supplies and a well tested
kernel.
</para>
</listitem>
</varlistentry>
2017-08-08 08:59:17 +03:00
<varlistentry >
<term > <varname > min-free-space-percent</varname> </term>
<listitem > <para > Integer percentage value (0-99) that specifies a minimum
percentage of total space (in blocks) in the underlying filesystem to
keep free. The default value is 3.</para> </listitem>
</varlistentry>
2017-09-08 18:18:10 +03:00
<varlistentry >
<term > <varname > add-remotes-config-dir</varname> </term>
<listitem >
<para >
Boolean value controlling whether new remotes will be added
in the remotes configuration directory. Defaults to
<literal > true</literal> for system ostree repositories. When
this is <literal > false</literal> , remotes will be added in
the repository's <filename > config</filename> file.
</para>
<para >
This only applies to repositories that use a remotes
configuration directory such as system ostree repositories,
which use <filename > /etc/ostree/remotes.d</filename> .
Non-system repositories do not use a remotes configuration
directory unless one is specified when the repository is
opened.
</para>
</listitem>
</varlistentry>
2014-03-31 03:32:50 +04:00
</variablelist>
</refsect1>
<refsect1 >
<title > [remote "name"] Section Options</title>
<para >
Describes a remote repository location.
</para>
<variablelist >
<varlistentry >
<term > <varname > url</varname> </term>
2017-02-24 02:01:28 +03:00
<listitem > <para > Must be present; declares URL for accessing metadata and
content for remote. See also <literal > contenturl</literal> . The
supported schemes are documented below.</para> </listitem>
</varlistentry>
<varlistentry >
<term > <varname > contenturl</varname> </term>
<listitem > <para > Declares URL for accessing content (filez, static delta
parts). When specified, <literal > url</literal> is used just for
metadata: summary, static delta "superblocks".</para> </listitem>
2014-03-31 03:32:50 +04:00
</varlistentry>
2014-07-25 15:55:55 +04:00
<varlistentry >
2017-08-10 16:05:15 +03:00
<term > <varname > branches</varname> </term>
<listitem > <para > A list of strings. Represents the default configured
branches to fetch from the remote when no specific branches are
requested during a pull operation.</para> </listitem>
</varlistentry>
<varlistentry >
2014-07-25 15:55:55 +04:00
<term > <varname > proxy</varname> </term>
<listitem > <para > A string value, if given should be a URL for a
HTTP proxy to use for access to this repository.</para> </listitem>
</varlistentry>
2014-03-31 03:32:50 +04:00
<varlistentry >
<term > <varname > gpg-verify</varname> </term>
2014-05-01 20:55:13 +04:00
<listitem > <para > A boolean value, defaults to true.
2014-03-31 03:32:50 +04:00
Controls whether or not OSTree will require commits to be
signed by a known GPG key. For more information, see the
<citerefentry > <refentrytitle > ostree</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry>
manual under GPG.</para> </listitem>
</varlistentry>
2014-05-01 20:55:13 +04:00
2015-06-03 11:18:03 +03:00
<varlistentry >
<term > <varname > gpg-verify-summary</varname> </term>
<listitem > <para > A boolean value, defaults to false.
Controls whether or not OSTree will check if the summary
is signed by a known GPG key.
For more information, see the <citerefentry > <refentrytitle > ostree</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry>
manual under GPG.</para> </listitem>
</varlistentry>
2014-05-01 20:55:13 +04:00
<varlistentry >
<term > <varname > tls-permissive</varname> </term>
<listitem > <para > A boolean value, defaults to false. By
default, server TLS certificates will be checked against the
system certificate store. If this variable is set, any
certificate will be accepted.</para> </listitem>
</varlistentry>
<varlistentry >
<term > <varname > tls-client-cert-path</varname> </term>
<listitem > <para > Path to file for client-side certificate, to present when making requests to this repository.</para> </listitem>
</varlistentry>
<varlistentry >
<term > <varname > tls-client-key-path</varname> </term>
<listitem > <para > Path to file containing client-side certificate key, to present when making requests to this repository.</para> </listitem>
</varlistentry>
2014-06-27 03:39:26 +04:00
<varlistentry >
<term > <varname > tls-ca-path</varname> </term>
<listitem > <para > Path to file containing trusted anchors instead of the system CA database.</para> </listitem>
</varlistentry>
2016-12-08 22:20:19 +03:00
<varlistentry >
<term > <varname > unconfigured-state</varname> </term>
<listitem > <para > If set, pulls from this remote will fail with the configured text. This is intended for OS vendors which have a subscription process to access content.</para> </listitem>
</varlistentry>
2017-06-29 23:51:56 +03:00
2014-03-31 03:32:50 +04:00
</variablelist>
</refsect1>
2014-05-08 17:16:36 +04:00
<refsect1 >
<title > /etc/ostree/remotes.d</title>
<para >
In addition to the <filename > /ostree/repo/config</filename>
file, remotes may also be specified in
<filename > /etc/ostree/remotes.d</filename> . The remote
configuration file must end in <literal > .conf</literal> ; files
whose name does not end in <literal > .conf</literal> will be
ignored.
</para>
</refsect1>
2016-04-14 18:05:22 +03:00
2017-02-24 02:01:28 +03:00
<refsect1 >
<title > Repository url/contenturl</title>
<para >
Originally, OSTree had just a <literal > url</literal> option
for remotes. Since then, the <literal > contenturl</literal>
option was introduced. Both of these support
<literal > file</literal> , <literal > http</literal> , and
<literal > https</literal> schemes.
</para>
<para >
Additionally, both of these can be prefixed with the string
<literal > mirrorlist=</literal> , which instructs the client
that the target url is a "mirrorlist" format, which is
a plain text file of newline-separated URLs. Earlier
URLs will be given precedence.
</para>
<para >
Note that currently, the <literal > tls-ca-path</literal> and
<literal > tls-client-cert-path</literal> options apply to every HTTP
request, even when <literal > contenturl</literal> and/or
<literal > mirrorlist</literal> are in use. This may change in the future to
only apply to metadata (i.e. <literal > url</literal> , not
<literal > contenturl</literal> ) fetches.
</para>
</refsect1>
2016-04-14 18:05:22 +03:00
<refsect1 >
<title > Per-remote GPG keyrings and verification</title>
<para >
2016-11-16 17:13:54 +03:00
OSTree supports a per-remote GPG keyring, as well as a
<literal > gpgkeypath</literal> option. For more information see
2016-04-14 18:05:22 +03:00
<citerefentry > <refentrytitle > ostree</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry> .
in the section <literal > GPG verification</literal> .
</para>
</refsect1>
2016-10-17 23:47:58 +03:00
<refsect1 >
<title > Per-remote HTTP cookies</title>
<para >
Some content providers may want to control access to remote
repositories via HTTP cookies. The <command > ostree remote
add-cookie</command> and <command > ostree remote
delete-cookie</command> commands will update a per-remote
lookaside cookie jar, named
<filename > $remotename.cookies.txt</filename> .
</para>
</refsect1>
2014-03-31 03:32:50 +04:00
<refsect1 >
<title > See Also</title>
<para >
<citerefentry > <refentrytitle > ostree</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry> , <citerefentry > <refentrytitle > ostree.repo</refentrytitle> <manvolnum > 5</manvolnum> </citerefentry>
</para>
</refsect1>
</refentry>