Add organization manifests

[ZITADOPER-1]
This commit is contained in:
Haim Kortovich
2024-05-16 20:15:14 -05:00
parent 3a691bb491
commit 56ec6aa9b1
3 changed files with 93 additions and 9 deletions

View File

@@ -0,0 +1,42 @@
package builder
import (
"fmt"
zitadelv1alpha1 "bitbucket.org/topmanage-software-engineering/zitadel-k8s-operator/src/api/v1alpha1"
metadata "bitbucket.org/topmanage-software-engineering/zitadel-k8s-operator/src/pkg/builder/metadata"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
)
type OrganizationOpts struct {
Key types.NamespacedName
Zitadel *zitadelv1alpha1.ZitadelCluster
}
func (b *Builder) BuildOrganization(opts OrganizationOpts, owner metav1.Object) (*zitadelv1alpha1.Organization, error) {
objMeta :=
metadata.NewMetadataBuilder(opts.Key).
Build()
org := &zitadelv1alpha1.Organization{
ObjectMeta: objMeta,
Spec: zitadelv1alpha1.OrganizationSpec{
ZitadelClusterRef: zitadelv1alpha1.ZitadelClusterRef{
ObjectReference: corev1.ObjectReference{
Kind: "ZitadelCluster",
Namespace: opts.Zitadel.Namespace,
Name: opts.Zitadel.Name,
APIVersion: "v1alpha1",
},
},
},
}
if err := controllerutil.SetControllerReference(owner, org, b.scheme); err != nil {
return nil, fmt.Errorf("error setting controller reference in Secret manifest: %v", err)
}
return org, nil
}