Skip to content

TKL v19: dual-stack networking, Redis/Ruby verticals, and misc fixes#339

Closed
marcos-mendez wants to merge 7 commits intoturnkeylinux:19.x-devfrom
popsolutions:19.x-dev
Closed

TKL v19: dual-stack networking, Redis/Ruby verticals, and misc fixes#339
marcos-mendez wants to merge 7 commits intoturnkeylinux:19.x-devfrom
popsolutions:19.x-dev

Conversation

@marcos-mendez
Copy link
Copy Markdown
Member

Summary

  • Dual-stack IPv4/IPv6 network support (dhcpcd replacing udhcpc)
  • Fix DHCPv6: remove redundant inet6 dhcp from interfaces
  • Add Redis vertical: plan and conf for shared Redis infrastructure
  • Add Ruby vertical: extract Ruby build deps from Rails into standalone plan
  • Minor NGINX overlay SSL snippet fix
  • Apache SSL conf script fix, mawk/locales base plan fixes, fail2ban guard, PostgreSQL plan

Replaces #338 (was opened from the wrong fork popsolutions/tkl-common; now from popsolutions/common).

🤖 Generated with Claude Code

navigator and others added 7 commits March 20, 2026 15:58
- plans/turnkey/base: add libsocket6-perl + libio-socket-ssl-perl (IPv6 Webmin)
- plans/turnkey/base: uncomment tklbam (migrated to Python 3.13)
- conf/turnkey.d/webmin-conf: enable ipv6=1 by default
- overlays/turnkey.d/networking/etc/gai.conf: prefer IPv4 for external connections

Tested: Built turnkey-core v19 ISO (406MB), LXC container running with
Webmin on IPv4+IPv6, SSH, systemd, Python 3.13, kernel 6.12.
- Switch from udhcpc (IPv4-only) to dhcpcd (dual-stack v4+v6)
- Add inet6 dhcp stanzas to interfaces overlay for eth0 and eth1
- Remove udhcpc-fix overlay (resolvconf integration handled natively by dhcpcd)
- Mask dhcpcd.service daemon to prevent conflict with ifupdown
  (ifupdown invokes dhcpcd on-demand via ifup/ifdown)

Tested: ifupdown 0.8.44 (Trixie) natively supports dhcpcd-base.
With daemon masked, ifup eth0 successfully obtains both DHCPv4 and
DHCPv6 (SLAAC) addresses using a single package.

This enables dual-stack IPv4+IPv6 out of the box for all TKL v19
appliances without breaking confconsole/ifupdown integration.
The apache-ssl conf script (which configures TLS protocol hardening,
cipher suites, default certificate paths, OCSP stapling, HSTS, and
HTTP/2) existed in common/conf/ but was never invoked by any .mk file.

This caused all Apache+SSL appliances on Trixie to start with
SSLEngine on but no SSLCertificateFile, resulting in fatal mod_ssl
errors on boot.

Add apache-ssl to apache.mk COMMON_CONF so it runs automatically
for every appliance that includes Apache.
@JedMeister
Copy link
Copy Markdown
Member

After a bit of testing, I'm going to close this PR.

I've opened #343 as a partial replacement that includes your idempotency improvements - but NOT the DHCPv6 stuff. (It also doesn't include e34762f - updates to mk/turnkey/apache.mk - because that was also done in #337).

I'm on board with improving DHCPv6 support but testing your changes I found IPv4 DHCP unreliable and setting static IPv4 IPs via Confconsole nonfunctional. After a bit of research I made a few discoveries that I think may explain my experience - primarily that dhcpcd is not compatible with ifupdown & use of the /etc/network/interfaces file. Rather than detail all that here though, I'm going to open a new issue on the tracker so we can discuss it further there.

Because implementation of IPv6 requires a bit more consideration it's likely we may not be able to implement full IPv6 DHCP support in v19.0. Because v19.0 is so overdue already, I'd rather release something that is sub-optimal - but with the same functionality as v18.x - than something that includes new features which potentially cause new issues.

@JedMeister
Copy link
Copy Markdown
Member

Oops, hit the wrong button...

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.

2 participants