sails-hook-slipway
v0.0.3
Published
Auto-instrumentation hook for Sails.js apps deployed on Slipway. Sends request traces, exceptions, and database query metrics to your Slipway Lookout dashboard.
Maintainers
Readme
sails-hook-slipway
The Sails hook that makes your app Slipway-aware
What It Does
This hook transforms any Sails app into a fully-managed application with:
- The Bridge - Auto-generated CRUD for all your models (ship's command center)
- The Helm - Production REPL with full Sails context (where you steer your app)
- Quest Dashboard - Job queue management (if sails-quest installed)
- Content CMS - Visual content editor (if sails-content installed)
- Telemetry - OpenTelemetry instrumentation sent to Slipway
Routes
| Route | Feature | Condition |
|-------|---------|-----------|
| /slipway | Control panel dashboard | Always |
| /slipway/bridge | The Bridge (data management) | Always |
| /slipway/helm | The Helm (REPL) | Always |
| /slipway/quest | Job queue dashboard | If sails-quest detected |
| /slipway/content | CMS interface | If sails-content detected |
Two Access Methods
1. Direct (via app URL)
myapp.example.com/slipway/bridge
myapp.example.com/slipway/helmUsers go directly to your app's Bridge or Helm.
2. Via Slipway Dashboard (centralized)
slipway.yourdomain.com/app/myapp/bridge
slipway.yourdomain.com/app/myapp/helmThe Slipway Dashboard proxies requests, providing single sign-on across all apps.
Installation
npm install sails-hook-slipwayThe hook auto-registers with Sails.
Configuration
// config/slipway.js
module.exports.slipway = {
bridge: {
enabled: true,
path: '/slipway/bridge'
},
helm: {
enabled: true,
path: '/slipway/helm',
readOnly: false // Set true in production
},
quest: {
enabled: true // Auto-disabled if sails-quest not installed
},
content: {
enabled: true // Auto-disabled if sails-content not installed
},
telemetry: {
enabled: true,
endpoint: process.env.SLIPWAY_TELEMETRY_URL
}
}Permissions (Sails Clearance)
The hook integrates with Sails Clearance for fine-grained access control:
{
'bridge:read': ['admin', 'support'],
'bridge:write': ['admin'],
'helm:access': ['admin', 'developer'],
'quest:retry': ['admin', 'developer'],
'content:publish': ['admin', 'editor']
}Dev Mode
When you run slipway dev, this hook provides the full experience locally:
slipway dev
App: http://localhost:1337
Bridge: http://localhost:1337/slipway/bridge
Helm: http://localhost:1337/slipway/helmPart of the Slipway Suite
- Slipway Dashboard - Can proxy to this hook's routes
- slipway CLI -
slipway helmconnects to this hook
Where your apps slide into production.
