GoLang deploy manager via command line or service
Definition of an automated deploy system, easy to install, easy to update, compliant to innovation programs. No base frameworks, no system library links. Just get it, and us it. Only need is go-lang 1.3 or upper installed.
Reference is on modules repository:
- Go Deploy Modules Modules for go-deploy executions
It has a configuration to use a similar technology TLS server (easy-to-use).
Please take a look at:
-
Go TCP Server Server side TLS secure shell component
-
Go TCP Client Client side TLS secure shell library
Server starts with one or more input server certificate/key pairs.
Call help
--help
or -h
from command line to print out the available instructions and command help.
It reads feeds that contains action instructions, it allows to store, read and use variables and create variables via remote shell command.
It allows to write configuration and variables in following encodings:
-
YAML
-
XML
-
JSON
It executes a main feed that can contain multiple sub-feed, imported in the current one, on selected servers or importing new ones, related to new servers.
We are preparing a site about that features.
In linux system it's possible to write new features using the current client ones or developing new features.
Plugin(s) clients have own interfaces for writing a plugin, available pluggable clients are:
- Go-TCP Client, TLS custom client
For client(s) plugins (definition of custom clients), you can :
-
Develop Proxy Function interface as described and with same name of function proxy.GetConnectionHandlerFactory
-
Develp Client Wrapper as described in the interface ConnectionHandler
An example of this kind of plugin is available in following repositories:
For deploy custom command(s) plugins you can:
-
Develop Proxy Function interface GetModulesMap
-
Develop a Discovery Function and allocating a map of string (unique plugin name) and ProxyStub that contains the discovery function, providing the command Converter component. Converter interface is used to parse the code from the Feed file and provifing a runnable element implementing StepRunnable interface, filled with parsed data.
An example of this kind of plugin is available in following repositories:
Accordingly to policies we identified following modes for the system:
-
Reading from a physical file (single run) - IMPLEMENTED
-
Reading from a Web Source - FUTURE
-
Reading from a Rest Service - FUTURE
-
Reading from a Stream (JMS, IoT, Database flows, etc...) - FUTURE
Official produict documentation is available at:
- The product Wiki pages, that contain a lot of important information about haw to install and how to use this product.
Source test script is :
./test.sh
It accepts optional parameters or the help request.
Commands included in the main and sub-feeds will give you an overview of capabilities provided by the framework.
In order to execute the sample you must install Go! TCP Server and execute the binaries in the sample folder
Enjoy the experience.
The library is licensed with LGPL v. 3.0 clauses, with prior authorization of author before any production or commercial use. Use of this library or any extension is prohibited due to high risk of damages due to improper use. No warranty is provided for improper or unauthorized use of this library or any implementation.
Any request can be prompted to the author Fabrizio Torelli at the following email address: