Switch to self-hosted infrastructure for DEB package distribution. (#14290)
* Update DEB repository configuration to new infrastructure. * Fix typo.
Austin S. Hemmelgarn committed
Jan 20, 2023 at 07:53 UTC
402e6f37d340da2df939ca9644eb1e817a29bcdb
6 files changed
+63
-15
packaging/installer/methods/packages.md
+38
-1
@@ -39,7 +39,44 @@ For example, for stable release packages for RHEL 9 on 64-bit x86, the full URL
39
https://repo.netdata.cloud/repos/stable/el/9/x86\_64/
40
41
Our RPM packages and repository metadata are signed using a GPG key with a user name of ‘Netdatabot’. The
42
-current key fingerprint is `6588FDD7B14721FE7C3115E6F9177B5265F56346`
42
+current key fingerprint is `6588FDD7B14721FE7C3115E6F9177B5265F56346`. The associated public key can be fetched from
43
+`https://repo.netdata.cloud/netdatabot.gpg.key`.
44
+
45
+If you are explicitly configuring a system to use our repositories, the recommended setup is to download the
46
+appropriate repository configuration package from https://repo.netdata.cloud/repos/repoconfig and install it
47
+directly on the target system using the system package manager. This will ensure any packages needed to use the
48
+repository are also installed, and will help enable a seamless transition if we ever need to change our infrastructure.
49
+
50
+## Manual setup of DEB packages.
51
+
52
+Netdata’s official DEB repositories are hosted at https://repo.netdata.cloud/repos. We provide four groups of
53
+repositories at that top level:
54
+
55
+- `stable`: Contains packages for stable releases of the Netdata Agent.
56
+- `edge`: Contains packages for nightly builds of the Netdata Agent.
57
+- `repoconfig`: Provides packages that set up configuration files for using the other repositories.
58
+- `devel`: Is used for one-off development builds of the Netdata Agent, and can simply be ignored by users.
59
+
60
+Within each top level group of repositories, there are directories for each supported group of distributions:
61
+
62
+- `debian`: Is for Debian Linux and binary compatible distros.
63
+- `ubuntu`: Is for Ubuntu Linux and binary compatible distros.
64
+
65
+Under each of these directories is a directory for each supported release, corresponding to the release codename.
66
+
67
+These repositories are set up as what Debian calls ‘flat repositories’, and are available via both HTTP and HTTPS.
68
+
69
+As a result of this structure, the required APT sources entry for stable packages for Debian 11 (Bullseye) is:
70
+
71
+```
72
+deb http://repo.netdata.cloud/repos/stable/debian/ bullseye/
73
+```
74
+
75
+Note the `/` at the end of the codename, this is required for the repository to be processed correctly.
76
+
77
+Our DEB packages and repository metadata are signed using a GPG key with a user name of ‘Netdatabot’. The
78
+current key fingerprint is `6588FDD7B14721FE7C3115E6F9177B5265F56346`. The associated public key can be fetched from
79
+`https://repo.netdata.cloud/netdatabot.gpg.key`.
80
81
If you are explicitly configuring a system to use our repositories, the recommended setup is to download the
82
appropriate repository configuration package from https://repo.netdata.cloud/repos/repoconfig and install it
packaging/repoconfig/Makefile
+13
-9
@@ -4,23 +4,26 @@ all: $(FILES)
4
5
netdata.list: netdata.list.in
6
cp netdata.list.in netdata.list
7
- set -a && . /etc/os-release && sed -i -e "s/__DISTRO__/$${ID}/" -e "s/__SUITE__/$${VERSION_CODENAME}/" -e "s/__VARIANT__//" netdata.list
7
+ set -a && . /etc/os-release && sed -i -e "s/__DISTRO__/$${ID}/" -e "s/__SUITE__/$${VERSION_CODENAME}/" -e "s/__VARIANT__/stable/" netdata.list
8
9
netdata-edge.list: netdata.list.in
10
cp netdata.list.in netdata-edge.list
11
- set -a && . /etc/os-release && sed -i -e "s/__DISTRO__/$${ID}/" -e "s/__SUITE__/$${VERSION_CODENAME}/" -e "s/__VARIANT__/-edge/" netdata-edge.list
11
+ set -a && . /etc/os-release && sed -i -e "s/__DISTRO__/$${ID}/" -e "s/__SUITE__/$${VERSION_CODENAME}/" -e "s/__VARIANT__/edge/" netdata-edge.list
12
13
-netdata-archive-keyring.gpg:
14
- curl -L https://packagecloud.io/netdata/netdata/gpgkey | gpg --dearmor > netdata-archive-keyring.gpg
13
+netdata.gpg.key:
14
+ curl -L https://repo.netdata.cloud/netdatabot.gpg.key > $@
15
16
-netdata-edge-archive-keyring.gpg:
17
- curl -L https://packagecloud.io/netdata/netdata-edge/gpgkey | gpg --dearmor > netdata-edge-archive-keyring.gpg
16
+netdata-archive-keyring.gpg: netdata.gpg.key
17
+ gpg --dearmor > $@ < $<
18
19
-netdata-repoconfig-archive-keyring.gpg:
20
- curl -L https://packagecloud.io/netdata/netdata-repoconfig/gpgkey | gpg --dearmor > netdata-repoconfig-archive-keyring.gpg
19
+netdata-edge-archive-keyring.gpg: netdata.gpg.key
20
+ gpg --dearmor > $@ < $<
21
+
22
+netdata-repoconfig-archive-keyring.gpg: netdata.gpg.key
23
+ gpg --dearmor > $@ < $<
24
25
debian/tmp:
23
- mkdir -p debian/tmp
26
+ mkdir -p $@
27
28
install: $(FILES) debian/tmp
29
cp $(FILES) debian/tmp/
@@ -29,3 +32,4 @@ clean:
32
rm -f $(FILES)
33
34
.PHONY: clean
35
+.INTERMEDIATE: netdatabot.gpg.key
packaging/repoconfig/debian/changelog
+7
@@ -1,3 +1,10 @@
1
+netdata-repo (2-1) unstable; urgency=medium
2
+
3
+ * Switched to new package hosting infrastructure
4
+ * Removed apt-transport-https requirement
5
+
6
+ -- Netdata Builder <bot@netdata.cloud> Wed, 18 Jan 2023 08:30:00 -0500
7
+
8
netdata-repo (1-2) unstable; urgency=medium
9
10
* Fixed package file naming for repo layout compliance
packaging/repoconfig/debian/control
+2
-2
@@ -8,12 +8,12 @@ Homepage: https://netdata.cloud
8
9
Package: netdata-repo
10
Architecture: all
11
-Depends: apt-transport-https, debian-archive-keyring, gnupg
11
+Depends: debian-archive-keyring, gnupg
12
Conflicts: netdata-repo-edge
13
Description: Configuration for the official Netdata Stable package repository.
14
15
Package: netdata-repo-edge
16
Architecture:all
17
-Depends: apt-transport-https, debian-archive-keyring, gnupg
17
+Depends: debian-archive-keyring, gnupg
18
Conflicts: netdata-repo
19
Description: Configuration for the official Netdata Edge package repository.
packaging/repoconfig/debian/copyright
+1
-1
@@ -4,7 +4,7 @@ Upstream-Contact: Costa Tsaousis <costa@netdata.cloud>
4
Source: https://github.com/netdata/netdata
5
6
Files: *
7
-Copyright: 2021 Netdata Inc.
7
+Copyright: 2021-2023 Netdata Inc.
8
License: GPL-3+
9
On Debian systems, the complete text of the GNU General Public
10
License version 3 can be found in /usr/share/common-licenses/GPL-3.
packaging/repoconfig/netdata.list.in
+2
-2
@@ -1,2 +1,2 @@
1
-deb https://packagecloud.io/netdata/netdata__VARIANT__/__DISTRO__/ __SUITE__ main
2
-deb https://packagecloud.io/netdata/netdata-repoconfig/__DISTRO__/ __SUITE__ main
1
+deb http://repo.netdata.cloud/repos/__VARIANT__/__DISTRO__/ __SUITE__/
2
+deb http://repo.netdata.cloud/repos/repoconfig/__DISTRO__/ __SUITE__/