Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/holger

examples/secure-update-gateway/ot-critical-readonly.ron

// Protected OT node — Critical security profile + ReadOnly operation mode.
//
// `holger-mikro start --config ot-critical-readonly.ron`
//
// Startup REFUSES this config unless it can enforce the Critical profile:
//   - audit.enabled = true and the audit sink opens
//   - auth configured with a non-static mechanism (mTLS here)
//   - auth.require_auth_for_reads = true
//   - every exposed endpoint is mTLS (cert + key + client_ca)
//   - every repository initializes
// In ReadOnly mode every network mutation is refused before the body is read.
//
// The `bundles` raw repository's `ron_data_dir` is the served bundle store that
// `holger-server bundle import` writes into. Replace the /etc/holger/pki/* paths
// with your real certificates.
(
    security_profile: Critical,
    operation_mode: ReadOnly,

    repositories: [
        (
            ron_name: "bundles",
            ron_repo_type: "raw",
            ron_upstreams: [],
            ron_in: None,
            ron_out: None,
            ron_data_dir: Some("/var/lib/holger/bundle-store/bundles"),
        ),
    ],

    exposed_endpoints: [
        (
            ron_name: "grpc",
            ron_url: "0.0.0.0:50443",
            ron_http_url: Some("0.0.0.0:8443"),
            ron_tls: Some((
                cert: "/etc/holger/pki/server.crt",
                key: "/etc/holger/pki/server.key",
                client_ca: Some("/etc/holger/pki/client-ca.crt"),
                // HOL-NCSC: the client certificates' revocation list (Critical requires it).
                crl: Some("/etc/holger/pki/client-ca.crl"),
            )),
        ),
    ],

    storage_endpoints: [],

    auth: Some((
        methods: [ Mtls(ca_cert: "/etc/holger/pki/client-ca.crt") ],
        require_auth_for_reads: true,
        default_role: Some(Reader),
    )),

    audit: (dir: "/var/lib/holger/bundle-store/audit", enabled: true),
)