Skip to content

Certificate

Field Value
Purpose Defines TLS/SSL certificate configuration — provisioning method, domains, renewal
Repo AmadlaOrg/Entities/Certificate
Entity URI amadla.org/entity/certificate@v1.0.0

Schema

Certificate describes TLS/SSL certificate requirements:

  • Provisioning method: ACME (Let's Encrypt), self-signed, or manual placement
  • Domain names (primary + SANs)
  • ACME configuration (server, email, challenge type, DNS provider)
  • Self-signed options (validity, key size, key type, subject)
  • File paths for cert, key, chain, and fullchain
  • Key file permissions
  • Auto-renewal (renew N days before expiry)
  • Post-renewal command (e.g., reload nginx)

Example

_type: amadla.org/entity/certificate@v1.0.0
_body:
  provider: acme
  domains:
    - example.com
    - www.example.com
  acme:
    email: admin@example.com
    challenge: http-01
  cert_path: /etc/ssl/certs/example.com.pem
  key_path: /etc/ssl/private/example.com.key
  fullchain_path: /etc/ssl/certs/example.com.fullchain.pem
  renew_before_days: 30
  notify: "systemctl reload nginx"

Self-signed example

_type: amadla.org/entity/certificate@v1.0.0
_body:
  provider: self-signed
  domains:
    - dev.local
  self_signed:
    validity_days: 365
    key_type: ecdsa
    subject:
      cn: dev.local
      o: Development
  cert_path: /etc/ssl/certs/dev.local.pem
  key_path: /etc/ssl/private/dev.local.key

Consumers

Tool How It Uses Certificate
enjoin Manages TLS certificates via enjoin-certificate plugin
lay Provisions certificates (ACME client, openssl for self-signed, or copies manual certs)
doorman Manages private key secrets