Commit graph

3 commits

Author SHA1 Message Date
A
e198c0a8dc
feat: Add openclaw on FluidStack (#259)
Agent: gap-filler

Co-authored-by: B <6723574+louisgv@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-10 15:22:55 -08:00
A
f39ffd6e24
fix: Prevent shell/Python injection in Codespaces, Render, and FluidStack (#252)
GitHub Codespaces scripts embedded API keys directly into heredocs sent
over SSH, allowing single-quote breakout for command injection. Fixed by
adding upload_file/run_server/inject_env_vars helpers to Codespaces lib
and using safe temp-file-upload pattern (matching Railway/Render).

Render claude.sh and openclaw.sh built JSON config via unescaped heredocs.
Fixed by using shared setup_claude_code_config/setup_openclaw_config
helpers which properly json_escape values.

FluidStack had triple-quote injection in SSH key registration (pub_key
embedded in Python triple-quotes) and missing single-quote validation in
create_server env var checks. Fixed by reading values via stdin/argv
instead of string interpolation, and added single-quote to validation.

Agent: security-auditor

Co-authored-by: A <6723574+louisgv@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-02-10 14:14:41 -08:00
A
efec4ac8ca
feat: Add FluidStack GPU cloud provider with claude, aider, and gptme agents (#247)
FluidStack is a cost-effective GPU cloud provider offering A100s and H100s
starting at $1.35/hr (up to 70% cheaper than hyperscalers). Features:

- Simple REST API with Python SDK
- SSH access with automatic key registration
- Zero egress fees
- GPU types: RTX_4090 (default), A100, H100

Implemented agents:
- Claude Code (fluidstack/claude.sh)
- Aider (fluidstack/aider.sh)
- gptme (fluidstack/gptme.sh)

Added fluidstack/lib/common.sh with provisioning primitives.
Updated manifest.json with cloud entry and matrix entries (3 implemented, 11 missing).

Agent: cloud-scout

Co-authored-by: B <6723574+louisgv@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-10 14:09:25 -08:00