The Provisioning Assistant for Devops, configure snippets as YML and call them from the geoffrey CLI
pip install fxq-geoffrey==1.0.8
Geoffrey is a Python based CLI application which provides a GUI for installing components, it is installed using pip and can be called
simply with geoffrey
. Calling it for the first time will trigger a new config to be created and you will be asked to provide a remote
URL that contains a YML file for configuration.
A Sample YML can be seen in the FXQuants geoffrey Repository:
The best way to get started is to simply install Geoffrey. Once Installed start geoffrey with:
geoffrey
You will be asked to provide a config location, do so, for an example you could use the FXQuants Repo:
Install geoffrey with pip into a Python3 Environment.
yum -y install epel-release
yum -y install gcc wget python36 python36-pip python36-devel && \
pip3 install fxq-geoffrey
The YML that is loaded by Geoffrey is composed of sections containing tasks within a choices model the following is a simple model with some examples:
As you can see it's simple Bash Lines that are called with os.system(), they can be any valid bash.
I would recommend they are not overly complex however and more complex scripts should be housed separately for better Version Control.
choices:
sections:
- section:
name: Hypervisor Tools
tasks:
- task:
name: Open VM Tools
default: y
script:
- yum -y install open-vm-tools
- section:
name: Operating System
tasks:
- task:
name: Update All Packages
default: y
script:
- yum -y update
- task:
name: Docker Host
default: n
script:
- yum -y install curl
- curl -s 'https://bitbucket.org/!api/2.0/snippets/fxquants/beGAbx/master/files/install-docker.sh' | bash
Contributions are most welcome to the project, please raise issues first and contribute in response to the issue with a pull request.
We use SemVer for versioning. For the versions available, see the tags on this repository.
This project is licensed under the MIT License - see the LICENSE.md file for details