domain/architecture/system/deployment/nix_darwin/ops.bend checks
raw source on the hub · import 0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/ops.bend as Ops
5 imports
import Base import ./type.bend as ND import ./service/type.bend as Sv import ./service/ops.bend as SvO import ../../container/type.bend as Ct
Definitions
def user source · line 7 · raw
@nd:0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.NixDarwin -> String
def tailscale source · line 12 · raw
@nd:0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.NixDarwin -> Bool
def services source · line 17 · raw
@nd:0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.NixDarwin -> List<&2, 0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/service/type.Service>
def serves source · line 22 · raw
@nd:0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.NixDarwin -> List<&2, 0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.Serve>
def listeners source · line 27 · raw
@nd:0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.NixDarwin -> List<&2, 0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.Listening>
def kept source · line 32 · raw
@nd:0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.NixDarwin -> List<&2, String>
def serve_container source · line 37 · raw
@s:0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.Serve -> String
def serve_https source · line 42 · raw
@s:0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.Serve -> U32
def serve_port source · line 47 · raw
@s:0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.Serve -> U32
def serve_target source · line 53 · raw
@s:0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.Serve -> String
What Tailscale proxies a serve to.
def listening_process source · line 58 · raw
@l:0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.Listening -> String
def listening_processes source · line 63 · raw
@xs:List<&2, 0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.Listening> -> List<&2, String>
def tailscale_line source · line 71 · raw
@on:Bool -> String
---- the nix-darwin flake: pinned inputs, the Mac's module, and one launchd job per service ----
def flake source · line 79 · raw
@nd:0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.NixDarwin -> String
lets are Nix bindings the jobs may use (e.g. a derivation); config is extra nix-darwin config lines.
def tailscale_command source · line 94 · raw
@nd:0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.NixDarwin -> String
The Tailscale CLI: Nix's when Nix runs Tailscale, else the app's.
def fresh source · line 99 · raw
@+p:U32 -> @ps:List<&2, U32> -> Bool
---- laws of a system with this node ---- 0 is not a port.
def distinct source · line 102 · raw
@ps:List<&2, U32> -> Bool
def https_ports source · line 109 · raw
@xs:List<&2, 0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.Serve> -> List<&2, U32>
def serve_ports_distinct source · line 117 · raw
@nd:0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.NixDarwin -> Bool
No two serves share a tailnet HTTPS port.
def belongs source · line 120 · raw
@l:0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.Listening -> @+keys:List<&2, String> -> Bool
def all_belong source · line 125 · raw
@xs:List<&2, 0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.Listening> -> @+keys:List<&2, String> -> Bool
def listeners_belong source · line 133 · raw
@nd:0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.NixDarwin -> @+keys:List<&2, String> -> Bool
Every allowed listener belongs to macOS or to one of keys (the system's containers and nodes).
def services_among source · line 136 · raw
@xs:List<&2, 0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/service/type.Service> -> @+instances:List<&2, String> -> Bool
def serves_among source · line 143 · raw
@xs:List<&2, 0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.Serve> -> @+instances:List<&2, String> -> Bool
def services_on source · line 151 · raw
@+nd:0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.NixDarwin -> @+instances:List<&2, String> -> Bool
Services and serves run only containers this node runs.
def served source · line 154 · raw
@+k:String -> @xs:List<&2, 0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.Serve> -> Bool
def is_tailnet source · line 161 · raw
@e:0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/container/type.Exposure -> Bool
def honest source · line 168 · raw
@c:0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/container/type.Container -> @+ss:List<&2, 0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.Serve> -> @+instances:List<&2, String> -> Bool
def all_honest source · line 173 · raw
@cs:List<&2, 0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/container/type.Container> -> @+ss:List<&2, 0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.Serve> -> @+instances:List<&2, String> -> Bool
def exposure_honest source · line 181 · raw
@nd:0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.NixDarwin -> @+cs:List<&2, 0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/container/type.Container> -> @+instances:List<&2, String> -> Bool
A container on this node is on the tailnet exactly when a serve names it.
def survives_reboot source · line 185 · raw
@+nd:0x1fc67b41fabeabde819cdaa647758be1/domain/architecture/system/deployment/nix_darwin/type.NixDarwin -> @auto_login_user:String -> Bool
Services that start at login need the Mac to log its user in by itself.