IoT Data Landing Project
Development requires existing installations of Python and Docker.
-
Clone this repository
git clone git@github.com:derekcoffman/iot-data-landing.git
-
Decrypt the repository with
git crypt
. This requiresgit-crypt
be installed and that your gpg key be added to the repository by someone that already has unencrypted access.git-crypt unlock
-
Follow the instructions in the Development README to start the entire stack locally in a Kubernetes cluster. If you are coming back to development and have already run those steps, make sure the
iot-data-landing
cluster is started. To start the clusert runk3d cluster start iot-data-landing
.$ k3d cluster list NAME SERVERS AGENTS LOADBALANCER iot-data-landing 1/1 1/1 true
-
Build, push, and deploy all
apps
to your k3d cluster$ make deploy ...
New collaborators will need to associate a GPG key with their GitHub account using the following resources:
After that an existing collaborator will need to do the following:
-
Import the new collaborator's public key
curl https://github.com/[github_user].gpg | gpg --import
-
Fully trust the key
$ gpg --list-keys $ gpg --edit-key "[the key id]" ... gpg> trust ... Your decision? 5 Do you really want to set this key to ultimate trust? (y/N) y ... gpg> quit
-
Add the collaborators key to this repository
git-crypt add-gpg-user "[email associated with the key]"
-
Submit PR with new user. The above command creates a new commit.
Each thing, whether real or mocked, needs a certificate and private key to publish data to the AWS MQTT Server. To generate a new thing along with a certificate and key, run the scripts/create_thing.sh
script and pass it the name of the thing you would like to generate.
./scripts/create_thing.sh my-first-new-thing
That will create or update the certificates and keys in the things/my-first-new-thing
folder and send the first message to the AWS IoT Core MQTT endpoint to register and provision the new "thing".
This repository is a software product and is not official communication of the National Oceanic and Atmospheric Administration (NOAA), or the United States Department of Commerce (DOC). All NOAA GitHub project code is provided on an 'as is' basis and the user assumes responsibility for its use. Any claims against the DOC or DOC bureaus stemming from the use of this GitHub project will be governed by all applicable Federal law. Any reference to specific commercial products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply their endorsement, recommendation, or favoring by the DOC. The DOC seal and logo, or the seal and logo of a DOC bureau, shall not be used in any manner to imply endorsement of any commercial product or activity by the DOC or the United States Government.