diff --git a/templates/zinst/0/README.md b/templates/zinst/0/README.md new file mode 100644 index 0000000..86c73a2 --- /dev/null +++ b/templates/zinst/0/README.md @@ -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 diff --git a/templates/zinst/0/docker-compose.yml b/templates/zinst/0/docker-compose.yml new file mode 100644 index 0000000..91eab26 --- /dev/null +++ b/templates/zinst/0/docker-compose.yml @@ -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 diff --git a/templates/zinst/0/rancher-compose.yml b/templates/zinst/0/rancher-compose.yml new file mode 100644 index 0000000..69874c8 --- /dev/null +++ b/templates/zinst/0/rancher-compose.yml @@ -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 diff --git a/templates/zinst/catalogIcon-zinst.png b/templates/zinst/catalogIcon-zinst.png new file mode 100755 index 0000000..d3fa018 Binary files /dev/null and b/templates/zinst/catalogIcon-zinst.png differ diff --git a/templates/zinst/config.yml b/templates/zinst/config.yml new file mode 100644 index 0000000..ac31f51 --- /dev/null +++ b/templates/zinst/config.yml @@ -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