Gateway: Service Discovery & Registration System #118
Labels
No labels
apache
api
api-contract
api-gateway
authentication
automation
breaking-change
comments
component/deployment
component/documentation
component/service-management
configuration
contact-form
coordination/cross-repo
coordination/needed
core
deployment
development
development-ready
digital-sovereignty
distribution
effort
large
effort
medium
effort
small
enhancement
frontend
furt-service
furt/gateway
furt/installation
gateway
gateway-integration
generator
gitea-testing
health-check
help-wanted
hugo
hugo-integration
infrastructure
installation
logging
low-tech
mail
meta
meta/duplicate
meta/planning
meta/wontfix
monitoring
observability
openapi
organization
packaging
performance
planning
platform/linux
priority
high
priority
low
priority
medium
production
question
sagjan
security
service
service-analytics
service-development
service-formular2mail
service-newsletter
service-request
service-sagjan
session
blocker
session
handover
session
next
shortcode
specs
ssl
status
blocked
status
done
status
in-progress
status
review
status
to-go
systemd
testing
tooling
type
admin
type
bug
type
config
type
deployment
type
docs
type
enhancement
type
feature
type
handover
type
infrastructure
type
installation
type
maintenance
type
migration
type/refactor
type
research
type
security
type/testing
v0.1.0
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: DAW/furt#118
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Overview
Implement service discovery and registration system in furt to support microservice architecture with automatic health monitoring and route management.
Problem
Currently furt only supports static routes defined in furt.conf. Services like sagjan, obr, etc. need dynamic registration with their own configs and automatic health monitoring.
Requirements
1. Service Registration Endpoint
2. Service Registry Storage
3. Health-Check System
Health-Check Loop (background thread/coroutine)
Auto-Deregistration
Auto-Recovery
4. Route Proxying
Pattern Matching for wildcard routes
/api/comments/*matches/api/comments/test-post/api/comments/*/replymatches/api/comments/abc123/replyRequest Forwarding
Response Handling
5. Enhanced /health Endpoint
Extend furt's /health to include service status:
6. Configuration
Add to furt.conf:
Implementation Notes
Security
Crash Recovery
Monitoring
Files to Create/Modify
New Files
src/service_registry.lua- Service registration logicsrc/health_monitor.lua- Background health checkingsrc/route_proxy.lua- Request proxying to servicessrc/routes/internal.lua- Internal endpoints (/internal/register-service)Modified Files
src/http_server.lua- Add pattern matching for wildcard routessrc/routes/health.lua- Include service statusconfig/furt.conf.example- Add gateway configuration sectionTesting Requirements
Unit Tests
Integration Tests
Acceptance Criteria
Priority
High - Required for sagjan integration and future microservice architecture
Effort
Large - Core infrastructure change affecting routing, health monitoring, and request handling
Related Issues