OpenBalena deploy to a specific device with ID

Is it possible to deploy to a specific device on OpenBalena? This is for a use case where a specific client asks for a feature to be made availalble for them. However, we wouldn’t want the feature in all other devices. If this can’t be achieved with OpenBalena we could probably use feature flags or similar strategies.

It’s possible to pin a specific release on a device using the API but personally I would just use feature flags. It’s easier to override environment variables on a specific device than to set up a system to track and update releases on all your devices.

Feature Flags Approach:

  1. Conditional Feature Activation:
  • Implement a feature flag system in your application where the presence or absence of a particular flag determines whether the feature is activated.
  1. Device-Specific Flags:
  • Assign specific feature flags to individual devices based on your client’s requirements. This can be managed in your backend or application configuration.
  1. Dynamic Configuration:
  • Allow your application to dynamically fetch feature flags during runtime. This enables you to update flags remotely without requiring a full deployment.
  1. Integration with OpenBalena:
  • Integrate your feature flag system with OpenBalena’s device management. This way, you can control feature flags for individual devices through your OpenBalena deployment.
  1. Testing and Monitoring:
  • Thoroughly test your feature flag implementation to ensure it works seamlessly across devices. Implement monitoring to track the status of feature flags on each device.