Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wolftech-innovations/clctool
FoxOS's very own CLCTool, your go to tool
https://github.com/wolftech-innovations/clctool
clctool posix technology unix
Last synced: about 1 month ago
JSON representation
FoxOS's very own CLCTool, your go to tool
- Host: GitHub
- URL: https://github.com/wolftech-innovations/clctool
- Owner: WolfTech-Innovations
- License: unlicense
- Created: 2024-02-08T21:55:05.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-09-23T15:47:37.000Z (4 months ago)
- Last Synced: 2024-09-24T19:05:24.930Z (4 months ago)
- Topics: clctool, posix, technology, unix
- Language: Python
- Homepage:
- Size: 113 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
[![Upload Python Package](https://github.com/WolfTech-Innovations/CLCTool/actions/workflows/python-publish.yml/badge.svg)](https://github.com/WolfTech-Innovations/CLCTool/actions/workflows/python-publish.yml)
---
# CLCTool Documentation
## Introduction
Welcome to CLCTool, a powerful and customizable Linux configuration tool designed for flexible system setup and deployment.
### Features
- Modular architecture for maximum scalability and customization.
- Dynamic loading of user-defined modules.
- User-defined functions (UDFs) for encapsulating complex logic.
- Conditional task execution and interactive prompts.## Installation
### Prerequisites
- Python 3.6 or higher
### Instructions
1. Clone the CLCTool repository:
```bash
git clone https://github.com/WolfTech-Innovations/CLCTool.git
```2. Install requirements
```bash
sudo pip install -r ./requirements.txt --break-system-packages
```4. Change into the CLCTool directory:
```bash
cd CLCTool
```5. Run CLCTool with your desired configuration:
```bash
sudo python clctool.py -i path/to/module -p your_profile -v your_version
```Replace `path/to/module` with the path to your module file, `your_profile` with the chosen profile, and `your_version` with the desired version.
## Usage
CLCTool provides a simple command-line interface for running your customized installation process. The tool supports various commands and options to tailor the deployment according to your needs.
```bash
sudo python clctool.py -i path/to/module -p your_profile -v your_version
```- `-i` or `--modules`: Specify the paths to the ``.fox`` file.
- `-p` or `--profile`: Specify the profile to use.
- `-v` or `--version`: Specify the version.
- `-m` or `--module-args`: Specify additional module-specific arguments as key-value pairs separated by commas## Configuration
### Module Configuration
Modules are the building blocks of CLCTool. Each module is defined in a `.fox` file containing tasks, UDFs, and configurations.
### User-Defined Functions (UDFs)
UDFs allow encapsulating complex logic and reusing it across different parts of the installation process.
```python
def custom_udf(parameters):
print(f"Running a custom UDF with parameters: {parameters}")
```## Issue Tracker Link
- GitHub Issues: [CLCTool Issues](https://github.com/WolfTech-Innovations/CLCTool/issues)
---
## Demo
Link: [Demo Module](https://github.com/WolfTech-Innovations/CLCTModuleRepo/blob/main/modules/nginx.fox)