Integration structure
The integration hides the complexity of the SCM REST API by acting as an adapter between Puppet and the Sectigo API. It enables you to issue, collect, replace, renew, and revoke certificates on your master and agent nodes.
Components
The integration is based on the following components:
-
Ruby library for the Sectigo API handles the communication with the Sectigo REST API. This library is delivered as a component of the Puppet module. It is not designed nor delivered as a general-purpose library.
The Puppet module is the only software component that can interact with the library. -
Sectigo Puppet module mediates the interaction between you, the Puppet master and agent nodes, and the Sectigo REST API. The module mainly consists of a standard Puppet execution routine with minimum dependencies. It supports the issuance, collection, replacement, renewal, and revocation of SSL and client certificates.
-
Facter contains all the required parameters for SSL and client executions in JSON format. In addition, it contains the account JSON file which consists of the account’s Facter files and certificate generation-specific option.
Tasks
The integration generates certificates on a master server and, in the case of SSL certificates, distributes them onto agent nodes.
The integration uses Puppet modules that are typically located in the /etc/puppetlabs/code/environment/<environment_name>/modules/sectigo_puppet_module/
directory.
Additionally, the integration allows you to generate certificates directly on agent nodes by using the deferred functions concept of Puppet.
All of the inclusions are made in the main manifest file site.pp
located in the /etc/puppetlabs/code/environment/<environment_name>/manifest/site.pp
directory which serves as a catalog to the servers addressed within it.
The following tasks are available through Puppet:
-
issue: Obtains a new certificate using parameters that correspond to SSL or client certificates, along with certificate-related files. The certificate’s name is defined by the
sectigo_ssl_cert_file_name
orsectigo_client_cert_file_name
parameter in thesectigo_ssl_cert_file_path
orsectigo_client_cert_file_path
directory, respectively.This task also collects certificates that are issued and supports the auto-renewal of certificates.
-
collect: Collects the certificates. You must ensure that the value of the
sectigo_ssl_cert_ssl_id
orsectigo_client_cert_order_number
parameter is defined in the Facter files. -
replace: Replaces the certificates. You must ensure that the
sectigo_ssl.ids
orsectigo_client.ids
file exists on the required file path. -
revoke: Revokes the certificates. You must ensure that the
sectigo_ssl.ids
orsectigo_client.ids
file exists on the required file path.