Skip to content

NOAA-PMEL/iot-data-landing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iot-data-landing

IoT Data Landing Project

Development Setup

Development requires existing installations of Python and Docker.

  1. Clone this repository

    git clone git@github.com:derekcoffman/iot-data-landing.git
  2. Decrypt the repository with git crypt. This requires git-crypt be installed and that your gpg key be added to the repository by someone that already has unencrypted access.

    git-crypt unlock
  3. 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 run k3d cluster start iot-data-landing.

    $ k3d cluster list
    
    NAME               SERVERS   AGENTS   LOADBALANCER
    iot-data-landing   1/1       1/1      true
  4. Build, push, and deploy all apps to your k3d cluster

    $ make deploy
    ...

New Collaborators

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:

  1. Import the new collaborator's public key

    curl https://github.com/[github_user].gpg | gpg --import
  2. 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
  3. Add the collaborators key to this repository

    git-crypt add-gpg-user "[email associated with the key]"
  4. Submit PR with new user. The above command creates a new commit.

Things

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".


Legal Disclaimer

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.