knowhow v0.0.18
KnowHow
A decentralized Nodejs workflow tool used to manage software on any server.
KnowHow is a tool that can be used to run any task on any cluster of machines virtual or physical. Examples can be as complex as configuring an enterprise weblogic cluster on a specific set of hosts or as simple as updating personal ssh keys. Think of it as a personal Puppet or Chef without the overhead. The only requirement for KnowHow is an ssh login on a host you are using or managing. KnowHow creates an agent that allows you to remotely execute and deliver files. KnowHow and its agents are operated through a simple web interface. The most important benefit of KnowHow is the knowledge is retained and processes are repeatable. Once a workflow is set up it should be repeatable on any environment.
####Documentation >> ####Live Demo >> ####Project homepage >>
##Subprojects
- knowhow-agent manages execution on a single host
- knowhow-server manages over execution of jobs, repositories and workflows
- knowhow-api nodejs api to knowhow server functionality
- knowhow-example-repo examples of jobs and workflows
- knowhow-shell a node api for executing knowhow json jobs
#Key Concepts
####knowhow-agent
A knowhow agent is a simple web application that provides a control interface to execute knowhow jobs. Knowhow-agents run as a specific user on a specific port(default 3000), and are coordinated by the knowhow-server.
####knowhow-server
Knowhow-server, this project, manages agents, jobs, workflows and repositories. It is a web application accessed through the browser http://localhost:3001.
####knowhow-api
Knowhow-api provides a nodejs programming interface to a knowhow server. It supports all functionality available via the knowhow server web GUI, and allows full automation of a knowhow server. It also includes the command tool KHCommand, which allows any api command to be executed from a shell script.
####repository
A collection of json objects, and other dependent files that represent jobs, environments, and workflows. Repositories are currently file based and is a directory with the following top folders: environments, jobs, workflows. Each folder contains the specifc types of objects: jobs for job objects, environments environment json objects, and workflows for workflow objects. The may be other nested folder structures underneath one of the top 3 directories. Eventually there will be database based repositories. See knowhow_example_repo for an example repository structure.
####job
A knowhow job is a json object that represents a task or shell script. Jobs contain a list of shell commands with reponses to specific text if necessary. Jobs also define environment variables that can be referenced through the json object for easier automation. See the knowhow-shell project for how to use knowhow jobs directly from node.
####environment
An environment is a collection of hosts that run knowhow-agents. Environments are referenced by workflow objects to coordinate across different hosts.
####workflow
A workflow is a directive of jobs or tasks that get run against an environment.
Installation
For node users:
npm install -g knowhow
For everyone else there is an RPM that includes a nodejs binary:
sudo rpm -ivh https://github.com/jfelten/knowhow/releases/download/0.0.10/knowhow-0.0.10-1.el6.x86_64.rpm
Getting Started
To start the server execute:
startKHServer
please follow the getting started section here: knowhow-server
To start the agent execute:
startKHAgent --port=<PORT_NUM> default port is 3001 if not supplied
To run a knowhow server directly from a cloned project:
node node_modules/knowhow_server/server.js
To run a knowhow agent directly from a cloned project:
node node_modules/knowhow_agent/agent.js
Open the knowhow server in a browser Ex: http://localhost:3001
Example Repository
The example repository acts as a tutorial. Import this repository to get started. Navigate to Repositories tab and then select the "New Repository" sub tab.
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago