Merge pull request #558 from goody80/master
Infra as a code by own your zinst packages
This commit is contained in:
commit
2fa49ebdc3
85
templates/zinst/0/README.md
Normal file
85
templates/zinst/0/README.md
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
|
||||||
|
# Zinst
|
||||||
|
## Install
|
||||||
|
* Git clone 1st
|
||||||
|
```
|
||||||
|
git clone https://github.com/goody80/zinst_repository_docker.git
|
||||||
|
```
|
||||||
|
|
||||||
|
* Git clone for zinst packages (optional)
|
||||||
|
```
|
||||||
|
git clone https://github.com/goody80/Zinst_packages.git
|
||||||
|
cp -Rfv ./Zinst_packages/* ./zinst_repository_docker/dist/
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Use
|
||||||
|
* How to start the zinst repository server
|
||||||
|
```
|
||||||
|
cd zinst_repository_docker
|
||||||
|
docker-compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
* How to set the zinst client
|
||||||
|
```
|
||||||
|
curl -sL bit.ly/online-install |bash
|
||||||
|
zinst self-config ip=[IP address of the docker Host] host=[Hostname of docker host]:8080
|
||||||
|
```
|
||||||
|
|
||||||
|
* check the server alive
|
||||||
|
```
|
||||||
|
zinst find
|
||||||
|
```
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
* You can modify the docker-compose.yml for setup as below
|
||||||
|
* for example: I need to change the port 8080 to 80. - You can do as below
|
||||||
|
* `8080:80/tcp` -> `80:80/tcp`
|
||||||
|
|
||||||
|
```
|
||||||
|
version: '2'
|
||||||
|
services:
|
||||||
|
zinst-repository:
|
||||||
|
image: zinst/zinst_repository:latest
|
||||||
|
ports:
|
||||||
|
- 8080:80/tcp
|
||||||
|
volumes:
|
||||||
|
- ./dist:/data/dist:rw
|
||||||
|
```
|
||||||
|
|
||||||
|
## 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
|
14
templates/zinst/0/docker-compose.yml
Normal file
14
templates/zinst/0/docker-compose.yml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
version: '2'
|
||||||
|
services:
|
||||||
|
zinst-repository:
|
||||||
|
image: zinst/zinst_repository:0.4
|
||||||
|
volumes:
|
||||||
|
- zinst-data:/data/dist
|
||||||
|
zinst-lb:
|
||||||
|
image: rancher/lb-service-haproxy:v0.6.4
|
||||||
|
ports:
|
||||||
|
- ${public_port}:${public_port}/tcp
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
zinst-data:
|
||||||
|
driver: local
|
44
templates/zinst/0/rancher-compose.yml
Normal file
44
templates/zinst/0/rancher-compose.yml
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
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: public_port
|
||||||
|
description: "public port to access the zinst repository"
|
||||||
|
label: "Public Port"
|
||||||
|
required: true
|
||||||
|
default: "8080"
|
||||||
|
type: "int"
|
||||||
|
|
||||||
|
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: ${public_port}
|
||||||
|
target_port: 80
|
||||||
|
health_check:
|
||||||
|
response_timeout: 2000
|
||||||
|
healthy_threshold: 2
|
||||||
|
port: 42
|
||||||
|
unhealthy_threshold: 3
|
||||||
|
interval: 2000
|
BIN
templates/zinst/catalogIcon-zinst.png
Executable file
BIN
templates/zinst/catalogIcon-zinst.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 42 KiB |
5
templates/zinst/config.yml
Normal file
5
templates/zinst/config.yml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
name: Zinst Package repository
|
||||||
|
description: |
|
||||||
|
Infra as a code by your own packages. http://zinst.me
|
||||||
|
version: 7.0.5
|
||||||
|
category: DevOps
|
Loading…
x
Reference in New Issue
Block a user