Commit Graph

167 Commits

Author SHA1 Message Date
5b2069c560 ... 2025-11-30 08:59:38 +01:00
Mahmoud-Emad
dcd5af4d5f feat: Add reset functionality to startup commands
- Add `reset` boolean parameter to `StartArgs` struct
- Pass `reset` parameter to `startupcmd` calls
- Update service creation logic to handle `reset` flag
- Modify `install_start` and `restart` to pass `reset` parameter
2025-11-23 11:01:47 +02:00
Mahmoud-Emad
8daca7328d refactor: Improve service startup and management logic
- Add `create: true` to service `get` calls
- Update `running_check` to use `curl` for HTTP status code
- Ensure redis addresses have `redis://` prefix
- Clean up and re-create zinit services before starting
- Remove redundant `service_monitor` call in `startupmanager.start`
2025-11-19 17:08:49 +02:00
Mahmoud-Emad
012a59b3d8 Merge branch 'development_nile_installers' into development_fix_zinit 2025-11-19 16:04:30 +02:00
Timur Gordon
fcb178156b rename some installers, fix installer service startup w/ zinit 2025-11-19 11:42:55 +01:00
Mahmoud-Emad
f9a2ebf24b chore: Refactor coordinator configuration and status reporting
- Update default coordinator name to 'coordinator'
- Improve status reporting by using dedicated variables
- Adjust `zinit.get` call to use `create: true`
- Set `zinit_default` based on `args.name` when 'default' is provided
- Update `coordinatorServer.name` default to 'coordinator'
- Make 'coordinator' the default for `ArgsGet.name`
- Use `coordinator_default` for `ArgsGet.name` if set
- Adjust `CoordinatorServer.binary_path` default
- Update `zinit.get` to use `create: true`
- Log socket closure for debugging
- Remove unused import `incubaid.herolib.core.texttools`
2025-11-18 11:50:52 +02:00
Timur Gordon
bf6dec48f1 add other horus installers, create examples, test startup 2025-11-17 15:57:40 +01:00
7143b465ad Merge branch 'development' into development_buildfix
* development: (21 commits)
  ...
  chore: Add FsListArg struct and update imports
  refactor: Rename module and import path
  refactor: Use snake_case for object names and constants
  fix: fix conflicts
  refactor: Improve struct decoding and skip logic
  ..
  ...
  ...
  ...
  ...
  feat: Enhance params parsing and encoding
  ...
  test: Add tests for struct encoding and decoding
  feat: improve build and serialization logic
  refactor: Improve code structure and logging
  feat: Improve herolib installation logic in CI
  refactor: Improve herolib installation script
  fix: Rename freeflowuniverse to incubaid
  added fedora for the package install during hero execution
  ...

# Conflicts:
#	install_herolib.vsh
2025-10-13 05:53:42 +04:00
Omdanii
80206c942d Merge pull request #177 from Incubaid/development_clean_herolib
fix: Rename freeflowuniverse to incubaid
2025-10-12 12:54:36 +03:00
Mahmoud-Emad
8f2d187b17 fix: Rename freeflowuniverse to incubaid 2025-10-12 12:30:19 +03:00
weynandkuijpers
87a0526922 added fedora for the package install during hero execution 2025-10-10 12:19:29 +04:00
Scott Yeager
eff373fb71 Don't use sudo when already root for file removal 2025-10-09 13:23:55 -07:00
aec8908205 ... 2025-09-24 21:06:37 +04:00
Mahmoud-Emad
2f2edc86ad fix: improve SSH agent data collection completeness
- Remove process limit for orphaned agent cleanup
- Increase socket check limit for agent PID validation
- Remove key limit from `ssh-add` output
- Add `sshagent_test.v` to project structure
2025-09-14 15:37:14 +03:00
Mahmoud-Emad
42cf8949f7 perf: Limit command output in SSH agent functions
- Limit `pgrep` output in agent cleanup
- Limit `find` output for socket validation
- Limit `ssh-add` output for key initialization
2025-09-14 15:26:55 +03:00
Mahmoud-Emad
201d922fd2 test: activate package management test
- Enable platform detection in test
- Verify Homebrew installation on macOS
- Test `wget` installation and removal
2025-09-14 14:26:04 +03:00
Mahmoud-Emad
9cc411eb4a Test the workflow 2025-09-08 17:30:54 +03:00
Mahmoud-Emad
a74129ff90 refactor: Migrate container management to heropods module
- Remove `herorun` module and related scripts
- Introduce `heropods` module for container management
- Enhance `tmux` module with pane clearing and creation
- Update `Container` methods to use `osal.Command` result
- Improve `ContainerFactory` for image & container handling
2025-09-07 15:56:59 +03:00
b1bc3e1dc4 ... 2025-09-07 13:14:50 +04:00
36b4d04288 ... 2025-09-07 12:57:32 +04:00
7f52368a2d ... 2025-09-07 11:43:22 +04:00
66dbcae195 ... 2025-09-07 06:40:45 +00:00
9f424d9d33 ... 2025-09-07 07:59:58 +04:00
Mahmoud-Emad
8d03eb822d feat: add HeroRun remote container management library
- Introduce Executor for remote container orchestration
- Add Container lifecycle management with tmux
- Support Alpine and Alpine Python base images
- Auto-install core dependencies on remote node
- Include full usage examples and updated README
2025-09-03 18:32:47 +03:00
Mahmoud-Emad
dd400ba6fa style: improve code formatting; refactor module imports
- Apply consistent alignment for struct fields and parameters
- Standardize string literal delimiters to single quotes
- Refactor module import strategy in `models` package
- Enhance asset formatting for precise decimal display
- Remove unused imports and redundant `+}` syntax artifacts
2025-09-03 11:36:02 +03:00
Mahmoud-Emad
08bcd3bc56 fix: Fix SSH result for exit code 1 and refactor ping
- Alias `herolib.core` import to `herolib_core`
- Use `herolib_core.platform()` for clarity
- Store `res.output` in `res_output` variable
- Return `res_output` consistently
- Change `SSHResult.tcpport` to `SSHResult.ssh`
2025-09-03 10:41:07 +03:00
Mahmoud-Emad
49bf9dbf80 test: Update ping test assertions
- Use boolean `true` for successful ping
- Use boolean `false` for ping timeout
- Use boolean `false` for unknown host
2025-09-03 10:24:19 +03:00
Mahmoud-Emad
5bfaec3cb3 test: update ping call parameters in tests
- Rename `timeout` to `nr_ok` in `addr.ping` calls
- Rename `count` to `retry` in `ping` function calls
- Replace `timeout` with `nr_ok` in `ping` function calls
2025-09-03 10:15:23 +03:00
Mahmoud-Emad
b84e9a046c feat: add declarative tmux pane command management
- Implement Redis-backed command state tracking
- Use MD5 hashing to detect command changes in panes
- Kill and restart pane commands only when necessary
- Ensure bash is the parent process in each pane
- Add pane reset and emptiness checks before command execution
2025-09-02 19:10:34 +03:00
Mahmoud-Emad
b3fe4dd2cd feat: add multi-line command support for tmux panes
- Refactor `send_command` to handle multi-line input
- Implement `send_multiline_command` to execute temp scripts
- Create temporary bash scripts for multi-line commands
- Add documentation and examples for multi-line commands
2025-09-02 16:02:46 +03:00
Mahmoud-Emad
49f15d46bb fix: improve stdin compatibility with tmux pipe-pane
- Replace `io.new_buffered_reader` with raw `os.fd_read`
- Implement manual line buffering for stdin input
- Process any remaining partial line after input stream ends
- Address `tmux pipe-pane` data handling differences
2025-09-02 15:07:14 +03:00
Mahmoud-Emad
cf8e69041d feat: improve tmux_logger with flexible argument parsing
- Add structured argument parsing to `tmux_logger` utility
- Introduce `--no-log` and `--logreset` command-line options
- Enable dynamic log path resolution and pane-specific directories
- Simplify tmux pane logging integration, remove buffer script
- Standardize log category output padding in `categorize_output`
2025-09-02 13:47:35 +03:00
Mahmoud-Emad
52a1d2f80d feat: add real-time logging for tmux panes
- Introduce `tmux_logger` app for categorized output
- Implement pane logging via `tmux pipe-pane`
- Add `log`, `logpath`, `logreset` options to panes
- Update `Pane` struct with logging state and cleanup
- Refactor `logger.new` to use `LoggerFactoryArgs`
2025-09-01 19:48:15 +03:00
Mahmoud-Emad
dde5f2f7e6 feat: Add robust cross-platform port availability check
- Introduce `port_check_available` function
- Use platform-specific tools (`lsof`, `ss`, `netstat`)
- Fallback to socket binding for port checks
- Integrate port check before running `ttyd`
- Simplify `tmux kill-session` error handling
2025-09-01 12:51:13 +03:00
Mahmoud-Emad
97760cfe87 feat: Implement comprehensive process cleanup for tmux
- Add `Pane.kill_processes` for main and child processes
- Include fallback process group cleanup for panes
- Implement window-level process cleanup
- Integrate session-level process cleanup
- Add tmux process cleanup test scripts
2025-08-31 19:26:45 +03:00
Mahmoud-Emad
7d28129f06 feat: implement dynamic pane resizing
- Add `resize_panes_equal()` to `Window`.
- Dynamically apply `tmux` layouts based on pane count.
- Implement `get_width()` and `get_height()` for `Pane`.
- Update test to create 4 panes and use equal resizing.
2025-08-31 17:56:03 +03:00
9657e9aa97 Merge branch 'development' into development_decartive
* development: (53 commits)
  ...
  feat: Implement theming and modal UI improvements
  ...
  ...
  ...
  ...
  ...
  ...
  zinit client fixes
  git herocmd improvements
  ...
  ...
  ...
  ...
  ...
  ...
  ...
  ...
  ...
  ...
  ...
2025-08-31 13:22:58 +02:00
Mahmoud-Emad
4b0b5a26f8 feat: Add declarative tmux module functions
- Implement `tmux.session_ensure` for idempotent create
- Implement `tmux.window_ensure` with 1 to 16 pane layouts
- Implement `tmux.pane_ensure` to configure individual panes
- Add new declarative tmux example scripts
- Update docs for imperative and declarative paradigms
2025-08-31 11:59:23 +03:00
ce6cf3aa9c ... 2025-08-29 09:48:44 +02:00
03bb86bd72 ... 2025-08-29 09:48:13 +02:00
b29468c0c2 ... 2025-08-29 06:31:29 +02:00
0f6d6f731a ... 2025-08-29 06:13:50 +02:00
e340ad01ea ... 2025-08-28 17:19:32 +02:00
ae1f9d4477 .. 2025-08-28 16:12:34 +02:00
7b8ca007b7 ... 2025-08-28 16:10:59 +02:00
fb87adf87d ... 2025-08-28 16:02:28 +02:00
d52aa5dbd4 .l. 2025-08-28 14:40:09 +02:00
0bf586f748 Merge branch 'development_decartive' into development_builders
* development_decartive:
  refactor: use osal.processinfo_get for process stats
  feat: add declarative tmux and ttyd management

# Conflicts:
#	lib/osal/tmux/readme.md
2025-08-28 14:26:30 +02:00
a4472f095e Merge branch 'development' into development_builders
* development:
  minor example fixes
  feat: add comprehensive SSH agent management command
  refactor: Harden and improve SSH agent module
  ...
  feat: add editable ttyd dashboard mode
  feat: add CLI for dashboard management and 4-pane layout
  fix: Fix build
  ...
  refactor: update SSH agent examples and module structure
  feat: add tmux dashboard with ttyd integration
  refactor: Remove is_tmux_server_not_running_error function
  wip: pushing the code to sync in other branch
  refactor: Improve tmux API consistency and formatting

# Conflicts:
#	lib/osal/core/net.v
#	lib/virt/podman/factory.v
2025-08-28 14:26:06 +02:00
f5ca193fb4 ... 2025-08-28 14:25:07 +02:00