infrascope
open-source infrastructure insights & management platform.
infrascope provides secure, scalable infrastructure management with multi-tenancy, identity management, and compliance checking.
features
- multi-tenancy - organisation-based isolation for teams
- identity management - oidc integration, service accounts, rbac (planned)
- host agents - rust-based agents for infrastructure discovery (planned)
- compliance - policy checking and enforcement (planned)
- api-first - grpc + http/rest via grpc-gateway
quick start
prerequisites
- mise - for managing toolchain dependencies
- docker + docker-compose (for running postgres)
setup
# clone and install dependencies
git clone https://github.com/roostmoe/infrascope.git
cd infrascope
mise trust && mise install
just deps
# run tests
just test
# build everything
just build
run locally
# start postgres
docker-compose up -d postgres
# run server with dev config
just server dev
the server will be available at:
- http:
http://localhost:4000
- grpc:
localhost:5000
documentation
full documentation is in the docs/ directory:
api overview
admin/v1
organisation management (crud):
# create organisation
curl -X POST http://localhost:4000/v1/orgs \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"organisation": {"slug": "acme", "display_name": "Acme Corp"}}'
# list organisations
curl http://localhost:4000/v1/orgs?page_size=20 \
-H "Authorization: Bearer <token>"
see full api docs for all endpoints.
project structure
infrascope/
├── cmd/ # go binary entry points
├── pkg/ # go packages (shared server code)
├── internal/ # go internal packages
├── agent/ # rust host agent
├── ui/ # react frontend (vite + typescript)
├── proto/ # protobuf api definitions
├── deploy/ # docker, helm, packages
└── tools/ # build tooling
development
see CONTRIBUTING.md for:
- development workflow
- code standards (go, rust, typescript)
- testing guidelines
- commit conventions
common tasks
# build all components
just build
# run tests
just test
# run linters
just lint
# generate protobuf code
just proto
# run server in dev mode
just server dev
modules
infrascope is built as modular services:
- server - http/grpc foundation
- admin - administrative operations ✅
- iam - identity and access management (planned)
- agents - agent lifecycle management (planned)
- hosts - host inventory (planned)
- compliance - policy checking (planned)
run specific modules:
./infrascope -target=server,admin
configuration
via config file:
target: all
auth_enabled: false
server:
http_listen_port: 4000
grpc_listen_port: 5000
log_level: info
admin:
token: your-secret-token
or via cli flags:
./infrascope \
-server.http-listen-port=4000 \
-server.grpc-listen-port=5000 \
-admin.token=your-secret-token
see configuration reference for all options.
licence
apache-2.0