Skip to content

Commit 9602bb0

Browse files
committed
Update documentation for deb822 sources
1 parent 097f9e1 commit 9602bb0

File tree

3 files changed

+100
-255
lines changed

3 files changed

+100
-255
lines changed

REFERENCE.md

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

3029
### Resource types
3130

@@ -1089,25 +1088,54 @@ apt::source { 'puppetlabs':
10891088
}
10901089
```
10911090

1091+
##### Install the puppetlabs apt source (deb822 format)
1092+
1093+
```puppet
1094+
apt::source { 'puppetlabs':
1095+
source_format => 'deb822'
1096+
uris => ['http://apt.puppetlabs.com'],
1097+
suites => [$facts['os']['distro']['codename']],
1098+
components => ['puppet8'],
1099+
signed_by => '/etc/apt/keyrings/puppetlabs.gpg',
1100+
}
1101+
```
1102+
10921103
#### Parameters
10931104

10941105
The following parameters are available in the `apt::source` defined type:
10951106

1107+
* [`source_format`](#-apt--source--source_format)
10961108
* [`location`](#-apt--source--location)
1109+
* [`types`](#-apt--source--types)
1110+
* [`uris`](#-apt--source--uris)
1111+
* [`enabled`](#-apt--source--enabled)
10971112
* [`comment`](#-apt--source--comment)
10981113
* [`ensure`](#-apt--source--ensure)
10991114
* [`release`](#-apt--source--release)
1115+
* [`suites`](#-apt--source--suites)
11001116
* [`repos`](#-apt--source--repos)
1117+
* [`components`](#-apt--source--components)
11011118
* [`include`](#-apt--source--include)
11021119
* [`key`](#-apt--source--key)
11031120
* [`keyring`](#-apt--source--keyring)
1121+
* [`signed_by`](#-apt--source--signed_by)
11041122
* [`pin`](#-apt--source--pin)
11051123
* [`architecture`](#-apt--source--architecture)
1124+
* [`architectures`](#-apt--source--architectures)
11061125
* [`allow_unsigned`](#-apt--source--allow_unsigned)
1126+
* [`repo_trusted`](#-apt--source--repo_trusted)
11071127
* [`allow_insecure`](#-apt--source--allow_insecure)
11081128
* [`notify_update`](#-apt--source--notify_update)
11091129
* [`check_valid_until`](#-apt--source--check_valid_until)
11101130

1131+
##### <a name="-apt--source--source_format"></a>`source_format`
1132+
1133+
Data type: `Enum['legacy', 'deb822']`
1134+
1135+
The file format to use for the apt source. See https://wiki.debian.org/SourcesList
1136+
1137+
Default value: `'legacy'`
1138+
11111139
##### <a name="-apt--source--location"></a>`location`
11121140

11131141
Data type: `Optional[String]`
@@ -1116,6 +1144,30 @@ Required, unless ensure is set to 'absent'. Specifies an Apt repository. Valid o
11161144

11171145
Default value: `undef`
11181146

1147+
##### <a name="-apt--source--types"></a>`types`
1148+
1149+
Data type: `Array[Enum['deb','deb-src'], 1, 2]`
1150+
1151+
DEB822: The package types this source manages.
1152+
1153+
Default value: `['deb']`
1154+
1155+
##### <a name="-apt--source--uris"></a>`uris`
1156+
1157+
Data type: `Optional[Array[String]]`
1158+
1159+
DEB822: A list of URIs for the APT source.
1160+
1161+
Default value: `undef`
1162+
1163+
##### <a name="-apt--source--enabled"></a>`enabled`
1164+
1165+
Data type: `Boolean`
1166+
1167+
DEB822: Enable or Disable the APT source.
1168+
1169+
Default value: `true`
1170+
11191171
##### <a name="-apt--source--comment"></a>`comment`
11201172

11211173
Data type: `String`
@@ -1140,6 +1192,14 @@ Specifies a distribution of the Apt repository.
11401192

11411193
Default value: `undef`
11421194

1195+
##### <a name="-apt--source--suites"></a>`suites`
1196+
1197+
Data type: `Optional[Array[String]]`
1198+
1199+
DEB822: A list of suites for the APT source ('jammy-updates', 'bookworm', 'stable', etc.).
1200+
1201+
Default value: `undef`
1202+
11431203
##### <a name="-apt--source--repos"></a>`repos`
11441204

11451205
Data type: `String`
@@ -1148,6 +1208,14 @@ Specifies a component of the Apt repository.
11481208

11491209
Default value: `'main'`
11501210

1211+
##### <a name="-apt--source--components"></a>`components`
1212+
1213+
Data type: `Optional[Array[String]]`
1214+
1215+
DEB822: A list of components for the APT source ('main', 'contrib', 'non-free', etc.).
1216+
1217+
Default value: `undef`
1218+
11511219
##### <a name="-apt--source--include"></a>`include`
11521220

11531221
Data type: `Variant[Hash]`
@@ -1184,6 +1252,14 @@ See https://wiki.debian.org/DebianRepository/UseThirdParty for details.
11841252

11851253
Default value: `undef`
11861254

1255+
##### <a name="-apt--source--signed_by"></a>`signed_by`
1256+
1257+
Data type: `Optional[Variant[Stdlib::AbsolutePath,Array[String]]]`
1258+
1259+
DEB822: Either an absolute path to a PGP keyring file used to sign this repository OR a list of key fingerprints to trust.
1260+
1261+
Default value: `undef`
1262+
11871263
##### <a name="-apt--source--pin"></a>`pin`
11881264

11891265
Data type: `Optional[Variant[Hash, Numeric, String]]`
@@ -1203,188 +1279,54 @@ separated by commas (e.g., 'i386' or 'i386,alpha,powerpc').
12031279

12041280
Default value: `undef`
12051281

1206-
##### <a name="-apt--source--allow_unsigned"></a>`allow_unsigned`
1207-
1208-
Data type: `Boolean`
1209-
1210-
Specifies whether to authenticate packages from this release, even if the Release file is not signed or the signature can't be checked.
1211-
1212-
Default value: `false`
1213-
1214-
##### <a name="-apt--source--allow_insecure"></a>`allow_insecure`
1215-
1216-
Data type: `Boolean`
1217-
1218-
Specifies whether to allow downloads from insecure repositories.
1219-
1220-
Default value: `false`
1221-
1222-
##### <a name="-apt--source--notify_update"></a>`notify_update`
1223-
1224-
Data type: `Boolean`
1225-
1226-
Specifies whether to trigger an `apt-get update` run.
1227-
1228-
Default value: `true`
1229-
1230-
##### <a name="-apt--source--check_valid_until"></a>`check_valid_until`
1231-
1232-
Data type: `Boolean`
1233-
1234-
Specifies whether to check if the package release date is valid.
1235-
1236-
Default value: `true`
1237-
1238-
### <a name="apt--source_deb822"></a>`apt::source_deb822`
1239-
1240-
Manage deb822 formatted APT sources under `/etc/apt/sources.list.d`
1241-
1242-
#### Examples
1243-
1244-
##### Manage the Puppetlabs repo
1245-
1246-
```puppet
1247-
apt::source_deb822 { 'Puppetlabs-puppet':
1248-
comment => 'Manage the puppetlabs repo',
1249-
enabled => true,
1250-
types => ['deb'],
1251-
uris => ['http://apt.puppet.com'],
1252-
suites => ['jammy'],
1253-
components => ['puppet8'],
1254-
signed_by => ['/etc/apt/keyrings/puppetlabs.gpg'],
1255-
}
1256-
```
1257-
1258-
##### Ensure absence of a repo
1259-
1260-
```puppet
1261-
apt::source_deb822 { 'testing123':
1262-
ensure => 'absent',
1263-
}
1264-
```
1265-
1266-
#### Parameters
1267-
1268-
The following parameters are available in the `apt::source_deb822` defined type:
1269-
1270-
* [`notify_update`](#-apt--source_deb822--notify_update)
1271-
* [`ensure`](#-apt--source_deb822--ensure)
1272-
* [`enabled`](#-apt--source_deb822--enabled)
1273-
* [`comment`](#-apt--source_deb822--comment)
1274-
* [`types`](#-apt--source_deb822--types)
1275-
* [`uris`](#-apt--source_deb822--uris)
1276-
* [`suites`](#-apt--source_deb822--suites)
1277-
* [`components`](#-apt--source_deb822--components)
1278-
* [`architectures`](#-apt--source_deb822--architectures)
1279-
* [`allow_insecure`](#-apt--source_deb822--allow_insecure)
1280-
* [`repo_trusted`](#-apt--source_deb822--repo_trusted)
1281-
* [`check_valid_until`](#-apt--source_deb822--check_valid_until)
1282-
* [`signed_by`](#-apt--source_deb822--signed_by)
1283-
1284-
##### <a name="-apt--source_deb822--notify_update"></a>`notify_update`
1285-
1286-
Data type: `Boolean`
1287-
1288-
Specifies whether to trigger an `apt-get update` run.
1289-
1290-
Default value: `true`
1291-
1292-
##### <a name="-apt--source_deb822--ensure"></a>`ensure`
1293-
1294-
Data type: `Enum['present','absent']`
1295-
1296-
Specifies whether the Apt source file should exist.
1297-
1298-
Default value: `'present'`
1299-
1300-
##### <a name="-apt--source_deb822--enabled"></a>`enabled`
1301-
1302-
Data type: `Boolean`
1303-
1304-
Enable or Disable the APT source.
1305-
1306-
Default value: `true`
1307-
1308-
##### <a name="-apt--source_deb822--comment"></a>`comment`
1309-
1310-
Data type: `String`
1311-
1312-
Provide a comment to the APT source file.
1313-
1314-
Default value: `$name`
1315-
1316-
##### <a name="-apt--source_deb822--types"></a>`types`
1317-
1318-
Data type: `Array[Enum['deb','deb-src'], 1, 2]`
1319-
1320-
The package types this source manages.
1321-
1322-
Default value: `['deb']`
1323-
1324-
##### <a name="-apt--source_deb822--uris"></a>`uris`
1325-
1326-
Data type: `Optional[Array[String]]`
1327-
1328-
A list of URIs for the APT source.
1329-
1330-
Default value: `undef`
1331-
1332-
##### <a name="-apt--source_deb822--suites"></a>`suites`
1282+
##### <a name="-apt--source--architectures"></a>`architectures`
13331283

13341284
Data type: `Optional[Array[String]]`
13351285

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

13381288
Default value: `undef`
13391289

1340-
##### <a name="-apt--source_deb822--components"></a>`components`
1290+
##### <a name="-apt--source--allow_unsigned"></a>`allow_unsigned`
13411291

1342-
Data type: `Optional[Array[String]]`
1292+
Data type: `Optional[Boolean]`
13431293

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

13461296
Default value: `undef`
13471297

1348-
##### <a name="-apt--source_deb822--architectures"></a>`architectures`
1298+
##### <a name="-apt--source--repo_trusted"></a>`repo_trusted`
13491299

1350-
Data type: `Optional[Array[String]]`
1300+
Data type: `Optional[Boolean]`
13511301

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

13541304
Default value: `undef`
13551305

1356-
##### <a name="-apt--source_deb822--allow_insecure"></a>`allow_insecure`
1306+
##### <a name="-apt--source--allow_insecure"></a>`allow_insecure`
13571307

13581308
Data type: `Optional[Boolean]`
13591309

13601310
Specifies whether to allow downloads from insecure repositories.
13611311

13621312
Default value: `undef`
13631313

1364-
##### <a name="-apt--source_deb822--repo_trusted"></a>`repo_trusted`
1314+
##### <a name="-apt--source--notify_update"></a>`notify_update`
13651315

1366-
Data type: `Optional[Boolean]`
1316+
Data type: `Boolean`
13671317

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

1370-
Default value: `undef`
1320+
Default value: `true`
13711321

1372-
##### <a name="-apt--source_deb822--check_valid_until"></a>`check_valid_until`
1322+
##### <a name="-apt--source--check_valid_until"></a>`check_valid_until`
13731323

13741324
Data type: `Optional[Boolean]`
13751325

13761326
Specifies whether to check if the package release date is valid.
13771327

13781328
Default value: `undef`
13791329

1380-
##### <a name="-apt--source_deb822--signed_by"></a>`signed_by`
1381-
1382-
Data type: `Optional[Variant[Array[Stdlib::AbsolutePath],String]]`
1383-
1384-
Absolute path to a file containing the PGP keyring used to sign this repository.
1385-
1386-
Default value: `undef`
1387-
13881330
## Data types
13891331

13901332
### <a name="Apt--Auth_conf_entry"></a>`Apt::Auth_conf_entry`

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)