Introducing Castle for Elixir Live Upgrades

77
clicks
Introducing Castle for Elixir Live Upgrades

Source: elixirforum.com

Type: Discussion

Castle is a new package designed to enhance the Elixir release process by facilitating live-upgrades using the language's official release handling mechanisms. The package augments existing release support in Elixir by providing build-time capabilities for handling 'appup' and 'relup' files and generating runtime support for 'sys.config', including 'runtime.exs'. It also includes scripts for managing release processes like unpacking, installing, committing, and removing releases from running systems. The package has been noted for its early-stage development and lack of certain features including Windows support, but it also highlights future updates with commitments to improving the first two. The developers underscore that while Castle aids in the process, it does not generate 'appup' scripts, so developers are expected to write their own for their applications. Subsequent updates to Castle (version 0.2.2) introduced support for config providers and honored the 'config_env/0' during config generation. Later it separated its build-time and runtime components into two different dependencies, and replaced the existing shell script with newly integrated release handling commands (version 0.3.0). There's an ongoing discussion about how libraries could include 'appup' files that can be utilized in the generated 'relups' in their packaging. Moreover, recent updates have made it straightforward for other libraries to include their own appup files by depending on Castle.

© HashMerge 2024