constellation-server 1.6.0

Pluggable authoritative DNS server. Entries can be added & removed from an HTTP REST API.
Packaging
=========

This file contains quick reminders and notes on how to package Constellation.

We consider here the packaging flow of Constellation version `1.0.0` for Linux, for target architecture `x86_64` (the steps are alike for `i686`):

1. **How to setup `rust-musl-builder` on MacOS:**
    1. Follow setup instructions from: [rust-musl-builder]https://github.com/emk/rust-musl-builder

2. **How to bump Constellation version:**
    1. Bump version in `Cargo.toml` to `1.0.0`
    2. Execute `cargo update` to bump `Cargo.lock`

3. **How to build Constellation for Linux on MacOS:**
    1. `rust-musl-builder cargo build --target=x86_64-unknown-linux-musl --release`

4. **How to package built binary:**
    1. `mkdir constellation`
    2. `mv target/x86_64-unknown-linux-musl/release/constellation constellation/`
    3. `strip constellation/constellation`
    4. `cp -r config.cfg constellation/`
    5. `tar -czvf v1.0.0-x86_64.tar.gz constellation`
    6. `rm -r constellation/`

5. **How to update Docker:**
    1. `docker build .`
    2. `docker tag [DOCKER_IMAGE_ID] valeriansaliou/constellation:v1.0.0` (insert the built image identifier)
    3. `docker push valeriansaliou/constellation:v1.0.0`

6. **How to update Crates:**
    1. Publish package on Crates: `cargo publish`