class

Pyrite::CLI::Builder

Inherits Reference < Object

Orchestrates building, stripping, hashing, and envelope sealing.

Constructors

new(input : String = "src/main.cr", output : String = "bin/app", target : String = "gcp", config_path : String = "config/production.json", kms_key : String = "", pcr : String = "0,7", envelope_out : String = "", stdout : IO = STDOUT, stderr : IO = STDERR)
Source

Instance methods

compile_binary!

Compiles the Crystal source file with full LLVM release optimizations

Source
config_path
Source
config_path=(config_path : String)
Source
envelope_out
Source
envelope_out=(envelope_out : String)
Source
execute!

Executes the full build and seal pipeline

Source
input
Source
input=(input : String)
Source
kms_key
Source
kms_key=(kms_key : String)
Source
output
Source
output=(output : String)
Source
pcr=(pcr : String)
Source
seal_envelope!(binary_hash : String)

Creates the plaintext JSON payload and encrypts it using the target provider

Source
stderr
Source
stderr=(stderr : IO)
Source
stdout
Source
stdout=(stdout : IO)
Source
strip_binary!

Strips all ELF symbols and debugging sections

Source
target
Source
target=(target : String)
Source