Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
projects:cluster [2025/07/14 15:57] samp20projects:cluster [2025/07/14 16:04] (current) – Add Caddy samp20
Line 19: Line 19:
   * NFTables for firewall configuration.   * NFTables for firewall configuration.
   * Python Flask for config distribution.   * Python Flask for config distribution.
 +  * Caddy for HTTPS ingress proxy
  
 ===== General architecture ===== ===== General architecture =====
  
-The core of the system will be a python service that will receive the configuration (probably via UNIX socket), validate it and update the various components through python plugins using ''importlib.metadata.entry_points''.+The core of the system will be a python service that will receive the configuration (probably via UNIX socket so the Flask http server can be kept in a separate container), validate it and update the various components through python plugins using ''importlib.metadata.entry_points''.
  
 The configuration will consist of objects representing different parts of the system that need to be configured. An example is below: The configuration will consist of objects representing different parts of the system that need to be configured. An example is below:
Line 62: Line 63:
  
 The scope of this will initially be to configure the forward chains to forward from the container's virtual ethernet to the wireguard tunnel. In the future this can be extended to implement firewall policies between containers. The scope of this will initially be to configure the forward chains to forward from the container's virtual ethernet to the wireguard tunnel. In the future this can be extended to implement firewall policies between containers.
 +
 +===== Caddy =====
 +
 +Caddy can be configured directly through JSON. We can merge together multiple container configs, along with any required global configuration, and pass this directly to Caddy. There are probably some gotchas to be aware of when merging. A good starting point will be to take a existing ''Caddyfile'' and convert it to JSON to see what the structure is like and how it can be split.
 +
  • projects/cluster.1752508646
  • Last modified: 28 hours ago
  • by samp20