# geneos-utils

## About

This repository contains resources used to extend the basic geneos installation packages, and to implement
best practices for client installations.

It contains the following resources:

  * system - best practice scripts for system design, such as control scripts and setup include files

## Intended Use

A large tree of data exists, and it is intended that:

  * For client installations:
    * Packages of related files can be created (run 'make package' from the command line), such as for the netprobe installation.
    * The latest production installation packages are created automatically (by Jenkins) and placed in self contained ['releases'](https://github.com/ITRS-Group/geneos-utils/releases) that can be used.
  * For consultant installations:
    * The full tree of data is checked out and all scripts are run from there (e.g. their own gatewayctl etc)
    * Tests are written and run based on this tree, which is common to everyone
  * Changes can be made:
    * In the checked out tree (preferred - allowing tests to be run before checking back in)
    * Either using the command line or in a desktop GUI or other interface such as TortoiseGit, in a separate copy
    * Directly on github (have to be careful, and not everything is available to do)
  * Changes should be made using [GitHub Flow](https://guides.github.com/introduction/flow/):
    * By branching off master and making the changes there, isolated from anyone else
    * By then creating a 'pull request', and having it reviewed by someone
    * By having it merged back into the master branch
    * More details on flow and about GitHub are available in the PS notes on [Source Control](https://ice.itrsgroup.com/display/PS/Source+Control)

Changes can be made whilst on client sites by creating a branch on the laptop whilst offline, and pushing it to github once back online.  This prevents valuable code changes getting lost or attributed to just one client due to lack of time.

## Notes

  * GNU make is used for packaging (sudo apt-get install make/sudo yum install make)
  * Work to create this repository is being followed as per https://ice.itrsgroup.com/display/PS/PS+Install+Template+Git+Migration

