Skip to content

Releases: foundriesio/fioup

v1.1.1

11 Dec 14:41

Choose a tag to compare

[ 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

04 Dec 10:01

Choose a tag to compare

[ 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

06 Nov 11:07
c5b3af7

Choose a tag to compare

[ 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 deb output
  • 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 updater type
  • daemon: Handle Ctrl-C properly
  • daemon: Add logic to reload configuration on SIGHUP
  • daemon: Change run-once logic
  • cmd: Add config-check subcommand
  • cmd: Add config-extract command
  • cmd: Add run-and-report subcommand
  • 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

14 Oct 14:22

Choose a tag to compare

[ 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 lshw as 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

02 Oct 13:59

Choose a tag to compare

[ Andre Detsch ]

  • events: Send events asynchronously
  • events: Limit number of events sent at once
    .
    [ Andy Doan ]
  • ci: Enable arm64 in releases

v0.1.0

01 Oct 14:59

Choose a tag to compare

  • Initial release