fix: rebuild fledge Docker image from GitHub sources#1146
fix: rebuild fledge Docker image from GitHub sources#1146eriknordmark merged 1 commit intolf-edge:masterfrom
Conversation
The fledge-iot.org website and package archive were decommissioned; .deb packages are no longer available. Rewrite the Dockerfile to clone and build all fledge components directly from https://github.com/fledge-iot. Key changes: - Base image bumped from ubuntu:18.04 (EOL) to ubuntu:20.04 - FLEDGEVERSION defaults to 3.1.0 (latest stable) - fledge core built via requirements.sh + make install - C++ plugins built with cmake -DFLEDGE_INSTALL - Python plugins (sinusoid, http_south) installed by file copy - fledge-gui built with yarn + ./build --clean-start, served by nginx Package renames from deb to GitHub repo names: - fledge-south-modbus → fledge-south-modbus-c - fledge-south-flirax8 → fledge-south-FlirAX8 - fledge-south-http-south → fledge-south-http - fledge-north-httpc → fledge-north-http-c - fledge-filter-flirvalidity removed (no public GitHub repo) Build fixes discovered during docker buildx build: - FLEDGE_ROOT must be unset during make install to avoid missing get_storage_plugin.sh (check_schema_update.sh uses installed path) - cmake_build/ and C/ dirs must be copied from source to install dir so plugin FindFledge.cmake can locate headers and compiled libs - libboost-filesystem-dev and libboost-program-options-dev needed for freeopcua (OPC-UA dependency) - Notification service headers saved to notification-service-include/ and NOTIFICATION_SERVICE_INCLUDE_DIRS set for rule/notify plugins Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br>
|
From Claude: Here's the full lifecycle of the FLIR image in Eden: What the Image Is The image (lfedge/eden-fledgeeveflirdemo) is a FLEDGE IoT gateway — a Linux Foundation Edge framework — with plugins for the FLIR AX8 thermal camera. It runs Nginx, the Fledge core, several Built from: tests/flir/image/Dockerfile (Ubuntu 20.04 base, plugins compiled from GitHub source via cmake/git). Build Pipeline make build-docker (root) The version tag is derived from git tag --contains HEAD, falling back to the short commit SHA. The image is multi-arch (amd64 + arm64) and published to DockerHub via .github/workflows/publish.yml on pushes to How It's Used in Tests The sole consumer is tests/flir/testdata/test_flir.txt, an escript scenario. The flow:
The test is registered in tests/flir/eden.flir.tests.txt and runs through the escript runner (tests/escript/escript_test.go → TestEdenScripts/test_flir). Notable Caveats
|
|
In a nutshell our workflows are not impacted by this image, only Eden build.... |
|
Look good @rene. Did you try to run it locally? |
Backport of #1146 (commit c42bb5e). The fledge-iot.org website and package archive were decommissioned; .deb packages are no longer available. The Dockerfile must be rewritten to clone and build all fledge components directly from https://github.com/fledge-iot. Manual port: the original commit was a 60-line→180-line rewrite that does not cherry-pick cleanly because the stable branch had ubuntu:18.04 / FLEDGEVERSION 1.8.2 while the new version is ubuntu:20.04 / FLEDGEVERSION 3.1.0. Adopt master's Dockerfile verbatim, since the old one no longer builds anywhere now that fledge-iot.org is gone. Original commit message follows: The fledge-iot.org website and package archive were decommissioned; .deb packages are no longer available. Rewrite the Dockerfile to clone and build all fledge components directly from https://github.com/fledge-iot. Key changes: - Base image bumped from ubuntu:18.04 (EOL) to ubuntu:20.04 - FLEDGEVERSION defaults to 3.1.0 (latest stable) - fledge core built via requirements.sh + make install - C++ plugins built with cmake -DFLEDGE_INSTALL - Python plugins (sinusoid, http_south) installed by file copy - fledge-gui built with yarn + ./build --clean-start, served by nginx Package renames from deb to GitHub repo names: - fledge-south-modbus -> fledge-south-modbus-c - fledge-south-flirax8 -> fledge-south-FlirAX8 - fledge-south-http-south -> fledge-south-http - fledge-north-httpc -> fledge-north-http-c - fledge-filter-flirvalidity removed (no public GitHub repo) Signed-off-by: eriknordmark <erik@zededa.com> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Backport of #1146 (commit c42bb5e). The fledge-iot.org website and package archive were decommissioned; .deb packages are no longer available. The Dockerfile must be rewritten to clone and build all fledge components directly from https://github.com/fledge-iot. Manual port: the original commit was a 60-line→180-line rewrite that does not cherry-pick cleanly because the stable branch had ubuntu:18.04 / FLEDGEVERSION 1.8.2 while the new version is ubuntu:20.04 / FLEDGEVERSION 3.1.0. Adopt master's Dockerfile verbatim, since the old one no longer builds anywhere now that fledge-iot.org is gone. Original commit message follows: The fledge-iot.org website and package archive were decommissioned; .deb packages are no longer available. Rewrite the Dockerfile to clone and build all fledge components directly from https://github.com/fledge-iot. Key changes: - Base image bumped from ubuntu:18.04 (EOL) to ubuntu:20.04 - FLEDGEVERSION defaults to 3.1.0 (latest stable) - fledge core built via requirements.sh + make install - C++ plugins built with cmake -DFLEDGE_INSTALL - Python plugins (sinusoid, http_south) installed by file copy - fledge-gui built with yarn + ./build --clean-start, served by nginx Package renames from deb to GitHub repo names: - fledge-south-modbus -> fledge-south-modbus-c - fledge-south-flirax8 -> fledge-south-FlirAX8 - fledge-south-http-south -> fledge-south-http - fledge-north-httpc -> fledge-north-http-c - fledge-filter-flirvalidity removed (no public GitHub repo) Signed-off-by: eriknordmark <erik@zededa.com> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Backport of #1146 (commit c42bb5e). The fledge-iot.org website and package archive were decommissioned; .deb packages are no longer available. The Dockerfile must be rewritten to clone and build all fledge components directly from https://github.com/fledge-iot. Manual port: the original commit was a 60-line→180-line rewrite that does not cherry-pick cleanly because the stable branch had ubuntu:18.04 / FLEDGEVERSION 1.8.2 while the new version is ubuntu:20.04 / FLEDGEVERSION 3.1.0. Adopt master's Dockerfile verbatim, since the old one no longer builds anywhere now that fledge-iot.org is gone. Original commit message follows: The fledge-iot.org website and package archive were decommissioned; .deb packages are no longer available. Rewrite the Dockerfile to clone and build all fledge components directly from https://github.com/fledge-iot. Key changes: - Base image bumped from ubuntu:18.04 (EOL) to ubuntu:20.04 - FLEDGEVERSION defaults to 3.1.0 (latest stable) - fledge core built via requirements.sh + make install - C++ plugins built with cmake -DFLEDGE_INSTALL - Python plugins (sinusoid, http_south) installed by file copy - fledge-gui built with yarn + ./build --clean-start, served by nginx Package renames from deb to GitHub repo names: - fledge-south-modbus -> fledge-south-modbus-c - fledge-south-flirax8 -> fledge-south-FlirAX8 - fledge-south-http-south -> fledge-south-http - fledge-north-httpc -> fledge-north-http-c - fledge-filter-flirvalidity removed (no public GitHub repo) Signed-off-by: eriknordmark <erik@zededa.com> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The fledge-iot.org website and package archive were decommissioned; .deb packages are no longer available. Rewrite the Dockerfile to clone and build all fledge components directly from https://github.com/fledge-iot.
Key changes:
Package renames from deb to GitHub repo names:
Build fixes discovered during docker buildx build: