Installation
Requirements
In order to properly run Huddle, Git must be installed on the operating system. In
Windows environments, download and install the appropriate binary. On Debian systems,
apt install git
will usually do the trick.
Install
Huddle may be installed using pip:
pip install huddle
This will work for most users in most environments.
The most recent revision may also be downloaded from the github repository and installed using
python setup.py install
Configuration
Format
Huddle depends on configuration files to perform mosts tasks. Configuration files are
in .json
format. Each file or application to be managed will have one corresponding
configuration file.
A simple example of a JSON configuration file would be:
{
"repository": {
"remote path": "https://github.com/slightlynybbled/dummy.git",
"local path": "/home/ubuntu/git_example"
},
}
or, if you prefer INI:
[repository]
remote path = https://github.com/slightlynybbled/dummy.git
local path = /home/ubuntu/git_example
This configuration file would simply ensure that the local path files are always in
sync with the remote path files, which are located on the shown git repository. Huddle
will automatically sync the local path
with the remote path
repository.
See config file format for more details regarding configuration file settings and for examples.
Location
All config files should reside in the same directory and have an extension of .json
.
Any file prefixed with an underscore _
will be ignored by huddle.
- /home/ubuntu/config_files
- /fileset0_config.json
- /app0_config.json
- /app1_config.ini
- /_app2_config.json
The above file structure would work. Note that the file structure is flat. No files are
to be located in a subdirectory or they will not be parsed. Note that the
_app2_config.json
file would be ignored since it has a leading underscore _
.
Files may be located anywhere on the file system to which huddle has access.
Starting Huddle
Once installed, huddle may be started by simply:
huddle -c <config directory path>
or on a virtual environment named `py3env':
./py3env/bin/huddle -c <config directory path>
On the first instantiation, it may be necessary to add hosts to the ssh known_hosts so that the local machine recognizes remote git repositores without having to type 'yes' to accept new keys.