100 days of code - day 6
I’ve done a few rounds of 100 Days of Code in the past, but never really made it past 2 weeks. Part of the reason for that failure is the weekend portion - I don’t like to computer on the weekend since I computer very hard during the week.
I decided it would be a really good use of my time to work on my Indoor Air Quality platform as a part of my attempt at 100 Days of Code. It’s the next step for me in my career, so I need a way to force my effort.
There are two parts to making my IAQ platform successful, the sensors themselves, and the backend system.
Previous Days
- Day 1 - Getting the infrastructure setup for development
- Day 2 - Getting basic data out of Temp/Hum sensor, figuring out scope for others
- Day 3 - Publish data to InfluxDB
- Day 4 - Handled some errors in the publisher, got CouchDB up adn running
- Day 5 - Slack bot alerts!
Day 6
Today was all about orchestration and deployment. Thinking about the lifecycle of a sensor from beginning to end. Things that we’ll need to think about:
- Initial preparation before shipment
- OOB Experience
- Customer Registration
- Health of sensor
- Software updates (alert mechanism, polling?)
- Factory Reset
- Decommissioning
Additionally, we’ll want to think about deletion of data for customers. I was not able to tackle all of these things today, so I focused primarily on sensor health, hoping it may give me more insight any instability in the platform. It took a litte more effort than I expected to put together, but I ended up with a few pieces that come together to give a good picture of nodea health.
Local REST API on each container that listens at container:8080/health
and returns a related health information about that particular container.
Docker Container Info is pulled using py-docker
. I pull a bunch of relevant details about the container name, the specific tag they’re using, processes running in container, etc. All of this really pieces together a good picture about the health of the nodes.
Pretty productive day, I’m very happy about it.