Professional software engineer, musician, gamer, stoic, democratic socialist

  • 14 Posts
  • 637 Comments
Joined 3 years ago
cake
Cake day: July 2nd, 2023

help-circle












  • The main point of OP is that this was a misunderstanding that turned into an overreaction. It sounds like there was never any confusion among the maintainers that they were trying to create a policy to prevent LLM slop PRs and reduce maintenance burden. Somehow non-maintainers derailed the discussion into an anti-AI tirade that was completely unproductive.

    So basically: yes people should shut up if they don’t have anything productive to add to the discussion.


  • It was clear he was referring to anyone involving themselves unnecessarily in the business of maintainers trying to create a policy. This tends to happen whenever maintainers discuss things openly.

    It didn’t seem condescending to me. You have to accept that non-contributors simply don’t get as much weight as contributors in this kind of discussion. So when a lead maintainer sees non-contributors starting debates and criticizing the project when they don’t have their facts straight and it really wasn’t any of their business to begin with, they have a right to call them out.



  • Secrets

    • Encrypted secrets file. All repo-managed credentials live in secrets/secrets.yaml, encrypted with SOPS/age.
    • Encrypted OpenTofu state. State and plans are encrypted client-side (PBKDF2 + AES-GCM) with a passphrase from TF_VAR_state_passphrase.

    Network perimeter

    • Default-drop firewall on the router. I use a hand-written nftables ruleset with policy drop on both input and forward. Only lo, lan0 and wg0 are trusted. WAN accepts only established traffic, WireGuard UDP and HTTP/HTTPS.
    • No SSH from the WAN. sshd on the router is not exposed to the internet at all.
    • WireGuard for remote access.
    • Forced DNS. NAT redirects all LAN and VPN port-53 traffic to the router’s AdGuard. AdGuard uses Quad9 over DoT upstream, with blocklists and safe search.
    • Second-level ACL in nginx. Private .home vhosts and Grafana carry allow LAN; allow VPN; deny all;.
    • TLS everywhere. Every public vhost sets forceSSL with recommendedTlsSettings. Certificates come from ACME DNS-01, so issuance needs no inbound port 80. Cloudflare is DNS-only with no proxy, so no third party sees plaintext.

    Host access

    • SSH hardening. Password and keyboard-interactive auth are off, PermitRootLogin = “no”, and logins are key-only.
    • Dedicated deployer system user. It uses a CI-only keypair, separate from the interactive keys. Everything it does through sudo is logged with LOG_INPUT/LOG_OUTPUT to /var/log/sudo-deployer.log.