Skip to content

Instantly share code, notes, and snippets.

@cmccrorie
Last active September 21, 2023 13:10
Show Gist options
  • Save cmccrorie/421b31489fd216b9fd4561f370b7ca8b to your computer and use it in GitHub Desktop.
Save cmccrorie/421b31489fd216b9fd4561f370b7ca8b to your computer and use it in GitHub Desktop.
ERROR Facter - Error while resolving custom fact fact='letsencrypt_directory', resolution='<anonymous>': header too long
---
version: 5
defaults:
# The default value for "datadir" is "data" under the same directory as the hiera.yaml
# file (this file)
# When specifying a datadir, make sure the directory exists.
# See https://puppet.com/docs/puppet/latest/environments_about.html for further details on environments.
# datadir: data
# data_hash: yaml_data
hierarchy:
- name: "Secret data: per-node, per-datacenter, common"
lookup_key: eyaml_lookup_key # eyaml backend
paths:
- "secrets/nodes/%{::trusted.certname}.eyaml" # Include explicit file extension
- "secrets/location/%{facts.whereami}.eyaml"
- "common.eyaml"
options:
pkcs7_private_key: /etc/puppetlabs/puppet/eyaml/private_key.pkcs7.pem
pkcs7_public_key: /etc/puppetlabs/puppet/eyaml/public_key.pkcs7.pem
- name: "Per-node data (yaml version)"
path: "nodes/%{::trusted.certname}.yaml"
- name: "application"
paths:
- "application/%{facts.ts_facts.application}-%{facts.ts_facts.stage}.yaml"
- "application/%{facts.ts_facts.application}.yaml"
- name: "Other YAML hierarchy levels"
paths:
- "common.yaml"
class profiles::letsencrypt {
package { 'cron':
ensure => installed
}
class { 'letsencrypt':
require => Package['cron']
}
file { '/etc/letsencrypt/options-ssl-nginx.conf':
ensure => file,
}
file {'/etc/letsencrypt/ssl-dhparams.pem':
ensure => file,
}
file {'/etc/letsencrypt/live':
ensure => directory,
}
file {'/etc/letsencrypt/live/test.domain.com':
ensure => directory,
}
file {'/etc/letsencrypt/live/test.domain.com/certificate.pem':
ensure => file,
}
file {'/etc/letsencrypt/live/test.domain.com/privkey.pem':
ensure => file,
}
include 'letsencrypt'
include 'letsencrypt::plugin::dns_cloudflare'
#include 'letsencrypt::plugin::nginx'
letsencrypt::certonly { 'test.domain.com':
domains => ['test.domain.com'],
plugin => 'dns-cloudflare',
manage_cron => true,
cron_hour => [0,12],
cron_minute => '30',
cron_before_command => 'service nginx stop',
cron_success_command => '/bin/systemctl reload nginx.service',
#suppress_cron_output => true,
require => Class['nginx'],
}
}
@cmccrorie
Copy link
Author

cmccrorie commented Sep 21, 2023

Hello. I am hoping that someone might be able to help me with a letsencrpt issue that I am facing. When I run puppet on my agent node or if I run facter -p letsencrypt_directory I see the following error: ERROR Facter - Error while resolving custom fact fact='letsencrypt_directory', resolution='<anonymous>': header too long . I do not have letsencrypt_directory anywhere stated in any of my scripts that I have created. I am using a control repo with r10k. Please be aware that I have changed the domain name in this file.
Any help on this issue would be greatly appreciated. Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment