All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to Semantic Versioning.
- Re-create services when depends_on changes [Felipe Lalanne]
- Use patched ca-certificates to remove eMudhra intermediate CAs [Felipe Lalanne]
- Remove config from oci and state image models [Felipe Lalanne]
- Use target service image when migrating a service [Felipe Lalanne]
- Implement generic field tracking [Felipe Lalanne]
- Keep non-finite numbers as strings when parsing environment values [Felipe Lalanne]
- Make ContainerConfig::cgroup an Option [Felipe Lalanne]
- Handle default bridge network_mode on podman [Felipe Lalanne]
- Add support for compose service
pidconfiguration [Felipe Lalanne] - Add
Bridgenetwork mode variant [Felipe Lalanne] - Only read network mode label for the
servicecase [Felipe Lalanne] - Add support for compose Services
ipcproperty [Felipe Lalanne]
- Accept services.mac_address compose property [Felipe Lalanne]
- Make network_mode service force a required and restart dependency [Felipe Lalanne]
- Use
restart:trueto determine if a dependency can migrate [Felipe Lalanne] - Re-create dependents when their dependency is reconfigured [Felipe Lalanne]
- Create services in dependency order [Felipe Lalanne]
- Update mahler to 0.27.1 [Felipe Lalanne]
- Return error on trigger_poll on input failure [Felipe Lalanne]
- Use hickory DNS resolver on requests to the remote backend [Felipe Lalanne]
- Update flowzone config [Felipe Lalanne]
- Add support for legacy volumes [Felipe Lalanne]
- Record volumes mounted by containers as external on read [Felipe Lalanne]
- Keep external volume mount sources out of the app namespace [Felipe Lalanne]
- Add an external variant to the volume model [Felipe Lalanne]
- Add unsupervised volumes to Device model [Felipe Lalanne]
- docker-compose.test.yml: contain failures and optimize [Alex Gonzalez]
- Extend README with hostapp extensions section [Alex Gonzalez]
- balenahup: decline a release with overlays on a pre-extension host [Alex Gonzalez]
- seek: let a forced request interrupt a running apply [Alex Gonzalez]
- balenahup: remove a release's overlays when the release is forgotten [Alex Gonzalez]
- balenahup: reboot to apply an overlay removal [Alex Gonzalez]
- remote: report hostapp overlay extensions as services [Alex Gonzalez]
- balenahup: authenticate the updater image pull [Alex Gonzalez]
- test: deploy multiple overlays through integration test HUP [Alex Gonzalez]
- balenahup: defer host updates while a rollback validation is in progress [Alex Gonzalez]
- util: query systemd unit activation status [Alex Gonzalez]
- test: assert the planner defers host work while a HUP is in progress [Alex Gonzalez]
- test: assert helios stages with --no-reboot and issues the reboot [Alex Gonzalez]
- test: assert the planner deploys overlays before installing the hostapp [Alex Gonzalez]
- test: assert the planner reboots to activate a staged host OS release [Alex Gonzalez]
- balenahup: helios issues the coordinated reboot [Alex Gonzalez]
- util: add update-lock discovery and ownership queries [Alex Gonzalez]
- util: add systemd reboot() via logind [Alex Gonzalez]
- test: deploy an overlay in the dind HUP integration test [Alex Gonzalez]
- balenahup: add hostapp overlay extensions [Alex Gonzalez]
- oci: read a created container with an exit code as failed [Alex Gonzalez]
- seek: re-read the device state between failed retries [Alex Gonzalez]
- remote-model: parse hostapp overlay services into the target [Alex Gonzalez]
- balenahup: nest the hostapp component under HostRelease [Alex Gonzalez]
- util: add boot_id() reading from /proc/sys/kernel/random/boot_id [Alex Gonzalez]
- Recreate the dependents of a replaced namespace target [Christina Ying Wang]
- Support network_mode service references [Christina Ying Wang]
- Show differences in cur/tgt state in start_service and finish_release [Felipe Lalanne]
- Add field tracking for ulimits [Felipe Lalanne]
- Store container volumes in a BTreeSet to ensure stable order [Felipe Lalanne]
- Parse Volumes from HostConfig.Binds [Felipe Lalanne]
- Allow bind mounts on
/tmp[Felipe Lalanne]
- Bound the health await by the healthcheck config [Christina Ying Wang]
- Wait on optional depends_on entries until they resolve [Christina Ying Wang]
- Wait on engine events instead of polling the container [Christina Ying Wang]
- Do not fail planning if a condition is not met [Felipe Lalanne]
- Only add the "prepare release" step for new service or a re-configuration [Felipe Lalanne]
- Fold container exit code into ContainerStatus::Stopped [Christina Ying Wang]
- Update alpine to 3.24 and the rust-version to 1.96 [Felipe Lalanne]
- Update mahler to v0.26.0 [Felipe Lalanne]
- Allow using a local socket as the takeover host-override arg [Felipe Lalanne]
- Remove unnecessary derives in helios-remote-model [Felipe Lalanne]
- Do not log error for cancelled poll [Felipe Lalanne]
- Reject depends_on cycles and unknown references [Christina Ying Wang]
- Fail fast when an awaited dependency cannot satisfy its condition [Christina Ying Wang]
- Await service_healthy and service_completed_successfully dependencies [Christina Ying Wang]
- Gate service start on service_started dependencies [Christina Ying Wang]
- Surface container health status [Christina Ying Wang]
- Wire depends_on config into remote and state models [Christina Ying Wang]
- Capture container exit_code on ContainerState [Christina Ying Wang]
- Avoid spurious restarts on helios takeover exec error [Felipe Lalanne]
- Add support for
service.annotationscompose field [Felipe Lalanne]
- Set a flag to make sure a supervisor restart happens on takeover [Felipe Lalanne]
- Avoid cancelling an ongoing apply on a cached state [Felipe Lalanne]
- Terminate the process on a failed trigger legacy update [Felipe Lalanne]
- Improve takeover log messages [Felipe Lalanne]
- Write both takeover endpoint and port overrides on the same transaction [Felipe Lalanne]
- Validate the takeover API override to be a URI [Felipe Lalanne]
- Assume
/tmpis host runtime dir [Felipe Lalanne]
- Log API failures as warnings [Felipe Lalanne]
- Add support for
services.tmpfscompose field [Felipe Lalanne] - Add support for
service.ulimitscompose field [Felipe Lalanne] - Add support for
service.device_cgroup_rulescompose field [Felipe Lalanne] - Add support for
service.devicescompose property [Felipe Lalanne]
- Store published ports as a sorted Vec instead of a BTreeSet [Felipe Lalanne]
- Fix hostapp filtering [Felipe Lalanne]
- Make the default log level to
debug[Felipe Lalanne] - Make the
read_stateinstrumentation level totrace[Felipe Lalanne] - Log response status code for get/patch requests [Felipe Lalanne]
- Expand port ranges to work with both Docker and Podman [Felipe Lalanne]
- Send WARN level errors to stdout [Felipe Lalanne]
- Make release rejection notice into an error [Felipe Lalanne]
- Make the host removal exception message less cryptic [Felipe Lalanne]
- Include release uuid in rejection warning [Felipe Lalanne]
- Add support for
group_addcompose property [Felipe Lalanne] - Add support for
sysctlscompose property [Felipe Lalanne] - Add support for
security_optcompose property [Felipe Lalanne] - Add support for
cap_addandcap_dropcompose properties [Felipe Lalanne]
- Make at most 3 HUP attempts before aborting [Felipe Lalanne]
- Add support for compose service entrypoint [Felipe Lalanne]
- Add support for dns, dns_opt and dns_search compose fields [Felipe Lalanne]
- Add an integration test for port publishing [Felipe Lalanne]
- Expose ports on the OCI engine [Felipe Lalanne]
- Accept compose ports from the target state [Felipe Lalanne]
- Normalize on-failure restart policy with no retry count [Christina Ying Wang]
- Remove the top level logging span [Felipe Lalanne]
- Configure logs output by level [Felipe Lalanne]
- Move supervisor takeover code to Rust [Felipe Lalanne]
- Add systemd tools to start/stop units and reload daemon [Felipe Lalanne]
- Remove unnecessary features and optimize release build [Felipe Lalanne]
- Parse Compose byte values using parse-size [Christina Ying Wang]
- Parse Compose duration strings using go-parse-duration [Christina Ying Wang]
- Support service.extra_hosts [Christina Ying Wang]
- Update integration tests [Felipe Lalanne]
- Report rejected releases to remote backend [Felipe Lalanne]
- Update app tasks to set the rejected_release property [Felipe Lalanne]
- Validate target apps independently on helios-remote-model [Felipe Lalanne]
- Do not update app authorization list on local state [Felipe Lalanne]
- Remove Clone from helios-remote-model types [Felipe Lalanne]
- Make LockSet::try_lock idempotent [Felipe Lalanne]
- Flock the directory before force locking [Felipe Lalanne]
- Allow to force acquire locks [Felipe Lalanne]
- Enable run_task log messages [Felipe Lalanne]
- Configure HTTP request keep-alive to 59 seconds [Felipe Lalanne]
- Set Authorization header for legacy supervisor requests [Felipe Lalanne]
- Reduce default log level to
info[Felipe Lalanne] - Re-categorize log messages between info/debug [Felipe Lalanne]
- Preserve target image URI when migrating a service [Christina Ying Wang]
- Add healthcheck support to service composition [Christina Ying Wang]
- Add /tmp/balena bind mount to services [Felipe Lalanne]
- Refactor tasks for readability [Felipe Lalanne]
- Implement app locking via update locks [Felipe Lalanne]
- Create helios-util::locking module [Felipe Lalanne]
- Move HostRuntimeDir to helios-util::types [Felipe Lalanne]
- Bind mount handling improvements [Felipe Lalanne]
- Read bind mounts from container host config [Felipe Lalanne]
- Add additional poll tests for critical paths [Felipe Lalanne]
- Fix poll loop after the 24-hour timer is triggered [Felipe Lalanne]
- Validate cpus field on helios-remote-model [Felipe Lalanne]
- Remove some Option properties in container config [Felipe Lalanne]
- Write a label for service networks.mac_address [Felipe Lalanne]
- Add missing field tracking [Felipe Lalanne]
- Read the full container configuration after service start [Felipe Lalanne]
- Support numeric compose service fields [Christina Ying Wang]
- Support String compose service fields [Christina Ying Wang]
- Support init, privileged, read_only, tty bool fields [Christina Ying Wang]
- Fix issue with service migration happenning too early [Felipe Lalanne]
- Ensure services are removed when removing linked volumes [Felipe Lalanne]
- Ensure services are removed when removing networks [Felipe Lalanne]
- Test removal of services with changing networks [Felipe Lalanne]
- Small tweaks to app tasks [Felipe Lalanne]
- Test migration of services linking to networks [Felipe Lalanne]
- Update dependencies [Felipe Lalanne]
- Improve error messaging for labels validation [Felipe Lalanne]
- Improve error messaging for env var validation [Felipe Lalanne]
- Add service volumes support [Felipe Lalanne]
- Fix bug when pulling multiple services with same image [Felipe Lalanne]
- Add support for service network_mode [Felipe Lalanne]
- Add support for Service networks [Felipe Lalanne]
- Set default log level to debug [Felipe Lalanne]
- Fix supervisor takeover script [Felipe Lalanne]
- Re-emit target state every 24 hours [Felipe Lalanne]
- Make sure to apply local target after legacy apply [Felipe Lalanne]
- Fix helios-oci::Volume::create [Felipe Lalanne]
- Mask sensitive environment variables in logs [Felipe Lalanne]
- Add system environment variables to services [Felipe Lalanne]
- Add environment variable support [Felipe Lalanne]
- Use oci::ContainerConfig as the main service config model [Felipe Lalanne]
- Add support for service restart policy [Felipe Lalanne]
- Report progress on every stream event [Felipe Lalanne]
- Normalize naming of OCI related model properties [Felipe Lalanne]
- Look for the network/volume before create [Felipe Lalanne]
- Use helios-oci namepacing to create volumes [Felipe Lalanne]
- Use helios-oci namespace to create networks [Felipe Lalanne]
- Remove container_name from Service model [Felipe Lalanne]
- Add namespacing to helios-oci containers [Felipe Lalanne]
- Refactor helios-oci naming [Felipe Lalanne]
- Update to mahler v0.25.9 to use the new View::commit feature [Felipe Lalanne]
- Fix bug with reporting changes while sending [Felipe Lalanne]
- Fix reporting of unchanged apps [Felipe Lalanne]
- Add HUP retry integration test [Felipe Lalanne]
- Add explicit SIGTERM handling to main process [Felipe Lalanne]
- Only report on apps in the target state. [Felipe Lalanne]
- Report service is installing [Felipe Lalanne]
- Add downloading/downloaded update statuses [Felipe Lalanne]
- Use debugging assertions for integration tests [Felipe Lalanne]
- Remove DeviceTarget::normalize [Felipe Lalanne]
- Remove app-uuid from Volume target state [Felipe Lalanne]
- Remove app-uuid from network target state [Felipe Lalanne]
- Remove metadata labels from service target state [Felipe Lalanne]
- Move
defaultnetwork definition to helios-remote-model [Felipe Lalanne] - Convert Service::container_name to Option [Felipe Lalanne]
- Ensure that a finish release always happens on update [Felipe Lalanne]
- Fix compilation warnings when userapps feature is disabled [Felipe Lalanne]
- Refactor balena hostOS update code into helios-balenahup [Felipe Lalanne]
- Migrate same-config networks and volumes [Christina Ying Wang]
- Reset failed systemd unit before creating a new unit [Felipe Lalanne]
- Allow balenaOS updater script to reboot after install [Felipe Lalanne]
- Report 'downloading' state if service image does not exist yet [Felipe Lalanne]
- Add integration tests for API target poll [Felipe Lalanne]
- Add DELETE app API method to clean up after tests [Felipe Lalanne]
- Update docker volume configuration [felipe]
- Migrate to helios-store [felipe]
- Add helios-store module [felipe]
- Remove the container and image after HUP [felipe]
- Re-set host app install_attempts after 24 hours [felipe]
- Report aborted state to the API when operations could not complete [felipe]
- Group balenahup FS operations with run_async [felipe]
- Use mahler exceptions to skip HUP when applicable [felipe]
- Add worker tests for volume task workflows [Christina Ying Wang]
- Skip orphaned volume cleanup during state reading [Christina Ying Wang]
- Add volume tasks, state reading, and enforce-empty checks [Christina Ying Wang]
- Add state model for volumes and integrate into Release [Christina Ying Wang]
- Add OCI volume layer with VolumeClient [Christina Ying Wang]
- Add Volume remote model [Christina Ying Wang]
- Store user defined service fields and labels in container [Felipe Lalanne]
- Store user provided IPAM config subnets on label [felipe]
- Store user provided ipam options on label [felipe]
- Use default serialization for networking types [felipe]
- Remove support for enable_ipv4 [felipe]
- Support per-family IPAM labels when custom IPAM config [Christina Ying Wang]
- Strip engine-injected network driver_opts on read-back [Christina Ying Wang]
- Add enable_ipv4 support to network model [Christina Ying Wang]
- Enforce networks empty before removing release [Christina Ying Wang]
- Simplify registry authentication [felipe]
- Add a back-off to seek-target retries [felipe]
- Add support for release updates [felipe]
- Add migration task and handle a service migration [felipe]
- Add tasks to rename and re-configure service [felipe]
- Remove unused images as part of the clean-up step [felipe]
- Make
container_namea property of Service [felipe] - Make OCI error handling more uniform [felipe]
- Improve type conversions of Service and ServiceConfig models [felipe]
- Clean-up some type definitions [felipe]
- Make NetworkConfig a newtype over OCI NetworkConfig [Christina Ying Wang]
- Discard engine-assigned IPAM config on network read-back [Christina Ying Wang]
- Read Docker network state at startup [Christina Ying Wang]
- Add network Docker client and wire into state IO tasks [Christina Ying Wang]
- Add network create and remove tasks for planner [Christina Ying Wang]
- Add network model for remote and state layers [Christina Ying Wang]
- Re-try seeking target from the local worker on a runtime error [felipe]
- Fix issue with new target not being applied [felipe]
- Add tasks to uninstall release and apps [felipe]
- Add task to finalize a release [felipe]
- Add tasks to remove a service and its image [felipe]
- Add task to stop a running service [felipe]
- Serialize the host status using lowercase [felipe]
- Add task to start service [felipe]
- Add container state to service model [felipe]
- Add an exception to delete operations on the hostapp [felipe]
- Use new cleanup hook feature in mahler 0.25 [felipe]
- Update mahler to v0.25.x [felipe]
- Allow device target for local worker to be None [felipe]
- Fix bug in helios-oci::Image::list() [felipe]
- Use docker-cli v28 to keep compatibility with balena-engine [felipe]
- Do not limit image progress reporting to worker [felipe]
- Only interrupt state patch on channel closing [felipe]
- Debug client errors to remote API [felipe]
- Add reporting for user apps [felipe]
- Add Service status to Worker model [felipe]
- Remove app-id from service labels [felipe]
- Update install_service to create container [felipe]
- Refactor local service model [felipe]
- Refactor helios-oci types [felipe]
- Refactor remote service model [felipe]
- Rename helios-remote-types to helios-remote-model [felipe]
- Update MSRV to 1.89 [felipe]
- Improve safe_write_all [felipe]
- Refactor Image model to have an optional engine id [felipe]
- Add download_progress field to Worker images [felipe]
- Add
pull_with_progressmethod to helios_oci::Image [felipe] - Use mahler View::create and View::delete method in tasks [felipe]
- Update mahler to v0.24.1 [felipe]
- Recreate the worker before applying state [felipe]
- Process image installs for all apps [felipe]
- Use ImageRef type to reference local images [felipe]
- Read/write service data from containers [felipe]
- Create ServiceContainerName type [felipe]
- Read/write app metadata from local store [felipe]
- Update mahler to v0.22 [felipe]
- Use host runtime dir on balenahup tasks [felipe]
- Add host-runtime-dir option to CLI [felipe]
- Group state initialization into a
preparefunction [felipe] - Create tar module in utils [felipe]
- Disable hostapp reporting [felipe]
- Refactor device host model [felipe]
- Add hostapp reporting [felipe]
- Implement HostOS update tasks [felipe]
- Split helios-state/worker tasks into separate tasks module [felipe]
- Parse build identifier in the OperatingSystem type [felipe]
- Refactor integration tests to test utils [felipe]
- Add systemd module in helios-util [felipe]
- Update models to work with mahler@0.21.4 [felipe]
- Add initial HostApp model [felipe]
- Make features configurable on Docker build [felipe]
- Make /v3 API endpoints an optional feature of helios-api [felipe]
- Create
userappsandbalenahupfeatures in helios-state [felipe]
- Rename Store::store to Store::write [felipe]
- Read device name from local store [felipe]
- Use a Store instance for loading config and provisioning [felipe]
- Implement
storemodule in helios-util [felipe] - Make helios-util config functions async [felipe]
- Remove helios-remote-types dependency on helios-oci [felipe]
- Use remote_input::AppTarget for local API [felipe]
- Create helios-remote-types with validation types [felipe]
- Rename integration folder to
helios-integration-tests[felipe]
- Do not validate target release count [felipe]
- Stop checking digest tag [felipe]
- Remove support for config vars [felipe]
- Statically build Regex for ImageUri [felipe]
- Omit the
latesttag when parsing image Uris [felipe] - Send empty report [felipe]
- Fix registry auth initialization [felipe]
- Create build script for helios-util crate [felipe]
- Bump Rust version to 1.87 and edition to 2024 [Akis Kesoglou]
- Move helios main to a new crate [Akis Kesoglou]
- Move helios-api to a new crate [Akis Kesoglou]
- Move helios-remote to a new crate [Akis Kesoglou]
- Move helios-state to a new crate [Akis Kesoglou]
- Move helios-legacy to a new crate [Akis Kesoglou]
- Move helios-oci to a new crate [Akis Kesoglou]
- Improve registry configuration [Akis Kesoglou]
- Move types into helios-util [Akis Kesoglou]
- Move config into helios-util [Akis Kesoglou]
- Move helios-util to a new crate [Akis Kesoglou]
- Move all use of Bollard into a new module [Akis Kesoglou]
- Move Registry into OCI module [Akis Kesoglou]
- Move Request into utils [Akis Kesoglou]
- Move ImageUri into a new module [Akis Kesoglou]
- Ignore HELIOS_REMOTE_* credentials in the container [felipe]
- Read host OS version from CLI [felipe]
- Refactor Host type into OperatingSystem [felipe]
- Fix setup-supervisor script to use latest CLI config [felipe]
- Update README with project goals and architecture [felipe]
- Use BTreeMap rather than HashMap for models [felipe]
- Add clean-up tasks [felipe]
- Add registry credentials management [felipe]
- Add task to fetch service image. [Felipe Lalanne]
- Add task to tag image [Felipe Lalanne]
- Add image pull/remove tasks to worker [felipe]
- Create docker::ImageUri type to handle URI manipulation [felipe]
- Use shared docker connection [Felipe Lalanne]
- Remove POST /v3/device API endpoint [Felipe Lalanne]
- Read device state from docker engine [Felipe Lalanne]
- Ignore hostapps when deserializing target state [Felipe Lalanne]
- Set-up docker volume for configuration data [Felipe Lalanne]
- Make Uri a new serializable type [Akis Kesoglou]
- Make clear that proxy’s configured UUID is legacy’s UUID [Akis Kesoglou]
- Make proxy config legacy URI non-optional [Akis Kesoglou]
- Implement device provisioning [Akis Kesoglou]
- Make API keys a new type [Akis Kesoglou]
- Make utility digest function [Akis Kesoglou]
- Add some worker tests [Felipe Lalanne]
- Make get/patch interrupt an Option [Felipe Lalanne]
- Remove
performing actionlogs [Felipe Lalanne] - Make poll request interruptible [Felipe Lalanne]
- Make Get request error reporting consistent with patch [Felipe Lalanne]
- Add interrupt signal to request Patch [Felipe Lalanne]
- Add Start command [Akis Kesoglou]
- Use CLI directly for all configuration [Akis Kesoglou]
- Split proxy into config and state cache parts [Akis Kesoglou]
- Rename “fallback” to “legacy” [Akis Kesoglou]
- Break up fallback into submodules [Akis Kesoglou]
- Turn fallback into a submodule [Akis Kesoglou]
- Flesh out the CLI providing defaults and encoding dependencies between arguments [Akis Kesoglou]
- Stop carrying Config around and forward only necessary values [Akis Kesoglou]
- Move register into remote [Akis Kesoglou]
- Fix the order of query/sleep in wait_for_state [Felipe Lalanne]
- Update dependencies [Felipe Lalanne]
- Add Interrupt argument to fallback functions [Felipe Lalanne]
- Wait for fallback state to settle on the seek loop [Felipe Lalanne]
- Split wait for settle step from legacy_update fn [Felipe Lalanne]
- Add API tests [Felipe Lalanne]
- Split seek and report into separate loops [Felipe Lalanne]
- Rename TargetStatus to UpdateStatus, move to seek.rs [Felipe Lalanne]
- Break up main poll loop into separate actions [Akis Kesoglou]
- Break up main seek loop into separate actions [Akis Kesoglou]
- Merge state/poll with remote/poll [Akis Kesoglou]
- Split poll and report into separate modules [Akis Kesoglou]
- Split poll and seek handling into separate modules [Akis Kesoglou]
- Split Poll and Seek variants of UpdateRequest [Akis Kesoglou]
- Hash URL for calculating cache filename [Felipe Lalanne]
- Modify UpdateOpts to cancel by default [Felipe Lalanne]
- Write/read GET request cache on disk [Felipe Lalanne]
- Rename SupervisorError to CoreError [Felipe Lalanne]
- Split state module into state/worker/models [Felipe Lalanne]
- Split the main loop into poll and seek/report [Felipe Lalanne]
- Re-set back-off timer on new get/patch requests [Felipe Lalanne]
- Refactor update request management [Felipe Lalanne]
- Group target apply calls into a function [Felipe Lalanne]
- Fix busy waiting on worker stream [Felipe Lalanne]
- Reset the poll time after triggering new poll [Felipe Lalanne]
- Use socket rather than host networking [Felipe Lalanne]
- Add configuration option to listen from Unix socket [Felipe Lalanne]
- Make state endpoint request helpers private to remote module [Akis Kesoglou]
- Streamline CLI and config loading [Akis Kesoglou]
- Streamline update options [Akis Kesoglou]
- Fix intrumentation call hierarchy [Felipe Lalanne]
- Fix the reset_interval function on the request module [Felipe Lalanne]
- Improve instrumentation of poll_remote/send_report functions [Felipe Lalanne]
- Add target apply endpoints [Felipe Lalanne]
- Set-up integration tests [Felipe Lalanne]
- Create GET /v3/device API endpoint [Felipe Lalanne]
- Fix early exit in scripts/start-supervisor.sh [Felipe Lalanne]
- Remove the need for legacy db volume [Felipe Lalanne]
- Configure startup based on variable availability [Felipe Lalanne]
- Drop
hyperand related dependencies [Akis Kesoglou]
- Separate remote handling code from target state handling [Akis Kesoglou]
- Drop
anyhowdep and perform actual error handling/propagation [Akis Kesoglou] - Move a few things around [Akis Kesoglou]
- Simplify start script [Felipe Lalanne]
- Refactor tracing instrumentation [Felipe Lalanne]
- Remove Overrides module [Felipe Lalanne]
- Cleanup main loop [Felipe Lalanne]
- Refactor code [Felipe Lalanne]
- Wait for legacy update to settle before continuing poll loop [Felipe Lalanne]
- Set-up mahler [Felipe Lalanne]
- Remove unecessary module nesting [Akis Kesoglou]
- Refactor Supervisor API server [Akis Kesoglou]
- Refactor all fallback utils into its own module [Felipe Lalanne]
- Move caching fields from RequestState to Get struct [Felipe Lalanne]
- Simplify Patch struct to use blocking interface like Get [Felipe Lalanne]
- Rename ghcr package to 'helios' [Felipe Lalanne]
- Bind to local port before starting poll [Felipe Lalanne]
- Rename the project to Helios and update README [Felipe Lalanne]
- Simplify the main service loop [Felipe Lalanne]
- Setup layered configuration approach [Felipe Lalanne]
- Handle /v1/update requests [Felipe Lalanne]
- Make remote api endpoint optional [Felipe Lalanne]
- Make fallback address optional [Felipe Lalanne]
- Use Clap for parsing arguments and env vars [Felipe Lalanne]
- Add target state overrides system [Felipe Lalanne]
- Implement target state caching and interception in proxy [Felipe Lalanne]
- Add uplink service for target state polling [Felipe Lalanne]
- Add HTTP client functionality [Felipe Lalanne]
- Refactor configuration [Felipe Lalanne]
- Refactor code and rename repository [Felipe Lalanne]
- Setup flowzone [Felipe Lalanne]