Releases: foundriesio/fioup
Releases · foundriesio/fioup
v1.1.1
[ Changes ]
- afa7be7 cmd: Only one instance of fioup can run at a time
- 700e137 - 8ea1880 tests: Add multiple integration tests running in the
docker/compose based environment - debian: Set minimum required versions for dependencies
[ Bugfixes ]
- 2f04341 go.mod: Bump composeapp ver 6a356d0 -> uninstall: Prune only dangling images
[ Andre Detsch ]
- tests: Cleanup docker images at each test startup
- tests: Verify apps list changes
- tests: Add tests for logic specific to fioup daemon
- tests: Use the same docker image twice in the test apps
- tests: Add sync and downgrade to update sequence test
- tests: Set checkStatus and testUpdateTo as helper functions
[ Mike Sul ]
- cmd: Ensure single instance of fioup when needed
- test_environment: Use multiarch image in apps
- go.mod: Bump composeapp ver 6a356d0
- test: Add service reusing image from another service
- docs: Specify minimum required dependency versions
- debian: Set minimum required versions for dependencies
.
[ dependabot[bot] ] - build(deps): bump github.com/spf13/cobra from 1.10.1 to 1.10.2
v1.1.0
[ New Features ]
- Add update details to the context of update events.
- Check free space before fetching the update.
- Containerized development and test environment, along with basic end-to-end tests running in it.
[ Changes ]
- 27cbbcc state: Add init started and completed events
- 63cc2bd event_sender: Truncate event payload if exceeds max allowed
- 4f244ec Allow fioup service to be enabled for boot
[ Bugfixes ]
- 7958992 config: Make sure secrets-dir exists before trying to write to it
- ed16fd4 check: Determine current target reliably
- 3d72b6e install: Send install complete event if install fails
- 18dcd4f stop: Send installation complete event if stop fails
- d76eca2 state: Allow update completion if it was interrupted before
- cacd09f start: Retry completion of successfully started update
- a3b808c stop: Only generate InstallationStarted event after checking state
- eb7c64b version: Fix and extend version command
- 4615e7b install: Avoid performing install if update is in Installed state
[ Mike Sul ]
- release: Install deb package with its dependencies
- version: Fix and extend version command
- start: Retry completion of successfully started update
- state: Allow update completion if it was interrupted before
- stop: Send installation complete event if stop fails
- install: Send install complete event if install fails
- event_sender: Refactor to simplify event creation
- event_sender: Group all type defs
- event_sender: Add event enqueueing options
- event_sender: Add ability to specify event details
- state: Pass error when sending event
- event_sender: Define update events schema version
- go.mod: Bump composectl version 0400d34
- state: Add skeleton code for adding context to update events
- state: Add fetch progress details to download events
- state: Add update details to install complete event
- status: Add helper method to retrieve list of app statuses
- target: Add helper method over apps slice
- state: Add details to the install started event
- target: Define and use "from" and "to" apps in diff
- state: Add init started and completed events
- e2e-test: Always expect "init started/completed" events
- go.mod: Bump composectl ver ebf921e
- event_sender: Truncate event payload if exceeds max allowed
- state: Add update reason to update event context
- check: Determine current target reliably
- check: Add unit tests for check state
- check: Get ongoing target from targets metadata
- config: Add storage usage watermark parameter
- fetch: Check free space before fetching update
- start: Add storage stat to the update completed event
.
[ Katrina Prosise ] - Address findings from linter
.
[ Andre Detsch ] - install: Avoid performing install if update is in Installed state
- stop: Only generate InstallationStarted event after checking state
- test: Add a local docker registry to the dev environment
- client: Allow http operations to the device gateway to be overwritten
- docker: Remove entrypoint.sh script as it is no longer needed
- tests: Add tests for a sequence of updates, and resuming an update
- ci: Add integration tests to CI workflow
- tests: Set custom HttpOperations per GatewayClient instance
- config: Make sure secrets-dir exists before trying to write to it
.
[ Raul Muñoz ] - Change polling_seconds value type to string
.
[ dependabot[bot] ] - build(deps): bump golangci/golangci-lint-action from 8 to 9
- build(deps): bump github.com/stretchr/testify from 1.10.0 to 1.11.1
- build(deps): bump actions/upload-artifact from 4 to 5
- build(deps): bump actions/download-artifact from 5 to 6
- build(deps): bump actions/checkout from 3 to 6
- build(deps): bump modernc.org/sqlite from 1.39.0 to 1.40.1
. - Allow fioup service to be enabled for boot
v1.0.0
[ Mike Sul ]
- error: Print cmd run error as non-log message
- api: Remove auto-rollback if update failure
- go.mod: Bump composeapp version f165a6f
- update: Add option to force update
- update: Add option to sync the current target
- client: Use a pointer receiver for all client methods
- client: Add app states reporting
- update: Add options to pass gateway client and event sender instances
- fetch: Force update by default
- install: Skip install if started or starting
- go.mod: Bump composeapp version 45d0288
- state: Remove printing info from states' implementation
- api: Move update runner to api package
- state: Add stop state
- daemon: Print state processing info
- check: Extend context and print more details
- init: Add and print more info about initialized update
- fetch: Print fetch progress and status
- install: Print install progress
- start: Print app start progress
- state_handler: Rename parameter
- daemon: Print update status in daemon mode
- docs: register: Use "-R" instead "-r" in chown
- docs: register: Extend non-root registration
- check: Add option to enable TUF support
- check: Store loaded targets in the update context
- api: Use check state in the check API function
- check: Refactor code checking if update is needed
- status: Introduce package for status functionality
- status: Use map for app statuses
- check: Check full status of apps if required
- state_handler: Fix field names in the init output
- debian: Add linting and tiny fixes
- debian: Add container engine deps
- check: Determine and use app diff consistently.
- check: Check app diff even if target has no app
- README: Improve the root readme
- docs: Add "how it works" section and some cleanups
- debian: Add dependency on "docker compose"
.
[ Andre Detsch ] - e2e-tests: Adjust tests logic after disabling auto rollback in fioup CLI
- e2e-tests: Call 'fioup update --sync-current' after failed updates
- update: Add MaxAttempts to api.Update, limiting installation retries
- check: Allow limiting latest version by env var
- daemon: Add --run-once option (hidden)
- daemon: cancel current update if newer version is available
- check: allow resuming an update if the target is not in the target list
- ci: Speed up CI by running separate e2e tests in parallel
- daemon: Adjust installation retry and rollback behavior
- daemon: Exit with error if --run-once is used and error occurs
- e2e-tests: Allow a min time to be passed as parameter to verify_events
- e2e-tests: Add tests for fioup daemon mode
- daemon: Exit with error if event sender or gateway client creation fails
- daemon: Fix handling of target start errors
- e2e-tests: Set FIOUP_E2E_RUNONCE env var instead of using --run-once
- fioconfig: Bump to 0c6d0ac
- events: Log error when trying to flush events on stopped sender
- check: Move code from Check.Execute to a new selectToTarget function
- check: Use full current target when doing sync update
- daemon: Fix handling of events sender and gw client during config reload
- docker: Persist home directory for dev user
- docker: Adjust container to allow execution of fioconfig features
- e2e-tests: Verify fioconfig functionality in daemon mode
- debian: Set executable flag of aktualizr-toml-update script
.
[ Andy Doan ] - register: Fix logic for installing docker cred helper
- Makefile: Improve
deboutput - Makefile: Test with same flags that we build with
- daemon: Move loading of apis into helper function
- daemon: Move polling interval logic into helper function
- daemon: Break out update logic into its own function
- daemon: Move sleep logic into a helper function
- daemon: Introduce an
updatertype - daemon: Handle Ctrl-C properly
- daemon: Add logic to reload configuration on SIGHUP
- daemon: Change run-once logic
- cmd: Add
config-checksubcommand - cmd: Add
config-extractcommand - cmd: Add
run-and-reportsubcommand - daemon: Add fioconfig logic into main loop
- Add on-change handler for device config
- cmd: Choose a sensible log handler by default
- cmd: Assert permission for
secrets-dir - docs: Add documentation for fioconfig
.
[ Katrina Prosise ] - Add prose linter
v0.9.0
[ Andy Doan ]
- debian: Update release scripts to support arm64
- client: Add a "self" API to support
whoami - client: Start PutSysInfo API
- client: Add private ipv4 logic to sysinfo
- client: Add logic to upload sota config
- client: Include hwinfo in sysinfo
- client: Ignore similar hwinfo changes
- deb: Add
lshwas a dependency - docs: Improve steps for advanced updating
- docs: Include notes on managing apps
.
[ Andre Detsch ] - daemon: Move daemon implementation to API based code
- events: Initialize ticker in main thread
- update: Remove unused code
- update: Move db initialization function to a new db.go file
- update: Move UpdateOptions struct to cmd, renaming it to commonOptions
.
[ Mike Sul ] - composeapp: Bump version 398032a
- client: Fix header updating
- target: Compare target with the unknown target
- check: Add API function to check targets
- check: Shortlist target apps before checking
- Use single instance of gateway client
- client: Don't set header if value is nil
- check: Shortlist apps of the current target
- check: Figure out current target without targets meta
- Report target apps status just after they are started
- update_runner: Send host system info to device gateway
.
[ dependabot[bot] ] - build(deps): bump actions/download-artifact from 4 to 5
- build(deps): bump actions/setup-go from 5 to 6
- build(deps): bump github.com/spf13/cobra from 1.9.1 to 1.10.1
- build(deps): bump modernc.org/sqlite from 1.38.2 to 1.39.0
v0.2.0
[ Andre Detsch ]
- events: Send events asynchronously
- events: Limit number of events sent at once
.
[ Andy Doan ] - ci: Enable arm64 in releases
v0.1.0
- Initial release