<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>icinga, branch HEAD</title>
<subtitle>Icinga2 API client in Go
</subtitle>
<entry>
<id>0a9d0322f4fa30a629d32d6392a01f1f0d8b3fb8</id>
<published>2026-08-26T04:27:41Z</published>
<updated>2026-08-26T04:27:41Z</updated>
<title type="text">delete now unused CI/CD config</title>
<link rel="alternate" type="text/html" href="commit/0a9d0322f4fa30a629d32d6392a01f1f0d8b3fb8.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 0a9d0322f4fa30a629d32d6392a01f1f0d8b3fb8
parent 65a6eeea793eb36646b5c1fb5cc517936168719c
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Wed, 26 Aug 2026 14:27:41 +1000

delete now unused CI/CD config

</content>
</entry>
<entry>
<id>65a6eeea793eb36646b5c1fb5cc517936168719c</id>
<published>2024-11-04T08:34:07Z</published>
<updated>2024-11-04T08:34:07Z</updated>
<title type="text">Update to working godoc host</title>
<link rel="alternate" type="text/html" href="commit/65a6eeea793eb36646b5c1fb5cc517936168719c.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 65a6eeea793eb36646b5c1fb5cc517936168719c
parent bd9616a8e48b8a2f05021f71883d555b874c97e4
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Mon,  4 Nov 2024 19:34:07 +1100

Update to working godoc host

</content>
</entry>
<entry>
<id>bd9616a8e48b8a2f05021f71883d555b874c97e4</id>
<published>2023-04-27T03:19:53Z</published>
<updated>2023-04-27T03:19:53Z</updated>
<title type="text">Always return a usable Client</title>
<link rel="alternate" type="text/html" href="commit/bd9616a8e48b8a2f05021f71883d555b874c97e4.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit bd9616a8e48b8a2f05021f71883d555b874c97e4
parent 2f7e40d9e97ce934b511c4468f323f9fbaa27f29
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Thu, 27 Apr 2023 13:19:53 +1000

Always return a usable Client

Just because we have an error connecting to the server doesn&#39;t mean
the client&#39;s configuration is invalid. Callers can inspect the error
we return and decide what to do with the returned client.

</content>
</entry>
<entry>
<id>2f7e40d9e97ce934b511c4468f323f9fbaa27f29</id>
<published>2023-04-27T03:19:35Z</published>
<updated>2023-04-27T03:19:35Z</updated>
<title type="text">Correctly return scan errors</title>
<link rel="alternate" type="text/html" href="commit/2f7e40d9e97ce934b511c4468f323f9fbaa27f29.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 2f7e40d9e97ce934b511c4468f323f9fbaa27f29
parent d65c457cdb78bfe473db953cb4cd0f8243ec21be
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Thu, 27 Apr 2023 13:19:35 +1000

Correctly return scan errors

</content>
</entry>
<entry>
<id>d65c457cdb78bfe473db953cb4cd0f8243ec21be</id>
<published>2023-04-22T06:31:42Z</published>
<updated>2023-04-22T06:31:42Z</updated>
<title type="text">Trim const type prefix</title>
<link rel="alternate" type="text/html" href="commit/d65c457cdb78bfe473db953cb4cd0f8243ec21be.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit d65c457cdb78bfe473db953cb4cd0f8243ec21be
parent 6c821dbc0890acc0ce1ff7c6a98523aa7fca0573
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Sat, 22 Apr 2023 16:31:42 +1000

Trim const type prefix

Not needed and easier to read when exposed in UI.

</content>
</entry>
<entry>
<id>6c821dbc0890acc0ce1ff7c6a98523aa7fca0573</id>
<published>2023-03-11T06:36:38Z</published>
<updated>2023-03-11T06:36:38Z</updated>
<title type="text">cmd/checkweb: start experimental basic web app for icinga2</title>
<link rel="alternate" type="text/html" href="commit/6c821dbc0890acc0ce1ff7c6a98523aa7fca0573.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 6c821dbc0890acc0ce1ff7c6a98523aa7fca0573
parent 410b374583e5172b215020f0ad3db35a8635fa59
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Sat, 11 Mar 2023 17:36:38 +1100

cmd/checkweb: start experimental basic web app for icinga2

No relational databases or server-side dependencies required.
Requires docs!

</content>
</entry>
<entry>
<id>410b374583e5172b215020f0ad3db35a8635fa59</id>
<published>2023-03-11T06:35:13Z</published>
<updated>2023-03-11T06:35:44Z</updated>
<title type="text">Handle looking up objects with slashes in name</title>
<link rel="alternate" type="text/html" href="commit/410b374583e5172b215020f0ad3db35a8635fa59.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 410b374583e5172b215020f0ad3db35a8635fa59
parent 001c466e0421fdbaa864cc31ba288f60dc37068a
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Sat, 11 Mar 2023 17:35:13 +1100

Handle looking up objects with slashes in name

</content>
</entry>
<entry>
<id>001c466e0421fdbaa864cc31ba288f60dc37068a</id>
<published>2023-03-11T06:34:16Z</published>
<updated>2023-03-11T06:35:44Z</updated>
<title type="text">Store notes and notes_url object attributes</title>
<link rel="alternate" type="text/html" href="commit/001c466e0421fdbaa864cc31ba288f60dc37068a.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 001c466e0421fdbaa864cc31ba288f60dc37068a
parent 34e59742782b07bf5a86b722b247eeb368e7f013
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Sat, 11 Mar 2023 17:34:16 +1100

Store notes and notes_url object attributes

Used to document, explain stuff. Useful!

</content>
</entry>
<entry>
<id>34e59742782b07bf5a86b722b247eeb368e7f013</id>
<published>2023-03-08T09:13:02Z</published>
<updated>2023-03-11T06:35:44Z</updated>
<title type="text">delete experimental object watcher</title>
<link rel="alternate" type="text/html" href="commit/34e59742782b07bf5a86b722b247eeb368e7f013.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 34e59742782b07bf5a86b722b247eeb368e7f013
parent 8b3445266f32f04c7bd46718dd5948a6e1543f27
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Wed,  8 Mar 2023 20:13:02 +1100

delete experimental object watcher

</content>
</entry>
<entry>
<id>8b3445266f32f04c7bd46718dd5948a6e1543f27</id>
<published>2023-03-08T09:13:02Z</published>
<updated>2023-03-08T22:16:58Z</updated>
<title type="text">delete experimental object watcher</title>
<link rel="alternate" type="text/html" href="commit/8b3445266f32f04c7bd46718dd5948a6e1543f27.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 8b3445266f32f04c7bd46718dd5948a6e1543f27
parent 9016a0fbf4855edbd3463ae2edf332d3a8f44466
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Wed,  8 Mar 2023 20:13:02 +1100

delete experimental object watcher

</content>
</entry>
<entry>
<id>9016a0fbf4855edbd3463ae2edf332d3a8f44466</id>
<published>2023-03-08T09:03:28Z</published>
<updated>2023-03-08T09:09:26Z</updated>
<title type="text">initial event stream implementation</title>
<link rel="alternate" type="text/html" href="commit/9016a0fbf4855edbd3463ae2edf332d3a8f44466.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 9016a0fbf4855edbd3463ae2edf332d3a8f44466
parent 43c71de36cec7d072d2436925b93cf2e94b71606
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Wed,  8 Mar 2023 20:03:28 +1100

initial event stream implementation

Documentation too. It&#39;s not quite clear enough that callers need to
handle resubscribing on any errors reading the stream. It&#39;s documented
for Subscribe but example usage would be good too.

</content>
</entry>
<entry>
<id>43c71de36cec7d072d2436925b93cf2e94b71606</id>
<published>2022-12-01T02:58:55Z</published>
<updated>2022-12-01T02:58:55Z</updated>
<title type="text">wip</title>
<link rel="alternate" type="text/html" href="commit/43c71de36cec7d072d2436925b93cf2e94b71606.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 43c71de36cec7d072d2436925b93cf2e94b71606
parent f21c51c745099616c3451e39569df1b46feae6af
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Thu,  1 Dec 2022 13:58:55 +1100

wip

</content>
</entry>
<entry>
<id>f21c51c745099616c3451e39569df1b46feae6af</id>
<published>2022-11-01T22:21:56Z</published>
<updated>2022-11-01T23:49:15Z</updated>
<title type="text">Support icinga 2.12 acknowledgement, state, statetype field</title>
<link rel="alternate" type="text/html" href="commit/f21c51c745099616c3451e39569df1b46feae6af.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit f21c51c745099616c3451e39569df1b46feae6af
parent fb8a219e2a3363c6ac9f5e819b45cca7ca4a1086
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Wed,  2 Nov 2022 09:21:56 +1100

Support icinga 2.12 acknowledgement, state, statetype field

On Debian 11 these fields are floats, not ints (or boolean) for some
reason. This patch allows unmarshalling either floats or integers
depending on what the icinga API sends us.

</content>
</entry>
<entry>
<id>fb8a219e2a3363c6ac9f5e819b45cca7ca4a1086</id>
<published>2022-10-22T11:00:31Z</published>
<updated>2022-10-22T11:00:31Z</updated>
<title type="text">link to the new general mailing list</title>
<link rel="alternate" type="text/html" href="commit/fb8a219e2a3363c6ac9f5e819b45cca7ca4a1086.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit fb8a219e2a3363c6ac9f5e819b45cca7ca4a1086
parent cb667a50cb18cc38d49e520642743de727bed3ca
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Sat, 22 Oct 2022 22:00:31 +1100

link to the new general mailing list

because there&#39;s so many subscribers... lol

</content>
</entry>
<entry>
<id>cb667a50cb18cc38d49e520642743de727bed3ca</id>
<published>2022-02-12T00:11:20Z</published>
<updated>2022-02-12T00:11:20Z</updated>
<title type="text">Store last Host check result and time</title>
<link rel="alternate" type="text/html" href="commit/cb667a50cb18cc38d49e520642743de727bed3ca.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit cb667a50cb18cc38d49e520642743de727bed3ca
parent a17d3f9dc6856d0cb60bf176e66844dc2752782d
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Sat, 12 Feb 2022 11:11:20 +1100

Store last Host check result and time

Includes tests and simplified unmarshal test.

</content>
</entry>
<entry>
<id>a17d3f9dc6856d0cb60bf176e66844dc2752782d</id>
<published>2022-02-11T23:45:54Z</published>
<updated>2022-02-11T23:48:25Z</updated>
<title type="text">Simplify service JSON marshalling</title>
<link rel="alternate" type="text/html" href="commit/a17d3f9dc6856d0cb60bf176e66844dc2752782d.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit a17d3f9dc6856d0cb60bf176e66844dc2752782d
parent 8f08828e8134e1160b4be74544d3b6020059366e
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Sat, 12 Feb 2022 10:45:54 +1100

Simplify service JSON marshalling

We don&#39;t need to have a MarshalJSON method just so that it can be
created ok. It&#39;s clearer to do stuff necessart for object creation at
the time of object creation, not way earlier in some unrelated bit of
the code.
While here simplify the tests to actually test what we&#39;re worried about.

</content>
</entry>
<entry>
<id>8f08828e8134e1160b4be74544d3b6020059366e</id>
<published>2022-02-11T04:39:22Z</published>
<updated>2022-02-11T04:39:22Z</updated>
<title type="text">store a service&#39;s last check result</title>
<link rel="alternate" type="text/html" href="commit/8f08828e8134e1160b4be74544d3b6020059366e.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 8f08828e8134e1160b4be74544d3b6020059366e
parent f4705a64149eb5336dd9f69e1a32ebf7d886a132
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Fri, 11 Feb 2022 15:39:22 +1100

store a service&#39;s last check result

</content>
</entry>
<entry>
<id>f4705a64149eb5336dd9f69e1a32ebf7d886a132</id>
<published>2022-02-04T03:31:47Z</published>
<updated>2022-02-04T03:31:47Z</updated>
<title type="text">icinga_test: Don&#39;t assign group for random hosts</title>
<link rel="alternate" type="text/html" href="commit/f4705a64149eb5336dd9f69e1a32ebf7d886a132.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit f4705a64149eb5336dd9f69e1a32ebf7d886a132
parent 62bf235cf08fdde3e89d389bdc78b8602069b28c
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Fri,  4 Feb 2022 14:31:47 +1100

icinga_test: Don&#39;t assign group for random hosts

We can test hostgroup assignment in other tests if desired.

</content>
</entry>
<entry>
<id>62bf235cf08fdde3e89d389bdc78b8602069b28c</id>
<published>2022-02-04T03:23:43Z</published>
<updated>2022-02-04T03:23:43Z</updated>
<title type="text">icinga_test: Inline permissions response</title>
<link rel="alternate" type="text/html" href="commit/62bf235cf08fdde3e89d389bdc78b8602069b28c.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 62bf235cf08fdde3e89d389bdc78b8602069b28c
parent 87154adc3ffe738b0e1223d666c0ae63e1926399
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Fri,  4 Feb 2022 14:23:43 +1100

icinga_test: Inline permissions response

No need for a file on disk; it&#39;s only referenced once.

</content>
</entry>
<entry>
<id>87154adc3ffe738b0e1223d666c0ae63e1926399</id>
<published>2022-02-04T03:06:28Z</published>
<updated>2022-02-04T03:06:28Z</updated>
<title type="text">Run a full test on builds.sr.ht for every commit</title>
<link rel="alternate" type="text/html" href="commit/87154adc3ffe738b0e1223d666c0ae63e1926399.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 87154adc3ffe738b0e1223d666c0ae63e1926399
parent b717ce9bd51371aefd55ccd6ddf623f83aed8e29
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Fri,  4 Feb 2022 14:06:28 +1100

Run a full test on builds.sr.ht for every commit

On OpenBSD. Why not?

</content>
</entry>
<entry>
<id>b717ce9bd51371aefd55ccd6ddf623f83aed8e29</id>
<published>2022-02-04T02:57:40Z</published>
<updated>2022-02-04T02:57:40Z</updated>
<title type="text">Test against a fake in-processs icinga server</title>
<link rel="alternate" type="text/html" href="commit/b717ce9bd51371aefd55ccd6ddf623f83aed8e29.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit b717ce9bd51371aefd55ccd6ddf623f83aed8e29
parent 49e200e1bf5862fe2a396ba4b3fa1646aa09e3ee
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Fri,  4 Feb 2022 13:57:40 +1100

Test against a fake in-processs icinga server

A lot of the testing doesn&#39;t really flex what a real icinga2 server
does. We can implement a simple fake server with about 250 lines of
Go, then we get all the benefits of really quick feedback and no
dependency on an icinga2 server (which isn&#39;t super easy to set up) for
most tests. More complicated tests are still performed against a real
server listening on loopback (if available).

</content>
</entry>
<entry>
<id>49e200e1bf5862fe2a396ba4b3fa1646aa09e3ee</id>
<published>2022-02-03T00:05:22Z</published>
<updated>2022-02-03T00:05:22Z</updated>
<title type="text">Remove unnecessary parseAPIResponse function</title>
<link rel="alternate" type="text/html" href="commit/49e200e1bf5862fe2a396ba4b3fa1646aa09e3ee.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 49e200e1bf5862fe2a396ba4b3fa1646aa09e3ee
parent 9feb16b3670b92265319b98dbd2bdcb5d8f21db7
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Thu,  3 Feb 2022 11:05:22 +1100

Remove unnecessary parseAPIResponse function

All this did was wrap the usual standard library JSON decode
procedure.

</content>
</entry>
<entry>
<id>9feb16b3670b92265319b98dbd2bdcb5d8f21db7</id>
<published>2022-02-02T15:31:58Z</published>
<updated>2022-02-02T15:31:58Z</updated>
<title type="text">Remove useless loop</title>
<link rel="alternate" type="text/html" href="commit/9feb16b3670b92265319b98dbd2bdcb5d8f21db7.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 9feb16b3670b92265319b98dbd2bdcb5d8f21db7
parent e4ad50b973973310a1823f00ea975697e93e3182
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Thu,  3 Feb 2022 02:31:58 +1100

Remove useless loop

We always returned something on the first iteration, so just remove it.

</content>
</entry>
<entry>
<id>e4ad50b973973310a1823f00ea975697e93e3182</id>
<published>2022-02-02T15:26:08Z</published>
<updated>2022-02-02T15:26:08Z</updated>
<title type="text">panic on unlikely test case</title>
<link rel="alternate" type="text/html" href="commit/e4ad50b973973310a1823f00ea975697e93e3182.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit e4ad50b973973310a1823f00ea975697e93e3182
parent c26e0f9dab045063f9fb15a64233322532b18dcb
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Thu,  3 Feb 2022 02:26:08 +1100

panic on unlikely test case

We&#39;re just in test mode, so it&#39;s ok to panic if we reach this highly unlikely
scenario when, for example, the testdata file changes or something.

</content>
</entry>
<entry>
<id>c26e0f9dab045063f9fb15a64233322532b18dcb</id>
<published>2022-02-02T14:54:23Z</published>
<updated>2022-02-02T15:01:42Z</updated>
<title type="text">Use default MarshalJSON method</title>
<link rel="alternate" type="text/html" href="commit/c26e0f9dab045063f9fb15a64233322532b18dcb.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit c26e0f9dab045063f9fb15a64233322532b18dcb
parent 717a9e7823638c994c6620883fcee2ef98da294b
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Thu,  3 Feb 2022 01:54:23 +1100

Use default MarshalJSON method

There&#39;s no point doing so much manual work and testing just to keep
fields under a &quot;attrs&quot; key when marshalling to JSON. When creating the
object we can just:

1. Marshal the object to JSON
2. Put it all under a &quot;attrs&quot; key.

Now it&#39;s easier to imagine the mapping of the structs to JSON, since
they follow the same rules as everything else in Go.

</content>
</entry>
<entry>
<id>717a9e7823638c994c6620883fcee2ef98da294b</id>
<published>2022-02-02T04:41:21Z</published>
<updated>2022-02-02T04:44:52Z</updated>
<title type="text">Keep test data in version control</title>
<link rel="alternate" type="text/html" href="commit/717a9e7823638c994c6620883fcee2ef98da294b.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 717a9e7823638c994c6620883fcee2ef98da294b
parent dca9442c1f7da187028aaaf66f2ebf7c34d6a863
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Wed,  2 Feb 2022 15:41:21 +1100

Keep test data in version control

While here also don&#39;t log messages in testing unless there&#39;s an error.

</content>
</entry>
<entry>
<id>dca9442c1f7da187028aaaf66f2ebf7c34d6a863</id>
<published>2022-02-02T04:28:46Z</published>
<updated>2022-02-02T04:31:08Z</updated>
<title type="text">Catch all HostStates and ServiceStates</title>
<link rel="alternate" type="text/html" href="commit/dca9442c1f7da187028aaaf66f2ebf7c34d6a863.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit dca9442c1f7da187028aaaf66f2ebf7c34d6a863
parent e35b73d5e39c5601f8db91e5dc8fc38642d1dea4
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Wed,  2 Feb 2022 15:28:46 +1100

Catch all HostStates and ServiceStates

This is closer to the Icinga spec, anything greater than 2 or 3 is unknown.

</content>
</entry>
<entry>
<id>e35b73d5e39c5601f8db91e5dc8fc38642d1dea4</id>
<published>2022-02-02T04:25:48Z</published>
<updated>2022-02-02T04:25:48Z</updated>
<title type="text">Only log on test error</title>
<link rel="alternate" type="text/html" href="commit/e35b73d5e39c5601f8db91e5dc8fc38642d1dea4.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit e35b73d5e39c5601f8db91e5dc8fc38642d1dea4
parent 0324b0fdd256bf328e1eab17200b23aa803d0bd5
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Wed,  2 Feb 2022 15:25:48 +1100

Only log on test error

No news is good news!

</content>
</entry>
<entry>
<id>0324b0fdd256bf328e1eab17200b23aa803d0bd5</id>
<published>2022-02-02T04:23:58Z</published>
<updated>2022-02-02T04:23:58Z</updated>
<title type="text">Just panic on unlikely user test error</title>
<link rel="alternate" type="text/html" href="commit/0324b0fdd256bf328e1eab17200b23aa803d0bd5.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 0324b0fdd256bf328e1eab17200b23aa803d0bd5
parent 46fe962a8b8f10d81d0281a5097886b71c99afda
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Wed,  2 Feb 2022 15:23:58 +1100

Just panic on unlikely user test error

We&#39;re just testing, so we don&#39;t need super robust error handling code.
And if any of those conditions aren&#39;t met then we have serious
problems anyway.

</content>
</entry>
<entry>
<id>46fe962a8b8f10d81d0281a5097886b71c99afda</id>
<published>2022-02-02T03:32:02Z</published>
<updated>2022-02-02T03:32:02Z</updated>
<title type="text">Revert &quot;Create a new client interface&quot;</title>
<link rel="alternate" type="text/html" href="commit/46fe962a8b8f10d81d0281a5097886b71c99afda.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 46fe962a8b8f10d81d0281a5097886b71c99afda
parent bd3b8a33c54037e66233db80fd1120eb0b6215f1
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Wed,  2 Feb 2022 14:32:02 +1100

Revert &quot;Create a new client interface&quot;

This reverts commit bd3b8a33c54037e66233db80fd1120eb0b6215f1.
It&#39;s a bad idea. I&#39;m writing a fake server instead so that we can use
the real client code.

</content>
</entry>
<entry>
<id>bd3b8a33c54037e66233db80fd1120eb0b6215f1</id>
<published>2022-02-01T07:41:33Z</published>
<updated>2022-02-01T07:41:33Z</updated>
<title type="text">Create a new client interface</title>
<link rel="alternate" type="text/html" href="commit/bd3b8a33c54037e66233db80fd1120eb0b6215f1.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit bd3b8a33c54037e66233db80fd1120eb0b6215f1
parent d762d1d1aeb9ddb5a796ccfe1fefa3edea7e242f
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Tue,  1 Feb 2022 18:41:33 +1100

Create a new client interface

So that testing the client doesn&#39;t involve making real HTTP requests.

</content>
</entry>
<entry>
<id>d762d1d1aeb9ddb5a796ccfe1fefa3edea7e242f</id>
<published>2022-02-01T02:18:49Z</published>
<updated>2022-02-01T02:18:49Z</updated>
<title type="text">Correctly return ErrNoMatch when rescheduling a check</title>
<link rel="alternate" type="text/html" href="commit/d762d1d1aeb9ddb5a796ccfe1fefa3edea7e242f.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit d762d1d1aeb9ddb5a796ccfe1fefa3edea7e242f
parent 46ca0f68f521c66d60a5d6646a0a15350533c9b8
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Tue,  1 Feb 2022 13:18:49 +1100

Correctly return ErrNoMatch when rescheduling a check

For some reason the API returns an internal server error status rather
than a Not Found status (as in other methods in the API). We can catch
the condition when results are empty and return ErrNoMatch.

</content>
</entry>
<entry>
<id>46ca0f68f521c66d60a5d6646a0a15350533c9b8</id>
<published>2022-02-01T02:14:39Z</published>
<updated>2022-02-01T02:14:39Z</updated>
<title type="text">Marshal using struct tags rather than a custom map</title>
<link rel="alternate" type="text/html" href="commit/46ca0f68f521c66d60a5d6646a0a15350533c9b8.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 46ca0f68f521c66d60a5d6646a0a15350533c9b8
parent f8031e6577708de406336a0d73dcb1bb922238bc
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Tue,  1 Feb 2022 13:14:39 +1100

Marshal using struct tags rather than a custom map

I was excluding some struct fields so I thought I&#39;d need to do some custom marshalling .
But you don&#39;t need to do this as you can use struct tags to optionally exclude things
from being put into JSON.  Now there&#39;s no longer duplicate code between struct tags and keys in a map when marshalling. Handy!

</content>
</entry>
<entry>
<id>f8031e6577708de406336a0d73dcb1bb922238bc</id>
<published>2022-01-31T22:49:24Z</published>
<updated>2022-01-31T22:49:24Z</updated>
<title type="text">Delete unused testUser var</title>
<link rel="alternate" type="text/html" href="commit/f8031e6577708de406336a0d73dcb1bb922238bc.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit f8031e6577708de406336a0d73dcb1bb922238bc
parent 9ffce56b80990611dbb20ba6c4af4df4f9846140
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Tue,  1 Feb 2022 09:49:24 +1100

Delete unused testUser var

This was used in some old tests but is now unused.

</content>
</entry>
<entry>
<id>9ffce56b80990611dbb20ba6c4af4df4f9846140</id>
<published>2022-01-26T05:54:32Z</published>
<updated>2022-01-31T22:04:27Z</updated>
<title type="text">Properly encode spaces in filter expressions</title>
<link rel="alternate" type="text/html" href="commit/9ffce56b80990611dbb20ba6c4af4df4f9846140.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 9ffce56b80990611dbb20ba6c4af4df4f9846140
parent 64e18a8d1ef9f178f91aed840a371f3785c4d188
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Wed, 26 Jan 2022 16:54:32 +1100

Properly encode spaces in filter expressions

This is a bit tricky. url.QueryEscape() encodes spaces in queries as
&quot;+&quot;, but Icinga2 wants them as &quot;%20&quot;.
A test case is included because this was kinda tricky to debug.

</content>
</entry>
<entry>
<id>64e18a8d1ef9f178f91aed840a371f3785c4d188</id>
<published>2022-01-21T03:10:54Z</published>
<updated>2022-01-21T03:10:54Z</updated>
<title type="text">Correctly return ErrNoMatch</title>
<link rel="alternate" type="text/html" href="commit/64e18a8d1ef9f178f91aed840a371f3785c4d188.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 64e18a8d1ef9f178f91aed840a371f3785c4d188
parent 562d5c1eb8a76a65d49d14b36edefb846f747494
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Fri, 21 Jan 2022 14:10:54 +1100

Correctly return ErrNoMatch

The check was incorrect before. The HTTP status on responses is still
200 OK, but with empty results if there are no matches to the filter.

</content>
</entry>
<entry>
<id>562d5c1eb8a76a65d49d14b36edefb846f747494</id>
<published>2022-01-19T05:34:03Z</published>
<updated>2022-01-19T05:46:36Z</updated>
<title type="text">Store acknowledgement status of hosts, services</title>
<link rel="alternate" type="text/html" href="commit/562d5c1eb8a76a65d49d14b36edefb846f747494.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 562d5c1eb8a76a65d49d14b36edefb846f747494
parent 1646fdebffc4c9069b824f65f8639120c224f312
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Wed, 19 Jan 2022 16:34:03 +1100

Store acknowledgement status of hosts, services

</content>
</entry>
<entry>
<id>1646fdebffc4c9069b824f65f8639120c224f312</id>
<published>2022-01-18T15:04:52Z</published>
<updated>2022-01-18T15:04:52Z</updated>
<title type="text">Actually return permissions grante to the client</title>
<link rel="alternate" type="text/html" href="commit/1646fdebffc4c9069b824f65f8639120c224f312.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 1646fdebffc4c9069b824f65f8639120c224f312
parent cb9dde9996675a4d56608eab8b57109da8484c29
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Wed, 19 Jan 2022 02:04:52 +1100

Actually return permissions grante to the client

Before we were just returning an empty response or something
non-meaningful

</content>
</entry>
<entry>
<id>cb9dde9996675a4d56608eab8b57109da8484c29</id>
<published>2022-01-18T14:12:18Z</published>
<updated>2022-01-18T14:12:18Z</updated>
<title type="text">Let users schedule their own checks</title>
<link rel="alternate" type="text/html" href="commit/cb9dde9996675a4d56608eab8b57109da8484c29.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit cb9dde9996675a4d56608eab8b57109da8484c29
parent dd1562c064ef82c610805dfd8cdaca5af54f6d22
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Wed, 19 Jan 2022 01:12:18 +1100

Let users schedule their own checks

</content>
</entry>
<entry>
<id>dd1562c064ef82c610805dfd8cdaca5af54f6d22</id>
<published>2022-01-18T13:37:18Z</published>
<updated>2022-01-18T13:37:18Z</updated>
<title type="text">Always format generated code</title>
<link rel="alternate" type="text/html" href="commit/dd1562c064ef82c610805dfd8cdaca5af54f6d22.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit dd1562c064ef82c610805dfd8cdaca5af54f6d22
parent f5fde32e94d77a44e85a28f9263531b34fdf7c8b
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Wed, 19 Jan 2022 00:37:18 +1100

Always format generated code

While here document what is needed to actually run go generate.

</content>
</entry>
<entry>
<id>f5fde32e94d77a44e85a28f9263531b34fdf7c8b</id>
<published>2022-01-18T13:11:29Z</published>
<updated>2022-01-18T13:11:29Z</updated>
<title type="text">Handle last check result of services</title>
<link rel="alternate" type="text/html" href="commit/f5fde32e94d77a44e85a28f9263531b34fdf7c8b.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit f5fde32e94d77a44e85a28f9263531b34fdf7c8b
parent 7cb145ba970416743d12a36bb0a4df59264203da
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Wed, 19 Jan 2022 00:11:29 +1100

Handle last check result of services

Includes a test to know that we&#39;re handling the JSON properly.

</content>
</entry>
<entry>
<id>7cb145ba970416743d12a36bb0a4df59264203da</id>
<published>2022-01-18T13:01:39Z</published>
<updated>2022-01-18T13:04:18Z</updated>
<title type="text">Implement checker interface for HostGroup</title>
<link rel="alternate" type="text/html" href="commit/7cb145ba970416743d12a36bb0a4df59264203da.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 7cb145ba970416743d12a36bb0a4df59264203da
parent dd0af5f789c1bac0444c33fcc4434922be48d1e7
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Wed, 19 Jan 2022 00:01:39 +1100

Implement checker interface for HostGroup

This also adds a test for checking all hosts in a HostGroup.

</content>
</entry>
<entry>
<id>dd0af5f789c1bac0444c33fcc4434922be48d1e7</id>
<published>2022-01-18T12:59:27Z</published>
<updated>2022-01-18T12:59:27Z</updated>
<title type="text">Correctly marshal Hosts into JSON</title>
<link rel="alternate" type="text/html" href="commit/dd0af5f789c1bac0444c33fcc4434922be48d1e7.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit dd0af5f789c1bac0444c33fcc4434922be48d1e7
parent e2cace7fed7b46be01306cd0b4e94093b0bdcec2
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Tue, 18 Jan 2022 23:59:27 +1100

Correctly marshal Hosts into JSON

We were missing some attributes, like not adding any groups or display
names. This also adds a test which checks whether we are marshalling
hosts into JSON correctly.

</content>
</entry>
<entry>
<id>e2cace7fed7b46be01306cd0b4e94093b0bdcec2</id>
<published>2022-01-18T11:41:00Z</published>
<updated>2022-01-18T11:41:00Z</updated>
<title type="text">Document checker Check() methods</title>
<link rel="alternate" type="text/html" href="commit/e2cace7fed7b46be01306cd0b4e94093b0bdcec2.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit e2cace7fed7b46be01306cd0b4e94093b0bdcec2
parent 02a1a10065dd3be4f89f30756adc670b1a8ab468
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Tue, 18 Jan 2022 22:41:00 +1100

Document checker Check() methods

</content>
</entry>
<entry>
<id>02a1a10065dd3be4f89f30756adc670b1a8ab468</id>
<published>2022-01-18T11:27:28Z</published>
<updated>2022-01-18T11:40:39Z</updated>
<title type="text">Support cascading delete of objects</title>
<link rel="alternate" type="text/html" href="commit/02a1a10065dd3be4f89f30756adc670b1a8ab468.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 02a1a10065dd3be4f89f30756adc670b1a8ab468
parent da19a2fd0fbbf44bc5495e68c7f24103d025b3b6
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Tue, 18 Jan 2022 22:27:28 +1100

Support cascading delete of objects

</content>
</entry>
<entry>
<id>da19a2fd0fbbf44bc5495e68c7f24103d025b3b6</id>
<published>2022-01-18T08:55:59Z</published>
<updated>2022-01-18T08:55:59Z</updated>
<title type="text">Store host state type</title>
<link rel="alternate" type="text/html" href="commit/da19a2fd0fbbf44bc5495e68c7f24103d025b3b6.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit da19a2fd0fbbf44bc5495e68c7f24103d025b3b6
parent 191337d0c3d59aa9a990eb5192664d5c5079f187
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Tue, 18 Jan 2022 19:55:59 +1100

Store host state type

</content>
</entry>
<entry>
<id>191337d0c3d59aa9a990eb5192664d5c5079f187</id>
<published>2022-01-18T08:21:15Z</published>
<updated>2022-01-18T08:21:15Z</updated>
<title type="text">Add checking of services and hosts</title>
<link rel="alternate" type="text/html" href="commit/191337d0c3d59aa9a990eb5192664d5c5079f187.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 191337d0c3d59aa9a990eb5192664d5c5079f187
parent e6fcfaf5b395db10ed791a73814b9e002be4a980
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Tue, 18 Jan 2022 19:21:15 +1100

Add checking of services and hosts

And also add a icinga_test package that does the black-box tests
i.e. tests which speak to a real icinga server.

</content>
</entry>
<entry>
<id>e6fcfaf5b395db10ed791a73814b9e002be4a980</id>
<published>2022-01-18T03:08:12Z</published>
<updated>2022-01-18T03:08:12Z</updated>
<title type="text">Set accurate crud.go header comment</title>
<link rel="alternate" type="text/html" href="commit/e6fcfaf5b395db10ed791a73814b9e002be4a980.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit e6fcfaf5b395db10ed791a73814b9e002be4a980
parent 5105405ecc4e2ca95d7a7bab841b3de1520fc852
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Tue, 18 Jan 2022 14:08:12 +1100

Set accurate crud.go header comment

getopt(1) clears the value of &quot;$@&quot;, so grab it before it&#39;s cleared

</content>
</entry>
<entry>
<id>5105405ecc4e2ca95d7a7bab841b3de1520fc852</id>
<published>2022-01-18T02:58:32Z</published>
<updated>2022-01-18T02:58:32Z</updated>
<title type="text">deduplicate new test client code</title>
<link rel="alternate" type="text/html" href="commit/5105405ecc4e2ca95d7a7bab841b3de1520fc852.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 5105405ecc4e2ca95d7a7bab841b3de1520fc852
parent e0c24850440b8bcaa5bf6a49c0dd493fb30e94fb
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Tue, 18 Jan 2022 13:58:32 +1100

deduplicate new test client code

This adds a newTestClient option so that we aren&#39;t constantly creating
new http transports clients and all that

</content>
</entry>
<entry>
<id>e0c24850440b8bcaa5bf6a49c0dd493fb30e94fb</id>
<published>2022-01-14T00:21:29Z</published>
<updated>2022-01-14T00:21:29Z</updated>
<title type="text">Support Icinga2 hostgroups</title>
<link rel="alternate" type="text/html" href="commit/e0c24850440b8bcaa5bf6a49c0dd493fb30e94fb.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit e0c24850440b8bcaa5bf6a49c0dd493fb30e94fb
parent 7aa5b0553214edbb1a6e71187215972e1e4877c6
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Fri, 14 Jan 2022 11:21:29 +1100

Support Icinga2 hostgroups

Tests of hostgroup operations are done in TestFilter

</content>
</entry>
<entry>
<id>7aa5b0553214edbb1a6e71187215972e1e4877c6</id>
<published>2022-01-13T00:18:08Z</published>
<updated>2022-01-13T00:41:43Z</updated>
<title type="text">doc: Keep the getting started tutorial in 1 place</title>
<link rel="alternate" type="text/html" href="commit/7aa5b0553214edbb1a6e71187215972e1e4877c6.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 7aa5b0553214edbb1a6e71187215972e1e4877c6
parent 2ad5e459c8480946f8762ea1617512d6bfd489bf
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Thu, 13 Jan 2022 11:18:08 +1100

doc: Keep the getting started tutorial in 1 place

</content>
</entry>
<entry>
<id>2ad5e459c8480946f8762ea1617512d6bfd489bf</id>
<published>2022-01-12T11:05:28Z</published>
<updated>2022-01-12T11:05:28Z</updated>
<title type="text">Clearer contribution details in README</title>
<link rel="alternate" type="text/html" href="commit/2ad5e459c8480946f8762ea1617512d6bfd489bf.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 2ad5e459c8480946f8762ea1617512d6bfd489bf
parent b06b25c58a0ebeaf58a44f28f1422b842144e507
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Wed, 12 Jan 2022 22:05:28 +1100

Clearer contribution details in README

</content>
</entry>
<entry>
<id>b06b25c58a0ebeaf58a44f28f1422b842144e507</id>
<published>2022-01-12T10:51:11Z</published>
<updated>2022-01-12T10:51:11Z</updated>
<title type="text">Remove unused attrs() method</title>
<link rel="alternate" type="text/html" href="commit/b06b25c58a0ebeaf58a44f28f1422b842144e507.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit b06b25c58a0ebeaf58a44f28f1422b842144e507
parent 6c70362050af3bf13a06cde4ed47aa49064b1813
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Wed, 12 Jan 2022 21:51:11 +1100

Remove unused attrs() method

It was required to satisfty the object interface but the interface
changed because it wasn&#39;t used anywhere.

</content>
</entry>
<entry>
<id>6c70362050af3bf13a06cde4ed47aa49064b1813</id>
<published>2022-01-12T10:48:34Z</published>
<updated>2022-01-12T10:48:34Z</updated>
<title type="text">doc: correct doc comment about type</title>
<link rel="alternate" type="text/html" href="commit/6c70362050af3bf13a06cde4ed47aa49064b1813.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 6c70362050af3bf13a06cde4ed47aa49064b1813
parent 26fb88e9ebc4192da36411de66032158b424369d
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Wed, 12 Jan 2022 21:48:34 +1100

doc: correct doc comment about type

</content>
</entry>
<entry>
<id>26fb88e9ebc4192da36411de66032158b424369d</id>
<published>2022-01-12T09:18:00Z</published>
<updated>2022-01-12T09:18:00Z</updated>
<title type="text">Generate CRUD code using go generate</title>
<link rel="alternate" type="text/html" href="commit/26fb88e9ebc4192da36411de66032158b424369d.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 26fb88e9ebc4192da36411de66032158b424369d
parent 82fc97ff8eb537c28bce19af5ffb697773bd200c
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Wed, 12 Jan 2022 20:18:00 +1100

Generate CRUD code using go generate

Explanation for use is in the README

</content>
</entry>
<entry>
<id>82fc97ff8eb537c28bce19af5ffb697773bd200c</id>
<published>2022-01-11T23:34:07Z</published>
<updated>2022-01-12T01:22:30Z</updated>
<title type="text">Merge Hosts and FilterHosts</title>
<link rel="alternate" type="text/html" href="commit/82fc97ff8eb537c28bce19af5ffb697773bd200c.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 82fc97ff8eb537c28bce19af5ffb697773bd200c
parent 6d1ce85e966615f3886d8a2431b3e859d3008db6
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Wed, 12 Jan 2022 10:34:07 +1100

Merge Hosts and FilterHosts

Getting all Hosts is the same as calling FilterHosts with an empty
filter anyway.

</content>
</entry>
<entry>
<id>6d1ce85e966615f3886d8a2431b3e859d3008db6</id>
<published>2022-01-11T21:57:31Z</published>
<updated>2022-01-12T01:13:19Z</updated>
<title type="text">Merge get and getFilter methods</title>
<link rel="alternate" type="text/html" href="commit/6d1ce85e966615f3886d8a2431b3e859d3008db6.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 6d1ce85e966615f3886d8a2431b3e859d3008db6
parent 60c115fb1c7683cea9553380eddaeb0033dd17bf
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Wed, 12 Jan 2022 08:57:31 +1100

Merge get and getFilter methods

Doing a GET without a query is the same as doing a GET with
an empty query, so there&#39;s no point having 2 separate methods.

</content>
</entry>
<entry>
<id>60c115fb1c7683cea9553380eddaeb0033dd17bf</id>
<published>2022-01-11T21:16:37Z</published>
<updated>2022-01-12T01:13:19Z</updated>
<title type="text">Merge filter and all objects methods</title>
<link rel="alternate" type="text/html" href="commit/60c115fb1c7683cea9553380eddaeb0033dd17bf.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 60c115fb1c7683cea9553380eddaeb0033dd17bf
parent fc8956331f70b23ffe89c8307de77bbc0ecccb39
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Wed, 12 Jan 2022 08:16:37 +1100

Merge filter and all objects methods

Getting all objects is the same as getting objects with a zero filter.

</content>
</entry>
<entry>
<id>fc8956331f70b23ffe89c8307de77bbc0ecccb39</id>
<published>2022-01-11T20:10:19Z</published>
<updated>2022-01-12T00:59:26Z</updated>
<title type="text">Deduplicate case conditions</title>
<link rel="alternate" type="text/html" href="commit/fc8956331f70b23ffe89c8307de77bbc0ecccb39.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit fc8956331f70b23ffe89c8307de77bbc0ecccb39
parent 730f973b47017c91cc9487391554c7ecc861dfc8
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Wed, 12 Jan 2022 07:10:19 +1100

Deduplicate case conditions

Encoding a Host, Service and User as JSON is the same so
there&#39;s no point having different statements.

</content>
</entry>
<entry>
<id>730f973b47017c91cc9487391554c7ecc861dfc8</id>
<published>2022-01-11T07:17:00Z</published>
<updated>2022-01-11T07:17:00Z</updated>
<title type="text">Add test for getting objects with a filter</title>
<link rel="alternate" type="text/html" href="commit/730f973b47017c91cc9487391554c7ecc861dfc8.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 730f973b47017c91cc9487391554c7ecc861dfc8
parent ae81184d0c6aa8be7d10adac10e675d9096a3a3b
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Tue, 11 Jan 2022 18:17:00 +1100

Add test for getting objects with a filter

</content>
</entry>
<entry>
<id>ae81184d0c6aa8be7d10adac10e675d9096a3a3b</id>
<published>2022-01-11T06:56:37Z</published>
<updated>2022-01-11T06:56:37Z</updated>
<title type="text">Add tests for user management</title>
<link rel="alternate" type="text/html" href="commit/ae81184d0c6aa8be7d10adac10e675d9096a3a3b.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit ae81184d0c6aa8be7d10adac10e675d9096a3a3b
parent 76669f9b1f06b7299f2261667b4b21db38db7cae
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Tue, 11 Jan 2022 17:56:37 +1100

Add tests for user management

</content>
</entry>
<entry>
<id>76669f9b1f06b7299f2261667b4b21db38db7cae</id>
<published>2022-01-11T05:46:22Z</published>
<updated>2022-01-11T05:46:22Z</updated>
<title type="text">I learned how to do some generic programming</title>
<link rel="alternate" type="text/html" href="commit/76669f9b1f06b7299f2261667b4b21db38db7cae.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 76669f9b1f06b7299f2261667b4b21db38db7cae
parent 514f2cd100380e2d124fa33c56f4e9a9308b907e
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Tue, 11 Jan 2022 16:46:22 +1100

I learned how to do some generic programming

New type &quot;object&quot; is an interface to represent an Icinga2 object.
I added heaps of other stuff! On our way to 1000 lines of code!

</content>
</entry>
<entry>
<id>514f2cd100380e2d124fa33c56f4e9a9308b907e</id>
<published>2022-01-07T08:37:02Z</published>
<updated>2022-01-07T10:19:20Z</updated>
<title type="text">Export NewRequest</title>
<link rel="alternate" type="text/html" href="commit/514f2cd100380e2d124fa33c56f4e9a9308b907e.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 514f2cd100380e2d124fa33c56f4e9a9308b907e
parent 6456042b9dd325c6b9b1e246acac3a21bfae58fe
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Fri,  7 Jan 2022 19:37:02 +1100

Export NewRequest

So that people using the package can make their own requests
for anything unimplemented by the package itself.

</content>
</entry>
<entry>
<id>6456042b9dd325c6b9b1e246acac3a21bfae58fe</id>
<published>2022-01-06T22:30:44Z</published>
<updated>2022-01-06T22:30:44Z</updated>
<title type="text">Complete the README with a tutorial and a &quot;why?&quot;</title>
<link rel="alternate" type="text/html" href="commit/6456042b9dd325c6b9b1e246acac3a21bfae58fe.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 6456042b9dd325c6b9b1e246acac3a21bfae58fe
parent 9ea5152367e4cfb31a1d08d23200575dc64058c4
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Fri,  7 Jan 2022 09:30:44 +1100

Complete the README with a tutorial and a &quot;why?&quot;

</content>
</entry>
<entry>
<id>9ea5152367e4cfb31a1d08d23200575dc64058c4</id>
<published>2022-01-06T13:14:16Z</published>
<updated>2022-01-06T13:14:16Z</updated>
<title type="text">Use slightly clearer param name</title>
<link rel="alternate" type="text/html" href="commit/9ea5152367e4cfb31a1d08d23200575dc64058c4.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 9ea5152367e4cfb31a1d08d23200575dc64058c4
parent 83f511305d76af055cecefced0265cee26d63d75
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Fri,  7 Jan 2022 00:14:16 +1100

Use slightly clearer param name

</content>
</entry>
<entry>
<id>83f511305d76af055cecefced0265cee26d63d75</id>
<published>2022-01-06T13:02:36Z</published>
<updated>2022-01-06T13:13:59Z</updated>
<title type="text">add Icinga service and host states</title>
<link rel="alternate" type="text/html" href="commit/83f511305d76af055cecefced0265cee26d63d75.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 83f511305d76af055cecefced0265cee26d63d75
parent 8635d20e62566f62e2365441d2091b721cd8ef71
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Fri,  7 Jan 2022 00:02:36 +1100

add Icinga service and host states

Nothing actually uses these yet but they will soon!

</content>
</entry>
<entry>
<id>8635d20e62566f62e2365441d2091b721cd8ef71</id>
<published>2022-01-06T12:54:19Z</published>
<updated>2022-01-06T12:54:19Z</updated>
<title type="text">Release under ISC license</title>
<link rel="alternate" type="text/html" href="commit/8635d20e62566f62e2365441d2091b721cd8ef71.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 8635d20e62566f62e2365441d2091b721cd8ef71
parent 5055878019b72a9ed3408e337a21e868c3842cf5
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Thu,  6 Jan 2022 23:54:19 +1100

Release under ISC license

</content>
</entry>
<entry>
<id>5055878019b72a9ed3408e337a21e868c3842cf5</id>
<published>2022-01-06T12:53:21Z</published>
<updated>2022-01-06T12:53:21Z</updated>
<title type="text">more docs</title>
<link rel="alternate" type="text/html" href="commit/5055878019b72a9ed3408e337a21e868c3842cf5.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 5055878019b72a9ed3408e337a21e868c3842cf5
parent 6e415953de07ac11e0f54ac397d156b23f384a15
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Thu,  6 Jan 2022 23:53:21 +1100

more docs

</content>
</entry>
<entry>
<id>6e415953de07ac11e0f54ac397d156b23f384a15</id>
<published>2022-01-06T01:30:37Z</published>
<updated>2022-01-06T01:30:37Z</updated>
<title type="text">dump</title>
<link rel="alternate" type="text/html" href="commit/6e415953de07ac11e0f54ac397d156b23f384a15.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 6e415953de07ac11e0f54ac397d156b23f384a15
parent 9ab732cda40be5693e3f1ddba1a5ebf7de9e1bd5
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Thu,  6 Jan 2022 12:30:37 +1100

dump

</content>
</entry>
<entry>
<id>9ab732cda40be5693e3f1ddba1a5ebf7de9e1bd5</id>
<published>2021-12-30T07:52:51Z</published>
<updated>2021-12-30T07:52:51Z</updated>
<title type="text">README: use http.DefaultClient in example</title>
<link rel="alternate" type="text/html" href="commit/9ab732cda40be5693e3f1ddba1a5ebf7de9e1bd5.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 9ab732cda40be5693e3f1ddba1a5ebf7de9e1bd5
parent b74ab3b391ccb35e2941c6d15039804dfbcd55f4
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Thu, 30 Dec 2021 18:52:51 +1100

README: use http.DefaultClient in example

The Go devs set useful things for us that we shouldn&#39;t lose just
because we&#39;re something insecure.

</content>
</entry>
<entry>
<id>b74ab3b391ccb35e2941c6d15039804dfbcd55f4</id>
<published>2021-12-30T07:51:01Z</published>
<updated>2021-12-30T07:51:01Z</updated>
<title type="text">go fmt</title>
<link rel="alternate" type="text/html" href="commit/b74ab3b391ccb35e2941c6d15039804dfbcd55f4.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit b74ab3b391ccb35e2941c6d15039804dfbcd55f4
parent dad28b1a8f4f17dd47854db715221aa985024cef
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Thu, 30 Dec 2021 18:51:01 +1100

go fmt

</content>
</entry>
<entry>
<id>dad28b1a8f4f17dd47854db715221aa985024cef</id>
<published>2021-12-30T07:50:08Z</published>
<updated>2021-12-30T07:50:08Z</updated>
<title type="text">set correct request Content-Type and Accept values in header</title>
<link rel="alternate" type="text/html" href="commit/dad28b1a8f4f17dd47854db715221aa985024cef.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit dad28b1a8f4f17dd47854db715221aa985024cef
parent 007a3d09eccd162b288c0584b68b0fdb83becf11
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Thu, 30 Dec 2021 18:50:08 +1100

set correct request Content-Type and Accept values in header

</content>
</entry>
<entry>
<id>007a3d09eccd162b288c0584b68b0fdb83becf11</id>
<published>2021-12-27T12:07:33Z</published>
<updated>2021-12-27T12:07:33Z</updated>
<title type="text">Embed http.Client in Client</title>
<link rel="alternate" type="text/html" href="commit/007a3d09eccd162b288c0584b68b0fdb83becf11.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 007a3d09eccd162b288c0584b68b0fdb83becf11
parent 2c4d16aea2e6138d88d6ecb7cec9d9af2e793593
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Mon, 27 Dec 2021 23:07:33 +1100

Embed http.Client in Client

No need to have it named

</content>
</entry>
<entry>
<id>2c4d16aea2e6138d88d6ecb7cec9d9af2e793593</id>
<published>2021-12-23T23:42:03Z</published>
<updated>2021-12-23T23:42:03Z</updated>
<title type="text">initial commit</title>
<link rel="alternate" type="text/html" href="commit/2c4d16aea2e6138d88d6ecb7cec9d9af2e793593.html" />
<author>
<name>Oliver Lowe</name>
<email>o@olowe.co</email>
</author>
<content type="text">commit 2c4d16aea2e6138d88d6ecb7cec9d9af2e793593
Author: Oliver Lowe &lt;o@olowe.co&gt;
Date:   Fri, 24 Dec 2021 10:42:03 +1100

initial commit

</content>
</entry>
</feed>
