QuantyKube

ADR-004 Plaintext over a Unix socket until QuantyCore has TLS

All pages

ADR-004, from docs/DECISIONS.md in the QuantyKube repository.

Status Partly superseded by ADR-031.

QuantyKube listens on a Unix socket and speaks gRPC without TLS. The API server is pointed at it with --etcd-servers=unix://<path>.

This is how k3s runs kine by default, so it is the established form for a store that lives on the same machine as its API server. It also takes TLS off the critical path: TLS is being written in QuantyCore (ADR-003 there) and is a long piece of work that the first demonstration must not wait for.

Only a Unix socket, not plaintext TCP on loopback. A socket keeps the trade visible in the path name and puts access under file permissions, which a loopback port does not have.

The cost: the store cannot be reached from another machine, so the API server and QuantyKube always share a host. The only access control is the socket's file mode and owner, and the server creates it 0600, owner only. A CIS style benchmark scan will flag the missing etcd TLS settings, and that finding is correct. This record is superseded when QuantyCore's TLS meets its own bar.