Developer guides for redpesk

Role of packages

Based on building two components: A and B, the figure below shows some important items.
First, the sources are converted to packages that are then installed on the target.

development

The factory is responsible for producing packages. Packaging is an activity by itself that is documented in the developer’s guide of factory section (see Spec file config and development chapter).

The figure shows that one source produces more than one package.
This is generally true. And the produced packages are of two main kinds:

  • packages for the target: binaries, configuration/data, test, …
  • packages for development: headers, documentation, static libraries, …

Second, it shows that when dependency between components exists, there is possibly a compile time dependency that does not involves the target.

These aspects are important for redpesk developers that must think as producing packages.

Development of services and applications

Development for redpesk OS is not limited to bindings nor to language C. Thanks to the factory, developers have a wide range of tools for producing and compiling their own requirements (programs, data, …).

These developer guides are mainly focused on writing microservices running on top of the binder. But there are 2 exceptions:

  • the metadata guide lets you know how to setup the metadata of your packages for the security framework

  • the CMAKE application module is a kind of helper for writing CMAKE build files for your projects.

This documentation also presents:

  • the binding development guide for C/C++ programmers

  • the utility libraries rp-utils, afb-helper for C/C++ programmers

  • the graphical interface for developing bindings

Evolution of the framework

Since its first release, the microservice framework has evolved. The currently active versions of bindings are 3 and 4. And the effort of porting all bindings from 3 to 4 is still in progress.

This evolution has an impact on some libraries: afb-helper and the legacy afb-controller.
Then version 3 is in use and documented here but its use is not recommended for new designs: both are replaced by the couple afb-helper version 4 and rp-utils.