# Stork 0.6.0, April 3rd, 2020, Release Notes

Welcome to the Stork 0.6.0 release. This is the sixth development 
release of the Stork project, which aims to provide a modern, 
responsive, and scalable dashboard solution with a well-defined REST 
API interface. The long-term goal of the project is to provide a 
monitoring and management solution for BIND 9, Kea DHCP, and more.

Features introduced in this version:

1. **Native Packages**. Stork can now be conveniently installed using 
native (RPM and deb) packages. This greatly simplifies both agent and 
server deployments. Note these are the initial packages provided; 
they're currently optimized for ease of deployment, rather than tight 
security, so please review your configuration. In particular, Stork 
Agent opens up a grpc port by default; make sure you tune it to meet 
your security policy. Two measures to be considered are to modify 
your `/etc/stork/agent.env` to limit the IP to listen on, and to 
configure your firewall to allow only incoming connections from your 
Stork server IP. This will be improved in future Stork releases. The 
packages are now available on Cloudsmith
(https://cloudsmith.io/~isc/repos/stork/). #187, #201, #207

2. **Host reservations in Kea**. Stork is now able to retrieve and 
display host reservations from Kea. This covers host reservations 
both when defined in a Kea configuration file as well as when stored 
in a database. The latter scenario requires the use of the 
`host_cmds` hooks library to work properly. #188, #223, #214, #210, 
#206, #219

3. **Cache Hit Ratio in BIND 9**. Stork now has the capability to use 
the BIND 9 statistics channel to retrieve information. As a first 
demonstration of this ability, we have implemented cache hit ratio, a 
parameter which shows how efficient a resolver is in caching 
responses. More parameters will be added soon. #64, #170, #184, #197

4. **Prometheus exporter for BIND 9**. Stork Agent now has the 
ability to work as a Prometheus exporter. It can connect to BIND 9's 
statistics channel and make the data available for Prometheus. #10

5. **BIND 9 recursive dashboard for Grafana**. Stork now comes with a 
Grafana template for BIND 9's recursive resolver. Many parameters are 
shown: query and response rates, cache hits, cache misses, cache hit 
ratio, and more. The dashboard is inspired by existing BIND 9 
dashboards. #10

6. **API Documentation**. While the primary interface for Stork is 
expected to be the web UI, the system provides the ability to 
integrate with other environments. We provide a rich REST API that 
can be used by command-line, monitoring, and similar tools. The 
existing API has now been documented properly. #199

## Release Model

Stork has monthly development releases on the first Wednesday of each 
month (with some exceptions around holidays). The first major 
release, version 0.8, is planned for the spring of 2020.

We encourage users to test the development releases and report back 
their findings on the stork-dev mailing list, available at 
https://lists.isc.org/mailman/listinfo/stork-dev.

This text references issue numbers. For more details, visit the Stork 
GitLab page at https://gitlab.isc.org/isc-projects/stork/issues.

## License
This version of Stork is released under the Mozilla Public License, 
version 2.0.

   https://www.mozilla.org/en-US/MPL/2.0

## Download
The Stork source and PGP signature for this release may be downloaded 
from:

   https://downloads.isc.org/isc/stork

The signature was generated with the ISC code signing key which is 
available at:

   https://www.isc.org/pgpkey

ISC provides documentation in the Stork Administrator Reference 
Manual. It is currently available only in the source form in the 
docs/ directory, and the Sphinx tool is required to build it. This is 
expected to change in a future release. 

We ask users of this software to please let us know how it worked for 
you and what operating system you tested on. Feel free to share your 
feedback on the stork-dev mailing list 
(https://lists.isc.org/mailman/listinfo/stork-dev).  We would also 
like to hear whether the documentation is adequate and accurate. 
Please open tickets in the Stork GitLab project for bugs, 
documentation omissions and errors, and enhancement requests. We want 
to hear from you even if everything worked.

## Support
Professional support for Stork will become available once it reaches 
the 1.0 milestone. Existing ISC customers that consider themselves 
*very* early adopters may get involved in the development process, 
including roadmap, features planning, and early testing, but the 
software maturity level does not constitute a typical professional 
service before the 1.0 milestone.

Free best-effort support is provided by our user community via a 
mailing list. Information on all public email lists is available at 
https://www.isc.org/mailinglists/. If you have any comments or 
questions about working with Stork, please share them to the 
stork-dev List (https://lists.isc.org/mailman/listinfo/stork-dev). 
Bugs and feature requests may be submitted via GitLab at 
https://gitlab.isc.org/isc-projects/stork/issues.

## Changes
The following summarizes changes and important upgrade notes since 
the Stork 0.5.0 release.

```
* 50 [bug] marcin

    Corrected a bug which caused unexpected deletion of the
    host reservations fetched from the Kea configuration
    files.
    (Gitlab #225)

* 49 [func] matthijs

    Updated Prometheus & Grafana in the demo installation with BIND 9.

    Implemented BIND 9 exporter in Go and embedded it in Stork
    Agent for showing Cache Hit Ratio.

    Implemented DNS traffic simulator as web app for the demo
    installation. Internally it runs a single query with dig, or
    starts flamethrower (a DNS performance tool) for selected server
    with indicated parameters.
    (Gitlab #10)

* 48 [doc] marcin, sgoldlust

    Documented the use of Host Reservations in Stork ARM.
    (Gitlab #223)

* 47 [func] marcin

    Stork server periodically fetches host reservations from the Kea
    instances having host_cmds hooks library loaded.
    (Gitlab #214)

* 46 [func] marcin

    Host reservations are listed and the UI. It is possible to filter
    reservations by reserved IP address or host identifier value.
    (Gitlab #210)

* 45 [func] matthijs

    Retrieve some cache statistics from named and show Cache Hit
    Ratio on the dashboard.
    (Gitlab #64)

* 44 [func] godfryd

    Added possibility to run Stork server without Nginx or Apache,
    ie. static files can be served by Stork server. Still it is
    possible to run Stork server behind Nginx or Apache which
    will do reverse proxy or serve static files.
    (Gitlab #200)

* 43 [func] marcin

    Implemented data model for IP reservations and detection of IP
    reservations specified within a Kea configuration file. Detected
    reservations are not yet used in the UI.
    (Gitlab #188, #206)

* 42 [func] godfryd

    Prepared scripts for building native RPM and deb packages
    with Stork server and Stork agent (total 4 packages).
    They are prepared for Ubuntu 18.04 and CentOS 8.
    (Gitlab #187)

* 41 [func] godfryd

    Added settings in Stork. They are stored in database, in setting
    table. No UI for settings yet.
    (Gitlab #169)

* 40 [func] godfryd

    Exposed access to API docs and ARM docs in new Help menu.
    (Gitlab #199)

* 39 [func] matthijs

    Update the data model such that applications can have multiple
    access points.  Parse named.conf to detect both "control"
    and "statistics" access point.
    (Gitlab #170)
```

Thank you again to everyone who assisted us in making this release 
possible. 

We look forward to receiving your feedback.