Commit graph

10 commits

Author SHA1 Message Date
11ceb187b6 fix(service): add service vs interactive detection to start.sh
- Fix hanging rcctl/systemd service starts
- Background mode (&) when no TTY (service context)
- Foreground mode (exec) for interactive usage
- POSIX-compatible detection via [ ! -t 0 ]

Fixes service timeout issues on OpenBSD rcctl and Linux systemd.
Tested on werner - service starts correctly and survives reboots.

Fixes DAW/furt#99
2025-09-02 18:35:00 +02:00
9b19b6a95b fix(scripts): resolve lua51 detection failure and remove obsolete environment system
- Fix variable inconsistency: LUA_CMD -> LUA_COMMAND throughout script
- Remove obsolete .env/environment loading - furt reads furt.conf directly
- Add config check for furt.conf (system or project location)
- Implement robust lua51 detection with fallback to lua5.1
- Support all target distributions: Arch, OpenBSD, Debian, FreeBSD
- Add clear installation instructions for missing dependencies
- Allow custom lua path via LUA_COMMAND variable override

This resolves the lua51 detection regression and simplifies the boot process
by eliminating dual config systems (environment vs furt.conf).

Fixes DAW/furt#91
2025-08-29 22:01:38 +02:00
be3b9614d0 refactor: clean repository structure for v0.1.0 open source release
- Remove Go artifacts (cmd/, internal/, pkg/, go.mod)
- Move furt-lua/* content to repository root
- Restructure as clean src/, config/, scripts/, tests/ layout
- Rewrite README.md as practical tool documentation
- Remove timeline references and marketing language
- Clean .gitignore from Go-era artifacts
- Update config/server.lua with example.org defaults
- Add .env.production to .gitignore for security

Repository now ready for open source distribution with minimal,
focused structure and generic configuration templates.
close issue DAW/furt#86
2025-08-14 09:36:55 +02:00
9ea0cb43e4 fix(deploy): prevent environment config overwrite and fix SMTP_HOST variable
- Fix create_environment_file() to preserve existing production config
- Change SMTP_SERVER to SMTP_HOST for consistency with other configs
- Add config existence check before creating new environment file
- Preserve permissions on existing config files
- Prevent accidental production config loss on redeployment

Fixes #50
2025-06-24 11:04:19 +02:00
0abc9791d3 fix(deployment): resolve OpenBSD rc.d service tracking and deployment workflow
- Fix OpenBSD service file pexp pattern to match actual running process
- Set pexp after sourcing rc.subr to prevent automatic override
- Update deployment script process detection from broken furt-lua pattern
- Add TTY-based daemon detection in start.sh for service vs development mode
- Implement comprehensive deployment workflow with backup and health checks
- Enable proper rcctl start/stop/check functionality on OpenBSD

Root cause: OpenBSD rc.subr automatically generates pexp from daemon+flags,
but actual process (/usr/local/bin/lua src/main.lua) differs from wrapper
(start.sh). Solution: Override pexp after rc.subr with correct Lua pattern.

Deployment script also had incorrect process detection pattern looking for
'furt-lua' string that doesn't exist in process name.

Technical details:
- Service file: pexp="/usr/local/bin/lua src/main.lua.*" after rc.subr
- Process detection: pgrep -u _furt -f 'src/main.lua'
- TTY detection: [ ! -t 0 ] for daemon vs interactive mode
- Complete deployment workflow with stop/sync/start/health-check cycle

Fixes #77 - OpenBSD rc.d service file problem resolved
Related: Deployment automation now fully functional karl→walter
2025-06-23 19:44:21 +02:00
c22b3aa691 feat(deployment): implement comprehensive karl→walter deployment script
- Add automated rsync-based file synchronization with _furt user permissions
- Implement OpenBSD rcctl service management with backup/rollback functionality
- Add port availability checks and health validation after deployment
- Include comprehensive error handling and status reporting
- Support dry-run mode for safe deployment testing
- Provide automatic service file generation with correct paths

Features:
- SSH-based secure transfer with permission preservation
- Pre-deployment backup with configurable retention (3 backups)
- Intelligent service stop/start handling for OpenBSD rcctl
- Health check validation via HTTP endpoint
- Colored output and structured logging for better UX
- Support for --dry-run, --rollback, and --force modes

Successfully deploys furt-lua from development (karl) to staging (walter).
Manual service management required due to OpenBSD rc.d pexp pattern issues.

Closes #76 (deployment automation)
Related: Service file pexp pattern matching requires follow-up investigation

Files:
- scripts/deploy/deploy_walter.sh (new)
2025-06-23 11:57:42 +02:00
78b70cf06b archive: move all generation-1 scripts to archive
- create_issue.sh: 800+ lines monster (functional but unmaintainable)
- update_script_labels.sh: 15KB auto-update system (too complex)
- get_issues.sh: 7KB grown over time (needs simplification)
- update_issue.sh: 5KB functional (part of old system)

Preparing clean slate for low-tech generation-2 system
2025-06-04 18:29:48 +02:00
b5eb30caa0 feat: functional monster script (anti-pattern warning) 2025-06-04 18:27:00 +02:00
56ed910884 feat(scripts): implement self-healing label system with auto-creation
- Fix HTTP 422 errors by using label IDs instead of names
- Add silent label creation to prevent stdout pollution in JSON building
- Implement smart auto-creation of unknown labels (service-*, priority-*, etc.)
- Add safe array handling to prevent bash associative array errors
- Create tracking system for new labels (NEW_LABELS_CREATED array)

 Fixed: Label creation, issue creation, unknown label handling
 TODO: Auto-update script synchronization when new labels created

Status: Issue creation works perfectly, auto-update integration pending
2025-06-04 08:39:42 +02:00
d6d546bd95 docs(core): comprehensive development documentation and issue management system
- Complete project documentation for API gateway development
- API gateway-specific development processes and standards
- Comprehensive issue management system with script automation
- Go-specific testing guidelines for multi-service architecture

New Documentation:
- devdocs/KONZEPT.md: project philosophy, architecture, service integration patterns
- devdocs/TESTING_GUIDELINES.md: Go testing, API tests, gateway-service integration
- devdocs/development-process.md: API gateway development, multi-service coordination
- devdocs/furt-issue-management-guide.md: Furt-specific issue management workflows

Issue Management System:
- scripts/create_issue.sh: 8 preconfigured templates for API gateway development
- Furt-specific issue types: service-request, architecture, performance, security
- Script-based workflows for efficient development
- Integration with existing get_issues.sh and update_issue.sh scripts

API Gateway Development Standards:
- Service integration patterns for gateway ↔ service communication
- API-contract-first development with OpenAPI specifications
- Security-first patterns for authentication and input validation
- Multi-service testing strategies for coordinated development

This documentation enables immediate, efficient API gateway development
with clear standards, proven patterns, and automated workflows.
2025-06-03 18:45:55 +02:00