Documentation
¶
Index ¶
Constants ¶
const RequestBodySizeLimit = 8192
RequestBodySizeLimit is the maximum request body size
Variables ¶
This section is empty.
Functions ¶
Types ¶
type CertEvent ¶ added in v0.1.1
type CertEvent struct {
Timestamp time.Time
SerialNumber string
Identity string
Principals []string
Connection policy.Connection
ValidAfter time.Time
ValidBefore time.Time
Extensions map[string]string
PublicKeyFingerprint string
Policy policy.Policy
}
CertEvent contains all information about a certificate issuance event.
type CertLogger ¶ added in v0.1.1
CertLogger logs certificate issuance events for audit, compliance, and analytics.
type CreateCertRequest ¶
type CreateCertRequest struct {
PublicKey sshcert.RawPublicKey `json:"publicKey"`
Token string `json:"token"`
Connection policy.Connection `json:"connection"`
}
CreateCertRequest asks for a signed cert
type CreateCertResponse ¶
type CreateCertResponse struct {
Certificate sshcert.RawCertificate `json:"certificate"`
Policy policy.Policy `json:"policy"`
}
CreateCertResponse is response from a CreateCert request
type MultiCertLogger ¶ added in v0.1.1
type MultiCertLogger struct {
// contains filtered or unexported fields
}
MultiCertLogger calls multiple CertLoggers in sequence. Best-effort: calls all loggers and collects errors, but doesn't stop on first error.
func NewMultiCertLogger ¶ added in v0.1.1
func NewMultiCertLogger(loggers ...CertLogger) *MultiCertLogger
NewMultiCertLogger creates a logger that calls multiple loggers.
type NoopCertLogger ¶ added in v0.1.1
type NoopCertLogger struct{}
NoopCertLogger is a logger that does nothing. Used when certificate logging is disabled.
func NewNoopCertLogger ¶ added in v0.1.1
func NewNoopCertLogger() *NoopCertLogger
NewNoopCertLogger creates a no-op logger.
type S3ArchiverConfig ¶ added in v0.1.1
type S3ArchiverConfig struct {
S3Client *s3.Client
Bucket string
KeyPrefix string // Optional prefix for S3 keys (e.g., "certs/")
Logger *slog.Logger // For logging archiver errors
BufferSize int // Channel buffer size (default: 100)
}
S3ArchiverConfig configures the S3 certificate archiver.
type S3CertArchiver ¶ added in v0.1.1
type S3CertArchiver struct {
// contains filtered or unexported fields
}
S3CertArchiver archives certificate events to S3 with date partitioning. Uses async buffered writes for performance. Best-effort: logs errors but doesn't fail cert issuance.
func NewS3CertArchiver ¶ added in v0.1.1
func NewS3CertArchiver(config S3ArchiverConfig) *S3CertArchiver
NewS3CertArchiver creates a new S3 archiver with async background writes.
type SlogCertLogger ¶ added in v0.1.1
type SlogCertLogger struct {
// contains filtered or unexported fields
}
SlogCertLogger logs certificate events using structured logging (slog). Works with any slog handler (text, JSON, CloudWatch, etc.).
func NewSlogCertLogger ¶ added in v0.1.1
func NewSlogCertLogger(logger *slog.Logger) *SlogCertLogger
NewSlogCertLogger creates a new certificate logger that emits structured logs.