gen_cert Module

May 8, 2026 ยท View on GitHub

Validate or generate certificate files.

Parameters

ParameterDescriptionTypeRequiredDefault
root_keyCA private key pathstringNo-
root_certCA certificate pathstringNo-
dateCertificate validity periodstringNo1y
policyGeneration policy: Always, IfNotPresent, NonestringNoIfNotPresent
sansSubject Alternative Names (IP/DNS list)string arrayNo-
cnCommon NamestringYes-
out_keyOutput private key pathstringYes-
out_certOutput certificate pathstringYes-

policy:

  • Always: Always regenerate and overwrite out_key / out_cert.
  • IfNotPresent: Generate if not exist; if exists, validate, regenerate if validation fails.
  • None: Only validate existing files, do not generate; if not exist, do nothing.

Examples

1. Generate self-signed CA

Leave root_key and root_cert empty when generating CA.

- name: Generate root CA
  gen_cert:
    cn: root
    date: 87600h
    policy: IfNotPresent
    out_key: /tmp/pki/root.key
    out_cert: /tmp/pki/root.crt

2. Validate or sign certificate

Non-CA certificates require existing root_key and root_cert.

- name: Generate server cert
  gen_cert:
    root_key: /tmp/pki/root.key
    root_cert: /tmp/pki/root.crt
    cn: server
    sans:
      - 127.0.0.1
      - localhost
    date: 87600h
    policy: IfNotPresent
    out_key: /tmp/pki/server.key
    out_cert: /tmp/pki/server.crt
  when: .groups.image_registry | default list | empty | not

when uses template syntax.