@cryptotaxi247 / netdata-1 / commits / 402e6f37d

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__/