Merge pull request #673 from goody80/master

Update the README for simple & volume driver option has been added
This commit is contained in:
chrisurwin 2017-12-04 11:49:36 +00:00 committed by GitHub
commit fc3d76433c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 125 additions and 0 deletions

View File

@ -0,0 +1,56 @@
# Zinst
## Install
1. How to install the zinst client
```
curl -sL bit.ly/online-install |bash
zinst self-config ip=[IP address of the zinst-repository] host=[Hostname of zinst-repository]:[http_port]
```
2. check the server alive
```
zinst find
```
3. You can clone and copy the open-source zinst packages from the Github to the Volume dircetory as below.
* https://github.com/goody80/Zinst_packages
## What is the Zinst ?
### zinst?
* Package install manager. It very similar that concept of yinst command in Yahoo!
### Summary
* For the centralized package manage & distributed systems
* Centralized control:
* Install the Package to the destination server
* *ex) zinst install apache_server-1.0.1.zinst apache_conf-1.0.1.zinst -h web0[1-7,9]*
* list-up the package in each server
* *ex) zinst ls*
* list-up the file of package in each server
* *ex) zinst ls -files apache_server*
* Easy find out the installed package-name of a some distributed file
* *ex) zinst ls -files /data/z/httpd/conf/include/_temp.conf*
* Can tracking the release history with who could controlled
* *ex) zinst history*
* Easy can change the configuration setup
* *ex) zinst set apache_conf.maxclient=64*
* Then you can see the configuration has been changed on the Apache server for example.
* Package remove
* Send a command to the distributed systems
* *ex) zinst ssh "whoami" -h web[0-1][0-9], web20*
* Can makes a list of multiple host for the target control
* *ex) zinst ssh "whoami" -H ./hostlist.txt*
* One package, can makes a differnt output
* *ex) zinst install apache_server -set apache_server.maxclient=32 -h web01 web02*
* *zinst install apache_server -set apache_server.maxclient=64 -h news01 news02*
* Daemon controll
* *ex) zinst start httpd*
* Then we can recognize that who managed the daemon in the server as a history
* Easy to find out the package has been released to somewhere
* *ex) zinst track hwconfig-1.
* Supported a package restore & roll-back as a save file
* *ex) zinst restore -file /data/z/save/zinst-save.56*
* Without difficult language and environment. Due to it made by Bash only

View File

@ -0,0 +1,15 @@
version: '2'
services:
zinst-repository:
image: zinst/zinst_repository:0.5
volumes:
- zinst-data:/data/dist
zinst-lb:
image: rancher/lb-service-haproxy:v0.7.6
ports:
- ${http_port}:${http_port}/tcp
volumes:
zinst-data:
driver: ${volume_driver}

View File

@ -0,0 +1,54 @@
version: '2'
catalog:
name: "zinst-repository"
version: "7.0.5"
description: "Infra as a code by your own packages. http://zinst.me"
uuid: zinstrepo-0
minimum_rancher_version: v1.5.5
questions:
- variable: http_port
description: "http port to access the zinst repository"
label: "Public Port"
required: true
default: "8080"
type: "int"
- variable: "volume_driver"
description: "Volume driver to associate with this service"
label: "Volume Driver"
required: true
default: "local"
type: enum
options: # List of options if using type of `enum`
- local
- rancher-nfs
- rancher-efs
- rancher-ebs
services:
zinst-repository:
retain_ip: true
scale: 1
start_on_create: true
health_check:
port: 80
interval: 5000
unhealthy_threshold: 3
request_line: ''
healthy_threshold: 2
response_timeout: 5000
zinst-lb:
scale: 1
start_on_create: true
lb_config:
certs: []
port_rules:
- priority: 1
protocol: http
service: zinst-repository
source_port: ${http_port}
target_port: 80
health_check:
response_timeout: 2000
healthy_threshold: 2
port: 42
unhealthy_threshold: 3
interval: 2000