Implement API file versioning system for deployment tracking #83
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
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: DAW/furt#83
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?
Problem
Currently difficult to track which API version is running where:
Requirements
Proposed Implementation
1. Version Detection (version.lua)
2. Enhanced /health endpoint
3. Version check script
Use Cases
Implementation Priority
Medium - Helpful for upcoming walter deployment and production rollout.
Files to modify
SCOPE-ÄNDERUNG - Teil der Deployment-Modernisierung
API-Versioning ist eng verknüpft mit DAW/furt#87 (Deployment-System-Redesign):
Integration in DAW/furt#87: Versioning-Komponente des neuen Deployment-Systems
SCOPE REDUZIERT - Minimal Versioning
Einfaches datei-basiertes Versioning:
Removed from scope:
Simple implementation: File lesen → API response
Ready for implementation
✅ Issue completed
VERSION-based system implemented:
Tested: curl localhost:8080/health returns version 0.1.1
VCS-Universal Versioning System - Complete Solution
SCOPE EVOLUTION: Von simple file-based zu universal content-hash + distributed mapping
Problem Analysis
Aktuelle file-based Lösung nicht praxistauglich bei:
Multi-Branch Development
VCS Migration Scenarios
Open Source Development
Deployment Heterogenität
Solution: Content-Hash + Distributed Version-Mapping
1. VCS-Agnostic Content Hashing
File:
scripts/calculate_content_hash.shEigenschaften:
2. Universal VCS Detection System
File:
scripts/vcs_utils.sh3. Distributed Version-Mapping Database
File:
.version_history(committed, für alle Entwickler verfügbar)Properties:
4. Universal Post-Commit Hook System
File:
scripts/install_hooks.shFile:
scripts/universal_post_commit.sh5. Runtime Version Detection
File:
src/version.lua(updated)API Response Examples
Development (Git):
Production (tar.gz):
Mercury Development:
Debugging Workflow for Open Source
User reports: "Bug in version 0.1.1+a7f3d2e1"
Any developer can trace:
Works across VCS migrations:
Implementation Priority & Phases
Phase 1: Content-Hash Foundation (Immediate)
Phase 2: VCS-Universal Detection (Week 2)
Phase 3: Automated Hooks (Week 3)
Phase 4: Full Integration (Week 4)
Benefits of This Solution
Status: Complete solution designed - ready for phased implementation
Files to create:
Integration points:
✅ Issue #83 RESOLVED: VERSION → merkwerk Migration Complete
Migration Summary
Successfully migrated furt health endpoint from static VERSION file reading to dynamic merkwerk integration.
Implementation Details
read_version()→get_version_info()with merkwerk APIversionfield for existing clientsNew Health Endpoint Response
Benefits Achieved
merkwerk_integratedflag for clientsTesting Completed
Status: Production-ready 🚀