Skip to main content

The Provisioning Assistant for Devops, configure snippets as YML and call them from the geoffrey CLI

Project description

Geoffrey Devops CLI

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:

Readme Animation

Getting Started

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:

Installing

I Highly recommend using PIPX to install geoffrey to ensure you do not run into issues with other environments and CLI apps installed using PIP
https://packaging.python.org/guides/installing-stand-alone-command-line-tools/

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

Contributing

Contributions are most welcome to the project, please raise issues first and contribute in response to the issue with a pull request.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fxq-geoffrey-1.0.8.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

fxq_geoffrey-1.0.8-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file fxq-geoffrey-1.0.8.tar.gz.

File metadata

  • Download URL: fxq-geoffrey-1.0.8.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

File hashes

Hashes for fxq-geoffrey-1.0.8.tar.gz
Algorithm Hash digest
SHA256 5d884471d966f190326a7f2d52ece444fc41340651d152855d2c6442811173dd
MD5 338d4f8378d562a8a3f8b941c112b7f4
BLAKE2b-256 768989602f7b491b8fcc579488d0170722339be2fd74d9f49eae0163560b582d

See more details on using hashes here.

File details

Details for the file fxq_geoffrey-1.0.8-py3-none-any.whl.

File metadata

  • Download URL: fxq_geoffrey-1.0.8-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

File hashes

Hashes for fxq_geoffrey-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 69b8aeb47ed1e757ebd98301717f2ffec6c46ec586c805b64ccf92b50b6c0f4a
MD5 c7dfd189ed88fc98fb091c489cdb16a0
BLAKE2b-256 6e5b36fd8ad93ed32aeec639a3a10de6ee8ff35ff9bb45fbd9964906a8af55b8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page