OMD is prepared to be fully versioned by git. This works quite well, because OMD
separates strictly between packaged software and user configuration files. So we
can easily put the complete site under version control.
Create an empty repository for your site:
OMD[example]:~$ git init
Initialized empty Git repository in /opt/omd/sites/example/.git/
Commit the current state:
OMD[example]:~$ git config --global user.email "you@example.com"
OMD[example]:~$ git config --global user.name "Your Name"
OMD[example]:~$ git add .
OMD[example]:~$ git commit -v -m 'initial commit'
Verify if it worked:
OMD[example]:~$ git status
# On branch master
nothing to commit, working directory clean
OMD[example]:~$ git log
commit a4e1a6c55f574ec2df3494000fb3ec3a6c54a68f
Author: Your Name <you@example.com>
Date: Mon Apr 9 09:34:00 2018 +0200
initial commit
Thruk ships an example hook which can be used right away. All we need to
do is to enable the hooks.
OMD[example]:~$ cat > etc/thruk/thruk_local.d/git.conf <<EOF
<Component Thruk::Plugin::ConfigTool>
pre_obj_save_cmd = ./share/thruk/examples/config_tool_git_checkin
post_obj_save_cmd = ./share/thruk/examples/config_tool_git_checkin
</Component>
EOF
This hook will commit everything below ./etc/core/conf.d
whenever you hit the
save button.
Reload apache so Thruk will read the new configuration:
OMD[example]:~$ omd reload apache
Then change something within Thruks config tool and if everything worked, you
will see a popup to enter a change summary when hitting the save button:
Enter something and hit OK
.
Now you should see this commit in the history page:
And in the command line:
OMD[example]:~$ git log -1
commit 288d793af7f58ecf3813dcc39d0581d8d196e944
Author: omdadmin <example@centos7-64>
Date: Mon Apr 9 09:47:22 2018 +0200
changed ip address
(automatic commit of config tool changes (omdadmin))