mirror of
https://github.com/storytold/irsa-manager.git
synced 2026-10-28 08:47:48 +00:00
webhook manifests
This commit is contained in:
@@ -19,6 +19,11 @@ type SecretBuilder struct {
|
||||
secretType corev1.SecretType
|
||||
}
|
||||
|
||||
type TlsCredential interface {
|
||||
Certificate() []byte
|
||||
PrivateKey() []byte
|
||||
}
|
||||
|
||||
func NewSecretBuilder() *SecretBuilder {
|
||||
return &SecretBuilder{
|
||||
secretType: corev1.SecretTypeOpaque,
|
||||
@@ -34,6 +39,15 @@ func (b *SecretBuilder) WithSSHKey(keyPair selfhosted.KeyPair) *SecretBuilder {
|
||||
return b
|
||||
}
|
||||
|
||||
func (b *SecretBuilder) WithCertificate(t TlsCredential) *SecretBuilder {
|
||||
b.data = map[string][]byte{
|
||||
"tls.crt": t.Certificate(),
|
||||
"tls.key": t.PrivateKey(),
|
||||
}
|
||||
b.secretType = corev1.SecretTypeTLS
|
||||
return b
|
||||
}
|
||||
|
||||
func (b *SecretBuilder) Build(namespacedName types.NamespacedName) (*corev1.Secret, error) {
|
||||
secret := &corev1.Secret{
|
||||
ObjectMeta: v1.ObjectMeta{
|
||||
Reference in New Issue
Block a user