Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
C
certman
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
IML Open Source
certman
Commits
03a4e3c7
Commit
03a4e3c7
authored
3 years ago
by
Hahn Axel (hahn)
Browse files
Options
Downloads
Patches
Plain Diff
update doc
parent
72829cb8
No related branches found
No related tags found
1 merge request
!11
update doc
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
docs/_index.md
+38
-0
38 additions, 0 deletions
docs/_index.md
with
38 additions
and
0 deletions
docs/_index.md
+
38
−
0
View file @
03a4e3c7
...
...
@@ -13,3 +13,41 @@ License: GNU GPL 3.0 <http://www.gnu.org/licenses/gpl-3.0.html>
*
openssl
*
curl
*
acme.sh client
## Why?
The acme script allows basic actions for certificates.
### Central certificate server
We use Ansible on several local instances - on the machines of sysadmins and an AWX instance for scheduling tasks.
To deploy certicates as files each system must have the certificate file up to date. Here we use a
server that keeps the certificates on a single place (the "master" for certificates). All machines
trigger creation or update on that server and sync its files before deploying a certificate to a target.
### Abstracted logic: parameter ensure
On the certifictae server are acme.sh and this wrapper. The wrapper has a parameter "ensure [FQDN]"
that handles the logic if a certificate must be
*
created (if it does not exist) or
*
renewed (it already exists) or
*
re-created (the list of dns names in the certificate was changed)
### Handle parallel requests
If you have multiple requests from different machines or parallel Ansible calls to deploy on multiple machines.
That we do not run into conflict that 2 running requests handle the same certificate there is
a queuing mechanism. This allows just a 1 task to perform certificate actions. Other started
scripts will wait until the earlier started script is finished.
### Log creation/ renew/ delete
The script writes a log that contains timestamp and domain of a certificate. On 100+ domains it is handy
to verify when what was done what for a given domain.
### List old certificates
Automation is wonderful. You create systems and certificates for them on the fly.
And you destroy test machines. A parameter "list-old" shows certiciates that were not renewed
anymore and are older 90 days.
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment