Skip to content

AugustLONG/kindo

 
 

Repository files navigation

Kindo 🇨🇳 🇬🇧

Kindo is a lightweight automated deployment tool developed with python that can be cross-platform and easier to bulk deployment.Just with one command, you can manager a lot of servers and update applications with no agents on systems, and writing scripts like dockerfile can be used to solve complex operations.

Features

  • easy to use: less commands and easier to write scripts that grammar is simple and like dockerfile.
  • cross platform: developed with python and available for all major operating systems.
  • free and open-source:the client and server are free and open-source that can be easy to develop again.
  • no agents:using ssh protocol, with no agents to install on remote systems.

Related

Kindo Hub: Open Source Kindo Index (aka Kindo Hub) written in Java

Kindo Explore: Search Kindo Packages

Installation

you can download the binary file or installation package that can be runned on windows and linux from Releases.

Windows

download the setup installation package,click next until finished. After the package is installed, the kindo command will be appended the environment variable.

Linux

download the binary file for linux and make it excetuable, at last, editing the PATH environment variable and add the kindo command path, then run directly. as follows:

# download binary file to /usr/local/kindo, then:
cd /usr/local/kindo
chmod +x kindo

# vi /etc/profile
export PATH="$PATH:/usr/local/kindo"
source /etc/profile

or download the sources directly and install it with python:

wget https://github.com/shenghe/kindo/archive/master.tar.gz
tar -xzvf master.tar.gz 
cd master/kindo && python setup.py install

or, download and install from pypi:

pip install kindo

Common Concepts

Deployment Script

Kindo deployment script is a text file with kic as a suffix,and write it with a similar Dockerfile grammar.so just learn shell, you can master the script grammar.

Grammar Guide:Grammar guide

Scripts Example:the examples of Kindo deploy scripts

Deployment Package

Kindo deployment package is an compression file with ki as a suffix that can be extracted with winzip or unzip. It's the compiled results of script.

Package naming conventions: author/name:version

Search package: Explore

Remote Repository

you can upload, storage, search and download package after installed the kindo hub on system, the default kindo hub's storage engine is file system.

the kindo can connect to the hub after configured.

Local Repository

you can specify the local folder to storage packages as caches after downloaded. the folder called local repository.

Usage

Search Package

In addition to the website, but also through kindo command can search and download package directly:

kindo search kindo/demo:1.0

Surely, you can only write some words to complete the search, but usually get more results. and then input the package number to download the specified package:

kindo search demo

Run Package

you can use the whole name to run package directly. if the remote repository had the package and it didn't exist on the local repository,the command will download it automatically.

kindo run kindo/demo:1.0 -h [account@ip:port] -p [password]

Surely, allow to specific the full path to run package:

kindo run ~/kindo-demo-1.0.ki -h [account@ip:port] -p [password]

If you configured the server information in the configuration file, you can omit the corresponding parameter.

Compile Script

If no scripts can be found on the remote repository, meaningly you will write scripts by yourself, at example:

# Author: kindo
# Name: demo
# Version: 1.0

RUN echo "hello kindo"

after the completion of the kindo script, run these commands to compile it:

kindo build demo.kic

Ad Hoc

if you wanted to run commands without scripts, you might type in to do something really quick as follows:

kindo shell "echo hello world" -h [account@ip:port] -p [password]

If you configured the server information in the configuration file, you can omit the corresponding parameter.

more commands and documents, refer to kindo command document

Get Involved

if you have good ideas and improvement suggestion, summit new issues.

if you want to involve in developing, fork and push requests.

if you had writed one script, compile and run kindo push [package_name]

License

Copyright 2015 shenghe

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

a lightweight automated deployment tool developed with python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.1%
  • Other 0.9%