webhook manifests

This commit is contained in:
kkb0318
2024-05-11 16:33:49 +09:00
parent b5427be07d
commit 1358dbf8cf
17 changed files with 514 additions and 318 deletions
@@ -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{