Commit graph

7 commits

Author SHA1 Message Date
a6317c82c5 Add legacydb package to support existing MySQL DB
- add new legacydb package
- fix warnings
2024-01-12 19:07:24 +01:00
f3c0e1379f Improve robustness and concurrency handling
- Rename client.CertInfo to CACertificateInfo
- declare commands channel inside client.Run, there is no need to inject it
  from the outside
- let command generating code in client.commandLoop run in goroutines to
  allow parallel handling of queued commands and avoid blocking operations
- pass context to command generating functions to allow cancellation
- guard access to c.knownCACertificates by mutex.Lock and mutex.Unlock
- make command channel capacity configurable
- update to latest cacert-gosigner dependency for channel direction support
- improve handling of closed input channel
- reduce client initialization to serial connection setup, move callback and
  handler parameters to client.Run invocation
2022-12-04 14:20:34 +01:00
4345e5d899 Implement graceful shutdown of client
Install handlers for SIGTERM and command line interrupt.
2022-12-03 13:35:56 +01:00
f4a1958307 Improve -generate-config handling
- do not print client version when running with the -generate-config option
- add a YAML document prefix before the raw YAML output
- use proper exit codes on errors
2022-12-03 13:02:04 +01:00
c65853d1f9 Implement config generator
This commit adds code to allow the generation of a default client
configuration. The generator is run instead of the regular client
code, when the option -generate-config is passed on the command
line.
2022-12-03 12:22:00 +01:00
da17fb69d7 Implement CRL and Health response handling
- add callback support to client and handler
- implement support for updating the CA certificates and profiles from
  health data of the signer
- implement CRL retrieval from the signer including delta CRL support
- implement error response handling
- add configurable start and interval timers for health and CRL data
2022-11-30 18:56:57 +01:00
91d4f69a9b Initial signer client implementation
This commit adds the project setup and implements a basic signer client that
sends health check commands to the signer.
2022-11-29 16:23:16 +01:00