Add initial admin
[ZITADOPER-1]
This commit is contained in:
@@ -18,6 +18,7 @@ package v1alpha1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"k8s.io/apimachinery/pkg/api/meta"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
@@ -82,10 +83,17 @@ func (d *APIApp) ZitadelClusterRef(ctx context.Context, refresolver *RefResolver
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if project.Status.ProjectId == "" {
|
||||
return nil, fmt.Errorf("Project has not been created yet...")
|
||||
}
|
||||
org, err := refresolver.OrganizationRef(ctx, &project.Spec.OrganizationRef, d.Namespace)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if org.Status.OrgId == "" {
|
||||
return nil, fmt.Errorf("Organization has not been created yet...")
|
||||
}
|
||||
ref, err := org.ZitadelClusterRef(ctx, refresolver)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
@@ -18,6 +18,8 @@ package v1alpha1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"k8s.io/apimachinery/pkg/api/meta"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
)
|
||||
@@ -31,7 +33,7 @@ type MachineUserSpec struct {
|
||||
// Important: Run "make" to regenerate code after modifying this file
|
||||
// +kubebuilder:validation:Required
|
||||
// +operator-sdk:csv:customresourcedefinitions:type=spec
|
||||
ZitadelClusterRef ZitadelClusterRef `json:"zitadelClusterRef" webhook:"inmutable"`
|
||||
OrganizationRef OrganizationRef `json:"organizationRef" webhook:"inmutable"`
|
||||
// +kubebuilder:validation:Enum=ACCESS_TOKEN_TYPE_BEARER;ACCESS_TOKEN_TYPE_JWT
|
||||
AccessTokenType string `json:"accessTokenType"`
|
||||
}
|
||||
@@ -77,7 +79,19 @@ func (d *MachineUser) IsReady() bool {
|
||||
}
|
||||
|
||||
func (d *MachineUser) ZitadelClusterRef(ctx context.Context, refresolver *RefResolver) (*ZitadelClusterRef, error) {
|
||||
return &d.Spec.ZitadelClusterRef, nil
|
||||
org, err := refresolver.OrganizationRef(ctx, &d.Spec.OrganizationRef, d.Namespace)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if org.Status.OrgId == "" {
|
||||
return nil, fmt.Errorf("Organization has not been created yet...")
|
||||
}
|
||||
ref, err := org.ZitadelClusterRef(ctx, refresolver)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return ref, nil
|
||||
}
|
||||
|
||||
//+kubebuilder:object:root=true
|
||||
|
||||
@@ -18,6 +18,8 @@ package v1alpha1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"k8s.io/apimachinery/pkg/api/meta"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
)
|
||||
@@ -103,10 +105,18 @@ func (d *OIDCApp) ZitadelClusterRef(ctx context.Context, refresolver *RefResolve
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if project.Status.ProjectId == "" {
|
||||
return nil, fmt.Errorf("Project has not been created yet...")
|
||||
}
|
||||
org, err := refresolver.OrganizationRef(ctx, &project.Spec.OrganizationRef, d.Namespace)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if org.Status.OrgId == "" {
|
||||
return nil, fmt.Errorf("Organization has not been created yet...")
|
||||
}
|
||||
ref, err := org.ZitadelClusterRef(ctx, refresolver)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
@@ -18,6 +18,7 @@ package v1alpha1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"k8s.io/apimachinery/pkg/api/meta"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
@@ -94,6 +95,10 @@ func (d *Project) ZitadelClusterRef(ctx context.Context, refresolver *RefResolve
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if org.Status.OrgId == "" {
|
||||
return nil, fmt.Errorf("Organization has not been created yet...")
|
||||
}
|
||||
|
||||
ref, err := org.ZitadelClusterRef(ctx, refresolver)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
@@ -34,7 +34,9 @@ type Image struct {
|
||||
type ZitadelClusterSpec struct {
|
||||
// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
|
||||
// Important: Run "make" to regenerate code after modifying this file
|
||||
Host string `json:"host"`
|
||||
// +kubebuilder:default="DEFAULT"
|
||||
FirstOrgName string `json:"firstOrgName"`
|
||||
Host string `json:"host"`
|
||||
// +kubebuilder:default=443
|
||||
ExternalPort int64 `json:"externalPort"`
|
||||
// +kubebuilder:default=true
|
||||
@@ -67,6 +69,8 @@ type ZitadelClusterStatus struct {
|
||||
Replicas int32 `json:"replicas,omitempty"`
|
||||
// +kubebuilder:default=""
|
||||
DefaultInstanceId string `json:"defaultInstanceId"`
|
||||
// +kubebuilder:default=""
|
||||
InitialAdminId string `json:"initialAdminId"`
|
||||
}
|
||||
|
||||
// SetCondition sets a status condition
|
||||
|
||||
@@ -216,7 +216,7 @@ func (in *MachineUserList) DeepCopyObject() runtime.Object {
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *MachineUserSpec) DeepCopyInto(out *MachineUserSpec) {
|
||||
*out = *in
|
||||
out.ZitadelClusterRef = in.ZitadelClusterRef
|
||||
out.OrganizationRef = in.OrganizationRef
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineUserSpec.
|
||||
|
||||
Reference in New Issue
Block a user