7 Commits (main)

Author SHA1 Message Date
Jan Dittberner a6317c82c5 Add legacydb package to support existing MySQL DB
- add new legacydb package
- fix warnings
4 months ago
Jan Dittberner 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
1 year ago
Jan Dittberner 4345e5d899 Implement graceful shutdown of client
Install handlers for SIGTERM and command line interrupt.
1 year ago
Jan Dittberner 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
1 year ago
Jan Dittberner 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.
1 year ago
Jan Dittberner 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
1 year ago
Jan Dittberner 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.
1 year ago