Skip to content

inayathulla/cloudrift-ui

Repository files navigation

Cloudrift UI

Security dashboard for Cloudrift — Desktop & Web
Visualize infrastructure drift, policy violations, and compliance posture

Powered by Cloudrift CLI Flutter Docker Hub Documentation License

Cloudrift UI Dashboard


Cloudrift UI is a cross-platform dashboard for the Cloudrift infrastructure governance CLI. It runs two ways:

Mode How it works
Web via Docker One command deploys a full-stack container with Flutter web app, Go API server, nginx, and Terraform
Native Desktop Runs directly on macOS, Linux, or Windows with the Cloudrift CLI binary — no server needed

Both modes share the same codebase, the same 7 screens, and full feature parity.

Documentation

inayathulla.github.io/cloudrift-ui — Getting started, API reference, architecture, development guides, and more.

Features

Feature Description
Real-time Scanning Invoke scans for S3, EC2, IAM (or all at once) with per-service config selection
Drift Visualization Three-column diff viewer: Attribute / Expected (Terraform) / Actual (AWS)
49 OPA Policies Severity filters, framework badges, and remediation guidance
Compliance Frameworks HIPAA, GDPR, ISO 27001, PCI DSS, SOC 2 mapping with per-framework compliance rings
Resource Builder Three modes: Terraform (auto-generate plan.json), Manual (S3/EC2/IAM forms), Upload (drag & drop)
Interactive Dashboard Clickable KPI cards, drift trends, severity breakdown, top failing policies
Scan History Persistent history with trend charts and human-readable durations
Docker / Web One-command Docker deployment with nginx + Go backend + Terraform built in

Screenshots

Scan & History Scan & History
Resource Builder — Terraform, Manual & Upload Resource Builder
Resource Explorer Resources
Policy Dashboard — 49 OPA Policies Policies
Compliance Scoring Compliance
Settings Settings

Quick Start — Docker (Recommended)

# Pull and run
docker run -d -p 8080:80 \
  -v ~/.aws:/root/.aws:ro \
  --name cloudrift-ui \
  inayathulla/cloudrift-ui:latest

# Open in browser
open http://localhost:8080

Or build from source:

docker build -t cloudrift-ui .
docker run -d -p 8080:80 -v ~/.aws:/root/.aws:ro --name cloudrift-ui cloudrift-ui:latest

Note: The -v ~/.aws:/root/.aws:ro mount is required for scans and Terraform to authenticate with AWS.

Quick Start — Desktop

# Prerequisites: Flutter 3.x, Cloudrift CLI, AWS credentials

git clone https://github.com/inayathulla/cloudrift-ui.git
cd cloudrift-ui
flutter pub get
flutter run -d macos    # or -d linux / -d windows

The desktop app auto-detects the Cloudrift CLI binary from common paths or system PATH. Override in Settings.

Architecture

                         Cloudrift UI
    ┌────────────────────────────────────────────────────┐
    │              Flutter (Desktop + Web)                │
    │                                                    │
    │   Dashboard / Scan / Builder / Resources /         │
    │   Policies / Compliance / Settings                 │
    │                       |                            │
    │              Riverpod Providers                    │
    │                       |                            │
    │              CLI Datasource (kIsWeb?)               │
    └──────────┬────────────────────────┬────────────────┘
               |                        |
       Desktop Mode               Web / Docker Mode
               |                        |
      Process.run() on             HTTP to Go API
      Cloudrift binary             server (:8081)
                                        |
                                   nginx (:80)
                                   reverse proxy
Layer Technology
Frontend Flutter 3.x, Riverpod, GoRouter, fl_chart
Backend Go net/http server (web mode only)
Storage Hive (scan history, settings)
Container Docker multi-stage build, nginx, supervisord

See the Architecture docs for data flow, state management, and deployment details.

Development

flutter pub get                    # Install dependencies
flutter run -d macos               # Run desktop app
flutter run -d chrome              # Run web app
flutter analyze                    # Static analysis (must pass clean)
flutter test                       # Run tests
# Go API server (for web mode)
cd server && go build -o cloudrift-api main.go
API_PORT=8081 ./cloudrift-api

See the Development docs for project structure, adding screens, and testing.

Related Projects

Project Description
Cloudrift CLI Go CLI for infrastructure drift detection and OPA policy evaluation

Contributing

git clone https://github.com/inayathulla/cloudrift-ui.git
cd cloudrift-ui
flutter pub get
flutter test && flutter analyze

See the Contributing guide for details.

Connect

License

Apache License 2.0