Skip to content

Commit 2b6694e

Browse files
committed
Update documentation for deb822 sources
1 parent ffe1f0b commit 2b6694e

File tree

3 files changed

+101
-256
lines changed

3 files changed

+101
-256
lines changed

REFERENCE.md

Lines changed: 92 additions & 150 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
* [`apt::ppa`](#apt--ppa): Manages PPA repositories using `add-apt-repository`. Not supported on Debian.
2727
* [`apt::setting`](#apt--setting): Manages Apt configuration files.
2828
* [`apt::source`](#apt--source): Manages the Apt sources in /etc/apt/sources.list.d/.
29-
* [`apt::source_deb822`](#apt--source_deb822): Manage deb822 formatted APT sources under `/etc/apt/sources.list.d`
3029

3130
### Resource types
3231

@@ -1036,25 +1035,54 @@ apt::source { 'puppetlabs':
10361035
}
10371036
```
10381037

1038+
##### Install the puppetlabs apt source (deb822 format)
1039+
1040+
```puppet
1041+
apt::source { 'puppetlabs':
1042+
source_format => 'deb822'
1043+
uris => ['http://apt.puppetlabs.com'],
1044+
suites => [$facts['os']['distro']['codename']],
1045+
components => ['puppet8'],
1046+
signed_by => '/etc/apt/keyrings/puppetlabs.gpg',
1047+
}
1048+
```
1049+
10391050
#### Parameters
10401051

10411052
The following parameters are available in the `apt::source` defined type:
10421053

1054+
* [`source_format`](#-apt--source--source_format)
10431055
* [`location`](#-apt--source--location)
1056+
* [`types`](#-apt--source--types)
1057+
* [`uris`](#-apt--source--uris)
1058+
* [`enabled`](#-apt--source--enabled)
10441059
* [`comment`](#-apt--source--comment)
10451060
* [`ensure`](#-apt--source--ensure)
10461061
* [`release`](#-apt--source--release)
1062+
* [`suites`](#-apt--source--suites)
10471063
* [`repos`](#-apt--source--repos)
1064+
* [`components`](#-apt--source--components)
10481065
* [`include`](#-apt--source--include)
10491066
* [`key`](#-apt--source--key)
10501067
* [`keyring`](#-apt--source--keyring)
1068+
* [`signed_by`](#-apt--source--signed_by)
10511069
* [`pin`](#-apt--source--pin)
10521070
* [`architecture`](#-apt--source--architecture)
1071+
* [`architectures`](#-apt--source--architectures)
10531072
* [`allow_unsigned`](#-apt--source--allow_unsigned)
1073+
* [`repo_trusted`](#-apt--source--repo_trusted)
10541074
* [`allow_insecure`](#-apt--source--allow_insecure)
10551075
* [`notify_update`](#-apt--source--notify_update)
10561076
* [`check_valid_until`](#-apt--source--check_valid_until)
10571077

1078+
##### <a name="-apt--source--source_format"></a>`source_format`
1079+
1080+
Data type: `Enum['legacy', 'deb822']`
1081+
1082+
The file format to use for the apt source. See https://wiki.debian.org/SourcesList
1083+
1084+
Default value: `'legacy'`
1085+
10581086
##### <a name="-apt--source--location"></a>`location`
10591087

10601088
Data type: `Optional[String]`
@@ -1063,6 +1091,30 @@ Required, unless ensure is set to 'absent'. Specifies an Apt repository. Valid o
10631091

10641092
Default value: `undef`
10651093

1094+
##### <a name="-apt--source--types"></a>`types`
1095+
1096+
Data type: `Array[Enum['deb','deb-src'], 1, 2]`
1097+
1098+
DEB822: The package types this source manages.
1099+
1100+
Default value: `['deb']`
1101+
1102+
##### <a name="-apt--source--uris"></a>`uris`
1103+
1104+
Data type: `Optional[Array[String]]`
1105+
1106+
DEB822: A list of URIs for the APT source.
1107+
1108+
Default value: `undef`
1109+
1110+
##### <a name="-apt--source--enabled"></a>`enabled`
1111+
1112+
Data type: `Boolean`
1113+
1114+
DEB822: Enable or Disable the APT source.
1115+
1116+
Default value: `true`
1117+
10661118
##### <a name="-apt--source--comment"></a>`comment`
10671119

10681120
Data type: `String`
@@ -1087,6 +1139,14 @@ Specifies a distribution of the Apt repository.
10871139

10881140
Default value: `undef`
10891141

1142+
##### <a name="-apt--source--suites"></a>`suites`
1143+
1144+
Data type: `Optional[Array[String]]`
1145+
1146+
DEB822: A list of suites for the APT source ('jammy-updates', 'bookworm', 'stable', etc.).
1147+
1148+
Default value: `undef`
1149+
10901150
##### <a name="-apt--source--repos"></a>`repos`
10911151

10921152
Data type: `String`
@@ -1095,6 +1155,14 @@ Specifies a component of the Apt repository.
10951155

10961156
Default value: `'main'`
10971157

1158+
##### <a name="-apt--source--components"></a>`components`
1159+
1160+
Data type: `Optional[Array[String]]`
1161+
1162+
DEB822: A list of components for the APT source ('main', 'contrib', 'non-free', etc.).
1163+
1164+
Default value: `undef`
1165+
10981166
##### <a name="-apt--source--include"></a>`include`
10991167

11001168
Data type: `Variant[Hash]`
@@ -1131,6 +1199,14 @@ See https://wiki.debian.org/DebianRepository/UseThirdParty for details.
11311199

11321200
Default value: `undef`
11331201

1202+
##### <a name="-apt--source--signed_by"></a>`signed_by`
1203+
1204+
Data type: `Optional[Variant[Stdlib::AbsolutePath,Array[String]]]`
1205+
1206+
DEB822: Either an absolute path to a PGP keyring file used to sign this repository OR a list of key fingerprints to trust.
1207+
1208+
Default value: `undef`
1209+
11341210
##### <a name="-apt--source--pin"></a>`pin`
11351211

11361212
Data type: `Optional[Variant[Hash, Numeric, String]]`
@@ -1150,185 +1226,51 @@ separated by commas (e.g., 'i386' or 'i386,alpha,powerpc').
11501226

11511227
Default value: `undef`
11521228

1153-
##### <a name="-apt--source--allow_unsigned"></a>`allow_unsigned`
1154-
1155-
Data type: `Boolean`
1156-
1157-
Specifies whether to authenticate packages from this release, even if the Release file is not signed or the signature can't be checked.
1158-
1159-
Default value: `false`
1160-
1161-
##### <a name="-apt--source--allow_insecure"></a>`allow_insecure`
1162-
1163-
Data type: `Boolean`
1164-
1165-
Specifies whether to allow downloads from insecure repositories.
1166-
1167-
Default value: `false`
1168-
1169-
##### <a name="-apt--source--notify_update"></a>`notify_update`
1170-
1171-
Data type: `Boolean`
1172-
1173-
Specifies whether to trigger an `apt-get update` run.
1174-
1175-
Default value: `true`
1176-
1177-
##### <a name="-apt--source--check_valid_until"></a>`check_valid_until`
1178-
1179-
Data type: `Boolean`
1180-
1181-
Specifies whether to check if the package release date is valid. Defaults to `True`.
1182-
1183-
Default value: `true`
1184-
1185-
### <a name="apt--source_deb822"></a>`apt::source_deb822`
1186-
1187-
Manage deb822 formatted APT sources under `/etc/apt/sources.list.d`
1188-
1189-
#### Examples
1190-
1191-
##### Manage the Puppetlabs repo
1192-
1193-
```puppet
1194-
apt::source_deb822 { 'Puppetlabs-puppet':
1195-
comment => 'Manage the puppetlabs repo',
1196-
enabled => true,
1197-
types => ['deb'],
1198-
uris => ['http://apt.puppet.com'],
1199-
suites => ['jammy'],
1200-
components => ['puppet8'],
1201-
signed_by => ['/etc/apt/keyrings/puppetlabs.gpg'],
1202-
}
1203-
```
1204-
1205-
##### Ensure absence of a repo
1206-
1207-
```puppet
1208-
apt::source_deb822 { 'testing123':
1209-
ensure => 'absent',
1210-
}
1211-
```
1212-
1213-
#### Parameters
1214-
1215-
The following parameters are available in the `apt::source_deb822` defined type:
1216-
1217-
* [`notify_update`](#-apt--source_deb822--notify_update)
1218-
* [`ensure`](#-apt--source_deb822--ensure)
1219-
* [`enabled`](#-apt--source_deb822--enabled)
1220-
* [`comment`](#-apt--source_deb822--comment)
1221-
* [`types`](#-apt--source_deb822--types)
1222-
* [`uris`](#-apt--source_deb822--uris)
1223-
* [`suites`](#-apt--source_deb822--suites)
1224-
* [`components`](#-apt--source_deb822--components)
1225-
* [`architectures`](#-apt--source_deb822--architectures)
1226-
* [`allow_insecure`](#-apt--source_deb822--allow_insecure)
1227-
* [`repo_trusted`](#-apt--source_deb822--repo_trusted)
1228-
* [`check_valid_until`](#-apt--source_deb822--check_valid_until)
1229-
* [`signed_by`](#-apt--source_deb822--signed_by)
1230-
1231-
##### <a name="-apt--source_deb822--notify_update"></a>`notify_update`
1232-
1233-
Data type: `Boolean`
1234-
1235-
Specifies whether to trigger an `apt-get update` run.
1236-
1237-
Default value: `true`
1238-
1239-
##### <a name="-apt--source_deb822--ensure"></a>`ensure`
1240-
1241-
Data type: `Enum['present','absent']`
1242-
1243-
Specifies whether the Apt source file should exist.
1244-
1245-
Default value: `'present'`
1246-
1247-
##### <a name="-apt--source_deb822--enabled"></a>`enabled`
1248-
1249-
Data type: `Boolean`
1250-
1251-
Enable or Disable the APT source.
1252-
1253-
Default value: `true`
1254-
1255-
##### <a name="-apt--source_deb822--comment"></a>`comment`
1256-
1257-
Data type: `String`
1258-
1259-
Provide a comment to the APT source file.
1260-
1261-
Default value: `$name`
1262-
1263-
##### <a name="-apt--source_deb822--types"></a>`types`
1264-
1265-
Data type: `Array[Enum['deb','deb-src'], 1, 2]`
1266-
1267-
The package types this source manages.
1268-
1269-
Default value: `['deb']`
1270-
1271-
##### <a name="-apt--source_deb822--uris"></a>`uris`
1272-
1273-
Data type: `Optional[Array[String]]`
1274-
1275-
A list of URIs for the APT source.
1276-
1277-
Default value: `undef`
1278-
1279-
##### <a name="-apt--source_deb822--suites"></a>`suites`
1229+
##### <a name="-apt--source--architectures"></a>`architectures`
12801230

12811231
Data type: `Optional[Array[String]]`
12821232

1283-
A list of suites for the APT source ('jammy-updates', 'bookworm', 'stable', etc.).
1233+
DEB822: A list of supported architectures for the APT source ('amd64', 'i386', etc.).
12841234

12851235
Default value: `undef`
12861236

1287-
##### <a name="-apt--source_deb822--components"></a>`components`
1237+
##### <a name="-apt--source--allow_unsigned"></a>`allow_unsigned`
12881238

1289-
Data type: `Optional[Array[String]]`
1239+
Data type: `Optional[Boolean]`
12901240

1291-
A list of components for the APT source ('main', 'contrib', 'non-free', etc.).
1241+
Specifies whether to authenticate packages from this release, even if the Release file is not signed or the signature can't be checked.
12921242

12931243
Default value: `undef`
12941244

1295-
##### <a name="-apt--source_deb822--architectures"></a>`architectures`
1245+
##### <a name="-apt--source--repo_trusted"></a>`repo_trusted`
12961246

1297-
Data type: `Optional[Array[String]]`
1247+
Data type: `Optional[Boolean]`
12981248

1299-
A list of supported architectures for the APT source ('amd64', 'i386', etc.).
1249+
DEB822: Consider the APT source trusted, even if authentication checks fail.
13001250

13011251
Default value: `undef`
13021252

1303-
##### <a name="-apt--source_deb822--allow_insecure"></a>`allow_insecure`
1253+
##### <a name="-apt--source--allow_insecure"></a>`allow_insecure`
13041254

13051255
Data type: `Optional[Boolean]`
13061256

13071257
Specifies whether to allow downloads from insecure repositories.
13081258

13091259
Default value: `undef`
13101260

1311-
##### <a name="-apt--source_deb822--repo_trusted"></a>`repo_trusted`
1261+
##### <a name="-apt--source--notify_update"></a>`notify_update`
13121262

1313-
Data type: `Optional[Boolean]`
1263+
Data type: `Boolean`
13141264

1315-
Consider the APT source trusted, even if authentication checks fail.
1265+
Specifies whether to trigger an `apt-get update` run.
13161266

1317-
Default value: `undef`
1267+
Default value: `true`
13181268

1319-
##### <a name="-apt--source_deb822--check_valid_until"></a>`check_valid_until`
1269+
##### <a name="-apt--source--check_valid_until"></a>`check_valid_until`
13201270

13211271
Data type: `Optional[Boolean]`
13221272

1323-
Specifies whether to check if the package release date is valid.
1324-
1325-
Default value: `undef`
1326-
1327-
##### <a name="-apt--source_deb822--signed_by"></a>`signed_by`
1328-
1329-
Data type: `Optional[Variant[Array[Stdlib::AbsolutePath],String]]`
1330-
1331-
Absolute path to a file containing the PGP keyring used to sign this repository.
1273+
Specifies whether to check if the package release date is valid. Defaults to `True`.
13321274

13331275
Default value: `undef`
13341276

manifests/source.pp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,15 @@
2121
# },
2222
# }
2323
#
24+
# @example Install the puppetlabs apt source (deb822 format)
25+
# apt::source { 'puppetlabs':
26+
# source_format => 'deb822'
27+
# uris => ['http://apt.puppetlabs.com'],
28+
# suites => [$facts['os']['distro']['codename']],
29+
# components => ['puppet8'],
30+
# signed_by => '/etc/apt/keyrings/puppetlabs.gpg',
31+
# }
32+
#
2433
# @param source_format
2534
# The file format to use for the apt source. See https://wiki.debian.org/SourcesList
2635
#

0 commit comments

Comments
 (0)