Commit graph

54 commits

Author SHA1 Message Date
8d4ce99922 refactor(container): streamline container command execution
Simplified the process of constructing and executing container commands
to enhance maintainability and reduce redundancy.

- Removed redundant appending of image_tag and action to docker_opts in
  run.cr.
- Modified command construction in docker_engine.cr to use pre-built cmd
  array, enhancing clarity.
- Updated podman_engine.cr to utilize cmd array for process execution,
  ensuring consistency across container engines.

Signed-off-by: Glenn Y. Rolland <glenux@glenux.net>
2025-03-27 20:10:35 +01:00
e59ea9ff44 feat: implement and refactor container engine module
This commit introduces a comprehensive implementation and refactoring of
the container engine module. Key enhancements include the addition of
abstract classes and the implementation of container engines.

New features:
- Developed `DockerEngine` and `PodmanEngine` classes, deriving from
  `AbstractContainerEngine` to provide modular functionality.
- Added a CLI `--container-runtime` option, allowing users to select
  their preferred runtime, defaulting to Docker if unspecified.
- Introduced a `container_runtime` property in
  `DocMachine::Build::Config` for improved runtime management.

Refactoring:
- Refactored code to replace hardcoded Docker commands with method calls
  to `AbstractContainerEngine`, promoting code reuse and abstraction.

Signed-off-by: Glenn Y. Rolland <glenux@glenux.net>
2025-03-27 15:37:04 +01:00
60ab198a69 chore: Update .gitignore to include .aider* and .env files 2025-03-27 15:37:04 +01:00
c0ae494c57 feat: Add support for specifying custom Docker image tag in CLI options 2025-03-27 15:37:04 +01:00
f55c06c05e docs: add missing information to README 2025-03-27 15:37:04 +01:00
ab31659e2b Update .drone.yml 2025-03-27 15:37:04 +01:00
6f316ff78e refactor: move static network functions to a reusable class 2024-06-02 21:13:36 +02:00
fdeccbda0c chore: add LICENSE file 2024-05-31 16:53:11 +02:00
138b339e12 ci: use help instead of version 2024-05-31 16:48:09 +02:00
a42ec40e54 ci: add missing dependencies 2024-05-31 16:47:00 +02:00
ae649692f4 ci: add missing dependencies 2024-05-31 16:44:58 +02:00
edd4952537 ci: fix build process 2024-05-31 16:36:45 +02:00
299f66d62c ci: add missing dependency liblzma-dev 2024-05-31 16:31:54 +02:00
e492cb4705 doc: add README.md 2024-05-31 16:28:36 +02:00
e390e911af Merge tag 'v1.1.0' into develop
v1.1.0
2024-05-31 16:16:17 +02:00
422f95e27b Merge branch 'release/v1.1.0' 2024-05-31 16:16:07 +02:00
e6a6da7a78 feat: add more targets to makefile (ex: install) 2024-02-15 18:56:31 +01:00
1e63606f72 feat: Add support for --no-cache option 2024-02-15 18:56:15 +01:00
9d13f8216f feat: add option for multiple instances 2024-02-14 15:29:36 +01:00
a007211e29 feat: add support for port detection 2024-02-14 14:51:15 +01:00
b588503b79 fix: use the right variable for mkdocs port options 2024-02-14 14:34:29 +01:00
81b845fc66 feat: add support for port selection
Add support for base port selection
- add --port PORT and -p PORT options on command line
- add naive (not implemented) support for port detection
- docs container is now mapped to PORT
- slides container is now mapped to PORT+100
2024-02-14 14:29:41 +01:00
a2272230e2 feat(write): Add content nodes support 2023-04-27 20:49:36 +02:00
615c377623 feat(write): Add support for templates 2023-04-27 20:49:36 +02:00
5689929c83 feat(write): Add basic support for prompts management 2023-04-27 20:49:32 +02:00
0832e4c877 refactor: Clean up the logging system 2023-04-27 20:49:16 +02:00
8ae9599d0f fix(build): make image load work 2023-04-27 20:49:00 +02:00
3f985f2751 feat: use Log library instead of puts 2023-04-25 12:28:16 +02:00
a921acc3f9 ci: add missing libreadline-dev 2023-04-24 18:43:04 +02:00
adc96653e5 feat: Add dependency for crinja 2023-04-24 10:31:54 +02:00
594b5f853a refactor: shorten names & use same structure 2023-04-23 15:59:29 +02:00
e11d2bc588 data: Prepare better samples 2023-04-18 10:49:43 +02:00
3ee2bdf5d4 data: Add prompts for GPT 2023-04-17 20:25:24 +02:00
ae563d781a doc: Add samples formats & prompts & config 2023-04-17 19:14:08 +02:00
920c58b157 feat: Add multiple binary outputs 2023-04-16 12:02:43 +02:00
da329ab19e feat: Add doc for future GPT content generation 2023-03-27 16:31:18 +02:00
b8c887682b feat: Add support for scaffold 2023-03-27 16:01:20 +02:00
6d34bec0e6 feat: Organize for subcommands 2023-03-26 11:41:40 +02:00
5f83e7821e feat: show error trace 2023-03-25 20:41:12 +01:00
9a87615129 feat: Prepare for multi-command 2023-03-25 20:40:52 +01:00
801e58ca27 feat: prepare for future commands 2023-03-24 16:53:27 +01:00
eb41a2e594 ci: Refactor hardcoded content 2023-03-21 22:29:05 +01:00
bdf7b60d5c ci: fix strip step 2023-03-21 21:17:03 +01:00
d2c08b0a4d ci: build statically & strip 2023-03-21 21:09:34 +01:00
74dff38d8b ci: Use production flag for build 2023-03-21 18:47:24 +01:00
39674fa3cd ci: Add condition for publish 2023-03-21 18:26:05 +01:00
29129c30f4 ci: Update publish step 2023-03-21 18:21:28 +01:00
b2092758e7 ci: Show env vars 2023-02-21 16:18:36 +01:00
17a7d179ab ci: Add deploy step 2023-02-21 16:14:25 +01:00
4e83a08398 refactor: Split main into cli + launcher 2023-02-21 16:06:20 +01:00