Skip to content

Commit

Permalink
apply annotations on single line, no restore mode
Browse files Browse the repository at this point in the history
Signed-off-by: Wayne Witzel III <[email protected]>
  • Loading branch information
wwitzel3 committed Aug 27, 2018
1 parent 030ea6c commit 658c6d5
Showing 1 changed file with 6 additions and 17 deletions.
23 changes: 6 additions & 17 deletions docs/hooks.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,29 +59,18 @@ setup this example.
The Ark [example/nginx-app/with-pv.yaml][2] serves as an example of adding the pre and post hook annotations directly
to your declarative deployment. Below is an example of what updating an object in place might look like.

Place Ark in restore only mode. This will prevent Ark backups from running while you are adding the
annotations and avoid the condition where the pre hook freezes the file system, but there is no
post hook setup to unfreeze it.

```shell
kubectl patch -n heptio-ark config default --type merge -p '{"restoreOnlyMode": true}'
```

Now you patch your pod with the required annotations.

```shell
kubectl annotate pod -n nginx-example -l app=nginx pre.hook.backup.ark.heptio.com/command='["/sbin/fsfreeze", "--freeze", "/var/log/nginx"]'
kubectl annotate pod -n nginx-example -l app=nginx pre.hook.backup.ark.heptio.com/containr=fsfreeze

kubectl annotate pod -n nginx-example -l app=nginx post.hook.backup.ark.heptio.com/command='["/sbin/fsfreeze", "--unfreeze", "/var/log/nginx"]'
kubectl annotate pod -n nginx-example -l app=nginx post.hook.backup.ark.heptio.com/containr=fsfreeze
kubectl annotate pod -n nginx-example -l app=nginx \
pre.hook.backup.ark.heptio.com/command='["/sbin/fsfreeze", "--freeze", "/var/log/nginx"]' \
pre.hook.backup.ark.heptio.com/containr=fsfreeze \
post.hook.backup.ark.heptio.com/command='["/sbin/fsfreeze", "--unfreeze", "/var/log/nginx"]' \
post.hook.backup.ark.heptio.com/containr=fsfreeze
```

Finally, remove Ark from restore only mode and test the pre and post hooks by creating a backup. You can use the Ark logs to verify that the pre and post
Now test the pre and post hooks by creating a backup. You can use the Ark logs to verify that the pre and post
hooks are running and exiting without error.

```shell
kubectl patch -n heptio-ark config default --type merge -p '{"restoreOnlyMode": false}'
ark backup create nginx-hook-test

ark backup get nginx-hook-test
Expand Down

0 comments on commit 658c6d5

Please sign in to comment.