mirror of
https://github.com/Cian-H/I-Form_Server_Node_Deployer.git
synced 2025-12-22 22:22:02 +00:00
Quick, rough draft of docs
This commit is contained in:
50
docs/commands.md
Normal file
50
docs/commands.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# node_deployer
|
||||
|
||||
A tool for creating ignition images for automated deployment to a swarm
|
||||
|
||||
## Options
|
||||
|
||||
| **Option** | **Description** |
|
||||
|----|----|
|
||||
| --install-completion | Install completion for the current shell. |
|
||||
| --show-completion | Show completion for the current shell, to copy it or customize the installation. |
|
||||
|
||||
## Commands
|
||||
|
||||
| **Command** | **Description** |
|
||||
|----|----|
|
||||
| create-ignition-disk | Creates an ignition image and writes it to the specified disk |
|
||||
| create-img | Creates an ignition image for a node that will automatically join a swarm |
|
||||
| json-to-img | Converts a fuel-ignition json file to an ignition disk image file |
|
||||
|
||||
### create-ignition-disk
|
||||
Creates an ignition image and writes it to the specified disk
|
||||
|
||||
| Argument | Description | Default |
|
||||
|----|----|----|
|
||||
| --disk -d | Path to the disk to write to | None |
|
||||
| --hostname -h | Hostname for the new node | node |
|
||||
| --password -p | Password for the root user on the new node | None |
|
||||
| --switch-ip -ip | IP address of the switch to connect to | None |
|
||||
| --switch-port -sp | Port on the switch to connect | 4789 |
|
||||
| --swarm-token -t | Swarm token for connecting to the swarm | None |
|
||||
|
||||
### create-img
|
||||
Creates an ignition image for a node that will automatically join a swarm
|
||||
|
||||
| Argument | Description | Default |
|
||||
|----|----|----|
|
||||
| --hostname -h | Hostname for the new node | node |
|
||||
| --password -p | Password for the root user on the new node | None |
|
||||
| --switch-ip -ip | IP address of the switch to connect to | None |
|
||||
| --switch-port -sp | Port on the switch to connect to | 4789 |
|
||||
| --swarm-token -t | Swarm token for connecting to the swarm | None |
|
||||
| --img-path -o | Path to which the ignition image should be written | ignition.img |
|
||||
|
||||
### json-to-img
|
||||
Converts a fuel-ignition json file to an ignition disk image file
|
||||
|
||||
| Argument | Description | Default |
|
||||
|----|----|----|
|
||||
| --json-path -i | The fuel-ignition json for configuring the disk image | fuelignition.json |
|
||||
| --img-path -o | The file to output the disk image to | ignition.img |
|
||||
59
docs/configuration.md
Normal file
59
docs/configuration.md
Normal file
@@ -0,0 +1,59 @@
|
||||
# Configurations
|
||||
The following is a list of preprogrammed configurations for the node deployer.
|
||||
## default
|
||||
This is the default configuration on which all other configurations are based.
|
||||
|
||||
| Variable | Value | Type |
|
||||
| --- | --- | --- |
|
||||
| SRC_DIR | "src" | Path |
|
||||
| BUILD_DIR | "build" | Path |
|
||||
| DOCKERFILE_DIR | "docker" | Path |
|
||||
| SELENIUM_INIT_MESSAGE | "INFO [Standalone.execute] - Started Selenium Standalone" | str |
|
||||
| FUELIGNITION_INIT_MESSAGE | "ready in *ms." | str |
|
||||
| FUELIGNITION_URL | "http://localhost:3000/fuel-ignition/edit" | str |
|
||||
| FUELIGNITION_BUILD_DIR | "fuel-ignition" | Path |
|
||||
| CWD_MOUNTDIR | "/host_cwd" | Path |
|
||||
| CLIENT_STDOUT | True | bool |
|
||||
| CLEANUP_IMAGES | True | bool |
|
||||
| CLI | False | bool |
|
||||
| DEBUG | False | bool |
|
||||
| TESTING | False | bool |
|
||||
|
||||
## local
|
||||
This configuration keeps all computations local to the machine on which the tool is run.
|
||||
|
||||
| Variable | Value | Type |
|
||||
| --- | --- | --- |
|
||||
| FUELIGNITION_URL | "http://localhost:3000/fuel-ignition/edit" | str |
|
||||
|
||||
## remote
|
||||
<p>This configuration allows the use of hosted websites for hte fuel-ignition configurator.</p>
|
||||
<p>Currently, this configuration is broken/deprecated. It is being kept as it may be be reimplemented in the future as part of a dockerless configuration.</p>
|
||||
|
||||
| Variable | Value | Type |
|
||||
| --- | --- | --- |
|
||||
| FUELIGNITION_URL | "https://opensuse.github.io/fuel-ignition/edit" | str |
|
||||
|
||||
## cli
|
||||
This configuration enables a typer based command line interface.
|
||||
|
||||
| Variable | Value | Type |
|
||||
| --- | --- | --- |
|
||||
| CLI | True | bool |
|
||||
|
||||
## debug
|
||||
This configuration enables debug mode.
|
||||
|
||||
| Variable | Value | Type |
|
||||
| --- | --- | --- |
|
||||
| DEBUG | True | bool |
|
||||
| CLI | False | bool |
|
||||
| CLEANUP_IMAGES | False | bool |
|
||||
|
||||
## test
|
||||
This configuration enables testing mode. This mode is used for testing the tool itself.
|
||||
|
||||
| Variable | Value | Type |
|
||||
| --- | --- | --- |
|
||||
| TESTING | True | bool |
|
||||
| CLEANUP_IMAGES | False | bool |
|
||||
1
docs/deployment.md
Normal file
1
docs/deployment.md
Normal file
@@ -0,0 +1 @@
|
||||
This tool creates an [ignition drive](https://coreos.github.io/ignition/) that can be used with a [OpenSUSE MicroOS self-install drive](https://get.opensuse.org/microos/) to automatically deploy new nodes to the swarm.
|
||||
8
docs/index.md
Normal file
8
docs/index.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# I-Form Server Node Deployer
|
||||
---
|
||||
## Introduction
|
||||
Welcome to the documentation for the I-Form Server Node Deployer tool. This tool is designed to simplify the process of deploying new nodes to the I-Form server swarm. It is intended to make the process of deploying new nodes as simple as possible, and to reduce the amount of time required to deploy new nodes. This should provide a reliable and consistent deployment process, creating an adaptable and scalable foundation for building research servers.
|
||||
## Description
|
||||
This program is designed to automatically create install media for deploying a swarm of minimal, immutable, and stateless nodes, to which containers can be deployed. If correctly configured, the resulting nodes will automatically connect to the specied swarm manager and immediately begin running deployed containers. The deployed nodes can be managed via the MicroOS dashboard, or via SSH. If the swarm is managed by a similarly deployed node, the entire swarm can also be managed via the MicroOS dashboard. Otherwise, access to the swarm manager is required to manage the swarm.
|
||||
## Notice
|
||||
The tool is currently in early alpha, and is subject to significant change.
|
||||
7
docs/installation.md
Normal file
7
docs/installation.md
Normal file
@@ -0,0 +1,7 @@
|
||||
To install currently, download the `node_deployer` repo from the github repository, then install the package with poetry:
|
||||
```bash
|
||||
poetry install --no-dev
|
||||
```
|
||||
The tool can then be invoked with `poetry run node_deployer`. To install the tool system-wide, run `poetry build` and then install the package with `pip install dist/node_deployer*.whl`. The tool can then be invoked with `python -m node_deployer`.
|
||||
|
||||
This installation process will be subject to significant change in the future. Currently, the tool is in early alpha.
|
||||
5
docs/usage.md
Normal file
5
docs/usage.md
Normal file
@@ -0,0 +1,5 @@
|
||||
To create an install disk invoke the `create-ignition-disk` command. The tool will then prompt the user to input the required parameters. Alternatively, the parameters can be passed as command line arguments. The following example creates an install disk on `/dev/sdb` managed by the computer at `192.168.1.1`
|
||||
```bash
|
||||
node_deployer create-ignition-disk -d /dev/sdb -ip 192.168.1.1
|
||||
```
|
||||
The user will then be prompted to input a password and swarm token.
|
||||
17
mkdocs.yaml
Normal file
17
mkdocs.yaml
Normal file
@@ -0,0 +1,17 @@
|
||||
site_name: I-Form Server Node Deployer
|
||||
theme: readthedocs
|
||||
docs_dir: docs
|
||||
site_dir: site
|
||||
|
||||
nav:
|
||||
- Home: index.md
|
||||
- Getting Started:
|
||||
- Installation: installation.md
|
||||
- Usage: usage.md
|
||||
- Reference:
|
||||
- Commands: commands.md
|
||||
- Configuration: configuration.md
|
||||
- Deployment: deployment.md
|
||||
# - Troubleshooting: troubleshooting.md
|
||||
# - Changelog: changelog.md
|
||||
# - License: license.md
|
||||
Reference in New Issue
Block a user