Skip to content

ZiggiZagga/IronBucket

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

176 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IronBucket

Production-ready S3-compatible microservices platform with JWT authentication, multi-tenant support, and policy-based routing.

🚨 Production Readiness Status

Current Status: 🟢 Core Build/Test + E2E Gates Green | 🟡 Release Hardening Active

IronBucket has validated Java test baselines and roadmap/behavioral gates, with ongoing hardening focused on release governance and production operations.

Component Status Notes
Architecture ✅ A+ Zero-trust design, excellent
Code Quality ✅ A Modern Java 25, Spring Boot 4
Tests ✅ A Backend suites and Sentinel gates passing
CI/CD ✅ A- Build, roadmap, behavioral, and provenance pipelines active
Security Design ✅ A+ Zero-trust, multi-layer
Network Isolation 🔴 C NetworkPolicies required
Credential Mgmt 🟡 C+ Vault TLS integrated in LGTM; secret lifecycle/runbook hardening pending
Observability ✅ A- LGTM logs/metrics/tracing operational incl. Vault metrics scrape; proof hardening still expanding

⚠️ Remaining production actions:

  1. Enforce required branch checks and release preflight in protected-branch policy
  2. Finalize presigned-secret rotation/runbook rollout
  3. Complete platform-level hardening items in ROADMAP.md
  4. Complete security hardening

📋 See: Production Readiness Roadmap | Roadmap


Quick Start

Prerequisites

  • Docker & Docker Compose
  • Java 25+
  • Maven 3.9+

Run Locally

# First-time full validation (cold-start friendly)
bash scripts/run-all-tests-complete.sh

# Optional: infrastructure-only startup
cd steel-hammer
docker-compose -f docker-compose-steel-hammer.yml up -d --build

Result: End-to-end orchestrator runs Maven suites + infrastructure checks + full E2E + observability proof and writes reports to test-results/.

What Pain IronBucket Solves (Real-World Examples)

IronBucket exists to remove common, expensive storage and access-control pain in teams.

  • "I just need secure file storage, but setting up S3 auth is too complex." IronBucket provides a single path for JWT-based authentication and S3-compatible access.
  • "One customer should never see another customer's files." IronBucket enforces tenant-aware routing and policy checks before object access.
  • "Our audit/compliance review failed because access decisions were not traceable." IronBucket integrates metadata + observability evidence so decisions can be tracked and verified.
  • "Different services implement storage rules differently, and bugs keep recurring." IronBucket centralizes auth, policy evaluation, and routing so teams stop re-implementing security logic.
  • "We need cloud-like object storage on-prem without vendor lock-in." IronBucket runs with MinIO and standard S3 semantics, enabling portable deployments.

In short: IronBucket turns storage access from ad-hoc app logic into a consistent, testable platform control plane.

Features

  • S3-Compatible API - Full AWS S3 compatibility for object storage
  • JWT Authentication - Secure HMAC-SHA256 token validation
  • Multi-Tenant - Policy-based access control per tenant
  • Service Discovery - Eureka-based microservice registration
  • PostgreSQL Metadata - Transactional audit logging
  • MinIO Storage - On-premise S3-compatible storage
  • Containerized - Docker Compose for local & production
  • CI/CD Pipeline - Automated builds, tests, security scans, SLSA provenance
  • Supply-Chain Security - SLSA Build Level 3 compliance

Architecture

Client Request
  ↓
Brazz-Nossel (S3 Proxy) :8082
  ↓ [JWT Required]
Sentinel-Gear (JWT Validator) :8080
  ↓
Claimspindel (Policy Router) :8081
  ↓
MinIO (S3 Storage) :9000
  ↓
PostgreSQL (Metadata)

Discovery: Buzzle-Vane (Eureka) :8083
Identity: Keycloak :7081

Documentation

🔐 Security & Production Readiness (⚠️ START HERE)

Document Purpose Priority
Production Readiness Roadmap Implementation plan & operational hardening roadmap 🔴 CRITICAL
Production Readiness Roadmap Implementation plan & timeline 🔴 CRITICAL
MinIO Isolation Audit Network security analysis 🔴 CRITICAL
K8s NetworkPolicies Network isolation rules 🔴 DEPLOY FIRST
Sentinel-Gear Security Zero-trust validation High

📚 User Guides

Document Purpose
GETTING_STARTED_GUIDE.md Complete setup guide for users
ARCHITECTURE.md System design, service interaction
DEPLOYMENT.md Production deployment guide
TROUBLESHOOTING.md Common issues & solutions
API.md S3 API compatibility

🔧 Developer Guides

Document Purpose
TESTING-QUICK-START.md Comprehensive test execution quick start
CI-CD-PIPELINE.md CI/CD, security scanning, SLSA provenance
CONTRIBUTING.md Developer guidelines
REFACTOR-AND-TEST-PLAN-2026-03-12.md Testing and validation work plan

Test Results

Core module test pathways passing (latest comprehensive run)
Sentinel roadmap and behavioral implementation-gate profiles passing 🟡 Latest full orchestrator (2026-03-14): 194 total, 193 passed, 2 failed

Latest known failing suites:

  • tools/Storage-Conductor build failed in Maven phase
  • Observability_Phase2_Proof failed in observability phase

Validation note:

  • Complete run was executed after deleting generated certificates; cert bootstrap regeneration path worked as expected.

Run Comprehensive Tests

# Run all tests with comprehensive reporting
bash scripts/comprehensive-test-reporter.sh --all

# Run specific test types
bash scripts/comprehensive-test-reporter.sh --backend  # Maven only
bash scripts/comprehensive-test-reporter.sh --e2e      # E2E only
bash scripts/comprehensive-test-reporter.sh --security # Security only

# View results
cat test-results/reports/LATEST-SUMMARY.md

Test Breakdown

Module Tests Status
Brazz-Nossel (S3 Proxy) 47
Sentinel-Gear (JWT Validator) 44
Claimspindel (Policy Router) 72
Buzzle-Vane (Service Discovery) 58
Storage-Conductor 10
Security Validation 4

Release preflight (recommended before tagging):

bash scripts/ci/release-preflight.sh

# Optional: verify main-branch protection required checks
VERIFY_BRANCH_PROTECTION=true GITHUB_REPOSITORY=ZiggiZagga/IronBucket bash scripts/ci/release-preflight.sh

# Optional: include full orchestrator validation
RUN_FULL_ORCHESTRATOR=true bash scripts/ci/release-preflight.sh

# Optional: enforce strict branch-protection verification (requires admin token)
GITHUB_TOKEN=<admin_token> BRANCH_PROTECTION_STRICT=true bash scripts/ci/release-preflight.sh

All preflight test suites run in Docker containers only.

See TESTING-QUICK-START.md for details.

E2E Verification (Production Ready)

From clean Docker environment:

  • ✅ All 9 containers building and running
  • ✅ File upload to MinIO successful (48 bytes)
  • ✅ File retrieval from MinIO successful
  • ✅ JWT authentication enforced (HTTP 401)
  • ✅ Complete S3 API compatibility verified

See E2E-QUICKSTART.md, E2E-OBSERVABILITY-GUIDE.md, and OBSERVABILITY-FEATURESET-STATUS.md for details.

Observability Runtime Status (2026-03-14)

Latest verified proof: test-results/phase2-observability/20260313T222356Z/PHASE2_OBSERVABILITY_PROOF_REPORT.md Latest verified performance proof: test-results/phase2-performance/20260313T222700Z/PHASE2_PERFORMANCE_REPORT.md

Latest complete system validation:

  • test-results/reports/LATEST-REPORT.md

Verified completed:

  • ✅ Logs (Loki): service streams queryable (service_name fallback active)
  • ✅ Metrics (Mimir): service + infra metrics ingested and queryable
  • ✅ Traces (Tempo + OTEL): synthetic OTLP trace accepted and ingestion counters > 0
  • ✅ Runtime wiring: OTEL env wiring validated for sentinel/claimspindel/brazz/buzzle
  • ✅ Vault telemetry: Vault runs with TLS in LGTM compose and metrics are scraped via OTEL collector
  • ✅ Error handling + correlation propagation: Graphite-Forge 404 + GraphQL parse-error checks with X-Correlation-ID propagation

Verified not completed (remaining gaps):

  • ⚠️ Observability_Phase2_Proof currently failing in latest complete run and requires stabilization before next release cut.
  • ⚠️ Cross-service correlation-id search in Loki is not yet a blocking gate assertion (current gate verifies stream presence, not semantic correlation joins).
  • ⚠️ Authenticated error-path proof across JWT-protected service endpoints is not yet automated in Phase-2 proof (current error checks run on Graphite-Forge).
  • ⚠️ Trace-by-id assertion from UI E2E artifact to Tempo query is not yet mandatory in the gate.

Planned next additions are tracked in ROADMAP.md under observability gate hardening.

Reactive migration status:

  • tools/Vault-Smith is migrated to spring-boot-starter-webflux.
  • services/Buzzle-Vane remains on spring-boot-starter-web for Eureka server compatibility and stable discovery behavior.

Continuous performance tracking:

Latest UI evidence artifacts:

  • test-results/ui-e2e-traces/ui-live-upload-persistence.json
  • test-results/ui-e2e-traces/ui-live-upload-proof.png
  • test-results/ui-e2e-traces/ui-s3-methods-e2e.json
  • test-results/ui-e2e-traces/ui-s3-methods-proof.png

Screenshot proofs (live UI E2E):

UI Live Upload Proof

UI S3 Methods Proof

Components

Brazz-Nossel - S3 Proxy Gateway (Port 8082)

  • HTTP proxy for S3-compatible storage
  • Enforces JWT authentication

Sentinel-Gear - JWT Validator (Port 8080)

  • OpenID Connect authentication
  • JWT validation with HMAC-SHA256
  • Token claim extraction

Claimspindel - Policy Router (Port 8081)

  • Policy evaluation based on JWT claims
  • Dynamic routing decisions
  • Multi-tenant support

Buzzle-Vane - Service Discovery (Port 8083)

  • Eureka-based service registration
  • Dynamic service resolution

MinIO - S3-Compatible Storage (Port 9000)

  • Object storage with S3 API
  • Bucket management
  • File persistence

PostgreSQL - Metadata Persistence

  • Audit logging
  • Transaction records
  • Policy metadata

Keycloak - Identity Provider (Port 8080)

  • OIDC authentication
  • User & role management

Status

Production Validation Baseline

Core components, Java suites, and Sentinel roadmap/behavioral gates are green; operational hardening continues per roadmap.

Latest release details: Release Notes v1.2.12

License

Project licensing details are currently documented through repository governance and release policy documents.

Contributing

See CONTRIBUTING.md

About

**IronBucket** is a secure, identity-aware proxy layer that wraps any S3-compatible object store with fine-grained, GitOps-driven access control. It combines modern OAuth2/OIDC authentication, ABAC/RBAC policy enforcement, and Git-style policy versioning to deliver a governance-first experience for object storage.

Resources

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors