complyadm

Install and manage Security Compliance Management

863 downloads

17 latest version

Security Compliance Management is now included with Puppet Enterprise

Security Compliance Management lets you monitor and report on security and compliance configurations in your Puppet-managed infrastructure. It requires Puppet Enterprise and is accessed through the Security Compliance Management Console in Puppet Enterprise.

For more information about this module, reach out to your Puppet by Perforce account executive or sales engineer. The Puppet team is available to assist you with the installation process and answer any questions.


Security Compliance Enforcement, a premium feature also available for Puppet Enterprise and Puppet Core, automatically enforces security configurations aligned to CIS Benchmarks and DISA STIGs.

Learn more about Security Compliance Enforcement       Go to module page:  Windows | Linux

Version information

  • 3.4.0 (latest)
  • 3.3.0
  • 3.2.1
  • 3.2.0
  • 3.1.0
  • 3.0.3
  • 3.0.2
  • 3.0.1
  • 3.0.0 (deleted)
released Apr 30th 2025
This version is compatible with:
  • Puppet Enterprise 2025.3.x, 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, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x
  • Puppet >= 6.21.0 < 9.0.0
  • , , , , , ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation

Add this module to your Puppetfile:

mod 'puppetlabs-complyadm', '3.4.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add puppetlabs-complyadm
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install puppetlabs-complyadm --version 3.4.0

Documentation

puppetlabs/complyadm — version 3.4.0 Apr 30th 2025

Reference

Table of Contents

Classes

Defined types

  • complyadm::logrotate_config: Create a logrotate config for a given set of files This type attempts to make some sane assumptions that suit our application. For instance,
  • complyadm::runtime::run: Abstraction to allow for both podman and docker to run a container For docker, it leverages the docker module's existing docker::run For po
  • complyadm::runtime::volume: Creates a volume for the given name using the configured runtime (docker or podman). Docker leverages the docker module's docker_volume re

Functions

Data types

Tasks

Classes

complyadm

multiple components.

Parameters

The following parameters are available in the complyadm class:

runtime

Data type: Complyadm::Runtime

which runtime is being used

ca_crt

Data type: Optional[String]

puppet ca cert

Default value: undef

complyadm::component::assessor_upgrade

installs and configures the main backend component

Parameters

The following parameters are available in the complyadm::component::assessor_upgrade class:

config

Data type: Complyadm::Config::Comply_assessor_upgrade

subset of Complyadm::Config specific to assessor_upgrade

complyadm::component::frontdoor

installs and configures the frontdoor component.

Parameters

The following parameters are available in the complyadm::component::frontdoor class:

config

Data type: Complyadm::Config::Comply_frontdoor

subset of Complyadm::Config specific to the frontdoor service.

complyadm::component::gatekeeper

installs and configures the main backend component

Parameters

The following parameters are available in the complyadm::component::gatekeeper class:

config

Data type: Complyadm::Config::Comply_gatekeeper

subset of Complyadm::Config specific to gatekeeper

complyadm::component::graphql

installs and configures the main backend component

Parameters

The following parameters are available in the complyadm::component::graphql class:

config

Data type: Complyadm::Config::Comply_graphql

subset of Complyadm::Config specific to graphql

complyadm::component::graphql_init

installs and configures the main backend component

Parameters

The following parameters are available in the complyadm::component::graphql_init class:

config

Data type: Complyadm::Config::Comply_graphql_init

subset of Complyadm::Config specific to graphql_init

complyadm::component::identity

installs and configures the main backend component

Parameters

The following parameters are available in the complyadm::component::identity class:

config

Data type: Complyadm::Config::Comply_identity

subset of Complyadm::Config specific to identity

complyadm::component::mtls_proxy

docker run -d -v /etc/puppetlabs/comply/mtls_proxy_nginx.conf:/etc/nginx/nginx.conf -v /etc/puppetlabs/comply/pe:/etc/ssl/certs -p 30303:80 nginx

Parameters

The following parameters are available in the complyadm::component::mtls_proxy class:

config

Data type: Complyadm::Config::Comply_mtls_proxy

subset of Complyadm::Config specific to mtls_proxy

complyadm::component::postgres

installs and configures postgres as the database

Parameters

The following parameters are available in the complyadm::component::postgres class:

config

Data type: Complyadm::Config::Comply_postgres

subset of Complyadm::Config specific to postgres

complyadm::component::redis

installs and configures the main backend component

Parameters

The following parameters are available in the complyadm::component::redis class:

config

Data type: Complyadm::Config::Comply_redis

subset of Complyadm::Config specific to redis

complyadm::component::scarpy

installs and configures the main backend component

Parameters

The following parameters are available in the complyadm::component::scarpy class:

config

Data type: Complyadm::Config::Comply_scarpy

subset of Complyadm::Config specific to scarpy

complyadm::component::scarpy_assessor_init

installs and configures the main backend component

Parameters

The following parameters are available in the complyadm::component::scarpy_assessor_init class:

config

Data type: Complyadm::Config::Comply_scarpy_assessor_init

subset of Complyadm::Config specific to scarpy_assessor_init

complyadm::component::scarpy_init

installs and configures the main backend component

Parameters

The following parameters are available in the complyadm::component::scarpy_init class:

config

Data type: Complyadm::Config::Comply_scarpy_init

subset of Complyadm::Config specific to scarpy_init

complyadm::component::ui

installs and configures the ui service component.

Parameters

The following parameters are available in the complyadm::component::ui class:

config

Data type: Complyadm::Config::Comply_ui

subset of Complyadm::Config specific to the ui service.

complyadm::component::ui_assessor_init

installs and configures the main backend component

Parameters

The following parameters are available in the complyadm::component::ui_assessor_init class:

config

Data type: Complyadm::Config::Comply_ui_assessor_init

subset of Complyadm::Config specific to assessor_init

complyadm::log_rotation

Profile to manage log rotation tool

Defined types

complyadm::logrotate_config

Create a logrotate config for a given set of files This type attempts to make some sane assumptions that suit our application. For instance, we only keep 1 compressed log file from the previous rotation. We explicitly switch to root (logrotate runs as root by default anyways).

complyadm::logrotate_config('/var/log/puppet/*.log', '100M', 'echo "Reload the service"', 3)

Examples

Rotate logs in /var/log/puppet/*.log

Parameters

The following parameters are available in the complyadm::logrotate_config defined type:

path

Data type: String[1]

A path to files that should be rotated. Accepts file globs.

size_mb

Data type: Integer[1]

Total logs stored will be up to twice the amount specified in MB here since we keep the last rotated file.

post_rotate_cmd

Data type: String[1]

Command to run after rotating log files

keep_files

Data type: Integer[0]

How many rotated log files to keep

complyadm::runtime::run

Abstraction to allow for both podman and docker to run a container For docker, it leverages the docker module's existing docker::run For podman, it creates start and stop bash scripts and systemd service file to run them to replicate what the docker module does for docker.

Parameters

The following parameters are available in the complyadm::runtime::run defined type:

runtime

Data type: Complyadm::Runtime

The runtime to use to run the container

image

Data type: String

The image to use as the base for the container

net

Data type: Variant[String,Array[String[1],1],Undef]

The existing runtime network to connect to

Default value: undef

ports

Data type: Variant[String,Array,Undef]

A list of TCP ports to publish in the container

Default value: []

volumes

Data type: Variant[String,Array,Undef]

A list of volumes to mount in the container

Default value: []

env

Data type: Variant[String,Array]

A list of environment variables to set in the container

Default value: []

env_file

Data type: Variant[String,Array]

A list of environment files to set in the container

Default value: []

pull_on_start

Data type: Boolean

Whether to pull the image on start. Not implemented for podman

Default value: false

extra_parameters

Data type: Variant[String,Array[String],Undef]

Extra parameters to pass to the runtime

Default value: undef

before_start

Data type: Variant[String,Boolean]

A command to run before starting the container

Default value: false

before_stop

Data type: Variant[String,Boolean]

A command to run before stopping the container

Default value: false

cmd

Data type: Optional[String]

The command to run in the container

Default value: undef

after

Data type: Variant[String,Array]

A list of containers to start before starting this container

Default value: []

extra_systemd_parameters

Data type: Variant[String,Hash]

Extra parameters to pass to the systemd service

Default value: {}

after_create

Data type: Optional[String]

Command to run after creating, but before starting container

Default value: undef

install_runtime

Data type: Optional[Boolean]

Flag to denote if using a managed runtime environment

Default value: undef

complyadm::runtime::volume

Creates a volume for the given name using the configured runtime (docker or podman). Docker leverages the docker module's docker_volume resource, while podman uses an exec resource to directly create the volume

Parameters

The following parameters are available in the complyadm::runtime::volume defined type:

ensure

Data type: Enum['present','absent']

The desired state of the volume

Default value: 'present'

runtime

Data type: Complyadm::Runtime

The runtime to use for creating the volume

Default value: 'docker'

Functions

complyadm::backup::format_results

Type: Ruby 4.x API

The complyadm::backup::format_results function.

complyadm::backup::format_results(Array $results)

The complyadm::backup::format_results function.

Returns: String

result

Data type: Array

array containing the backup_list results to display

results

Data type: Array

complyadm::bolt_project_dir

Type: Ruby 4.x API

The complyadm::bolt_project_dir function.

complyadm::bolt_project_dir()

The complyadm::bolt_project_dir function.

Returns: String[1]

complyadm::bolt_project_files_dir

Type: Ruby 4.x API

The complyadm::bolt_project_files_dir function.

complyadm::bolt_project_files_dir()

The complyadm::bolt_project_files_dir function.

Returns: String[1]

complyadm::bolt_project_inventory_targets

Type: Ruby 4.x API

The complyadm::bolt_project_inventory_targets function.

complyadm::bolt_project_inventory_targets()

The complyadm::bolt_project_inventory_targets function.

Returns: Array[Target]

complyadm::bolt_version

Type: Ruby 4.x API

The complyadm::bolt_version function.

complyadm::bolt_version()

The complyadm::bolt_version function.

Returns: String[1]

complyadm::checks::aggregate_results

Type: Ruby 4.x API

Aggregates check results (validate, preflight, or other)

complyadm::checks::aggregate_results(Array $results)

Aggregates check results (validate, preflight, or other)

Returns: Hash

results

Data type: Array

array of check results from various check plans

complyadm::checks::format_results

Type: Ruby 4.x API

Formats check results for display in the console

complyadm::checks::format_results(String $header, Hash $results)

Formats check results for display in the console

Returns: String

header

Data type: String

the text displayed at the top of the section in white text

result

Data type: Hash

hash containing the check results to display

results

Data type: Hash

complyadm::checks::format_summary

Type: Ruby 4.x API

Creates summary for the end of check output

complyadm::checks::format_summary(Array $results)

Creates summary for the end of check output

Returns: String

results

Data type: Array

list of results hashes that need to be summarized

complyadm::display

Type: Ruby 4.x API

Display a string to the user. We use this function for displaying info that we dont need to go into logs. Or to avoid the issues we see with out::message and prompts. Calling function with no param is good way to insert new lines.

complyadm::display(Optional[String] $data)

Display a string to the user. We use this function for displaying info that we dont need to go into logs. Or to avoid the issues we see with out::message and prompts. Calling function with no param is good way to insert new lines.

Returns: Any

data

Data type: Optional[String]

String we want to display

complyadm::download_image

Type: Ruby 4.x API

Download container image tarball from image_url

complyadm::download_image(String[1] $image_url, String[1] $dest_path)

The complyadm::download_image function.

Returns: Any

image_url

Data type: String[1]

URL pointing to the image to download

dest_path

Data type: String[1]

Absolute path to the location where image tarballs will be stored on disk

complyadm::encode

Type: Ruby 4.x API

Encodes a string

complyadm::encode(String[1] $value)

The complyadm::encode function.

Returns: String[1] A URI encoded version of the string

value

Data type: String[1]

A string with the value to encode

complyadm::file_dirname

Type: Ruby 4.x API

The complyadm::file_dirname function.

complyadm::file_dirname(String $path)

The complyadm::file_dirname function.

Returns: String[1]

path

Data type: String

complyadm::generate_cert_chain

Type: Ruby 4.x API

The complyadm::generate_cert_chain function.

complyadm::generate_cert_chain(String $hostname)

The complyadm::generate_cert_chain function.

Returns: Any

hostname

Data type: String

complyadm::migrate::env_to_hash

Type: Ruby 4.x API

The complyadm::migrate::env_to_hash function.

complyadm::migrate::env_to_hash(Array[Hash] $env_json)

The complyadm::migrate::env_to_hash function.

Returns: Hash

env_json

Data type: Array[Hash]

complyadm::module_version

Type: Ruby 4.x API

The complyadm::module_version function.

complyadm::module_version()

The complyadm::module_version function.

Returns: Any

complyadm::save_yaml_file

Type: Ruby 4.x API

Takes a hash object, calls .to_yaml and saves it to disk

complyadm::save_yaml_file(Hash $data, String $relative_file_path)

Takes a hash object, calls .to_yaml and saves it to disk

Returns: String[1] The absolute file path of where it was saved

data

Data type: Hash

A hash to write as yaml

relative_file_path

Data type: String

path relative to the bolt project

complyadm::secure_random

Type: Ruby 4.x API

The complyadm::secure_random function.

complyadm::secure_random(Integer $length)

The complyadm::secure_random function.

Returns: String

length

Data type: Integer

complyadm::status_check

Type: Ruby 4.x API

containers are running.

complyadm::status_check(String $resolvable_hostname)

containers are running.

Returns: Boolean boolean - true if the status api endpoint returns healthy, false if not

resolvable_hostname

Data type: String

The resolvable hostname to check

complyadm::verify_certs

Type: Ruby 4.x API

The complyadm::verify_certs function.

complyadm::verify_certs(String $cert_chain_contents, String $key_contents)

The complyadm::verify_certs function.

Returns: Any

cert_chain_contents

Data type: String

key_contents

Data type: String

random_string

Type: Ruby 4.x API

Generates a random hex string

random_string()

The random_string function.

Returns: String Random hex string

random_uuid

Type: Ruby 4.x API

Generates a random uuid

random_uuid()

The random_uuid function.

Returns: String Random uuid

Data types

Complyadm::Config

Values are populated from both user input via {Complyadm::Hiera_config} and hard-coded application defaults.

This Datatype can be new-ed up using the function {Complyadm::Config()}

Examples

running a command against all Comply infra targets
$config = Complyadm::Config()
$targets = $config['all_targets']
run_command($targets, 'whoami')

Alias of

Struct[{
    all_targets                  => Array[Target],
    images                       => Struct[{
        comply_graphql              => String[1],
        comply_graphql_init         => String[1],
        comply_scarpy               => String[1],
        comply_scarpy_init          => String[1],
        comply_ui                   => String[1],
        comply_frontdoor            => String[1],
        comply_redis                => String[1],
        comply_mtls_proxy           => String[1],
        comply_scarpy_assessor_init => String[1],
        comply_ui_assessor_init     => String[1],
        comply_assessor_upgrade     => String[1],
        comply_identity             => String[1],
        comply_gatekeeper           => String[1],
        comply_postgres             => String[1],
    }],
    roles               => Complyadm::Roles,
    runtime             => Complyadm::Runtime,
    install_runtime     => Boolean,
    backup_dir          => String[1],
    dump_filename       => String[1],
    ssl => Optional[Struct[{
          cert_chain  => Optional[String[1]],
          crl         => Optional[String[1]],
          private_key => Variant[Sensitive[String[1]], Sensitive[Undef]],
    }]],
    resolvable_hostname => Optional[String[1]],
    assessor_version    => String[1],
    pe                  => String,
    ca_crt              => String,
    tls_crt             => String,
    tls_key             => String,
}]

Complyadm::Config::Comply_assessor_upgrade

Subtype of {Complyadm::Config} that is passed to puppet code for configuring the comply_assessor_upgrade component.

Important: DataTypes used here must be serializable, or come from puppet modules since they are passed to target nodes.

Alias of

Struct[{
    container => Complyadm::Container,
}]

Complyadm::Config::Comply_frontdoor

Subtype of {Complyadm::Config} that is passed to puppet code for configuring the comply_frontdoor component.

Important: DataTypes used here must be serializable, or come from puppet modules since they are passed to target nodes.

Alias of

Struct[{
    container => Complyadm::Container,
    cert_chain => String,
    private_key => String,
    crl => String,
}]

Complyadm::Config::Comply_gatekeeper

Subtype of {Complyadm::Config} that is passed to puppet code for configuring the comply_gatekeeper component.

Important: DataTypes used here must be serializable, or come from puppet modules since they are passed to target nodes.

Alias of

Struct[{
    container     => Complyadm::Container,
    client_secret => String[1],
    cookie_secret => String[1],
    hostname      => String[1],
    scarpy        => String[1],
    graphql       => String[1],
    ui            => String[1],
}]

Complyadm::Config::Comply_graphql

Subtype of {Complyadm::Config} that is passed to puppet code for configuring the comply_graphql component.

Important: DataTypes used here must be serializable, or come from puppet modules since they are passed to target nodes.

Alias of

Struct[{
    container    => Complyadm::Container,
}]

Complyadm::Config::Comply_graphql_init

Subtype of {Complyadm::Config} that is passed to puppet code for configuring the comply_graphql_init component.

Important: DataTypes used here must be serializable, or come from puppet modules since they are passed to target nodes.

Alias of

Struct[{
    container => Complyadm::Container,
}]

Complyadm::Config::Comply_identity

Subtype of {Complyadm::Config} that is passed to puppet code for configuring the comply_identity component.

Important: DataTypes used here must be serializable, or come from puppet modules since they are passed to target nodes.

Alias of

Struct[{
    container                       => Complyadm::Container,
    client_secret                   => String[1],
    hostname                        => String[1],
    identity_account                => String[1],
    identity_account_console        => String[1],
    identity_admin_cli              => String[1],
    identity_broker                 => String[1],
    identity_realm_management       => String[1],
    identity_security_admin_console => String[1],
    ca_crt                          => String,
}]

Complyadm::Config::Comply_mtls_proxy

Subtype of {Complyadm::Config} that is passed to puppet code for configuring the comply_mtls_proxy component.

Important: DataTypes used here must be serializable, or come from puppet modules since they are passed to target nodes.

Alias of

Struct[{
    container => Complyadm::Container,
    pe_cert_checks_disabled => Boolean,
    tls_crt => String,
    tls_key => String,
}]

Complyadm::Config::Comply_postgres

Subtype of {Complyadm::Config} that is passed to puppet code for configuring the comply_postgres component.

Important: DataTypes used here must be serializable, or come from puppet modules since they are passed to target nodes.

Alias of

Struct[{
    container => Complyadm::Container,
    log_level => String[1],
    comply_db_username => String[1],
    identity_db_username => String[1],
    comply_db_password => String[1],
    identity_db_password => String[1],
    admin_db_username => String[1],
}]

Complyadm::Config::Comply_redis

Subtype of {Complyadm::Config} that is passed to puppet code for configuring the comply_redis component.

Important: DataTypes used here must be serializable, or come from puppet modules since they are passed to target nodes.

Alias of

Struct[{
    container => Complyadm::Container,
}]

Complyadm::Config::Comply_scarpy

Subtype of {Complyadm::Config} that is passed to puppet code for configuring the comply_scarpy component.

Important: DataTypes used here must be serializable, or come from puppet modules since they are passed to target nodes.

Alias of

Struct[{
    container         => Complyadm::Container,
    ca_crt            => String,
}]

Complyadm::Config::Comply_scarpy_assessor_init

Subtype of {Complyadm::Config} that is passed to puppet code for configuring the comply_scarpy_assessor_init component.

Important: DataTypes used here must be serializable, or come from puppet modules since they are passed to target nodes.

Alias of

Struct[{
    container => Complyadm::Container,
}]

Complyadm::Config::Comply_scarpy_init

Subtype of {Complyadm::Config} that is passed to puppet code for configuring the comply_scarpy_init component.

Important: DataTypes used here must be serializable, or come from puppet modules since they are passed to target nodes.

Alias of

Struct[{
    container => Complyadm::Container,
}]

Complyadm::Config::Comply_ui

Subtype of {Complyadm::Config} that is passed to puppet code for configuring the comply_ui component.

Important: DataTypes used here must be serializable, or come from puppet modules since they are passed to target nodes.

Alias of

Struct[{
    container => Complyadm::Container,
}]

Complyadm::Config::Comply_ui_assessor_init

Subtype of {Complyadm::Config} that is passed to puppet code for configuring the comply_scarpy_assessor_init component.

Important: DataTypes used here must be serializable, or come from puppet modules since they are passed to target nodes.

Alias of

Struct[{
    container => Complyadm::Container,
}]

Complyadm::Container

The Complyadm::Container data type.

Alias of

Struct[{
    runtime                  => Complyadm::Runtime,
    install_runtime          => Boolean,
    name                     => String[1],
    image                    => String[1],
    net                      => String[1],
    ports                    => Optional[Variant[String,Array]],
    extra_parameters         => Optional[String[1]],
    extra_systemd_parameters => Optional[Hash],
    after                    => Optional[Variant[String,Array]],
    cmd                      => Optional[String],
    env_vars                 => Optional[Hash],
    healthcheck              => Optional[String[1]],
}]

Complyadm::Hiera_config

Comply configuration that customers can change

Alias of

Struct[{
    targets             => Struct[{
        backend  => Array[String[1]],
        database => Array[String[1]],
        ui       => Array[String[1]],
    }],
    admin_db_password    => String[1],
    comply_db_password   => String[1],
    comply_db_username   => Optional[String[1]],
    identity_db_password => String[1],
    identity_db_username => Optional[String[1]],
    resolvable_hostname  => String[1],
    runtime              => Optional[Complyadm::Runtime],
    install_runtime      => Optional[Boolean],
    secret_key           => String[16],
    backup_dir           => Optional[String[1]],
    containers           => Optional[Struct[{
          postgres => Optional[Struct[{
                log_level        => Optional[Enum['INFO', 'NOTICE', 'WARNING', 'ERROR']],
                max_log_size_mb  => Optional[Integer[1]],
                keep_log_files   => Optional[Integer[0]],
                extra_parameters => Optional[String[1]],
          }]],
    }]],

    # browser tls config
    ssl_cert_chain                    => Optional[String[1]],
    ssl_crl                           => Optional[String[1]],
    ssl_private_key                   => Optional[String[1]],

    # identity/gatekeeper secrets
    identity_account                  => String[1],
    identity_account_console          => String[1],
    identity_admin_cli                => String[1],
    identity_broker                   => String[1],
    identity_realm_management         => String[1],
    identity_security_admin_console   => String[1],
    client_secret                     => String[1],
    cookie_secret                     => String[1],
    db_encryption_key                 => String[1],
    identity_admin_user               => String[1],
    identity_admin_password           => String[1],

    # redis passwords
    redis_password                    => String[1],

    assessor_update_check_interval    => String[1],
    data_retention_period             => String[1],
    fact_update_check_interval        => String[1],

    # assessor info
    user_assessor_version             => String[1],

    hasura_admin_secret               => String[1],

    pe                                => String,

    log_level                         => Enum['info', 'warn', 'debug'],

    ca_crt                            => String,
    tls_crt                           => String,
    tls_key                           => String,

    cert_chain                        => String,
    private_key                       => String,
    crl                               => String,
}]

Complyadm::Roles

The Complyadm::Roles data type.

Alias of

Struct[{
    backend => Struct[{
        services => Struct[{
            comply_graphql              => Complyadm::Config::Comply_graphql,
            comply_scarpy               => Complyadm::Config::Comply_scarpy,
            comply_redis                => Complyadm::Config::Comply_redis,
            comply_identity             => Complyadm::Config::Comply_identity,
            comply_gatekeeper           => Complyadm::Config::Comply_gatekeeper,
            comply_frontdoor            => Complyadm::Config::Comply_frontdoor,
            comply_mtls_proxy           => Complyadm::Config::Comply_mtls_proxy,
            comply_graphql_init         => Complyadm::Config::Comply_graphql_init,
            comply_scarpy_assessor_init => Complyadm::Config::Comply_scarpy_assessor_init,
            comply_scarpy_init          => Complyadm::Config::Comply_scarpy_init,
            comply_assessor_upgrade     => Complyadm::Config::Comply_assessor_upgrade,
        }],
        targets => Array[Target],
    }],
    database => Struct[{
        services => Struct[{
            comply_postgres => Complyadm::Config::Comply_postgres,
        }],
        targets  => Array[Target],
    }],
    ui => Struct[{
        services => Struct[{
            comply_ui                  => Complyadm::Config::Comply_ui,
            comply_ui_assessor_init    => Complyadm::Config::Comply_ui_assessor_init,
        }],
        targets  => Array[Target],
    }],
}]

Complyadm::Runtime

https://www.puppet.com/docs/comply/3.x/comply.html

Alias of Enum['docker', 'podman']

Complyadm::Support_bundle::Database_info

The Complyadm::Support_bundle::Database_info data type.

Alias of

Struct[{
    container_name => String[1],
    database_user  => String[1],
}]

Complyadm::Support_bundle::Journald_services

The Complyadm::Support_bundle::Journald_services data type.

Alias of

Struct[{
    role_name => String[1],
    services  => Array[String[1]],
}]

Tasks

backup

Back up the target system's Comply installation

Supports noop? false

Parameters

runtime

Data type: Complyadm::Runtime

Comply container runtime

backup_dir

Data type: String[1]

The directory on the target where the backups are stored

database_info

Data type: Complyadm::Support_bundle::Database_info

Information on the database to back up.

image

Data type: String[1]

The comply_postgres image on the target system. Used to determine the version of Comply, and run volume tar backups.

version

Data type: String[1]

The version of the comply module used to create the backup.

volumes

Data type: Array[Hash[String[1], String[1]]]

The docker volumes on the target that should be included in the backup

collect_target_info

Collect troubleshooting info from a Comply target

Supports noop? false

Parameters

runtime

Data type: Complyadm::Runtime

Comply container runtime

journald_services

Data type: Array[Complyadm::Support_bundle::Journald_services]

Collect Journald logs for services grouped by the role name.

database_info

Data type: Optional[Complyadm::Support_bundle::Database_info]

If provided, will collect data from the database which is assumed to be running.

migrate_secrets

Migrate secrets from a 2.X system into a new 3.X system.

Supports noop? false

Parameters

runtime

Data type: Complyadm::Runtime

Comply container runtime

salt

Data type: String[1]

The 2.X personal access token salt.

pepper

Data type: String[1]

The 2.X pepper.

restore

Restore the target system's Comply installation using the given backup

Supports noop? false

Parameters

runtime

Data type: Complyadm::Runtime

Comply container runtime

backup_dir

Data type: String[1]

The directory on the target where the backups are stored

backup_archive

Data type: String[1]

The backup archive file to use for the restore

database_info

Data type: Complyadm::Support_bundle::Database_info

Details on the Comply database

database_image

Data type: String[1]

The comply_postgres image on the target system. Used to restore the DB.

assessor_image

Data type: String[1]

The assessor image on the target system. Used to restore volumes.

uninstall

Uninstall Comply

Supports noop? false

Parameters

runtime

Data type: Complyadm::Runtime

Comply container runtime

backup_dir

Data type: String[1]

The directory on the target where the backups are stored

containers

Data type: Array[Hash[String[1], Variant[String[1], Undef, Boolean, Hash, Tuple]]]

The name and volume associated with each container to delete

update_database_configuration

Run an SQL statement against the supplied bitnami/postgresql database container

Supports noop? false

Parameters

runtime

Data type: Complyadm::Runtime

Comply container runtime

database_info

Data type: Complyadm::Support_bundle::Database_info

If provided, will collect data from the database which is assumed to be running.

sql

Data type: String[1]

The SQL to run to update the database configuration