[Git][qa/jenkins.debian.net][master] amd64.reproduce.debian.net: turn osuosl4 into a rebuilderd-worker

Holger Levsen (@holger) gitlab at salsa.debian.org
Tue Jan 28 23:20:40 GMT 2025



Holger Levsen pushed to branch master at Debian QA / jenkins.debian.net


Commits:
e2ab2a60 by Holger Levsen at 2025-01-29T00:18:36+01:00
amd64.reproduce.debian.net: turn osuosl4 into a rebuilderd-worker

Signed-off-by: Holger Levsen <holger at layer-acht.org>

- - - - -


5 changed files:

- − hosts/osuosl4-amd64/etc/nginx/nginx.conf
- − hosts/osuosl4-amd64/opt/etc/rebuilderd-sync.conf
- hosts/osuosl4-amd64/opt/etc/rebuilderd-worker.conf
- − hosts/osuosl4-amd64/var/www/html/index.html
- update_jdn.sh


Changes:

=====================================
hosts/osuosl4-amd64/etc/nginx/nginx.conf deleted
=====================================
@@ -1,71 +0,0 @@
-user                   www-data;
-worker_processes       auto;
-error_log              /var/log/nginx/error.log;
-pid                    /run/nginx.pid;
-
-events {
-    worker_connections  1024;
-}
-
-http {
-    include             mime.types;
-    sendfile            on;
-    server_tokens       off;
-
-    server {
-        server_name     osuosl4-amd64.debian.net;
-        index index.html;
-        root /var/www/html;
-
-        listen 443 ssl;
-        ssl_certificate /var/lib/dehydrated/certs/osuosl4-amd64.debian.net/fullchain.pem;
-        ssl_certificate_key /var/lib/dehydrated/certs/osuosl4-amd64.debian.net/privkey.pem;
-
-        ssl_session_cache shared:le_nginx_SSL:10m;
-        ssl_session_timeout 1440m;
-        ssl_session_tickets off;
-        ssl_protocols TLSv1.2 TLSv1.3;
-        ssl_prefer_server_ciphers off;
-        ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-C
-        HACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384";
-
-
-        location /.well-known/acme-challenge/ {
-            alias /var/lib/dehydrated/acme-challenges/;
-            disable_symlinks off;
-            autoindex off;
-        }
-
-        location / {
-            # First attempt to serve request as file, then
-            # as directory, then fall back to displaying a 404.
-            try_files $uri $uri/ =404;
-        }
-
-
-        location /api/ {
-            proxy_pass http://127.0.0.1:8484;
-        }
-
-    }
-
-
-    server {
-        listen          80;
-        server_name     osuosl4-amd64.debian.net;
-
-        location /.well-known/acme-challenge/ {
-            alias /var/lib/dehydrated/acme-challenges/;
-            disable_symlinks off;
-            autoindex off;
-        }
-
-        location / {
-            return 301 https://$host$request_uri;
-        }
-
-        return 404;
-    }
-
-
-}


=====================================
hosts/osuosl4-amd64/opt/etc/rebuilderd-sync.conf deleted
=====================================
@@ -1,53 +0,0 @@
-## rebuild all of archlinux core
-[profile."archlinux-core"]
-distro = "archlinux"
-suite = "core"
-architectures = ["x86_64"]
-source = "https://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch"
-
-## rebuild community packages of specific maintainers, or allow-list packages by name.
-## If no filter is set, all packages are imported, if both filters are set the package only
-## has to match one of them to be included.
-#[profile."archlinux-community"]
-#distro = "archlinux"
-#suite = "community"
-#architectures = ["x86_64"]
-#source = "https://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch"
-#maintainers = ["somebody"]
-#pkgs = ["some-pkg", "python-*"]
-#excludes = ["tensorflow*"]
-
-[profile."debian-main"]
-distro = "debian"
-suite = "main"
-architectures = ["amd64"]
-#releases = ["buster", "sid"]
-releases = ["trixie"]
-source = "http://deb.debian.org/debian"
-
-[profile."debian-anarchism"]
-distro = "debian"
-suite = "main"
-architectures = ["amd64"]
-releases = ["sid"]
-pkgs = ["anarchism"]
-source = "http://deb.debian.org/debian"
-
-# a set of packages to test certain edge-cases
-[profile."debian-misc"]
-distro = "debian"
-suite = "main"
-architectures = ["amd64"]
-releases = ["sid"]
-pkgs = ["anarchism", "binutils-arm-none-eabi", "libglib2.0-bin", "libglib2.0-dev", "sniffglue", "librust-sniffglue-dev", "dfrs", "librust-dfrs-dev"]
-source = "http://deb.debian.org/debian"
-
-[profile."tails"]
-distro = "tails"
-suite = "stable"
-source = "https://mirrors.wikimedia.org/tails/"
-
-[profile."tails-alpha"]
-distro = "tails"
-suite = "alpha"
-source = "https://mirrors.wikimedia.org/tails/"


=====================================
hosts/osuosl4-amd64/opt/etc/rebuilderd-worker.conf
=====================================
@@ -1,7 +1,7 @@
 ## The rebuilderd to connect to
-endpoint = "http://127.0.0.1:8484"
+endpoint = "https://amd64.reproduce.debian.net"
 ## The server would either allowlist our key or require a signup secret
-#signup_secret = "your_signup_key"
+signup_secret = "INSECURE"
 
 [build]
 #timeout = 86400 # 24 hours


=====================================
hosts/osuosl4-amd64/var/www/html/index.html deleted
=====================================
@@ -1,201 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-    <head>
-        <meta charset="utf-8">
-        <title>
-		osuosl4-amd64.debian.net - trixie/amd64
-        </title>
-        <style>
-        body {
-            font-family: sans-serif;
-        }
-        h1 {
-            font-size: 24px;
-        }
-
-        #search-results {
-            margin: 20px 0;
-        }
-
-        pre {
-            margin: 0;
-        }
-
-        #search-results pre {
-            margin: 12px 0;
-        }
-
-        .status {
-            font-weight: bold;
-        }
-
-        .good {
-            color: green;
-        }
-
-        .bad {
-            color: red;
-        }
-
-        .unknown {
-            color: #957fff;
-        }
-
-        footer {
-            font-size: small;
-            margin: 30px 0;
-        }
-        </style>
-        <script>
-        document.addEventListener('DOMContentLoaded', function() {
-            // package search
-            function spanWith(text) {
-                let s = document.createElement('span');
-                s.textContent = text;
-                return s;
-            }
-
-            function linkTo(href, text) {
-                let a = document.createElement('a');
-                a.href = href;
-                a.textContent = text;
-                return a;
-            }
-
-            function searchPkgs(query) {
-                let div = document.getElementById('search-results');
-                let url = '/api/v0/pkgs/list?' + new URLSearchParams({
-                    name: query,
-                    distro: 'debian',
-                });
-                fetch(url)
-                    .then(response => response.json())
-                    .then(data => {
-                        // clear children
-                        div.innerHTML = '';
-
-                        data.map(pkg => {
-                            let build_id = pkg.build_id;
-                            let r = document.createElement('pre');
-
-                            r.appendChild(spanWith('['));
-                            let status = pkg['status'];
-                            let statusSpan = spanWith(status);
-                            statusSpan.className += ' status';
-                            if (status == 'GOOD') {
-                                statusSpan.className += ' good';
-                            } else if (status == 'BAD') {
-                                statusSpan.className += ' bad';
-                            } else {
-                                statusSpan.className += ' unknown';
-                            }
-                            r.appendChild(statusSpan);
-                            r.appendChild(spanWith(`] ${pkg['name']} ${pkg['version']}\t\t`));
-
-                            if (build_id) {
-                                r.appendChild(spanWith(' ['));
-                                r.appendChild(linkTo(`/api/v0/builds/${build_id}/log`, 'log'));
-                                r.appendChild(spanWith(']'));
-                            }
-
-                            if (pkg.has_attestation) {
-                                r.appendChild(spanWith(' ['));
-                                r.appendChild(linkTo(`/api/v0/builds/${build_id}/attestation`, 'attestation'));
-                                r.appendChild(spanWith(']'));
-                            }
-
-                            if (pkg.has_diffoscope) {
-                                r.appendChild(spanWith(' ['));
-                                r.appendChild(linkTo(`/api/v0/builds/${build_id}/diffoscope`, 'diffoscope'));
-                                r.appendChild(spanWith(']'));
-                            }
-
-                            div.appendChild(r);
-                        });
-                    });
-            }
-
-            if (location.hash) {
-                searchPkgs(location.hash.substr(1));
-            }
-
-            document.getElementById('search').addEventListener('submit', function(e) {
-                e.preventDefault();
-                let query = document.getElementById('search-query').value;
-                location.href = `#${query}`;
-                searchPkgs(query);
-            });
-
-            // display stats
-            function updateStats(data) {
-                let div = document.getElementById('stats');
-                // clear children
-                div.innerHTML = '';
-                // add rows
-                data.map(row => {
-                    let r = document.createElement('pre');
-                    let key = row[0] + ': ';
-                    r.textContent = key.padEnd(20) + row[1];
-                    div.appendChild(r);
-                });
-            }
-
-            function fetchStats() {
-                fetch('/api/v0/dashboard')
-                    .then(response => response.json())
-                    .then(data => {
-                        let div = document.getElementById('stats');
-                        let main = data['suites']['main'];
-
-                        let good = main['good'];
-                        let bad = main['bad'];
-                        let unknown = main['unknown'];
-
-                        updateStats([
-                            ['good', good],
-                            ['bad', bad],
-                            ['unknown', unknown],
-                            ['build progress', (100 / (good + unknown + bad) * (good + bad)).toFixed(2) + '%'],
-                            ['repro', (100 / (good + bad) * good).toFixed(2) + '%'],
-                        ]);
-                    });
-            }
-
-            setInterval(fetchStats, 60 * 1000);
-            fetchStats();
-        });
-        </script>
-    </head>
-    <body>
-        <h1>
-		osuosl4-amd64.debian.net
-        </h1>
-        <h3>
-		trixie/amd64
-        </h3>
-
-        <div id="stats">Loading stats...</div>
-
-        <div>
-            <h3>Search</h3>
-            <form id="search">
-                <input type="text" id="search-query" placeholder="2ping">
-                <input type="submit" value="Search">
-            </form>
-        </div>
-        <div id="search-results">
-        </div>
-
-        <footer>
-            pew pew, <a href="https://github.com/kpcyrd/rebuilderd">rebuilderd</a> using <a href="https://tracker.debian.org/pkg/devscripts">debrebuild</a> (with <a href="https://tracker.debian.org/pkg/sbuild">sbuild+unshare</a> as backend) to reproduce what Debian distributes via <code><a href="https://deb.debian.org/debian/dists/">deb.debian.org</a></code>. ♥️
-	    </br>
-	    <!-- a href="/stats/">Statistics about BAD packages.</a> -->
-	    </br>
-	    <a href="https://reproduce.debian.net/">https://reproduce.debian.net/</a> has more information about this setup.
-	    </br>
-	    <small>
-		This setup is in it's infancy. Don't consider any URLs as stable here, and more to the point, especially don't take any numbers here seriously, unless...!?!
-	    </small>
-        </footer>
-    </body>
-</html>


=====================================
update_jdn.sh
=====================================
@@ -551,7 +551,7 @@ if [ -f /etc/debian_version ] ; then
 		esac
 		# packages needed for rebuilderd-worker for https://reproduce.debian.net
 		case $HOSTNAME in
-			infom07*|infom08*|codethink01*|codethink02*)	DEBS="$DEBS
+			infom07*|infom08*|codethink01*|codethink02*|osuosl4*)	DEBS="$DEBS
 							diffoscope
 							python3-rpy2
 							rebuilderd-worker
@@ -562,7 +562,7 @@ if [ -f /etc/debian_version ] ; then
 		esac
 		# packages needed for rebuilderd on https://reproduce.debian.net
 		case $HOSTNAME in
-			osuosl4*|osuosl5*)		DEBS="$DEBS
+			osuosl5*)		DEBS="$DEBS
 							nginx-full dehydrated
 							diffoscope
 							python3-rpy2
@@ -739,7 +739,7 @@ if [ "$HOSTNAME" = "jenkins" ] || [ "$HOSTNAME" = "ionos7-amd64" ] || [ "$HOSTNA
 fi
 # set secret for remote rebuilderd-workers
 case $HOSTNAME in
-	osuosl5*)		for a in i386 arm64 armhf riscv64 ; do
+	osuosl5*)		for a in amd64 arm64 armhf i386 riscv64 ; do
 					SIGNUPSECRET="$(sudo cat /opt/etc/rebuilderd-${a}.secret)"
 					f=rebuilderd-${a}.conf
 					if [ -f /opt/etc/$f ] ; then
@@ -749,7 +749,7 @@ case $HOSTNAME in
 					fi
 				done
 				;;
-	infom07*|infom08*|codethink01*|codethink02*)
+	infom07*|infom08*|codethink01*|codethink02*|osuosl4*)
 				SIGNUPSECRET="$(sudo cat /opt/etc/rebuilderd.secret)"
 				f=rebuilderd-worker.conf
 				if [ -f /opt/etc/$f ] ; then



View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/commit/e2ab2a608cd4bc82f0e28899be2839075bea415a

-- 
View it on GitLab: https://salsa.debian.org/qa/jenkins.debian.net/-/commit/e2ab2a608cd4bc82f0e28899be2839075bea415a
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/qa-jenkins-scm/attachments/20250128/62e51099/attachment-0001.htm>


More information about the Qa-jenkins-scm mailing list