Introduction

This is assorted notes on what could go into the MakerFLOSS lab

Requirements

  • A space to experiment with new software
  • A place where software could be "test run" for some time
  • A place where errors are not causing IP loss
    • even if errors are real big !!

More details

  • Firewalled off from the production network
  • Accessible from outside
  • Potential for exposing services externally

Constraints

  • Cost conscious
  • Support constant change

Proposals

Short term

A VPS in a (European) cloud with one public IP

Midterm

Complement the VPS with some local hardware:

  • Firewall with zones (VLANs, DNS/DHCP)
  • Netbird access to services in Lab
  • Switching infrastructure
  • A primary "stable" Proxmox host
  • A secondary experimentation machine
  • A backup server
  • Tunnel for external access via VPS public IP

Basic Services in Lab

  • Git: Forgejo
  • ...

Lab Diagram

graph LR
    subgraph External
        Internet[🌐 Internet]
        VPS[FLOSS VPS<br/>88.99.32.236]
    end

    subgraph OrangeMaker["Orange Makerspace"]
        OMFirewall[OrangeMaker Firewall]
        ProdNet[Production Network]
    end

    subgraph FLOSSLab["MakerFLOSS Lab"]
        Switch[Switch]
        Proxmox1[LabZone 1<br/>Test Proxmox]
        Proxmox2[LabZone 2<br/>Experimental]

        subgraph TAPPaaS
            FLOSSFirewall[MakerFLOSS Firewall<br/>DNS/DHCP/VLANs]
            PreProd[Pre-production Zone]
            Backup[Backup Server]
        end
    end

    Internet --> VPS
    Internet --> OMFirewall
    VPS -.->|Tunnel| FLOSSFirewall
    VPS -.->|Netbird| FLOSSFirewall
    OMFirewall --> ProdNet
    OMFirewall --> FLOSSFirewall
    FLOSSFirewall --> Switch
    FLOSSFirewall --> PreProd
    Switch --> Proxmox1
    Switch --> Proxmox2
    Switch --> Backup

TAPPaaS Diagram

graph TB
    subgraph TAPPaaS
        subgraph Firewall["Firewall"]
            Zones[Zones]
            Caddy[Caddy]
            Certs[Certificates]
            DHCPDNS[DHCP/DNS]
        end

        subgraph PreProd["Pre-Production"]
            Proxmox[Proxmox]
            Authentik[Authentik]
            CICD[CI/CD]
            Forgejo[Forgejo]
            More[...]
        end

        subgraph BackupSrv["Backup"]
            BackupService[PBS Backup Service]
        end
    end

    Firewall --> PreProd
    Firewall --> BackupSrv

Long term

replace VPS with a direct IP pinhole access

replace the "stable" FLOSS services running on VPS with modules runing on "stable" machine locally

Design of Mid term solution

Option 2 (larger canvas — NOT applied here): the `size:` frontmatter only accepts sizes the active theme has declared via @size. The bundled `default`/`gaia` themes only declare 16:9 (1280x720) and 4:3 (960x720). To get a 1920x1080 canvas you must register a custom theme via marp.config.mjs / --theme that contains @size fhd 1920px 1080px; and then reference it as `size: fhd`. Inline <style> blocks cannot declare theme metadata, so a one-file demo of option 2 isn't possible without touching the build pipeline.