iotstore
Implementaton of proposed datastore interface for the DECODE IoTPilot/Scale
Model.
Uses an experimental template structure from here:
https://github.com/thingful/go-build-template
Building
Run make
or make build
to build our binary compiled for linux/amd64
with the current directory volume mounted into place. This will store
incremental state for the fastest possible build. To build for arm
or
arm64
you can use: make build ARCH=arm
or make build ARCH=arm64
. To
build all architectures you can run make all-build
.
Run make container
to package the binary inside a container. It will
calculate the image tag based on the current VERSION (calculated from git tag
or commit - see make version
to view the current version). To build
containers for the other supported architectures you can run
make container ARCH=arm
or make container ARCH=arm64
. To make all
containers run make all-container
.
Run make push
to push the container image to REGISTRY
, and similarly you
can run make push ARCH=arm
or make push ARCH=arm64
to push different
architecture containers. To push all containers run make all-push
.
Run make clean
to clean up.
Testing
To run the test suite, use the make task test
. This will run all testcases
inside a containerized environment but pointing at a different DB instance to
avoid overwriting any data stored in your local development DB.
In addition, there is a simple bash script (in client/client.sh
) that uses
curl to exercise the basic functions of the API. The script inserts 4
entries, then paginates through them, before deleting all inserted data. The
purpose of this script is just to sanity check the functionality from the
command line.