I am not sure I understand releases

What do all these releases mean? I’ve been experimenting and now I don’t know what code is being uploaded to the raspi. It can’t be all of these?

From what I gather, an “application” is just a name for a set of devices that all have the same kind of hardware and run the same software.

And a release is a version of the software that is available to a device.

But what then is a “service”? For example when I look at the web console, I see a service called “main”.

And where does the “supervisor” fit in in the world of releases?

Bottom line is I dont know now what of the many versions of my balena directory will be uploaded to a new device.

Thanks!

Hi there – thanks for your question. I’m not sure if you’ve had a chance to read our documentation yet, but we go into this in some detail at:

Once you’ve had a look through those, let us know if anything remains unclear. You may also find answers to your questions by searching this forum – some of them may have been answered already.

All the best,
Hugh

You can assume that if one gets as far as posting to the forum that one has read and tried to understand the documentation. I suppose you might think that this should be sufficient if your user/customer was smart enough.

I went back to the links you said, which I had seen before. I am no more clearer.

Could you take a moment and respond to my specific questions and screenshot?

What do all these releases mean? I’ve been experimenting and now I don’t know what code is being uploaded to the raspi. It can’t be all of these?

Each time you push code to Balena you create a new release. Only one release is active on your devices at any time (usually the last one you pushed).

From what I gather, an “application” is just a name for a set of devices that all have the same kind of hardware and run the same software.

Correct. An ‘application’ is a group of devices all running the same software. When you push to an application, all devices associated with that application get updated.

But what then is a “service”? For example when I look at the web console, I see a service called “main”.

Each application is comprised of one or more “services”. You can think of these as sub-applications, and each runs in a separate docker container on the device. You don’t need to use multiple services, and I recommend you start with a single service (which will effectively be your application). “main” is the name of the default service (e.g. if you are running a single service, it will be named “main”).

And where does the “supervisor” fit in in the world of releases?

The “supervisor” can be thought of as the Balena management software running on the device. It is responsible for things like updating your software when you push new code to the balena cloud.