Skip to main content
Host UK

Terminal Isolation Matrix (RFC-0017)

Lethean R&D Labs
RFC Containers OCI runc

TIM (Terminal Isolation Matrix) is an OCI-compatible container bundle format. Runtime config plus DataNode rootfs - package applications for execution via runc or any OCI-compatible runtime.

Features

OCI Compatible

Follows OCI runtime-spec for maximum portability

DataNode Rootfs

Root filesystem is a DataNode - in-memory until needed

JSON Config

Standard OCI config.json for runtime specification

STIM Encryption

Encrypt entire TIM bundle for secure transport

Installation

import "github.com/Snider/Borg/pkg/tim"

rootfs := datanode.New()
rootfs.WriteFile("bin/app", appBinary)

t := tim.New(config, rootfs)
bundle := t.ToBundle()  // OCI-compatible bundle

Usage

TIM Structure

type TerminalIsolationMatrix struct {
    Config []byte              // OCI runtime specification (JSON)
    RootFS *datanode.DataNode  // In-memory filesystem
}

Execution

# Extract TIM to OCI bundle
borg tim extract app.tim -o /tmp/bundle

# Run with runc
runc run -b /tmp/bundle my-container

More from Lethean R&D Labs

View all projects →

Fancy helping out?

Spotted a bug? Got an idea? We'd love to hear from you.

Read the contributing guide →