prosa

Installs, configures, and manages ProSA.

15 downloads

15 latest version

Version information

  • 0.1.0 (latest)
released Apr 14th 2025
This version is compatible with:
  • Puppet Enterprise 2025.2.x, 2025.1.x, 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2021.7.x
  • Puppet >= 7.24 < 9.0.0
  • , ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'worldline-prosa', '0.1.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add worldline-prosa
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install worldline-prosa --version 0.1.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

worldline/prosa — version 0.1.0 Apr 14th 2025

Puppet ProSA

Table of Contents

  1. Description
  2. Setup
  3. Usage
  4. Limitations
  5. Development - Guide for contributing to the module

Description

ProSA (Protocol Service Adaptor) is a framework designed to provide a simple and lightweight protocol service adaptor for service-oriented architectures. This Puppet module managed with PDK streamlines the process of creating configurations to manage ProSA in your infrastructure. It is capable of configuring and managing a range of processors. For more information on deploying ProSA, please refer to cargo-prosa.

Setup

What the ProSA module affects

  • Service and configuration files for ProSA
  • ProSA processor configuration files

Setup Requirements

This module does not install dependencies required for your specific ProSA instance, such as OpenSSL. You will need to install these dependencies separately according to your ProSA setup.

Beginning with prosa

To have Puppet install ProSA with the default parameters, declare the [prosa][https://forge.puppet.com/modules/worldline/prosa/reference#prosa] class:

class { 'prosa': }

When you declare this class with the default options, the module:

  • Installs the ProSA instace binary from the configured bin_repo.
  • Generate configuration files in the conf_dir.
  • Creates and starts a ProSA service.

Usage

ProSA base

To set up ProSA, you need to use the [prosa][https://forge.puppet.com/modules/worldline/prosa/reference#prosa] class.

From this class, you should specify the binary repository to retrieve the ProSA binary. Additionally, observability is configured by default, but you may need to specify parameters based on your particular stack.

class { 'prosa':
  bin_repo        => 'https://user:password@binary.repo.com/repository/prosa-1.0.0.bin',
  telemetry_level => 'info',
  observability   => {
    'metrics' => {
      'otlp' => {
        'endpoint' => 'http://opentelemetry-collector:4317',
        'protocol' => 'Grpc'
      },
    },
    'traces' => {
      'otlp' => {
        'endpoint' => 'http://opentelemetry-collector:4317',
        'protocol' => 'Grpc'
      },
      'stdout' => {
        'level' => 'info',
      },
    },
    'logs' => {
      'otlp' => {
        'endpoint' => 'http://opentelemetry-collector:4317',
        'protocol' => 'Grpc'
      },
      'stdout' => {
        'level' => 'info',
      },
    },
  }
}

With this configuration, ProSA will be installed and ready to accept processors. Configuring processors is the next step.

Configuring Processors

Processors are configured using the prosa::proc defined type. You can set them up individually or use prosa::processors for all:

class { 'prosa::processors':
  processors => {
    'stub' => {
      'proc_settings' => {
        'service_names' => ['test'],
      },
    },
    'inj' => {
      'proc_settings' => {
        'service_name' => 'test',
      },
    },
  }
}

Since processors have different configurations, proc_settings is provided as a Hash to accommodate all necessary configuration options. To determine which configurations to specify, refer to the documentation for the corresponding processor.

Reference

For information on classes, types and functions see the REFERENCE.md

Limitations

Limitations are associated with the ProSA binary generated with cargo-prosa. You need to pay attention to the compiled architecture of your binary. Additionally, if you are using external binaries (e.g., OpenSSL), you'll need to install them independently.

Development

For development guidelines, please follow contributing rules.

If you submit a change to this module, be sure to regenerate the reference documentation as follows:

puppet strings generate --format markdown --out REFERENCE.md

Acceptance tests are runs with litmus

Authors

Worldline