wanderland-deployment-2025-12-22
Wanderland Deployment 2025-12-22
Date: December 22, 2025
Environment: devl β preprod β prod
Status: Complete β
Overview
Major fence API release enabling external developer platform integration. This deployment brings the unified addressing system, path-based fence execution, and middleware improvements we've been testing with the goose workflows.
Components:
| Service | Image | Port |
|---|---|---|
| Stuffy (Nightingale) | devops/stuffy |
8080 |
| Oculus API | devops/oculus-api |
7778 |
URLs (devl):
- Nightingale: https://nightingale.dev.int.proquest.com
- Lantern (Oculus API): https://lantern.dev.int.proquest.com
Changes in This Release
π― Fence API (External Integration Ready)
The big headline - fence execution via clean REST API:
- Path-based virtual fence execute:
POST /api/oculus/virtual-fences/{slug}/execute- Supports path addressing:Section-Name.todo,my-section.table - Ready to wire up to existing developer platforms
π§ Oculus API Core
| Change | Description |
|---|---|
| Unified Addressing | poke('slug:path', value) and peek('slug:path') |
| Path Parser Fix | Peek now routes through proper grammar (fixes goose-pong) |
| Middleware Split | TableExtractor β JMESTransform + MarkdownFormatter |
| Provider Fix | can_execute() accepts both parsed name and full fence string |
| Middleware Pipeline | Fence execution now applies middleware properly |
πͺΏ Goose-Tested Features
Features validated through goose exploration workflows:
- Floating labels for virtual fences (
<!-- [label-name] -->) - Hierarchical peek with slugified path segments
- Fuzzy fence matching with patterns (
^prefix,suffix$,node.fence) - Table virtual fence CRUD operations
π Other Improvements
- AST converter handles
html_blockandhtml_inlinetokens - CLI peek defaults to
sproutlevel (parsed data, not executed) - Strip
updated_tokensfrom virtual fence action responses
Commit Summary
Wanderland (oculus-api)
| Hash | Description |
|---|---|
9a3715b |
feat(api): Add path-based virtual fence execute endpoint |
dc4c6ea |
fix(oculus): Route peek through path_parser (goose-pong fix) |
d2b9c3c |
feat(middleware): Split TableExtractor into JMESTransform + MarkdownFormatter |
3e27b0b |
feat(oculus): Unified addressing, hierarchical peek, CLI enhancements |
e10f787 |
fix(providers): Accept both parsed provider name and full fence string |
2e3f9c0 |
fix(compose): Apply middleware pipeline to fence execution |
Nightingale (stuffy)
| Hash | Description |
|---|---|
8161fcc |
Merge remote-tracking branch 'upstream/main' |
Pre-Flight Checklist
- Wanderland repo committed and pushed to GitLab
- Nightingale repo merged from upstream and pushed to GitHub
- Jenkins build triggered
- Images built and pushed to ECR
- Services deployed
- Health checks passing
- Fence API verified
- Redeploy with fence route ordering fix (af2de77)
Deployment Stages
Stage 1: Image Build
Status: Pending β³
Pipeline: pqis-devops-wanderland-devl-main-pipeline
Build: TBD- Stuffy Docker image built (ARM64)
- Oculus API Docker image built (ARM64)
- Images pushed to ECR
Stage 2: Service Deployment
Status: Pending β³
- Stuffy ECS task updated
- Stuffy ECS service deployed
- Oculus API ECS task updated
- Oculus API ECS service deployed
Stage 3: Validation
Status: Pending β³
- Stuffy health check passing (
/api/health) - Oculus API health check passing (
/health) - Target groups healthy
- Fence execute endpoint verified
- Goose workflow tested
Execution Log
2025-12-22 13:35 UTC
- Jenkins build #75 completed (deployment succeeded, VerifyDns failed - known issue)
- Images pushed:
devops/oculus-api:2025.12.59 - ECS services deployed and healthy
- Health checks: Stuffy 200, Lantern 200
- Fence API endpoints verified in OpenAPI spec
- Awaiting nodes deployment to sync announcement to ECS
2025-12-22 ~current
- Reviewing commits since last deployment
- Creating deployment tracking node
- Preparing changelog for announcement
Verification Commands
# Check ECS service status
aws ecs describe-services --cluster devops-utilities-arm64 \
--services wanderland-stuffy-devl wanderland-oculus-api-devl
# Test fence execute endpoint
curl -X POST https://lantern.dev.int.proquest.com/api/oculus/virtual-fences/my-node/execute \
-H "Content-Type: application/json" \
-d '{"path": "Tasks.todo", "action": "add", "params": {"content": "Test task"}}'
# Force new deployment if needed
aws ecs update-service --cluster devops-utilities-arm64 \
--service wanderland-stuffy-devl --force-new-deploymentRelated
- Platform Architecture: [[wanderland-ecs-deployment]]
- Previous Deployment: [[wanderland-deployment-2025-12-17]]
- Pipeline Config:
devops-nightinggale/jenkins/deploy.yml
Tags
tags:
- deployment
- wanderland
- ecs
- devl
- 2025-12
- fence-apiNorth
slots:
- context:
- Linking deployment to parent ECS deployment architecture node
slug: wanderland-ecs-deployment
West
slots:
- context:
- Linking to previous deployment chronologically
slug: wanderland-deployment-2025-12-17
South
slots:
- context:
- Linking announcement to deployment tracking node
slug: wanderland-wonders-2025-12-22
β northwanderland-ecs-deployment
β southwanderland-wonders-2025-12-22
β westwanderland-deployment-2025-12-17