62 lines
2.4 KiB
Ruby
62 lines
2.4 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
# OpenSquilla — microkernel Python agent runtime. See caveats for the loopback-safe
|
|
# gateway default and the documented `--listen 0.0.0.0` opt-in.
|
|
class Opensquilla < Formula
|
|
include Language::Python::Virtualenv
|
|
|
|
desc "Microkernel Python agent runtime with MCP tools and multi-channel messaging"
|
|
homepage "https://github.com/OpenSquilla/opensquilla"
|
|
url "https://github.com/OpenSquilla/opensquilla/archive/refs/tags/v0.1.0.tar.gz"
|
|
sha256 "0000000000000000000000000000000000000000000000000000000000000000"
|
|
license "Apache-2.0"
|
|
head "https://github.com/OpenSquilla/opensquilla.git", branch: "main"
|
|
|
|
depends_on "python@3.13"
|
|
|
|
# First-draft formula: pip_install_and_link resolves runtime deps from
|
|
# PyPI at brew-install time. Once OpenSquilla ships a 0.1.0 tag, each runtime
|
|
# dep will be pinned here as a `resource` block for audit-grade install.
|
|
def install
|
|
venv = virtualenv_create(libexec, "python3.13")
|
|
venv.pip_install_and_link buildpath
|
|
end
|
|
|
|
def caveats
|
|
<<~EOS
|
|
OpenSquilla installed.
|
|
|
|
Default gateway bind: 127.0.0.1:18790 (loopback only).
|
|
Network exposure is opt-in only. To expose the gateway on the network:
|
|
|
|
- CLI flag: opensquilla gateway run --listen 0.0.0.0
|
|
- Env var: OPENSQUILLA_LISTEN=0.0.0.0 opensquilla gateway run
|
|
|
|
Reminder: only expose 0.0.0.0 behind a trusted reverse proxy or VPN.
|
|
The gateway's first-class auth assumes loopback-scope by default.
|
|
|
|
The Homebrew formula installs the core runtime. The bundled local ML
|
|
router also requires hydrated Git LFS model assets, which GitHub source
|
|
tarballs do not carry. If you want squilla-router ML routing, use a
|
|
source checkout with Git LFS plus the `recommended` profile:
|
|
|
|
git lfs pull --include="src/opensquilla/squilla_router/models/**"
|
|
uv sync --extra recommended
|
|
|
|
Service units (launchd / systemd / Task Scheduler) ship in
|
|
service-units/. For macOS, install the LaunchAgent:
|
|
|
|
envsubst < service-units/launchd/ai.opensquilla.gateway.plist \\
|
|
> ~/Library/LaunchAgents/ai.opensquilla.gateway.plist
|
|
launchctl load ~/Library/LaunchAgents/ai.opensquilla.gateway.plist
|
|
|
|
See service-units/README.md for the per-platform install + opt-in
|
|
walkthrough.
|
|
EOS
|
|
end
|
|
|
|
test do
|
|
assert_match "opensquilla", shell_output("#{bin}/opensquilla --help 2>&1")
|
|
end
|
|
end
|