~ knotless Search/
↑↓ move↵ open⇧↵ all results
0
0
main
60 lines · 1.3 KB Raw History
package v1alpha1

import (
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

	commonv1 "github.com/johnandersen777/socialweb-computer-kcp/api/common/v1alpha1"
)

type AtprotoIdentity struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AtprotoIdentitySpec   `json:"spec,omitempty"`
	Status AtprotoIdentityStatus `json:"status,omitempty"`
}

type AtprotoIdentityList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []AtprotoIdentity `json:"items"`
}

type IdentityScope string

const (
	IdentityScopeAccount IdentityScope = "Account"

	IdentityScopeCluster IdentityScope = "Cluster"
)

type AtprotoIdentitySpec struct {
	DID string `json:"did"`

	Scope IdentityScope `json:"scope"`

	ClusterRef *commonv1.LocalObjectRef `json:"clusterRef,omitempty"`

	Revoked bool `json:"revoked,omitempty"`
}

type IdentityState string

const (
	IdentityActive IdentityState = "Active"

	IdentityRevoked IdentityState = "Revoked"

	IdentityRevocationPending IdentityState = "RevocationPending"

	IdentityColdDeferred IdentityState = "ColdDeferred"
)

type AtprotoIdentityStatus struct {
	State IdentityState `json:"state,omitempty"`

	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

const FinalizerAtprotoIdentity = "atprotoidentity.socialweb.computer/revocation"