1
0
mirror of https://github.com/limosek/zaf.git synced 2024-11-14 06:29:07 +01:00

Released version 1.1

This commit is contained in:
Lukas Macura 2016-04-14 10:39:33 +02:00
parent df7c5f56dd
commit ed5e0501b8
5 changed files with 27 additions and 17 deletions

View File

@ -25,18 +25,18 @@ So zaf is here for you :)
## Installing Zaf ## Installing Zaf
You need to be root and you must have curl installed on your system. Depending on your system, github certificates may not be available so you have to use *-k* option for curl (insecure). Default installation type is silent. So there will be no questions and everything will be autodetected. This simple command should be used on most systems: You need to be root and you must have curl installed on your system. Depending on your system, github certificates may not be available so you have to use *-k* option for curl (insecure). Default installation type is silent. So there will be no questions and everything will be autodetected. This simple command should be used on most systems:
``` ```
curl -k https://raw.githubusercontent.com/limosek/zaf/master/install.sh | sh curl -k https://raw.githubusercontent.com/limosek/zaf/1.1/install.sh | sh
``` ```
### Install options and autoconfiguration ### Install options and autoconfiguration
General parameters for install.sh on any system (simplest way how to install) General parameters for install.sh on any system (simplest way how to install)
``` ```
curl -k https://raw.githubusercontent.com/limosek/zaf/master/install.sh | \ curl -k https://raw.githubusercontent.com/limosek/zaf/1.1/install.sh | \
sh -s {auto|interactive|debug-auto|debug-interactive} [Agent-Options] [Zaf-Options] sh -s {auto|interactive|debug-auto|debug-interactive} [Agent-Options] [Zaf-Options]
``` ```
or use git version: or use git version:
``` ```
git clone https://github.com/limosek/zaf.git; cd zaf; git checkout master git clone https://github.com/limosek/zaf.git; cd zaf; git checkout 1.1
./install.sh {auto|interactive|debug-auto|debug-interactive} [Agent-Options] [Zaf-Options] ./install.sh {auto|interactive|debug-auto|debug-interactive} [Agent-Options] [Zaf-Options]
Agent-Options: Z_Option=value [...] Agent-Options: Z_Option=value [...]
Zaf-Options: ZAF_OPT=value [...] Zaf-Options: ZAF_OPT=value [...]
@ -67,7 +67,7 @@ Now everything was tested on Debian and OpenWrt. If somebody is interrested in,
Suppose you want to autoinstall agent on clean system. You need only curl installed. Everything else is one-cmd process. Suppose you want to autoinstall agent on clean system. You need only curl installed. Everything else is one-cmd process.
This command will install zaf, install zabbix-agent if necessary and sets zabbix variables on agent to reach server. This command can be automatized by puppet or another deploying system. This command will install zaf, install zabbix-agent if necessary and sets zabbix variables on agent to reach server. This command can be automatized by puppet or another deploying system.
``` ```
curl -k https://raw.githubusercontent.com/limosek/zaf/master/install.sh | sh -s auto \ curl -k https://raw.githubusercontent.com/limosek/zaf/1.1/install.sh | sh -s auto \
Z_Server=zabbix.server.local \ Z_Server=zabbix.server.local \
Z_ServerActive=zabbix.server.local \ Z_ServerActive=zabbix.server.local \
Z_HostnameItem=system.hostname Z_RefreshActiveChecks=60 \ Z_HostnameItem=system.hostname Z_RefreshActiveChecks=60 \
@ -79,10 +79,10 @@ You can make your own deb package with preconfigured option. It is up to you to
``` ```
git clone https://github.com/limosek/zaf.git \ git clone https://github.com/limosek/zaf.git \
&& cd zaf \ && cd zaf \
&& git checkout master \ && git checkout 1.1 \
&& git clone https://github.com/limosek/zaf-plugins.git \ && git clone https://github.com/limosek/zaf-plugins.git \
&& make deb PLUGINS="./zaf-plugins/fsx" IPLUGINS="zaf" ZAF_OPTIONS="ZAF_GIT=0" AGENT_OPTIONS="Z_Server=zabbix.server Z_ServerActive=zabbix.server Z_StartAgents=8" && make deb PLUGINS="./zaf-plugins/fsx" IPLUGINS="zaf" ZAF_OPTIONS="ZAF_GIT=0" AGENT_OPTIONS="Z_Server=zabbix.server Z_ServerActive=zabbix.server Z_StartAgents=8"
sudo dpkg -i out/zaf-1.1master.deb sudo dpkg -i out/zaf-1.1.deb
``` ```
General usage: General usage:
``` ```
@ -124,7 +124,7 @@ During plugin installation, zaf will check all dependencies, do install binaries
Zaf binary can be installed on any system from openwrt to big system. It has minimal dependencies and is shell based. Is has minimal size (up to 50kb of code). It can be used for installing, removing and testing zaf plugin items. Zaf should be run as root. Zaf binary can be installed on any system from openwrt to big system. It has minimal dependencies and is shell based. Is has minimal size (up to 50kb of code). It can be used for installing, removing and testing zaf plugin items. Zaf should be run as root.
``` ```
zaf zaf
zaf Version 1.1master. Please use some of this commands: zaf Version 1.1. Please use some of this commands:
zaf update To update repo zaf update To update repo
zaf plugins To list installed plugins zaf plugins To list installed plugins
zaf show [plugin] To show installed plugins or plugin info zaf show [plugin] To show installed plugins or plugin info

View File

@ -6,7 +6,7 @@ if [ -z "$ZAF_URL" ]; then
ZAF_URL="https://github.com/limosek/zaf/" ZAF_URL="https://github.com/limosek/zaf/"
fi fi
[ -z "$ZAF_GITBRANCH" ] && ZAF_GITBRANCH=master [ -z "$ZAF_GITBRANCH" ] && ZAF_GITBRANCH=1.1
# Lite version of zaf_fetch_url, full version will be loaded later # Lite version of zaf_fetch_url, full version will be loaded later
zaf_fetch_url(){ zaf_fetch_url(){

View File

@ -55,11 +55,13 @@ zaf_block_get_option() {
# $1 - control file # $1 - control file
# $2 - option name # $2 - option name
zaf_ctrl_get_global_option() { zaf_ctrl_get_global_option() {
local ctrlvar
local ctrlopt local ctrlopt
eval ctrlopt=\$ZAF_CTRL_$(echo $2| tr '-' '_') ctrlopt="ZAF_CTRL_$(zaf_stripctrl $2)"
if [ -n "$ctrlopt" ]; then eval ctrlvar=\$$ctrlopt
zaf_wrn "Overriding $2 from env" if [ -n "$ctrlvar" ]; then
zaf_dbg "Overriding control field $2 from env $ctrlopt($ctrlvar)"
echo $ctrlopt echo $ctrlopt
else else
zaf_ctrl_get_global_block <$1 | zaf_block_get_moption "$2" \ zaf_ctrl_get_global_block <$1 | zaf_block_get_moption "$2" \
@ -71,11 +73,13 @@ zaf_ctrl_get_global_option() {
# $2 - item name # $2 - item name
# $3 - option name # $3 - option name
zaf_ctrl_get_item_option() { zaf_ctrl_get_item_option() {
local ctrlvar
local ctrlopt local ctrlopt
eval ctrlopt=\$ZAF_CTRL_$2_$(echo $3| tr '-' '_') ctrlopt="ZAF_CTRLI_$(zaf_stripctrl $2)_$(zaf_stripctrl $3)"
if [ -n "$ctrlopt" ]; then eval ctrlvar=\$$ctrlopt
zaf_wrn "Overriding item $2 option $3 from env" if [ -n "$ctrlvar" ]; then
zaf_dbg "Overriding item control field $2/$3 from env $ctrlopt($ctrlvar)"
echo $ctrlopt echo $ctrlopt
else else
zaf_ctrl_get_item_block <$1 "$2" | zaf_block_get_moption "$3" \ zaf_ctrl_get_item_block <$1 "$2" | zaf_block_get_moption "$3" \
@ -188,7 +192,7 @@ zaf_ctrl_generate_cfg() {
items=$(zaf_ctrl_get_items <"$1") items=$(zaf_ctrl_get_items <"$1")
(set -e (set -e
for i in $items; do for i in $items; do
iscript=$(echo $i | tr -d '[]*&;:') iscript=$(zaf_stripctrl $i)
params=$(zaf_ctrl_get_item_option $1 $i "Parameters") params=$(zaf_ctrl_get_item_option $1 $i "Parameters")
if [ -n "$params" ]; then if [ -n "$params" ]; then
ikey="$2.$i[*]" ikey="$2.$i[*]"

View File

@ -1,7 +1,7 @@
# Hardcoded variables # Hardcoded variables
ZAF_VERSION="1.1" ZAF_VERSION="1.1"
ZAF_GITBRANCH="master" ZAF_GITBRANCH="1.1"
ZAF_URL="https://github.com/limosek/zaf" ZAF_URL="https://github.com/limosek/zaf"
ZAF_RAW_URL="https://raw.githubusercontent.com/limosek/zaf" ZAF_RAW_URL="https://raw.githubusercontent.com/limosek/zaf"
@ -426,3 +426,9 @@ zaf_toupper() {
tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
} }
# Return simplified key with discarded special chars.
zaf_stripctrl() {
echo $1 | tr '[]*&;:.-' '________'
}

2
zaf
View File

@ -312,7 +312,7 @@ api)
*) *)
echo "$0 Version ${ZAF_VERSION}. Please use some of this commands:" echo "$0 Version ${ZAF_VERSION}. Please use some of this commands:"
echo "$0 Cmd [ZAF_OPTION=value] [ZAF_CTRL_Option=value] ..." echo "$0 Cmd [ZAF_OPTION=value] [ZAF_CTRL_Option=value] [ZAF_CTRLI_Item_Option=value] ..."
echo "Commands:" echo "Commands:"
echo "$0 update To update repo (not plugins, similar to apt-get update)" echo "$0 update To update repo (not plugins, similar to apt-get update)"
echo "$0 upgrade To upgrade installed plugins from repo" echo "$0 upgrade To upgrade installed plugins from repo"