/home/techb158/trellopowerup.abdallabala.com/docs
Edit: /home/techb158/trellopowerup.abdallabala.com/docs/25-final-deployment-runbook.md (3214B)
# Final Deployment Runbook
This runbook explains how to install, run, test, and package the COSMIC AI-Risk Dashboard.
## 1. Prerequisites
Install:
1. Node.js 18 or later.
2. npm.
3. Optional: Docker and Docker Compose.
4. Optional for production: Nginx and systemd.
## 2. Local setup
```bash
unzip cosmic-ai-risk-dashboard-step-10-final-submission.zip
cd cosmic-ai-risk-dashboard
npm install
npm test
npm start
```
Open:
```text
http://localhost:8090
```
## 3. Environment configuration
Copy:
```bash
cp .env.example .env
```
Recommended local values:
```env
NODE_ENV=development
PORT=8090
COSMIC_LIVE_PM_ENABLED=false
COSMIC_TOKEN_ENCRYPTION_KEY=replace-with-local-dev-secret
```
## 4. Production configuration check
Before production deployment, run:
```bash
npm run check:config
```
The check should warn about missing production secrets, CORS settings, live connector flags, and security settings.
## 5. Run in production mode
```bash
npm run start:prod
```
## 6. Docker deployment
```bash
docker compose up --build -d
```
Check:
```bash
curl http://localhost:8090/api/health
curl http://localhost:8090/api/ready
```
## 7. Nginx reverse proxy
Use:
```text
deploy/nginx.conf
```
The production target should terminate HTTPS at Nginx and proxy requests to the Node.js application.
## 8. systemd service
Use:
```text
deploy/cosmic-ai-risk-dashboard.service
```
Suggested commands:
```bash
sudo cp deploy/cosmic-ai-risk-dashboard.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable cosmic-ai-risk-dashboard
sudo systemctl start cosmic-ai-risk-dashboard
```
## 9. Backup
Create a backup:
```bash
npm run backup
```
List backups through the API:
```bash
curl http://localhost:8090/api/operations/backups
```
## 10. Health checks
| Endpoint | Purpose |
|---|---|
| `/api/health` | Basic service health |
| `/api/ready` | Runtime readiness |
| `/api/operations/security` | Safe security status |
| `/api/operations/backups` | Backup listing |
## 11. OAuth and live PM connectors
Live calls are disabled by default. To enable:
```env
COSMIC_LIVE_PM_ENABLED=true
COSMIC_TOKEN_ENCRYPTION_KEY=replace-with-long-random-secret
```
Then configure provider variables for Trello, Jira, Asana, and Microsoft Planner in `.env`.
Do not commit `.env` to source control.
## 12. Submission packaging
To create a clean package:
```bash
cd ..
zip -r cosmic-ai-risk-dashboard-step-10-final-submission.zip cosmic-ai-risk-dashboard
```
## 13. Instructor demo sequence
1. Run `npm test`.
2. Run `npm start`.
3. Open the dashboard.
4. Show design files.
5. Demonstrate risk CRUD.
6. Demonstrate mitigation workflow.
7. Demonstrate deployment gate.
8. Demonstrate PM integrations.
9. Demonstrate reports.
10. Demonstrate access control.
11. Show production files.
## 14. Recovery
If the JSON database is damaged, restore a backup from the backup directory or replace `data/database.json` with a known valid copy.
## 15. Production limitation
For a real production system, replace JSON storage with PostgreSQL or another managed database. JSON storage is acceptable for the academic prototype stage but not recommended for concurrent multi-user production use.