Skip to content

merge main into trunk/l2#107

Merged
0x416e746f6e merged 176 commits intotrunk/l2-merge-mainfrom
main
Mar 16, 2026
Merged

merge main into trunk/l2#107
0x416e746f6e merged 176 commits intotrunk/l2-merge-mainfrom
main

Conversation

@0x416e746f6e
Copy link
Copy Markdown
Member

subj.

ilyaluk and others added 30 commits October 25, 2025 14:54
BoB L1: new tdx-init, LH 8.0.0, fix artifact naming
Switch from Fluent Bit to custom Rust solution
Simplify reproducible lighthouse v8 build process
@0x416e746f6e 0x416e746f6e self-assigned this Mar 10, 2026
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question:

@alexhulbert do you know why is this removed?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

functionality isn't affected

not entirely:

metadata.google.internal works, yes:

# dig metadata.google.internal

; <<>> DiG 9.20.18-1~deb13u1-Debian <<>> metadata.google.internal
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6621
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;metadata.google.internal.	IN	A

;; ANSWER SECTION:
metadata.google.internal. 3600	IN	A	169.254.169.254

;; Query time: 1 msec
;; SERVER: 169.254.169.254#53(169.254.169.254) (UDP)
;; WHEN: Thu Mar 12 10:10:35 UTC 2026
;; MSG SIZE  rcvd: 69

but just metadata is broken:

# dig metadata

; <<>> DiG 9.20.11-4-Debian <<>> metadata
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 40267
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;metadata.			IN	A

;; Query time: 3747 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Thu Mar 12 10:15:55 UTC 2026
;; MSG SIZE  rcvd: 37

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question:

@alexhulbert do you know why is this removed?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

split-horizon DNS is broken b/c of this.

with current config (1.1.1.1 over DoT):

# dig rpc.builder.opt-uni-testnet-1301.l2b.flashbots.net

; <<>> DiG 9.20.11-4-Debian <<>> rpc.builder.opt-uni-testnet-1301.l2b.flashbots.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 26087
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;rpc.builder.opt-uni-testnet-1301.l2b.flashbots.net. IN A

;; AUTHORITY SECTION:
l2b.flashbots.net.	300	IN	SOA	ns-cloud-c1.googledomains.com. cloud-dns-hostmaster.google.com. 1 21600 3600 259200 300

;; Query time: 46 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Thu Mar 12 10:19:20 UTC 2026
;; MSG SIZE  rcvd: 172                                                ^C

same via GCP's metadata:

# dig rpc.builder.opt-uni-testnet-1301.l2b.flashbots.net @metadata.google.internal
; <<>> DiG 9.20.11-4-Debian <<>> rpc.builder.opt-uni-testnet-1301.l2b.flashbots.net @metadata.google.internal
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24134
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;rpc.builder.opt-uni-testnet-1301.l2b.flashbots.net. IN A

;; ANSWER SECTION:
rpc.builder.opt-uni-testnet-1301.l2b.flashbots.net. 3600 IN A 10.86.0.15

;; Query time: 6 msec
;; SERVER: 169.254.169.254#53(metadata.google.internal) (UDP)
;; WHEN: Thu Mar 12 10:19:47 UTC 2026
;; MSG SIZE  rcvd: 95

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

non splid-horizon DNS resolution doesn't work either, b.t.w.

compare this:

# dig prometheus.l2-meva-uni.gcp.internal

; <<>> DiG 9.20.11-4-Debian <<>> prometheus.l2-meva-uni.gcp.internal
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 44604
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;prometheus.l2-meva-uni.gcp.internal. IN	A

;; AUTHORITY SECTION:
.			7047	IN	SOA	a.root-servers.net. nstld.verisign-grs.com. 2026031200 1800 900 604800 86400

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Thu Mar 12 16:14:15 UTC 2026
;; MSG SIZE  rcvd: 139

with this:

# dig prometheus.l2-meva-uni.gcp.internal @metadata.google.internal
; <<>> DiG 9.20.11-4-Debian <<>> prometheus.l2-meva-uni.gcp.internal @metadata.google.internal
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45668
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;prometheus.l2-meva-uni.gcp.internal. IN	A

;; ANSWER SECTION:
prometheus.l2-meva-uni.gcp.internal. 3600 IN A	10.86.0.30

;; Query time: 5 msec
;; SERVER: 169.254.169.254#53(metadata.google.internal) (UDP)
;; WHEN: Thu Mar 12 16:15:02 UTC 2026
;; MSG SIZE  rcvd: 80

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ahh, i see.

adding Domains=~internal to base/mkosi.extra/etc/systemd/network/10-ethernet.network should fix the issue. and then for your split-horizon, you can add additional domains via a module-specific
mkosi.extra/etc/systemd/network/10-ethernet.network.d/extra.conf like so:

[Network]
Domains=~l2b.flashbots.net

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question:

@alexhulbert what's the point of this file? (it doesn't seem to be referenced anywhere)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

forgot to remove it. hostname stuff shouldn't be in the global GCP profile since buildernet handles hostnames differently (they're set from builderhub there)

Comment on lines +7 to +8
SizeMinBytes=524288000
SizeMaxBytes=524288000
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question:

can we bump this to 1Gb @alexhulbert? (I had corner cases where I needed that much)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can make it dynamic

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dynamic will do too.


# Refine trusted sources using cloud hypervisor when available
server 169.254.169.254 iburst minpoll 4 maxpoll 4
server 169.254.169.123 iburst minpoll 4 maxpoll 4
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question:

@alexhulbert these two look like blanket references to NTP services in different clouds. why not have them in dedicated mkosi.profiles?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these two together form the standards for all cloud providers and these lines do nothing on a non-cloud image, so I added them here for simplicity. see https://www.notion.so/flashbots/Standardized-Mkosi-Networking-Config-3206b4a0d87680479d0be394fe8c84f7?source=copy_link for details

@@ -0,0 +1,3 @@
[Resolve]
DNS=1.1.1.1#cloudflare-dns.com 1.0.0.1#cloudflare-dns.com
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question:

@alexhulbert is it ok to override this in particular images?

e.g. I use split-horizon DNS in some places => for those to work the resolver must be of the relevant cloud, not external.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the new image actually supports that out of the box via DHCP-peovided domains, no need to override anything. see https://www.notion.so/flashbots/Standardized-Mkosi-Networking-Config-3206b4a0d87680479d0be394fe8c84f7?source=copy_link for details

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it might support DHCP-provided domains, but I am talking about split-horizon DNS (so, not DHCP)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

im also talking about split horizon DNS. shortcuts like "metadata" or fully qualified names like "metadata.google.internal" correctly resolve using the google hypervisor DNS server, but then regular sites like flashbots.net resolve thru cloudflare over DoT. DHCP doesn't just provide an IP, it also provides a list of LAN asdresses with corresponding hostnames that systemd-resolved can add to its list of hosts.

if you're doing something even more complicated, you can always add a drop in file, though.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pls see comment above. neither split-dns, not just plain internal dns are reliably working.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question:

shouldn't this only happen in dev images @alexhulbert?

Copy link
Copy Markdown
Member

@alexhulbert alexhulbert Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this file provides access to a timestamp-fixed snapshot of the Debian backports repo. This allows us to install newer versions of packages before they're officially released in debian trixie. It's a no-op to your actual package list unless you add "/trixie-backports" to one of your installed packages in your mkosi.conf

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean, on prod images that we don't have access to we wouldn't even be able to install any packages, neither any kinds of automations are supposed to do that either.

I think that any debian repos should be present only dev images, right?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question:

how was this update produced @alexhulbert?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fryd's recently finished PR produces an equivalent kernel but in a much simpler and more transparent way. Removing this file is the final step in the standardization/simplification process and should be merged into main this week.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand. my question was about this present file - namely how was it produced. not about parallel work Fryd has done.

or do you mean to say that this file is here temporarily and will be replaced by Fryd's work?

@0x416e746f6e 0x416e746f6e merged commit 6bf3faf into trunk/l2-merge-main Mar 16, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants