Files
dbis_core/SOLACENET_SETUP_GUIDE.md
2026-03-02 12:14:07 -08:00

176 lines
3.0 KiB
Markdown

# SolaceNet Setup Guide
Complete setup instructions for the SolaceNet Capability Platform.
## Prerequisites
- Node.js 18+
- PostgreSQL 14+
- Redis 7+
- Go 1.21+ (for gateway)
- Docker & Docker Compose (optional)
## Database Setup
1. **Run Prisma migrations:**
```bash
cd dbis_core
npx prisma generate
npx prisma migrate dev --name add_solacenet_models
```
2. **Verify schema:**
```bash
npx prisma studio
```
## Environment Configuration
Create/update `.env` file:
```env
# Database
DATABASE_URL=postgresql://user:password@localhost:5432/dbis
# Redis (for policy caching)
REDIS_URL=redis://localhost:6379
SOLACENET_REDIS_URL=redis://localhost:6379
# Kafka (for events)
KAFKA_BROKERS=localhost:9092
SOLACENET_KAFKA_BROKERS=localhost:9092
# Gateway
SOLACENET_GATEWAY_PORT=8080
POLICY_ENGINE_URL=http://localhost:3000
BACKEND_URL=http://localhost:3000
JWT_SECRET=your-secret-key
# API
PORT=3000
NODE_ENV=development
```
## Start Services
### Option 1: Docker Compose (Recommended)
```bash
docker-compose -f docker-compose.solacenet.yml up -d
```
### Option 2: Manual Start
1. **Start Redis:**
```bash
redis-server
```
2. **Start DBIS API:**
```bash
cd dbis_core
npm install
npm run dev
```
3. **Start Go Gateway:**
```bash
cd gateway/go
go mod tidy
go run main.go
```
4. **Start Operations Console:**
```bash
cd frontend/solacenet-console
npm install
npm start
```
## Seed Initial Data
Create a seed script to populate initial capabilities:
```typescript
// scripts/seed-solacenet.ts
import { capabilityRegistryService } from './src/core/solacenet/registry/capability-registry.service';
async function seed() {
// Register core capabilities
await capabilityRegistryService.createCapability({
capabilityId: 'payment-gateway',
name: 'Payment Gateway',
version: '1.0.0',
description: 'Payment processing gateway',
defaultState: 'disabled',
});
await capabilityRegistryService.createCapability({
capabilityId: 'wallet-accounts',
name: 'Wallet Accounts',
version: '1.0.0',
description: 'Stored value wallet accounts',
defaultState: 'disabled',
});
// Add more capabilities...
}
seed();
```
Run with:
```bash
npx ts-node scripts/seed-solacenet.ts
```
## Verify Installation
1. **Check API health:**
```bash
curl http://localhost:3000/health
```
2. **List capabilities:**
```bash
curl -H "Authorization: Bearer YOUR_TOKEN" \
http://localhost:3000/api/v1/solacenet/capabilities
```
3. **Check gateway:**
```bash
curl http://localhost:8080/health
```
## Testing
Run tests:
```bash
npm test
```
## Troubleshooting
### Redis Connection Issues
- Verify Redis is running: `redis-cli ping`
- Check `REDIS_URL` in `.env`
### Database Migration Errors
- Ensure PostgreSQL is running
- Check `DATABASE_URL` format
- Run `npx prisma migrate reset` if needed
### Gateway Not Starting
- Verify Go 1.21+ is installed: `go version`
- Run `go mod tidy` in `gateway/go`
- Check port 8080 is available
## Next Steps
1. Configure entitlements for your tenants
2. Set up policy rules
3. Enable capabilities as needed
4. Monitor audit logs