Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
ceb0eeb
feat: add remote cloud deployment infrastructure
drewstone Sep 3, 2025
0bd206b
feat: complete remote providers implementation with production features
drewstone Sep 3, 2025
28509cd
refactor: properly extend existing ContainerRuntime for remote deploy…
drewstone Sep 3, 2025
57bcbf0
feat: add actual cloud infrastructure provisioning
drewstone Sep 3, 2025
0ca1827
feat: complete unified resource model and multi-cloud provider support
drewstone Sep 3, 2025
9491853
refactor: improve semantic naming and remove poor adjectives
drewstone Sep 3, 2025
c8ac277
feat: add local resource enforcement and comprehensive E2E tests
drewstone Sep 3, 2025
26acdc2
fix: remove misplaced local enforcement from remote-providers
drewstone Sep 3, 2025
7ea0134
feat: add proper pricing engine integration via adapter
drewstone Sep 3, 2025
4d120fb
feat(blueprint-remote-providers): add unified cloud infrastructure pr…
drewstone Sep 4, 2025
52dd00d
docs: add comprehensive CLI remote deployment specification
drewstone Sep 4, 2025
eaac156
docs: add blueprint services specification for build cloud competitors
drewstone Sep 4, 2025
5dbde27
feat: add phase 1 implementation roadmap for CLI cloud commands
drewstone Sep 4, 2025
4452e5e
feat(cli): add cloud deployment commands for remote Blueprint execution
drewstone Sep 4, 2025
067c22c
fix(cli): use Cargo.toml instead of Blueprint.toml for backward compa…
drewstone Sep 4, 2025
4edda7d
refactor(cli): correct architecture - CLI configures, Blueprint Manag…
drewstone Sep 4, 2025
8b58a4b
feat: implement Phase 2 Blueprint Manager remote deployment integration
drewstone Sep 4, 2025
0ae4512
chore: format remote deployment code and add demo
drewstone Sep 4, 2025
ccdb736
feat: complete Phase 2 remote deployment integration
drewstone Sep 4, 2025
86f6293
feat: integrate real cloud providers with remote-deployer feature
drewstone Sep 4, 2025
3813583
fix: add macOS compatibility for remote-deployer feature
drewstone Sep 4, 2025
655586a
fix: partial compilation fixes for blueprint-remote-providers
drewstone Sep 8, 2025
c7e4ad7
refactor: consolidate to single ResourceSpec definition
drewstone Sep 8, 2025
2005692
fix: resolve field access errors after ResourceSpec simplification
drewstone Sep 8, 2025
deb0e9f
feat(remote-providers): add cloud deployment system with E2E testing
drewstone Sep 9, 2025
579c822
chore: clean up remote providers implementation
drewstone Sep 9, 2025
a1d8cec
refactor: reorganize blueprint-remote-providers into logical directories
drewstone Sep 9, 2025
5339580
feat: tests, pricing separation, instance separation, cleanup
drewstone Sep 17, 2025
29c3f7c
chore: massive rearchitecture
drewstone Sep 17, 2025
1c15679
chore: delete md
drewstone Sep 17, 2025
5d26c18
feat(remote-providers): complete multi-cloud infrastructure with secu…
drewstone Sep 18, 2025
a9b0942
feat(remote-providers): implement production security hardening
drewstone Sep 18, 2025
cc2d2d2
refactor(remote-providers): clean up codebase and fix manager integra…
drewstone Sep 18, 2025
d5e248c
fix(remote-providers): address critical integration issues
drewstone Sep 18, 2025
d64ccc4
refactor(config): consolidate cloud config types in remote providers …
drewstone Sep 18, 2025
79c3ebb
feat(manager): fix remote deployment integration issues
drewstone Sep 19, 2025
fc37cb0
feat(qos): add comprehensive remote QoS integration with full local p…
drewstone Sep 19, 2025
4481a4c
chore(deps): optimize dependency usage with workspace consistency
drewstone Sep 19, 2025
4870ebc
feat: proper separate of providers, adapters, fmt, tests
drewstone Sep 22, 2025
ebc5a3a
chore: remove examples that are dumb
drewstone Sep 22, 2025
2b427bb
chore: update tests
drewstone Sep 22, 2025
e946143
chore: fmt
drewstone Sep 22, 2025
462f3ae
chore: updates
drewstone Sep 22, 2025
720e740
Merge branch 'main' into drew/remote-cloud-providers
drewstone Sep 23, 2025
7a7e997
feat: secure system, test vulns
drewstone Sep 23, 2025
ef76200
feat: certificate, infra, build, fixing tests
drewstone Sep 23, 2025
acfa012
feat(remote-providers): complete end-to-end cloud deployment integration
drewstone Sep 24, 2025
b1ef206
feat(remote-providers): complete production-ready remote cloud deploy…
drewstone Sep 25, 2025
7b77a2a
feat(remote-providers): complete implementation of all cloud provider…
drewstone Sep 25, 2025
ca65b2e
feat(remote-providers): complete cloud deployment integration with pr…
drewstone Sep 29, 2025
395a7f4
fix(remote-providers): eliminate all compilation warnings for product…
drewstone Sep 29, 2025
2537030
fix(blueprint-remote-providers): resolve all compilation warnings and…
drewstone Sep 29, 2025
90c1063
feat(blueprint-remote-providers): implement container resource limits…
drewstone Sep 29, 2025
41627d8
test(blueprint-remote-providers): add REAL testing without fake mocks
drewstone Sep 30, 2025
a0f8349
feat: more ssh tests and implemented features
drewstone Sep 30, 2025
01a43b6
feat(remote-providers): complete production-ready multi-cloud impleme…
drewstone Sep 30, 2025
6db82ac
feat(remote-providers): improve testing infrastructure and QoS monito…
drewstone Oct 3, 2025
7f41fa5
fix(security): address critical security issues from code review
drewstone Oct 6, 2025
3da3ef2
feat(remote-providers): complete K8s deployment implementations and r…
drewstone Oct 7, 2025
c1c92e0
Merge branch 'main' into drew/remote-cloud-providers
drewstone Oct 7, 2025
878acc9
Merge branch 'main' into drew/remote-cloud-providers
drewstone Oct 8, 2025
4d57f35
refactor(remote-providers): standardize logging to use blueprint-core
drewstone Oct 8, 2025
908d370
security(remote-providers): address remaining security concerns
drewstone Oct 8, 2025
b8fa39e
chore: lock update
drewstone Oct 8, 2025
d83f177
chore: fmt
drewstone Oct 8, 2025
d806cd6
chore: fmt
drewstone Oct 8, 2025
f3ce0c9
refactor(remote-providers): fix all clippy warnings
drewstone Oct 8, 2025
aec2549
fix(ci): update remote-providers tests to use working test targets
drewstone Oct 8, 2025
7edb2af
fix(clippy): resolve all warnings across lib and test files
drewstone Oct 8, 2025
fbe08a0
fix(clippy): resolve all async fn and unused import warnings in qos a…
drewstone Oct 9, 2025
dec5590
fix(clippy): resolve workspace-wide clippy errors in manager and CLI
drewstone Oct 9, 2025
0b3bc47
fix(cli): add allow attributes for cloud module compilation issues
drewstone Oct 10, 2025
7dc95ea
fix(cli): add feature guards for remote-providers throughout CLI
drewstone Oct 10, 2025
9225b76
chore: fmt
drewstone Oct 10, 2025
fb6b212
docs(cli): add feature flags section and cloud deployment requirements
drewstone Oct 10, 2025
2fa4752
fix(remote-providers): implement actual IP retrieval and require Azur…
drewstone Oct 10, 2025
48989b8
fix(remote-providers): add comprehensive security CIDR tests and fina…
drewstone Oct 10, 2025
0a7c5c0
chore: fmt
drewstone Oct 10, 2025
a4766b9
chore: fmt
drewstone Oct 10, 2025
e42b2ed
chore: lock fix
drewstone Oct 11, 2025
f3ffa37
fix(ci): remove unused blueprint-core-testing-utils to avoid protoc r…
drewstone Oct 11, 2025
37cbae3
fix
drewstone Oct 12, 2025
1c81f79
fix(tests): remove stale kubeconfig lock file before kind export
drewstone Oct 12, 2025
0ba1316
Serverless architecture (#1191)
drewstone Oct 14, 2025
ea4cb93
chore: fmt
drewstone Oct 14, 2025
d38750a
chore: fmt
drewstone Oct 14, 2025
0842787
fix(ci): resolve CI failures and improve test compatibility
drewstone Oct 14, 2025
02aa69b
ci: standardize remote-providers workflow naming to match main CI
drewstone Oct 14, 2025
f76288f
fix(clippy): resolve all clippy warnings in blueprint-profiling
drewstone Oct 14, 2025
5830e7a
fix(clippy): resolve all clippy warnings in blueprint-profiling
drewstone Oct 14, 2025
aec4b10
fix(clippy): complete all clippy warnings in blueprint-profiling
drewstone Oct 14, 2025
c6e6554
fix(clippy): resolve all remaining clippy warnings
drewstone Oct 15, 2025
7a2fa66
fix(clippy): resolve final uninlined_format_args in blueprint-faas
drewstone Oct 15, 2025
0ccff81
chore: clippy fix and fmt
drewstone Oct 15, 2025
fc50279
chore: align ci
drewstone Oct 15, 2025
3fbabde
chore: fix
drewstone Oct 16, 2025
c5d2ecc
chore: fix tests
drewstone Oct 16, 2025
374776f
chore: fmt
drewstone Oct 16, 2025
8e5ad8b
chore: fix
drewstone Oct 16, 2025
7885713
chore: fmt
drewstone Oct 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
[target.aarch64-apple-darwin]
linker = "clang++"

[env]
CXXFLAGS = "-include cstdint"

[build]
# For access to tokio metrics
rustflags = ["--cfg", "tokio_unstable"]
# Configuration for macOS development

[alias]
# Convenient aliases for macOS development
check-mac = "check --no-default-features --features macos-dev"
build-mac = "build --no-default-features --features macos-dev"
test-mac = "test --no-default-features --features macos-dev"
run-mac = "run --no-default-features --features macos-dev"
103 changes: 103 additions & 0 deletions .github/workflows/remote-providers-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
name: CI

on:
pull_request:
paths:
- 'crates/blueprint-remote-providers/**'
- '.github/workflows/remote-providers-tests.yml'
push:
branches: [main]
paths:
- 'crates/blueprint-remote-providers/**'
- '.github/workflows/remote-providers-tests.yml'

jobs:
test-remote-providers:
name: cargo test (blueprint-remote-providers)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Install Rust
uses: dtolnay/rust-toolchain@stable

- name: Run unit tests
run: cargo test -p blueprint-remote-providers --lib

- name: Run pricing tests
run: cargo test -p blueprint-remote-providers test_pricing

test-remote-providers-kubernetes:
name: cargo test (blueprint-remote-providers-kubernetes)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Install Rust
uses: dtolnay/rust-toolchain@stable

- name: Setup Kind
uses: helm/[email protected]
with:
cluster_name: blueprint-test
wait: 120s

- name: Verify cluster
run: |
kubectl cluster-info
kubectl get nodes

- name: Run Kubernetes tests
run: cargo test -p blueprint-remote-providers --test managed_kubernetes_e2e --features kubernetes

test-remote-providers-ssh:
name: cargo test (blueprint-remote-providers-ssh)
runs-on: ubuntu-latest
services:
ssh:
image: linuxserver/openssh-server:latest
env:
PUID: 1000
PGID: 1000
TZ: UTC
PASSWORD_ACCESS: true
USER_PASSWORD: testpass
USER_NAME: blueprint
ports:
- 2222:2222
options: >-
--health-cmd "nc -z localhost 2222"
--health-interval 10s
--health-timeout 5s
--health-retries 5

steps:
- uses: actions/checkout@v4

- name: Install Rust
uses: dtolnay/rust-toolchain@stable

- name: Install sshpass
run: sudo apt-get update && sudo apt-get install -y sshpass

- name: Test SSH connection
run: |
sshpass -p testpass ssh -o StrictHostKeyChecking=no -p 2222 blueprint@localhost echo "SSH works"

- name: Run SSH deployment tests
run: echo "SSH deployment tests moved to lib tests" && cargo test -p blueprint-remote-providers --lib test_ssh

test-remote-providers-integration:
name: cargo test (blueprint-remote-providers-integration)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Install Rust
uses: dtolnay/rust-toolchain@stable

- name: Run integration tests
run: cargo test -p blueprint-remote-providers --lib

- name: Run property tests
run: cargo test -p blueprint-remote-providers --test property_tests
20 changes: 20 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Repository Guidelines

## Project Structure & Module Organization
The workspace is anchored by the root `Cargo.toml`, `dist-workspace.toml`, and `workspace-hack/` helper crate. Core runtime crates live in `crates/`, grouped by capability (`core/`, `networking/`, `manager/`, `stores/`, `testing-utils/`, etc.), and should keep public APIs surfaced through `crates/sdk/`. The `cli/` directory hosts the `cargo-tangle` binary with integration coverage in `cli/tests/`. Starter blueprints live in `examples/` and must remain buildable against the latest SDK. Long-form specifications and operator guides are under `docs/`. Use `docker-compose.yml` only when you need optional external services; it is not exercised in CI.

## Build, Test, and Development Commands
- `cargo fmt --all`: Format Rust sources using the shared `rustfmt.toml` rules.
- `cargo clippy --workspace --all-targets --all-features -D warnings`: Enforce lint cleanliness across every crate.
- `cargo test --workspace --all-features`: Run unit, doc, and integration tests; prefer `cargo test -p <crate>` for focused runs.
- `cargo build --workspace --all-features`: Compile everything locally before publishing a crate or tagging a release.
- `cargo run -p blueprint-manager -- --help`: Smoke-check runtime binaries after changes to orchestration crates.

## Coding Style & Naming Conventions
Rust files use the pinned stable toolchain 1.88 (managed via `rust-toolchain.toml`) with 4-space indentation. Follow idiomatic naming: modules and functions in `snake_case`, types and traits in `PascalCase`, constants in `SCREAMING_SNAKE_CASE`. Keep public exports centralized in each crate’s `lib.rs`, re-exporting from submodules instead of deep relative paths. Format documentation comments thoughtfully—`rustfmt` is configured to wrap doc examples—and order imports with standard/prelude/external grouping. For manifest updates, run `taplo fmt` to honor `taplo.toml`.

## Testing Guidelines
Write async tests with `tokio::test` where network or time-based behavior is exercised, and mirror fixtures in `crates/testing-utils/` when possible. Place integration suites in each crate’s `tests/` directory or under `cli/tests/` for CLI flows, naming files with the feature under test (`manager_failover.rs`, `router_happy_path.rs`). Maintain edge-case coverage for multi-node scenarios and include negative-path assertions. Before opening a PR, run `cargo test --workspace --all-features` and document any intentionally skipped targets.

## Commit & Pull Request Guidelines
Adopt Conventional Commits (`feat(router):`, `fix(cli):`, etc.) and align branches with the `feature/`, `fix/`, or `docs/` prefixes already in use. Each PR description should summarize behavior changes, list the verification commands you ran, and link any tracked issues. Attach logs or terminal snippets when altering CLI UX, and update `docs/` or examples when interfaces shift. Ensure CI is green, request a maintainer review, and keep PRs scoped to a single logical change set.
Loading
Loading