Class: Zephira::Sandbox

Inherits:
Object
  • Object
show all
Defined in:
lib/zephira/sandbox.rb

Constant Summary collapse

GHCR_IMAGE =
"ghcr.io/aarongough/zephira"
DERIVED_IMAGE_PREFIX =
"zephira-sandbox"
FORWARDED_ENV_PATTERNS =
[/\AZEPHIRA_/].freeze
FORWARDED_ENV_EXCLUDES =
%w[ZEPHIRA_IN_SANDBOX ZEPHIRA_SANDBOX].freeze
OUTER_TL =
""
OUTER_TR =
""
OUTER_BL =
""
OUTER_BR =
""
OUTER_H =
""
OUTER_V =
""
INNER_TL =
""
INNER_TR =
""
INNER_BL =
""
INNER_BR =
""
INNER_H =
""
INNER_V =
""
INNER_PADDING =
3

Class Method Summary collapse

Class Method Details

.exec_if_needed!(argv) ⇒ Object



30
31
32
33
34
35
36
37
38
39
# File 'lib/zephira/sandbox.rb', line 30

def exec_if_needed!(argv)
  return if ENV["ZEPHIRA_IN_SANDBOX"] == "1"
  return if ENV["ZEPHIRA_SANDBOX"] == "false"

  abort_with_sandbox_error unless docker_available?

  target = resolve_image
  $stderr.puts "[Zephira] Launching in Docker sandbox (#{target})..."
  Kernel.exec(*build_docker_command(argv, target))
end