v1alpha3

package
v0.0.0-...-7117a55 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 26, 2024 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Overview

Package v1alpha3 contains API Schema definitions for the otterize v1alpha3 API group +kubebuilder:object:generate=true +groupName=k8s.otterize.com

Index

Constants

View Source
const (
	OtterizeAccessLabelPrefix                  = "intents.otterize.com/access"
	OtterizeServiceAccessLabelPrefix           = "intents.otterize.com/svc-access"
	OtterizeAccessLabelKey                     = "intents.otterize.com/access-%s"
	OtterizeSvcAccessLabelKey                  = "intents.otterize.com/svc-access-%s"
	OtterizeClientLabelKey                     = "intents.otterize.com/client"
	OtterizeServiceLabelKey                    = "intents.otterize.com/service"
	OtterizeOwnerKindLabelKey                  = "intents.otterize.com/owner-kind"
	OtterizeServerLabelKeyDeprecated           = "intents.otterize.com/server"
	KubernetesStandardNamespaceNameLabelKey    = "kubernetes.io/metadata.name"
	AllIntentsRemovedAnnotation                = "intents.otterize.com/all-intents-removed"
	OtterizeCreatedForServiceAnnotation        = "intents.otterize.com/created-for-service"
	OtterizeCreatedForIngressAnnotation        = "intents.otterize.com/created-for-ingress"
	OtterizeSingleNetworkPolicyNameTemplate    = "%s-access"
	OtterizeNetworkPolicy                      = "intents.otterize.com/network-policy"
	OtterizeSvcNetworkPolicy                   = "intents.otterize.com/svc-network-policy"
	OtterizeNetworkPolicyServiceDefaultDeny    = "intents.otterize.com/network-policy-service-default-deny"
	OtterizeNetworkPolicyExternalTraffic       = "intents.otterize.com/network-policy-external-traffic"
	ClientIntentsFinalizerName                 = "intents.otterize.com/client-intents-finalizer"
	ProtectedServicesFinalizerName             = "intents.otterize.com/protected-services-finalizer"
	OtterizeIstioClientAnnotationKeyDeprecated = "intents.otterize.com/istio-client"
	OtterizeIstioClientWithKindLabelKey        = "intents.otterize.com/istio-client-with-kind"
	OtterizeClientServiceAccountAnnotation     = "intents.otterize.com/client-intents-service-account"
	OtterizeSharedServiceAccountAnnotation     = "intents.otterize.com/shared-service-account"
	OtterizeMissingSidecarAnnotation           = "intents.otterize.com/service-missing-sidecar"
	OtterizeServersWithoutSidecarAnnotation    = "intents.otterize.com/servers-without-sidecar"
	OtterizeTargetServerIndexField             = "spec.service.calls.server"
	OtterizeKafkaServerConfigServiceNameField  = "spec.service.name"
	OtterizeProtectedServiceNameIndexField     = "spec.name"
	OtterizeFormattedTargetServerIndexField    = "formattedTargetServer"
	OtterizePodByOwnerKindAndNameIndexField    = "podByOwnerKindAndName"
	EndpointsPodNamesIndexField                = "endpointsPodNames"
	IngressServiceNamesIndexField              = "ingressServiceNames"
	MaxOtterizeNameLength                      = 20
	MaxNamespaceLength                         = 20
	OtterizeSvcEgressNetworkPolicy             = "intents.otterize.com/svc-egress-network-policy"
	OtterizeEgressNetworkPolicy                = "intents.otterize.com/egress-network-policy"
	OtterizeInternetNetworkPolicy              = "intents.otterize.com/egress-internet-network-policy"
	OtterizeInternetTargetName                 = "internet"
	KubernetesAPIServerName                    = "kubernetes"
	KubernetesAPIServerNamespace               = "default"
)
View Source
const (
	ResourcePatternTypeLiteral = "literal"
	ResourcePatternTypePrefix  = "prefix"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "k8s.otterize.com", Version: "v1alpha3"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func GetOtterizeLabelsFromPod

func GetOtterizeLabelsFromPod(pod *v1.Pod) map[string]string

func HasOtterizeDeprecatedServerLabel

func HasOtterizeDeprecatedServerLabel(pod *v1.Pod) bool

func HasOtterizeOwnerKindLabel

func HasOtterizeOwnerKindLabel(pod *v1.Pod, labelValue string) bool

func HasOtterizeServiceLabel

func HasOtterizeServiceLabel(pod *v1.Pod, labelValue string) bool

func IsMissingOtterizeAccessLabels

func IsMissingOtterizeAccessLabels(pod *v1.Pod, otterizeAccessLabels map[string]string) bool

IsMissingOtterizeAccessLabels checks if a pod's labels need updating

func ServiceIdentityToLabelsForWorkloadSelection

func ServiceIdentityToLabelsForWorkloadSelection(ctx context.Context, k8sClient client.Client, identity serviceidentity.ServiceIdentity) (map[string]string, bool, error)

func UpdateOtterizeAccessLabels

func UpdateOtterizeAccessLabels(pod *v1.Pod, serviceIdentity serviceidentity.ServiceIdentity, otterizeAccessLabels map[string]string) *v1.Pod

UpdateOtterizeAccessLabels updates a pod's labels with Otterize labels representing their intents The pod is also labeled with "otterize-client=<hashed-client-name>" to mark it as having intents or being the client-side of an egress netpol

Types

type AzureKeyVaultCertificatePermission

type AzureKeyVaultCertificatePermission string

+kubebuilder:validation:Enum=all;backup;create;delete;deleteissuers;get;getissuers;import;list;listissuers;managecontacts;manageissuers;purge;recover;restore;setissuers;update

const (
	AzureKeyVaultCertificatePermissionAll            AzureKeyVaultCertificatePermission = "all"
	AzureKeyVaultCertificatePermissionBackup         AzureKeyVaultCertificatePermission = "backup"
	AzureKeyVaultCertificatePermissionCreate         AzureKeyVaultCertificatePermission = "create"
	AzureKeyVaultCertificatePermissionDelete         AzureKeyVaultCertificatePermission = "delete"
	AzureKeyVaultCertificatePermissionDeleteIssuers  AzureKeyVaultCertificatePermission = "deleteissuers"
	AzureKeyVaultCertificatePermissionGet            AzureKeyVaultCertificatePermission = "get"
	AzureKeyVaultCertificatePermissionGetIssuers     AzureKeyVaultCertificatePermission = "getissuers"
	AzureKeyVaultCertificatePermissionImport         AzureKeyVaultCertificatePermission = "import"
	AzureKeyVaultCertificatePermissionList           AzureKeyVaultCertificatePermission = "list"
	AzureKeyVaultCertificatePermissionListIssuers    AzureKeyVaultCertificatePermission = "listissuers"
	AzureKeyVaultCertificatePermissionManageContacts AzureKeyVaultCertificatePermission = "managecontacts"
	AzureKeyVaultCertificatePermissionManageIssuers  AzureKeyVaultCertificatePermission = "manageissuers"
	AzureKeyVaultCertificatePermissionPurge          AzureKeyVaultCertificatePermission = "purge"
	AzureKeyVaultCertificatePermissionRecover        AzureKeyVaultCertificatePermission = "recover"
	AzureKeyVaultCertificatePermissionRestore        AzureKeyVaultCertificatePermission = "restore"
	AzureKeyVaultCertificatePermissionSetIssuers     AzureKeyVaultCertificatePermission = "setissuers"
	AzureKeyVaultCertificatePermissionUpdate         AzureKeyVaultCertificatePermission = "update"
)

type AzureKeyVaultKeyPermission

type AzureKeyVaultKeyPermission string

+kubebuilder:validation:Enum=all;backup;create;decrypt;delete;encrypt;get;getrotationpolicy;import;list;purge;recover;release;restore;rotate;setrotationpolicy;sign;unwrapkey;update;verify;wrapkey

const (
	AzureKeyVaultKeyPermissionAll               AzureKeyVaultKeyPermission = "all"
	AzureKeyVaultKeyPermissionBackup            AzureKeyVaultKeyPermission = "backup"
	AzureKeyVaultKeyPermissionCreate            AzureKeyVaultKeyPermission = "create"
	AzureKeyVaultKeyPermissionDecrypt           AzureKeyVaultKeyPermission = "decrypt"
	AzureKeyVaultKeyPermissionDelete            AzureKeyVaultKeyPermission = "delete"
	AzureKeyVaultKeyPermissionEncrypt           AzureKeyVaultKeyPermission = "encrypt"
	AzureKeyVaultKeyPermissionGet               AzureKeyVaultKeyPermission = "get"
	AzureKeyVaultKeyPermissionGetRotationPolicy AzureKeyVaultKeyPermission = "getrotationpolicy"
	AzureKeyVaultKeyPermissionImport            AzureKeyVaultKeyPermission = "import"
	AzureKeyVaultKeyPermissionList              AzureKeyVaultKeyPermission = "list"
	AzureKeyVaultKeyPermissionPurge             AzureKeyVaultKeyPermission = "purge"
	AzureKeyVaultKeyPermissionRecover           AzureKeyVaultKeyPermission = "recover"
	AzureKeyVaultKeyPermissionRelease           AzureKeyVaultKeyPermission = "release"
	AzureKeyVaultKeyPermissionRestore           AzureKeyVaultKeyPermission = "restore"
	AzureKeyVaultKeyPermissionRotate            AzureKeyVaultKeyPermission = "rotate"
	AzureKeyVaultKeyPermissionSetRotationPolicy AzureKeyVaultKeyPermission = "setrotationpolicy"
	AzureKeyVaultKeyPermissionSign              AzureKeyVaultKeyPermission = "sign"
	AzureKeyVaultKeyPermissionUnwrapKey         AzureKeyVaultKeyPermission = "unwrapkey"
	AzureKeyVaultKeyPermissionUpdate            AzureKeyVaultKeyPermission = "update"
	AzureKeyVaultKeyPermissionVerify            AzureKeyVaultKeyPermission = "verify"
	AzureKeyVaultKeyPermissionWrapKey           AzureKeyVaultKeyPermission = "wrapkey"
)

type AzureKeyVaultPolicy

type AzureKeyVaultPolicy struct {
	//+optional
	CertificatePermissions []AzureKeyVaultCertificatePermission `json:"certificatePermissions,omitempty" yaml:"certificatePermissions,omitempty"`
	//+optional
	KeyPermissions []AzureKeyVaultKeyPermission `json:"keyPermissions,omitempty" yaml:"keyPermissions,omitempty"`
	//+optional
	SecretPermissions []AzureKeyVaultSecretPermission `json:"secretPermissions,omitempty" yaml:"secretPermissions,omitempty"`
	//+optional
	StoragePermissions []AzureKeyVaultStoragePermission `json:"storagePermissions,omitempty" yaml:"storagePermissions,omitempty"`
}

func (*AzureKeyVaultPolicy) DeepCopy

func (in *AzureKeyVaultPolicy) DeepCopy() *AzureKeyVaultPolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureKeyVaultPolicy.

func (*AzureKeyVaultPolicy) DeepCopyInto

func (in *AzureKeyVaultPolicy) DeepCopyInto(out *AzureKeyVaultPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AzureKeyVaultSecretPermission

type AzureKeyVaultSecretPermission string

+kubebuilder:validation:Enum=all;backup;delete;get;list;purge;recover;restore;set

const (
	AzureKeyVaultSecretPermissionAll     AzureKeyVaultSecretPermission = "all"
	AzureKeyVaultSecretPermissionBackup  AzureKeyVaultSecretPermission = "backup"
	AzureKeyVaultSecretPermissionDelete  AzureKeyVaultSecretPermission = "delete"
	AzureKeyVaultSecretPermissionGet     AzureKeyVaultSecretPermission = "get"
	AzureKeyVaultSecretPermissionList    AzureKeyVaultSecretPermission = "list"
	AzureKeyVaultSecretPermissionPurge   AzureKeyVaultSecretPermission = "purge"
	AzureKeyVaultSecretPermissionRecover AzureKeyVaultSecretPermission = "recover"
	AzureKeyVaultSecretPermissionRestore AzureKeyVaultSecretPermission = "restore"
	AzureKeyVaultSecretPermissionSet     AzureKeyVaultSecretPermission = "set"
)

type AzureKeyVaultStoragePermission

type AzureKeyVaultStoragePermission string

+kubebuilder:validation:Enum=all;backup;delete;deletesas;get;getsas;list;listsas;purge;recover;regeneratekey;restore;set;setsas;update

const (
	AzureKeyVaultStoragePermissionAll           AzureKeyVaultStoragePermission = "all"
	AzureKeyVaultStoragePermissionBackup        AzureKeyVaultStoragePermission = "backup"
	AzureKeyVaultStoragePermissionDelete        AzureKeyVaultStoragePermission = "delete"
	AzureKeyVaultStoragePermissionDeleteSas     AzureKeyVaultStoragePermission = "deletesas"
	AzureKeyVaultStoragePermissionGet           AzureKeyVaultStoragePermission = "get"
	AzureKeyVaultStoragePermissionGetSas        AzureKeyVaultStoragePermission = "getsas"
	AzureKeyVaultStoragePermissionList          AzureKeyVaultStoragePermission = "list"
	AzureKeyVaultStoragePermissionListSas       AzureKeyVaultStoragePermission = "listsas"
	AzureKeyVaultStoragePermissionPurge         AzureKeyVaultStoragePermission = "purge"
	AzureKeyVaultStoragePermissionRecover       AzureKeyVaultStoragePermission = "recover"
	AzureKeyVaultStoragePermissionRegenerateKey AzureKeyVaultStoragePermission = "regeneratekey"
	AzureKeyVaultStoragePermissionRestore       AzureKeyVaultStoragePermission = "restore"
	AzureKeyVaultStoragePermissionSet           AzureKeyVaultStoragePermission = "set"
	AzureKeyVaultStoragePermissionSetSas        AzureKeyVaultStoragePermission = "setsas"
	AzureKeyVaultStoragePermissionUpdate        AzureKeyVaultStoragePermission = "update"
)

type ClientIntents

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

	Spec   *IntentsSpec  `json:"spec,omitempty" yaml:"spec,omitempty"`
	Status IntentsStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

ClientIntents is the Schema for the intents API

func (*ClientIntents) DeepCopy

func (in *ClientIntents) DeepCopy() *ClientIntents

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientIntents.

func (*ClientIntents) DeepCopyInto

func (in *ClientIntents) DeepCopyInto(out *ClientIntents)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ClientIntents) DeepCopyObject

func (in *ClientIntents) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ClientIntents) GetCallsList

func (in *ClientIntents) GetCallsList() []Intent

func (*ClientIntents) GetClientKind

func (in *ClientIntents) GetClientKind() string

func (*ClientIntents) GetDatabaseIntents

func (in *ClientIntents) GetDatabaseIntents() []Intent

func (*ClientIntents) GetFilteredCallsList

func (in *ClientIntents) GetFilteredCallsList(intentTypes ...IntentType) []Intent

func (*ClientIntents) GetIntentsLabelMapping

func (in *ClientIntents) GetIntentsLabelMapping(requestNamespace string) map[string]string

func (*ClientIntents) GetServersWithoutSidecar

func (in *ClientIntents) GetServersWithoutSidecar() (sets.Set[string], error)

func (*ClientIntents) GetServiceName

func (in *ClientIntents) GetServiceName() string

func (*ClientIntents) HasDatabaseTypeInCallList

func (in *ClientIntents) HasDatabaseTypeInCallList() bool

func (*ClientIntents) HasKafkaTypeInCallList

func (in *ClientIntents) HasKafkaTypeInCallList() bool

func (*ClientIntents) Hub

func (in *ClientIntents) Hub()

func (*ClientIntents) IsServerMissingSidecar

func (in *ClientIntents) IsServerMissingSidecar(intent Intent) (bool, error)

func (*ClientIntents) SetupWebhookWithManager

func (in *ClientIntents) SetupWebhookWithManager(mgr ctrl.Manager, validator webhook.CustomValidator) error

func (*ClientIntents) ToServiceIdentity

func (in *ClientIntents) ToServiceIdentity() serviceidentity.ServiceIdentity

type ClientIntentsList

type ClientIntentsList struct {
	metav1.TypeMeta `json:",inline" yaml:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Items           []ClientIntents `json:"items" yaml:"items"`
}

ClientIntentsList contains a list of ClientIntents

func (*ClientIntentsList) DeepCopy

func (in *ClientIntentsList) DeepCopy() *ClientIntentsList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientIntentsList.

func (*ClientIntentsList) DeepCopyInto

func (in *ClientIntentsList) DeepCopyInto(out *ClientIntentsList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ClientIntentsList) DeepCopyObject

func (in *ClientIntentsList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ClientIntentsList) FormatAsOtterizeIntents

func (in *ClientIntentsList) FormatAsOtterizeIntents() ([]*graphqlclient.IntentInput, error)

type DatabaseCredentials

type DatabaseCredentials struct {
	Username string `json:"username"`
	Password string `json:"password"`
}

func (*DatabaseCredentials) DeepCopy

func (in *DatabaseCredentials) DeepCopy() *DatabaseCredentials

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseCredentials.

func (*DatabaseCredentials) DeepCopyInto

func (in *DatabaseCredentials) DeepCopyInto(out *DatabaseCredentials)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DatabaseOperation

type DatabaseOperation string

+kubebuilder:validation:Enum=ALL;SELECT;INSERT;UPDATE;DELETE

const (
	DatabaseOperationAll    DatabaseOperation = "ALL"
	DatabaseOperationSelect DatabaseOperation = "SELECT"
	DatabaseOperationInsert DatabaseOperation = "INSERT"
	DatabaseOperationUpdate DatabaseOperation = "UPDATE"
	DatabaseOperationDelete DatabaseOperation = "DELETE"
)

type DatabaseResource

type DatabaseResource struct {
	DatabaseName string `json:"databaseName" yaml:"databaseName"`
	//+optional
	Table string `json:"table" yaml:"table"`
	//+optional
	Operations []DatabaseOperation `json:"operations" yaml:"operations"`
}

func (*DatabaseResource) DeepCopy

func (in *DatabaseResource) DeepCopy() *DatabaseResource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseResource.

func (*DatabaseResource) DeepCopyInto

func (in *DatabaseResource) DeepCopyInto(out *DatabaseResource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPMethod

type HTTPMethod string

+kubebuilder:validation:Enum=GET;POST;PUT;DELETE;OPTIONS;TRACE;PATCH;CONNECT

const (
	HTTPMethodGet     HTTPMethod = "GET"
	HTTPMethodPost    HTTPMethod = "POST"
	HTTPMethodPut     HTTPMethod = "PUT"
	HTTPMethodDelete  HTTPMethod = "DELETE"
	HTTPMethodOptions HTTPMethod = "OPTIONS"
	HTTPMethodTrace   HTTPMethod = "TRACE"
	HTTPMethodPatch   HTTPMethod = "PATCH"
	HTTPMethodConnect HTTPMethod = "CONNECT"
)

type HTTPResource

type HTTPResource struct {
	Path    string       `json:"path"`
	Methods []HTTPMethod `json:"methods" yaml:"methods"`
}

func (*HTTPResource) DeepCopy

func (in *HTTPResource) DeepCopy() *HTTPResource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPResource.

func (*HTTPResource) DeepCopyInto

func (in *HTTPResource) DeepCopyInto(out *HTTPResource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Intent

type Intent struct {
	//+optional
	Name string `json:"name,omitempty" yaml:"name,omitempty"`

	//+optional
	Kind string `json:"kind,omitempty" yaml:"kind,omitempty"`

	//+optional
	Type IntentType `json:"type,omitempty" yaml:"type,omitempty"`

	//+optional
	Topics []KafkaTopic `json:"kafkaTopics,omitempty" yaml:"kafkaTopics,omitempty"`

	//+optional
	HTTPResources []HTTPResource `json:"HTTPResources,omitempty" yaml:"HTTPResources,omitempty"`

	//+optional
	DatabaseResources []DatabaseResource `json:"databaseResources,omitempty" yaml:"databaseResources,omitempty"`

	//+optional
	AWSActions []string `json:"awsActions,omitempty" yaml:"awsActions,omitempty"`

	//+optional
	GCPPermissions []string `json:"gcpPermissions,omitempty" yaml:"gcpPermissions,omitempty"`

	//+optional
	AzureRoles []string `json:"azureRoles,omitempty" yaml:"azureRoles,omitempty"`

	//+optional
	AzureKeyVaultPolicy *AzureKeyVaultPolicy `json:"azureKeyVaultPolicy,omitempty" yaml:"azureKeyVaultPolicy,omitempty"`

	//+optional
	Internet *Internet `json:"internet,omitempty" yaml:"internet,omitempty"`
}

func (*Intent) ConvertToCloudFormat

func (in *Intent) ConvertToCloudFormat(resourceNamespace string, clientName string) graphqlclient.IntentInput

func (*Intent) DeepCopy

func (in *Intent) DeepCopy() *Intent

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Intent.

func (*Intent) DeepCopyInto

func (in *Intent) DeepCopyInto(out *Intent)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Intent) GetK8sServiceFullyQualifiedName

func (in *Intent) GetK8sServiceFullyQualifiedName(intentsObjNamespace string) (string, bool)

func (*Intent) GetServerFullyQualifiedName

func (in *Intent) GetServerFullyQualifiedName(intentsObjNamespace string) string

func (*Intent) GetTargetServerKind

func (in *Intent) GetTargetServerKind() string

func (*Intent) GetTargetServerName

func (in *Intent) GetTargetServerName() string

GetTargetServerName returns server's service name, without namespace, or the Kubernetes service without the `svc:` prefix

func (*Intent) GetTargetServerNamespace

func (in *Intent) GetTargetServerNamespace(intentsObjNamespace string) string

GetTargetServerNamespace returns target namespace for intent if exists or the entire resource's namespace if the specific intent has no target namespace, as it's optional

func (*Intent) IsTargetInCluster

func (in *Intent) IsTargetInCluster() bool

func (*Intent) IsTargetOutOfCluster

func (in *Intent) IsTargetOutOfCluster() bool

func (*Intent) IsTargetServerKubernetesService

func (in *Intent) IsTargetServerKubernetesService() bool

func (*Intent) IsTargetTheKubernetesAPIServer

func (in *Intent) IsTargetTheKubernetesAPIServer(objectNamespace string) bool

func (*Intent) ToServiceIdentity

func (in *Intent) ToServiceIdentity(intentsObjNamespace string) serviceidentity.ServiceIdentity

type IntentType

type IntentType string

+kubebuilder:validation:Enum=http;kafka;database;aws;gcp;azure;internet

const (
	IntentTypeHTTP     IntentType = "http"
	IntentTypeKafka    IntentType = "kafka"
	IntentTypeDatabase IntentType = "database"
	IntentTypeAWS      IntentType = "aws"
	IntentTypeGCP      IntentType = "gcp"
	IntentTypeAzure    IntentType = "azure"
	IntentTypeInternet IntentType = "internet"
)

type IntentsSpec

type IntentsSpec struct {
	Service Service  `json:"service" yaml:"service"`
	Calls   []Intent `json:"calls" yaml:"calls"`
}

IntentsSpec defines the desired state of ClientIntents

func (*IntentsSpec) DeepCopy

func (in *IntentsSpec) DeepCopy() *IntentsSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntentsSpec.

func (*IntentsSpec) DeepCopyInto

func (in *IntentsSpec) DeepCopyInto(out *IntentsSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IntentsStatus

type IntentsStatus struct {
	// upToDate field reflects whether the client intents have successfully been applied
	// to the cluster to the state specified
	// +optional
	UpToDate bool `json:"upToDate"`
	// The last generation of the intents that was successfully reconciled.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration"`
	// +optional
	ResolvedIPs []ResolvedIPs `json:"resolvedIPs,omitempty" yaml:"resolvedIPs,omitempty"`
}

IntentsStatus defines the observed state of ClientIntents

func (*IntentsStatus) DeepCopy

func (in *IntentsStatus) DeepCopy() *IntentsStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntentsStatus.

func (*IntentsStatus) DeepCopyInto

func (in *IntentsStatus) DeepCopyInto(out *IntentsStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Internet

type Internet struct {
	//+optional
	Domains []string `json:"domains,omitempty" yaml:"domains,omitempty"`
	//+optional
	Ips []string `json:"ips,omitempty" yaml:"ips,omitempty"`
	//+optional
	Ports []int `json:"ports,omitempty" yaml:"ports,omitempty"`
}

func (*Internet) DeepCopy

func (in *Internet) DeepCopy() *Internet

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Internet.

func (*Internet) DeepCopyInto

func (in *Internet) DeepCopyInto(out *Internet)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KafkaOperation

type KafkaOperation string

+kubebuilder:validation:Enum=all;consume;produce;create;alter;delete;describe;ClusterAction;DescribeConfigs;AlterConfigs;IdempotentWrite

const (
	KafkaOperationAll             KafkaOperation = "all"
	KafkaOperationConsume         KafkaOperation = "consume"
	KafkaOperationProduce         KafkaOperation = "produce"
	KafkaOperationCreate          KafkaOperation = "create"
	KafkaOperationAlter           KafkaOperation = "alter"
	KafkaOperationDelete          KafkaOperation = "delete"
	KafkaOperationDescribe        KafkaOperation = "describe"
	KafkaOperationClusterAction   KafkaOperation = "ClusterAction"
	KafkaOperationDescribeConfigs KafkaOperation = "DescribeConfigs"
	KafkaOperationAlterConfigs    KafkaOperation = "AlterConfigs"
	KafkaOperationIdempotentWrite KafkaOperation = "IdempotentWrite"
)

type KafkaServerConfig

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

	Spec   KafkaServerConfigSpec   `json:"spec,omitempty" yaml:"spec,omitempty"`
	Status KafkaServerConfigStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

KafkaServerConfig is the Schema for the kafkaserverconfigs API

func (*KafkaServerConfig) DeepCopy

func (in *KafkaServerConfig) DeepCopy() *KafkaServerConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaServerConfig.

func (*KafkaServerConfig) DeepCopyInto

func (in *KafkaServerConfig) DeepCopyInto(out *KafkaServerConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KafkaServerConfig) DeepCopyObject

func (in *KafkaServerConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*KafkaServerConfig) Hub

func (ksc *KafkaServerConfig) Hub()

func (*KafkaServerConfig) SetupWebhookWithManager

func (ksc *KafkaServerConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

type KafkaServerConfigList

type KafkaServerConfigList struct {
	metav1.TypeMeta `json:",inline" yaml:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Items           []KafkaServerConfig `json:"items" yaml:"items"`
}

KafkaServerConfigList contains a list of KafkaServerConfig

func (*KafkaServerConfigList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaServerConfigList.

func (*KafkaServerConfigList) DeepCopyInto

func (in *KafkaServerConfigList) DeepCopyInto(out *KafkaServerConfigList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KafkaServerConfigList) DeepCopyObject

func (in *KafkaServerConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type KafkaServerConfigSpec

type KafkaServerConfigSpec struct {
	Service Service `json:"service,omitempty" yaml:"service,omitempty"`
	// If Intents for network policies are enabled, and there are other Intents to this Kafka server,
	// will automatically create an Intent so that the Intents Operator can connect. Set to true to disable.
	NoAutoCreateIntentsForOperator bool   `json:"noAutoCreateIntentsForOperator,omitempty" yaml:"noAutoCreateIntentsForOperator,omitempty"`
	Addr                           string `json:"addr,omitempty" yaml:"addr,omitempty"`
	// +kubebuilder:validation:Optional
	TLS    TLSSource     `json:"tls,omitempty" yaml:"tls,omitempty"`
	Topics []TopicConfig `json:"topics,omitempty" yaml:"topics,omitempty"`
}

KafkaServerConfigSpec defines the desired state of KafkaServerConfig

func (*KafkaServerConfigSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaServerConfigSpec.

func (*KafkaServerConfigSpec) DeepCopyInto

func (in *KafkaServerConfigSpec) DeepCopyInto(out *KafkaServerConfigSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KafkaServerConfigStatus

type KafkaServerConfigStatus struct {
}

KafkaServerConfigStatus defines the observed state of KafkaServerConfig

func (*KafkaServerConfigStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaServerConfigStatus.

func (*KafkaServerConfigStatus) DeepCopyInto

func (in *KafkaServerConfigStatus) DeepCopyInto(out *KafkaServerConfigStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KafkaTopic

type KafkaTopic struct {
	Name       string           `json:"name" yaml:"name"`
	Operations []KafkaOperation `json:"operations" yaml:"operations"`
}

func (*KafkaTopic) DeepCopy

func (in *KafkaTopic) DeepCopy() *KafkaTopic

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaTopic.

func (*KafkaTopic) DeepCopyInto

func (in *KafkaTopic) DeepCopyInto(out *KafkaTopic)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MySQLServerConfig

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

	Spec   MySQLServerConfigSpec   `json:"spec,omitempty"`
	Status MySQLServerConfigStatus `json:"status,omitempty"`
}

MySQLServerConfig is the Schema for the mysqlserverconfig API

func (*MySQLServerConfig) DeepCopy

func (in *MySQLServerConfig) DeepCopy() *MySQLServerConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLServerConfig.

func (*MySQLServerConfig) DeepCopyInto

func (in *MySQLServerConfig) DeepCopyInto(out *MySQLServerConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MySQLServerConfig) DeepCopyObject

func (in *MySQLServerConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*MySQLServerConfig) SetupWebhookWithManager

func (in *MySQLServerConfig) SetupWebhookWithManager(mgr ctrl.Manager, validator webhook.CustomValidator) error

type MySQLServerConfigList

type MySQLServerConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []MySQLServerConfig `json:"items"`
}

MySQLServerConfigList contains a list of MySQLServerConfig

func (*MySQLServerConfigList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLServerConfigList.

func (*MySQLServerConfigList) DeepCopyInto

func (in *MySQLServerConfigList) DeepCopyInto(out *MySQLServerConfigList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MySQLServerConfigList) DeepCopyObject

func (in *MySQLServerConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MySQLServerConfigSpec

type MySQLServerConfigSpec struct {
	Address     string              `json:"address"`
	Credentials DatabaseCredentials `json:"credentials"`
}

MySQLServerConfigSpec defines the desired state of MySQLServerConfig

func (*MySQLServerConfigSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLServerConfigSpec.

func (*MySQLServerConfigSpec) DeepCopyInto

func (in *MySQLServerConfigSpec) DeepCopyInto(out *MySQLServerConfigSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MySQLServerConfigStatus

type MySQLServerConfigStatus struct {
}

MySQLServerConfigStatus defines the observed state of MySQLServerConfig

func (*MySQLServerConfigStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLServerConfigStatus.

func (*MySQLServerConfigStatus) DeepCopyInto

func (in *MySQLServerConfigStatus) DeepCopyInto(out *MySQLServerConfigStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PostgreSQLServerConfig

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

	Spec   PostgreSQLServerConfigSpec   `json:"spec,omitempty"`
	Status PostgreSQLServerConfigStatus `json:"status,omitempty"`
}

PostgreSQLServerConfig is the Schema for the postgresqlserverconfig API

func (*PostgreSQLServerConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgreSQLServerConfig.

func (*PostgreSQLServerConfig) DeepCopyInto

func (in *PostgreSQLServerConfig) DeepCopyInto(out *PostgreSQLServerConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PostgreSQLServerConfig) DeepCopyObject

func (in *PostgreSQLServerConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*PostgreSQLServerConfig) SetupWebhookWithManager

func (in *PostgreSQLServerConfig) SetupWebhookWithManager(mgr ctrl.Manager, validator webhook.CustomValidator) error

type PostgreSQLServerConfigList

type PostgreSQLServerConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []PostgreSQLServerConfig `json:"items"`
}

PostgreSQLServerConfigList contains a list of PostgreSQLServerConfig

func (*PostgreSQLServerConfigList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgreSQLServerConfigList.

func (*PostgreSQLServerConfigList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PostgreSQLServerConfigList) DeepCopyObject

func (in *PostgreSQLServerConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PostgreSQLServerConfigSpec

type PostgreSQLServerConfigSpec struct {
	Address     string              `json:"address"`
	Credentials DatabaseCredentials `json:"credentials"`
}

PostgreSQLServerConfigSpec defines the desired state of PostgreSQLServerConfig

func (*PostgreSQLServerConfigSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgreSQLServerConfigSpec.

func (*PostgreSQLServerConfigSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PostgreSQLServerConfigStatus

type PostgreSQLServerConfigStatus struct {
}

PostgreSQLServerConfigStatus defines the observed state of PostgreSQLServerConfig

func (*PostgreSQLServerConfigStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgreSQLServerConfigStatus.

func (*PostgreSQLServerConfigStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProtectedService

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

	Spec   ProtectedServiceSpec   `json:"spec,omitempty"`
	Status ProtectedServiceStatus `json:"status,omitempty"`
}

ProtectedService is the Schema for the protectedservice API

func (*ProtectedService) DeepCopy

func (in *ProtectedService) DeepCopy() *ProtectedService

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProtectedService.

func (*ProtectedService) DeepCopyInto

func (in *ProtectedService) DeepCopyInto(out *ProtectedService)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ProtectedService) DeepCopyObject

func (in *ProtectedService) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ProtectedService) GetKind

func (in *ProtectedService) GetKind() string

func (*ProtectedService) Hub

func (in *ProtectedService) Hub()

func (*ProtectedService) SetupWebhookWithManager

func (in *ProtectedService) SetupWebhookWithManager(mgr ctrl.Manager, validator webhook.CustomValidator) error

func (*ProtectedService) ToServiceIdentity

func (in *ProtectedService) ToServiceIdentity() serviceidentity.ServiceIdentity

type ProtectedServiceList

type ProtectedServiceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ProtectedService `json:"items"`
}

ProtectedServiceList contains a list of ProtectedService

func (*ProtectedServiceList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProtectedServiceList.

func (*ProtectedServiceList) DeepCopyInto

func (in *ProtectedServiceList) DeepCopyInto(out *ProtectedServiceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ProtectedServiceList) DeepCopyObject

func (in *ProtectedServiceList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ProtectedServiceSpec

type ProtectedServiceSpec struct {
	Name string `json:"name,omitempty"`

	//+optional
	Kind string `json:"kind,omitempty" yaml:"kind,omitempty"`
}

ProtectedServiceSpec defines the desired state of ProtectedService

func (*ProtectedServiceSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProtectedServiceSpec.

func (*ProtectedServiceSpec) DeepCopyInto

func (in *ProtectedServiceSpec) DeepCopyInto(out *ProtectedServiceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProtectedServiceStatus

type ProtectedServiceStatus struct {
}

ProtectedServiceStatus defines the observed state of ProtectedService

func (*ProtectedServiceStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProtectedServiceStatus.

func (*ProtectedServiceStatus) DeepCopyInto

func (in *ProtectedServiceStatus) DeepCopyInto(out *ProtectedServiceStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResolvedIPs

type ResolvedIPs struct {
	DNS string   `json:"dns,omitempty" yaml:"dns,omitempty"`
	IPs []string `json:"ips,omitempty" yaml:"ips,omitempty"`
}

func (*ResolvedIPs) DeepCopy

func (in *ResolvedIPs) DeepCopy() *ResolvedIPs

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResolvedIPs.

func (*ResolvedIPs) DeepCopyInto

func (in *ResolvedIPs) DeepCopyInto(out *ResolvedIPs)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourcePatternType

type ResourcePatternType string

+kubebuilder:validation:Enum=literal;prefix

type Service

type Service struct {
	Name string `json:"name" yaml:"name"`
	//+optional
	Kind string `json:"kind,omitempty" yaml:"kind,omitempty"`
}

func (*Service) DeepCopy

func (in *Service) DeepCopy() *Service

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.

func (*Service) DeepCopyInto

func (in *Service) DeepCopyInto(out *Service)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TLSSource

type TLSSource struct {
	// +kubebuilder:validation:Required
	CertFile string `json:"certFile" yaml:"certFile"`
	// +kubebuilder:validation:Required
	KeyFile string `json:"keyFile" yaml:"keyFile"`
	// +kubebuilder:validation:Required
	RootCAFile string `json:"rootCAFile" yaml:"rootCAFile"`
}

func (*TLSSource) DeepCopy

func (in *TLSSource) DeepCopy() *TLSSource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSSource.

func (*TLSSource) DeepCopyInto

func (in *TLSSource) DeepCopyInto(out *TLSSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TopicConfig

type TopicConfig struct {
	Topic                  string              `json:"topic" yaml:"topic"`
	Pattern                ResourcePatternType `json:"pattern" yaml:"pattern"`
	ClientIdentityRequired bool                `json:"clientIdentityRequired" yaml:"clientIdentityRequired"`
	IntentsRequired        bool                `json:"intentsRequired" yaml:"intentsRequired"`
}

func (*TopicConfig) DeepCopy

func (in *TopicConfig) DeepCopy() *TopicConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopicConfig.

func (*TopicConfig) DeepCopyInto

func (in *TopicConfig) DeepCopyInto(out *TopicConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL