176 lines
3.0 KiB
Markdown
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
|