chore: sync submodule state (parent ref update)
Made-with: Cursor
This commit is contained in:
175
SOLACENET_SETUP_GUIDE.md
Normal file
175
SOLACENET_SETUP_GUIDE.md
Normal file
@@ -0,0 +1,175 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user