Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 55 additions & 2 deletions api/v2/weightsandbiases_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -381,6 +381,14 @@ type WandbAppSpec struct {
// +optional
OIDC OidcSpec `json:"oidc,omitempty"`

// Notification Configurations
// +optional
Notifications *NotificationsSpec `json:"notifications,omitempty"`

// Security Flag Configurations
// +optional
Security SecuritySpec `json:"security,omitempty"`

// LegacyOverrides holds env/resource overrides extracted from v1
// spec.values, keyed by manifest application name plus the reserved
// "global" key (env only, applied to every application). Unknown keys are
Expand Down Expand Up @@ -482,6 +490,48 @@ type OidcSpec struct {
SessionLength string `json:"sessionLength,omitempty"`
}

type SecuritySpec struct {
// +kubebuilder:default=false
AllowUserTeamCreation bool `json:"allowUserTeamCreation,omitempty"`

// +kubebuilder:default=false
DisableCodeSaving bool `json:"disableCodeSaving,omitempty"`

// +kubebuilder:default=false
AllowAnonymousPublicProjects bool `json:"allowAnonymousPublicProjects,omitempty"`

// +kubebuilder:default=false
DisableSSOProvisioning bool `json:"disableSSOProvisioning,omitempty"`

// +kubebuilder:default=false
InsecureAllowAPIKeyAdminAccess bool `json:"insecureAllowAPIKeyAdminAccess,omitempty"`

// +kubebuilder:default=false
HideUpgradeBanner bool `json:"hideUpgradeBanner,omitempty"`
}

type NotificationsSpec struct {
Email *EmailSpec `json:"email,omitempty"`
Slack *SlackSpec `json:"slack,omitempty"`
}

type EmailSMTPSpec struct {
Host corev1.SecretKeySelector `json:"host"`
Port corev1.SecretKeySelector `json:"port"`
Username corev1.SecretKeySelector `json:"username"`
Password corev1.SecretKeySelector `json:"password"`
}

type EmailSpec struct {
Sink *corev1.SecretKeySelector `json:"sink,omitempty"`
SMTP *EmailSMTPSpec `json:"smtp,omitempty"`
}

type SlackSpec struct {
ClientID corev1.SecretKeySelector `json:"clientId,omitempty"`
ClientSecret corev1.SecretKeySelector `json:"clientSecret,omitempty"`
}

type ManagedInfraSpec struct {
RetentionPolicy *RetentionPolicy `json:"retentionPolicy,omitempty"`

Expand Down Expand Up @@ -620,8 +670,10 @@ type KafkaReplicationConfig struct {

// ObjectStoreSpec defines the desired state of the object store infrastructure component.
type ObjectStoreSpec struct {
ManagedObjectStore *ManagedObjectStoreSpec `json:"managedObjectStore,omitempty"`
ExternalObjectStore *ObjectStoreConnection `json:"externalObjectStore,omitempty"`
// +kubebuilder:default=false
BucketAttributionDisabled bool `json:"bucketAttributionDisabled,omitempty"`
ManagedObjectStore *ManagedObjectStoreSpec `json:"managedObjectStore,omitempty"`
ExternalObjectStore *ObjectStoreConnection `json:"externalObjectStore,omitempty"`
}

type ManagedObjectStoreSpec struct {
Expand Down Expand Up @@ -771,6 +823,7 @@ type WeightsAndBiasesStatus struct {
ObjectStoreStatus map[string]ObjectStoreInfraStatus `json:"objectStoreStatus,omitempty"`
ClickHouseStatus map[string]ClickHouseInfraStatus `json:"clickhouseStatus,omitempty"`
TelemetryStatus TelemetryInfraStatus `json:"telemetryStatus,omitempty"`
EmailSink *corev1.SecretKeySelector `json:"emailSink,omitempty"`
// GeneratedSecrets stores references to secrets generated by the operator
// from the server manifest's generatedSecrets section. The key is the
// logical secret name from the manifest, and the value is a SecretKeySelector
Expand Down
112 changes: 112 additions & 0 deletions api/v2/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading