Mugsy

View Original

Update!

Hey folks, I hope all is well out there! I’d like to give a rundown on the upcoming Cloud Control onboarding.

Machine Access Vs Cloud Control Auth

First, it’s important to distinguish the two types of access,  local machine access and Cloud Control: 

  • Local access: On the machine, access to front end controls is open just like any other coffee machine would be.  Users can be created to distinguish settings/recipes/etc and the machine can be locked down to only allow access to created users if you wish, but it is not required. For the purpose of this discussion, “local access” is strictly related to controlling the machine physically from the screen. Other settings, application configs, etc, all have different authentication requirements which will be discussed at a future date.

  • Cloud Control:  Cloud Control allows for the control of a machine from an entity that does not have physical access to the machine itself. This requires a much more significant security policy and auth scheme. Cloud Control authentication is handled by an auth service provider, specifically Supabase. When your machine is onboarded, your authenticated Cloud Control user will be linked to your machine_id and local user_id.

  • When a Cloud Control request is made, say after responding to a brew command from the Slack integration, the request is authenticated and verified before being sent to the machine. Cloud Control then lets the machine know a brew request is pending using message queues. Each machine is subscribed to its own queue. When a new message is received, the machine will make a request back to Cloud Control to confirm the details of the pending request. If everything checks out, the machine will start the brew process and report progress back to Cloud Control so it can send updates back to the integration’s client.

  • This works across all integration types. When using Cloud Control integrations, the machine doesn’t need to know anything about the integration other than a legit request has come through. This does not mean that integration details are not also sent in the request payload though,  just explaining how it works at the most basic level.

Cloud Control Onboarding

Account creation:

  • Like most auth providers these days, you can use your existing accounts to create your Cloud Control account. Currently, we are setup for Gmail, Apple, Github, and standard email/pass.  Multi-Factor Authentication is enabled by default.  Adding other account types is a simple process and I’m open to suggestions if you have a preference.

Shipments:

  • Once your account has been created, you will be dropped into a form to collect your order info. This will link your Cloud Control account to your shipment details.

  • Once your order info has been collected, you will have the option to update your shipping address and contact preferences.

  • The linking of order info to a CC account is not a fully automated process. Order linking status will most likely show “Pending” for most users initially.  This status will update once linking has completed.

  • Once the order is onboarded, you will be able to track your shipment. Initially, this will just be “pending” until we finish up and the shipping queue is formalized. At that point, your shipment will show an estimated ship date. These details will update as status changes and the order moves through the shipping pipeline.

Machine onboarding: 

  • When linking the machine, a QR code will display with a pin code. You can scan the QR code or go directly to the linking page on Cloud Control. There will be a couple of verification details to enter and once completed, your Cloud Control account will be linked with your machine.  Please note, these detail relate to linking your machine to cloud control. It does not cover booting up your machine for the first time.

Other Bits:

  • Although a lot of functionality will not be accessible until your machine arrives, you will still be able to preview a bunch of it, as well as having the ability to start creating recipes, favorite coffees and more.

  • I will be emailing 10 people to do a test run through the onboarding process. If you want to volunteer, please shoot me an email. This should happen in a 7-10 days. Once that is completed, onboarding will open up for everyone.

  • On January 30th I will be having surgery. Nothing critical, just some carpentry work on the ol’ elbow, but my arm is going to be out of service for about a week. I expect that I will be focused on resting/healing up that week so I will not be checking email at all for a few days.

Thats all for now! Next update will be out this weekend. Cheers!