1 comments

  • Voxorin 5 hours ago ago

    And now for some answers to questions I expect

    - Q: Is it self-hostable?

    - A: Well yes, but actually no. You can self-host Ory Kratos and PG. The core is deployable to your own Cloudflare account, but can't be run on bare metal (well technically it could, but you shouldn't). I would like to make a fully self-hostable version in the future, but that's low on the priority list right now.

    - Q: Why not use JWTs for device authentication?

    - A: 1. JWTs are a poor design; See: https://github.com/jedisct1/rust-jwt-simple#why-yet-another-... 2. JWTs are stateless tokens that are valid for their lifetime. That makes revoking them a pain; See: https://stackoverflow.com/a/40385939

    - Q: AGPL in my firmware!? Isn't that going to infect my firmware and make it yours?

    - A: No, AGPL binds people modifying/serving PidgeIoT itself, and the device talks over a documented HTTP protocol; your firmware is yours.

    - Q: Have you heard of ThingsBoard?

    - A: I have heard of ThingsBoard, I even tried it out! It's good software and I hope to meet their functionality in the future. With that said...

    I feel it has a severe lack of simplicity and a high barrier to entry. Somewhat similar to AWS, ThingsBoard is a product family with per-product licensing. I want one coherent service. Not a tangled mess that requires a degree to set up (exaggeration, but you get my point).

    Easy to use, easy to scale, one product, one price, open protocol, etc, etc.

    Just one accessible service.

    I also plan on enabling Cloudflare's Workers for Platforms which gives users their own data-processing workers. That's pretty much synonymous to ThingsBoard's rule engine, without the fragile (IMO) visual rule chains.