Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
src
README.adoc

README.adoc

Blended Updater

Internal / Development

Materializing an update

  • download all artifacts referenced in that config

  • check checksums of all artifacts

  • generate a LauncherConfig from the config

  • restart the container

Config types

LaunchConfig

The LauncherConfig contains only locally available jars and is used to bootstrap the OSGi container. It is processed by the blender-launcher module.

RuntimeConfig

The RuntimeConfig is the notion of an updateable configuration. It contains some metadata and all artifact locations as URLs. It is processed by the blended-updater module.

After a successful download and integrity check of all artifacts references in a RuntimeConfig, a LauncherConfig will be generated. All relevant metadata required to map a generated LauncherConfig to its producing RuntimeConfig will be stored in the branding property of the LauncherConfig.

New: If all required artifacts are present, the launcher is also able to start directly with a RuntimeConfig.

TODOs

  • Validate checksums in launcher

  • Tooling for features

    • materialization of repositories

  • Template-based resource processing

  • Tests for Resource updates

  • Re-download of JARs with incorrect checksums (retry-count)

  • Move download configuration of Update actor to config file

Boot process

  • Launcher has 3 modes:

    • LaunchConfig - Explicit set of settings

    • RuntimeConfig - local materialized config of the updater

    • ProfileLookup - read a lookup file, which holds further info about the available profiles and the current profile

Only the third mode enables the updater to restart into another profile

When starting the launcher will expose various properties via the blended.launcher.runtime.Branding class: * Location of the ProfileLookup file * The current profile name and version * The current profile directory

Update process

  • In the staging phase, the updater will:

    • download and check bundles

    • download and check resources

    • unpack and filter resources, it will replace various properties:

      • all defined in ProfileLookup

      • blended.updater.profile.dir

      • blended.updater.profile.name

      • blended.updater.profile.version

      • blended.updater.profiles.basedir

Open Questions

  • How to configure the file install service

  • How to initialize configuration files after an update

BLENDED_HOME BLENDED_PROFILE_HOME

You can’t perform that action at this time.