open-balena icon indicating copy to clipboard operation
open-balena copied to clipboard

openBalena 2024

Open ab77 opened this issue 2 years ago • 14 comments

take two..

Documentation:

  • https://ab77-open-balena.open-balena.pages.dev/
  • https://ab77-open-balena.open-balena.pages.dev/getting-started/

balenaHub: https://hub.balena.io/apps/1910724/open-balena

Requires:

  • https://github.com/balena-io/open-balena-api/pull/1618
  • https://github.com/balena-io/environment-production/pull/2278
  • https://github.com/balena-io-modules/balena-compose-parse/pull/63

ab77 avatar Feb 24 '22 15:02 ab77

@dfunckt please feel free to give this a go, I linked the very rough getting started guide on balena in the PR description.

If you want to test a public DNS config (to run device placeholder tests locally):

# where DNS_TLD specifies a DNS wildcard (*) entry (A and optionally AAAA)
# in your domain, pointing to your local device IP
balena push ${uuid}.local \
  --env DNS_TLD=balena.acme.com \
  --env mdns:MDNS_TLD='' \
  --env VERBOSE=true

balena-dev.com domain that can be used (e.g. *.{{username-slug-etc}}.balena-dev.com), ping me to create a record.

... or just push a commit to this branch and watch the PR tests (e.g.): https://github.com/balena-io/open-balena/runs/5504967042?check_suite_focus=true#step:15:544

cc @codewithcheese

ab77 avatar Feb 25 '22 02:02 ab77

This is great progress and a necessary step towards an easily deployable and testable openBalena but the fact it completely disregards support for any OS other than balenaOS makes it a no-go as it is. We really need to work on identifying what is balenaOS-specific and bridge the gap.

dfunckt avatar Mar 22 '22 17:03 dfunckt

This is great progress and a necessary step towards an easily deployable and testable openBalena but the fact it completely disregards support for any OS other than balenaOS makes it a no-go as it is. We really need to work on identifying what is balenaOS-specific and bridge the gap.

Well, for one thing:

$ balena push ${uuid}.local
[Info]    Starting build on device 192.168.1.75
Bind mounts are not allowed

So that's a bit of a show stopper. Otherwise the second commit in this PR seems to work in compose.

ab77 avatar Mar 30 '22 02:03 ab77

Fix in https://github.com/balena-io-modules/balena-compose-parse/pull/63.

dfunckt avatar Apr 05 '22 01:04 dfunckt

@dfunckt this is now ready for a proper review (i.e deployment into both balena and compose environments).

I've tested against balenaOS/genericx86-64-ext image (on Intel NUC) as well as against dockerd in stock Ubuntu 20.04 VirtualBox VM from macOS client with docker-compose v2.6.0 and balena-cli v3.9.0.

Quickstart addendum WIPs:

  • https://github.com/balena-io/open-balena/blob/ab77/open-balena/docs/on-balena.md
  • https://github.com/balena-io/open-balena/blob/ab77/open-balena/docs/on-compose.md

... both flows seem to work, as well as the GH Actions tests on ephemeral AWS instances.

The tests are currently implemented using a non-PRed branch on balenaVirt.

This project would need to be reviewed (incl. nomenclature), moved out of playground, converted into a balenaBlock (e.g. balenablocks/balena-virt) and my branch merged in (with relevant changes). Joseph is the original author of balenaVirt.

Then we would probably want to publish openBalena as a separate balenaBlock with automated dependency updates (i.e. renovate) and refactor all the existing docs, incorporating the addendums.

cc @jakogut @klutchell @andrewnhem @phil-d-wilson

ab77 avatar Jul 22 '22 02:07 ab77

Sounds good to me!

klutchell avatar Jul 22 '22 14:07 klutchell

[fisehara] This has attached https://jel.ly.fish/9f9cbdd3-1d38-4d1d-84d5-77c46f06f31f

jellyfish-bot avatar Aug 11 '22 17:08 jellyfish-bot

... both flows seem to work, as well as the GH Actions tests on ephemeral AWS instances.

needs to be refactored to use Flowzone/custom pipeline (e.g. balena-cloud/Jellyfish), but that should be trivial.

ab77 avatar Nov 17 '22 19:11 ab77