fixes #1
This commit is contained in:
Cat /dev/Nulo 2023-02-08 15:15:07 -03:00
parent ff95f2fdfc
commit 92c82d5ad8
2 changed files with 55 additions and 0 deletions

View file

@ -11,6 +11,7 @@ import { setupKernel } from "./kernel.js";
import { runQemu } from "./qemu.js"; import { runQemu } from "./qemu.js";
import { Runit } from "./runit/index.js"; import { Runit } from "./runit/index.js";
import { setupDhcpcd } from "./services/dhcpcd.js"; import { setupDhcpcd } from "./services/dhcpcd.js";
import { setupNtpsec } from "./services/ntpsec.js";
if (process.argv[2] === "generate-secrets") { if (process.argv[2] === "generate-secrets") {
await generateForgejoSecretsFile(); await generateForgejoSecretsFile();
@ -32,6 +33,7 @@ if (process.argv[2] === "generate-secrets") {
await alpine.addPackages(["helix", "iproute2-ss", "socat"]); await alpine.addPackages(["helix", "iproute2-ss", "socat"]);
const runit = await Runit.setup(alpine); const runit = await Runit.setup(alpine);
await setupDhcpcd(alpine, runit); await setupDhcpcd(alpine, runit);
await setupNtpsec(alpine, runit);
await setupForgejo(alpine, runit); await setupForgejo(alpine, runit);
const kernel = await setupKernel(alpine, kernelDir); const kernel = await setupKernel(alpine, kernelDir);

53
services/ntpsec.ts Normal file
View file

@ -0,0 +1,53 @@
import { Alpine } from "../alpine.js";
import { sudoWriteFile } from "../helpers/sudo.js";
import { Runit } from "../runit/index.js";
export async function setupNtpsec(alpine: Alpine, runit: Runit) {
await alpine.addPackages(["ntpsec"]);
// In the ntpsec-doc package, open in browser:
// file:///usr/share/doc/ntpsec/quick.html
// file:///usr/share/doc/ntpsec/NTS-QuickStart.html
// XXX: revisar driftfile, creo que tiene que poder escribir pero está readonly
await sudoWriteFile(
alpine.path("/etc/ntp.conf"),
`
driftfile /var/lib/ntp/ntp.drift
restrict default kod limited nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1
# https://gist.github.com/jauderho/2ad0d441760fc5ed69d8d4e2d6b35f8d
server time.cloudflare.com nts iburst
server nts.ntp.se nts iburst
# https://nts.time.nl/
server ntppool1.time.nl nts iburst
server ntppool2.time.nl nts iburst
# https://system76.com/time/
server paris.time.system76.com nts iburst
server brazil.time.system76.com nts iburst
# https://www.netnod.se/netnod-time/how-to-use-nts
server sth1.nts.netnod.se nts iburst
server sth2.nts.netnod.se nts iburst
# https://ntp.br/guia/linux/
server a.st1.ntp.br nts iburst
server b.st1.ntp.br nts iburst
server c.st1.ntp.br nts iburst
server d.st1.ntp.br nts iburst
server gps.ntp.br nts iburst
`
);
await runit.addService(
"ntpsec",
`#!/bin/sh
exec ntpd --nice --nofork --panicgate
`
);
}