repositories

package
v0.18.0 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2026 License: Apache-2.0 Imports: 56 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StartedState DesiredState = "STARTED"
	StoppedState DesiredState = "STOPPED"

	CFAppGUIDLabel     string = "korifi.cloudfoundry.org/app-guid"
	AppResourceType    string = "App"
	AppEnvResourceType string = "App Env"
)
View Source
const (
	PodResourceType        = "Pod"
	PodMetricsResourceType = "Pod Metrics"
)
View Source
const (
	PackageStateAwaitingUpload = "AWAITING_UPLOAD"
	PackageStateReady          = "READY"

	PackageResourceType = "Package"
)
View Source
const (
	RoleGuidLabel = "cloudfoundry.org/role-guid"

	RoleResourceType = "Role"
)
View Source
const (
	LabelServiceBindingProvisionedService = "servicebinding.io/provisioned-service"
	ServiceBindingResourceType            = "Service Binding"
)
View Source
const (
	CFServiceInstanceGUIDLabel  = "korifi.cloudfoundry.org/service-instance-guid"
	ServiceInstanceResourceType = "Service Instance"
)
View Source
const (
	ServicePlanResourceType           = "Service Plan"
	ServicePlanVisibilityResourceType = "Service Plan Visibility"
)
View Source
const (
	TaskResourceType string = "Task"

	TaskStatePending   = "PENDING"
	TaskStateRunning   = "RUNNING"
	TaskStateSucceeded = "SUCCEEDED"
	TaskStateFailed    = "FAILED"
	TaskStateCanceling = "CANCELING"
)
View Source
const (
	BuildResourceType = "Build"
)
View Source
const (
	BuildWorkloadLabelKey = "korifi.cloudfoundry.org/build-workload-name"
)
View Source
const (
	BuildpackResourceType = "Buildpack"
)
View Source
const DeploymentResourceType = "Deployment"
View Source
const (
	DomainResourceType = "Domain"
)
View Source
const (
	DropletResourceType = "Droplet"
)
View Source
const (
	OrgResourceType = "Org"
)
View Source
const ProcessResourceType = "Process"
View Source
const (
	RouteResourceType = "Route"
)
View Source
const (
	RunnerInfoResourceType = "RunnerInfo"
)
View Source
const SecurityGroupResourceType = "Security Group"
View Source
const ServiceBrokerResourceType = "Service Broker"
View Source
const ServiceOfferingResourceType = "Service Offering"
View Source
const SourceImageResourceType = "SourceImage"
View Source
const (
	SpaceResourceType = "Space"
)
View Source
const (
	StackResourceType = "Stack"
)

Variables

View Source
var (
	CFAppsGVR = schema.GroupVersionResource{
		Group:    "korifi.cloudfoundry.org",
		Version:  "v1alpha1",
		Resource: "cfapps",
	}

	CFBuildsGVR = schema.GroupVersionResource{
		Group:    "korifi.cloudfoundry.org",
		Version:  "v1alpha1",
		Resource: "cfbuilds",
	}

	CFDomainsGVR = schema.GroupVersionResource{
		Group:    "korifi.cloudfoundry.org",
		Version:  "v1alpha1",
		Resource: "cfdomains",
	}

	CFDropletsGVR = schema.GroupVersionResource{
		Group:    "korifi.cloudfoundry.org",
		Version:  "v1alpha1",
		Resource: "cfbuilds",
	}

	CFPackagesGVR = schema.GroupVersionResource{
		Group:    "korifi.cloudfoundry.org",
		Version:  "v1alpha1",
		Resource: "cfpackages",
	}

	CFProcessesGVR = schema.GroupVersionResource{
		Group:    "korifi.cloudfoundry.org",
		Version:  "v1alpha1",
		Resource: "cfprocesses",
	}

	CFRoutesGVR = schema.GroupVersionResource{
		Group:    "korifi.cloudfoundry.org",
		Version:  "v1alpha1",
		Resource: "cfroutes",
	}

	CFServiceBindingsGVR = schema.GroupVersionResource{
		Group:    "korifi.cloudfoundry.org",
		Version:  "v1alpha1",
		Resource: "cfservicebindings",
	}

	CFServiceInstancesGVR = schema.GroupVersionResource{
		Group:    "korifi.cloudfoundry.org",
		Version:  "v1alpha1",
		Resource: "cfserviceinstances",
	}

	CFSpacesGVR = schema.GroupVersionResource{
		Group:    "korifi.cloudfoundry.org",
		Version:  "v1alpha1",
		Resource: "cfspaces",
	}

	CFTasksGVR = schema.GroupVersionResource{
		Group:    "korifi.cloudfoundry.org",
		Version:  "v1alpha1",
		Resource: "cftasks",
	}

	ResourceMap = map[string]schema.GroupVersionResource{
		AppResourceType:             CFAppsGVR,
		BuildResourceType:           CFBuildsGVR,
		DropletResourceType:         CFDropletsGVR,
		DomainResourceType:          CFDomainsGVR,
		PackageResourceType:         CFPackagesGVR,
		ProcessResourceType:         CFProcessesGVR,
		RouteResourceType:           CFRoutesGVR,
		ServiceBindingResourceType:  CFServiceBindingsGVR,
		ServiceInstanceResourceType: CFServiceInstancesGVR,
		SpaceResourceType:           CFSpacesGVR,
		TaskResourceType:            CFTasksGVR,
	}
)

Functions

func BuildpackComparator added in v0.14.0

func BuildpackComparator(fieldName string) func(BuildpackRecord, BuildpackRecord) int

func GetAndPatch added in v0.16.0

func GetAndPatch(
	ctx context.Context,
	klient Klient,
	obj client.Object,
	modify func() error,
) error

func NewBuildpackSorter added in v0.14.0

func NewBuildpackSorter() *buildpackSorter

func NewRoleSorter added in v0.14.0

func NewRoleSorter() *roleSorter

func PatchResource added in v0.13.0

func PatchResource[T client.Object](
	ctx context.Context,
	k8sClient client.Client,
	obj T,
	modify func(),
) error

func RoleComparator added in v0.14.0

func RoleComparator(fieldName string) func(RoleRecord, RoleRecord) int

Types

type AddDestinationsMessage added in v0.13.0

type AddDestinationsMessage struct {
	RouteGUID            string
	SpaceGUID            string
	ExistingDestinations []DestinationRecord
	NewDestinations      []DesiredDestination
}

type AppEnvRecord added in v0.2.0

type AppEnvRecord struct {
	AppGUID              string
	SpaceGUID            string
	EnvironmentVariables map[string]string
	SystemEnv            map[string]interface{}
	AppEnv               map[string]interface{}
}

type AppEnvVarsRecord

type AppEnvVarsRecord struct {
	Name                 string
	AppGUID              string
	SpaceGUID            string
	EnvironmentVariables map[string]string
}

type AppRecord

type AppRecord struct {
	Name        string
	GUID        string
	EtcdUID     types.UID
	Revision    string
	SpaceGUID   string
	DropletGUID string
	Labels      map[string]string
	Annotations map[string]string
	State       DesiredState
	Lifecycle   Lifecycle
	CreatedAt   time.Time
	UpdatedAt   *time.Time
	DeletedAt   *time.Time
	IsStaged    bool
	// contains filtered or unexported fields
}

func (AppRecord) GetResourceType added in v0.13.0

func (a AppRecord) GetResourceType() string

func (AppRecord) Relationships added in v0.13.0

func (a AppRecord) Relationships() map[string]string

type AppRepo

type AppRepo struct {
	// contains filtered or unexported fields
}

func NewAppRepo

func NewAppRepo(
	klient Klient,
	appAwaiter Awaiter[*korifiv1alpha1.CFApp],
) *AppRepo

func (*AppRepo) CreateApp

func (f *AppRepo) CreateApp(ctx context.Context, authInfo authorization.Info, appCreateMessage CreateAppMessage) (AppRecord, error)

func (*AppRepo) DeleteApp

func (f *AppRepo) DeleteApp(ctx context.Context, authInfo authorization.Info, message DeleteAppMessage) error

func (*AppRepo) GetApp

func (f *AppRepo) GetApp(ctx context.Context, authInfo authorization.Info, appGUID string) (AppRecord, error)

func (*AppRepo) GetAppEnv

func (f *AppRepo) GetAppEnv(ctx context.Context, authInfo authorization.Info, appGUID string) (AppEnvRecord, error)

func (*AppRepo) GetDeletedAt added in v0.8.0

func (f *AppRepo) GetDeletedAt(ctx context.Context, authInfo authorization.Info, appGUID string) (*time.Time, error)

func (*AppRepo) ListApps

func (f *AppRepo) ListApps(ctx context.Context, authInfo authorization.Info, message ListAppsMessage) (ListResult[AppRecord], error)

func (*AppRepo) PatchApp added in v0.4.0

func (f *AppRepo) PatchApp(ctx context.Context, authInfo authorization.Info, appPatchMessage PatchAppMessage) (AppRecord, error)

func (*AppRepo) PatchAppEnvVars

func (f *AppRepo) PatchAppEnvVars(ctx context.Context, authInfo authorization.Info, message PatchAppEnvVarsMessage) (AppEnvVarsRecord, error)

func (*AppRepo) SetAppDesiredState

func (f *AppRepo) SetAppDesiredState(ctx context.Context, authInfo authorization.Info, message SetAppDesiredStateMessage) (AppRecord, error)

func (*AppRepo) SetCurrentDroplet

func (f *AppRepo) SetCurrentDroplet(ctx context.Context, authInfo authorization.Info, message SetCurrentDropletMessage) (CurrentDropletRecord, error)

type ApplyServicePlanVisibilityMessage added in v0.13.0

type ApplyServicePlanVisibilityMessage struct {
	PlanGUID      string
	Type          string
	Organizations []string
}

type AuthorizedInChecker

type AuthorizedInChecker interface {
	AuthorizedIn(ctx context.Context, identity authorization.Identity, namespace string) (bool, error)
}

type Awaiter added in v0.12.0

type Awaiter[T runtime.Object] interface {
	AwaitCondition(context.Context, Klient, client.Object, string) (T, error)
	AwaitState(context.Context, Klient, client.Object, func(T) error) (T, error)
}

type BrokerCatalogFeatures added in v0.15.0

type BrokerCatalogFeatures struct {
	PlanUpdateable       bool
	Bindable             bool
	InstancesRetrievable bool
	BindingsRetrievable  bool
	AllowContextUpdates  bool
}

type BrokerCredentials added in v0.15.0

type BrokerCredentials struct {
	Username string
	Password string
}

type BuildRecord

type BuildRecord struct {
	GUID            string
	SpaceGUID       string
	State           string
	CreatedAt       time.Time
	UpdatedAt       *time.Time
	StagingErrorMsg string
	StagingMemoryMB int
	StagingDiskMB   int
	Lifecycle       Lifecycle
	PackageGUID     string
	DropletGUID     string
	AppGUID         string
	Labels          map[string]string
	Annotations     map[string]string
	ImageRef        string
}

func (BuildRecord) Relationships added in v0.13.0

func (r BuildRecord) Relationships() map[string]string

type BuildRepo

type BuildRepo struct {
	// contains filtered or unexported fields
}

func NewBuildRepo

func NewBuildRepo(
	klient Klient,
) *BuildRepo

func (*BuildRepo) CreateBuild

func (b *BuildRepo) CreateBuild(ctx context.Context, authInfo authorization.Info, message CreateBuildMessage) (BuildRecord, error)

func (*BuildRepo) GetBuild

func (b *BuildRepo) GetBuild(ctx context.Context, authInfo authorization.Info, buildGUID string) (BuildRecord, error)

func (*BuildRepo) GetLatestBuildByAppGUID

func (b *BuildRepo) GetLatestBuildByAppGUID(ctx context.Context, authInfo authorization.Info, spaceGUID string, appGUID string) (BuildRecord, error)

func (*BuildRepo) ListBuilds added in v0.16.0

func (b *BuildRepo) ListBuilds(ctx context.Context, authInfo authorization.Info, message ListBuildsMessage) (ListResult[BuildRecord], error)

type BuildpackRecord

type BuildpackRecord struct {
	Name      string
	Position  int
	Stack     string
	Version   string
	CreatedAt time.Time
	UpdatedAt *time.Time
}

type BuildpackRepository

type BuildpackRepository struct {
	// contains filtered or unexported fields
}

func NewBuildpackRepository

func NewBuildpackRepository(
	klient Klient,
	builderName string,
	rootNamespace string,
	sorter BuildpackSorter,
) *BuildpackRepository

func (*BuildpackRepository) ListBuildpacks added in v0.2.0

type BuildpackSorter added in v0.14.0

type BuildpackSorter interface {
	Sort(records []BuildpackRecord, order string) []BuildpackRecord
}

type CreateAppMessage

type CreateAppMessage struct {
	Name                 string
	SpaceGUID            string
	State                DesiredState
	Lifecycle            Lifecycle
	EnvironmentVariables map[string]string
	Metadata
}

type CreateBuildMessage

type CreateBuildMessage struct {
	AppGUID         string
	PackageGUID     string
	SpaceGUID       string
	StagingMemoryMB int
	StagingDiskMB   int
	Lifecycle       Lifecycle
	Labels          map[string]string
	Annotations     map[string]string
}

type CreateDeploymentMessage added in v0.8.0

type CreateDeploymentMessage struct {
	AppGUID     string
	DropletGUID string
}

type CreateDomainMessage added in v0.5.0

type CreateDomainMessage struct {
	Name     string
	Metadata Metadata
}

type CreateManagedSIMessage added in v0.13.0

type CreateManagedSIMessage struct {
	Name        string
	SpaceGUID   string
	PlanGUID    string
	Parameters  map[string]any
	Tags        []string
	Labels      map[string]string
	Annotations map[string]string
}

type CreateOrPatchAppEnvVarsMessage

type CreateOrPatchAppEnvVarsMessage struct {
	AppGUID              string
	AppEtcdUID           types.UID
	SpaceGUID            string
	EnvironmentVariables map[string]string
}

type CreateOrgMessage

type CreateOrgMessage struct {
	Name        string
	Suspended   bool
	Labels      map[string]string
	Annotations map[string]string
}

type CreatePackageMessage

type CreatePackageMessage struct {
	Type      string
	AppGUID   string
	SpaceGUID string
	Metadata  Metadata
	Data      *PackageData
}

type CreateProcessMessage

type CreateProcessMessage struct {
	AppGUID          string
	SpaceGUID        string
	Type             string
	Command          string
	DiskQuotaMB      int64
	HealthCheck      HealthCheck
	DesiredInstances *int32
	MemoryMB         int64
}

type CreateRoleMessage

type CreateRoleMessage struct {
	GUID                    string
	Type                    string
	Space                   string
	Org                     string
	User                    string
	Kind                    string
	ServiceAccountNamespace string
}

type CreateRouteMessage

type CreateRouteMessage struct {
	Host            string
	Path            string
	SpaceGUID       string
	DomainGUID      string
	DomainName      string
	DomainNamespace string
	Labels          map[string]string
	Annotations     map[string]string
}

type CreateSecurityGroupMessage added in v0.16.0

type CreateSecurityGroupMessage struct {
	DisplayName     string
	Rules           []SecurityGroupRule
	Spaces          map[string]SecurityGroupWorkloads
	GloballyEnabled SecurityGroupWorkloads
}

type CreateServiceBindingMessage

type CreateServiceBindingMessage struct {
	Type                string
	Name                *string
	ServiceInstanceGUID string
	AppGUID             string
	SpaceGUID           string
	Parameters          map[string]any
}

type CreateServiceBrokerMessage added in v0.13.0

type CreateServiceBrokerMessage struct {
	Name        string
	URL         string
	Credentials BrokerCredentials
	Metadata    Metadata
}

type CreateSpaceMessage

type CreateSpaceMessage struct {
	Name             string
	OrganizationGUID string
}

type CreateTaskMessage added in v0.2.0

type CreateTaskMessage struct {
	Command   string
	SpaceGUID string
	AppGUID   string
	Metadata
}

type CreateUPSIMessage added in v0.13.0

type CreateUPSIMessage struct {
	Name        string
	SpaceGUID   string
	Credentials map[string]any
	Tags        []string
	Labels      map[string]string
	Annotations map[string]string
}

type CurrentDropletRecord

type CurrentDropletRecord struct {
	AppGUID     string
	DropletGUID string
}

type DeleteAppMessage

type DeleteAppMessage struct {
	AppGUID   string
	SpaceGUID string
}

type DeleteOrgMessage

type DeleteOrgMessage struct {
	GUID string
}

type DeleteRoleMessage added in v0.7.0

type DeleteRoleMessage struct {
	GUID  string
	Space string
	Org   string
}

type DeleteRouteMessage

type DeleteRouteMessage struct {
	GUID      string
	SpaceGUID string
}

type DeleteServiceBindingMessage

type DeleteServiceBindingMessage struct {
	GUID string
}

type DeleteServiceInstanceMessage

type DeleteServiceInstanceMessage struct {
	GUID  string
	Purge bool
}

type DeleteServiceOfferingMessage added in v0.14.0

type DeleteServiceOfferingMessage struct {
	GUID  string
	Purge bool
}

type DeleteServicePlanVisibilityMessage added in v0.14.0

type DeleteServicePlanVisibilityMessage struct {
	PlanGUID string
	OrgGUID  string
}

type DeleteSpaceMessage

type DeleteSpaceMessage struct {
	GUID             string
	OrganizationGUID string
}

type DeploymentRecord added in v0.8.0

type DeploymentRecord struct {
	GUID        string
	CreatedAt   time.Time
	UpdatedAt   *time.Time
	DropletGUID string
	Status      DeploymentStatus
}

func (DeploymentRecord) Relationships added in v0.13.0

func (r DeploymentRecord) Relationships() map[string]string

type DeploymentRepo added in v0.8.0

type DeploymentRepo struct {
	// contains filtered or unexported fields
}

func NewDeploymentRepo added in v0.8.0

func NewDeploymentRepo(
	klient Klient,
) *DeploymentRepo

func (*DeploymentRepo) CreateDeployment added in v0.8.0

func (r *DeploymentRepo) CreateDeployment(ctx context.Context, authInfo authorization.Info, message CreateDeploymentMessage) (DeploymentRecord, error)

func (*DeploymentRepo) GetDeployment added in v0.8.0

func (r *DeploymentRepo) GetDeployment(ctx context.Context, authInfo authorization.Info, deploymentGUID string) (DeploymentRecord, error)

func (*DeploymentRepo) ListDeployments added in v0.13.0

type DeploymentStatus added in v0.8.0

type DeploymentStatus struct {
	Value  DeploymentStatusValue
	Reason DeploymentStatusReason
}

type DeploymentStatusReason added in v0.8.0

type DeploymentStatusReason string
const (
	DeploymentStatusReasonDeploying DeploymentStatusReason = "DEPLOYING"
	DeploymentStatusReasonDeployed  DeploymentStatusReason = "DEPLOYED"
)

type DeploymentStatusValue added in v0.8.0

type DeploymentStatusValue string
const (
	DeploymentStatusValueActive    DeploymentStatusValue = "ACTIVE"
	DeploymentStatusValueFinalized DeploymentStatusValue = "FINALIZED"
)

type DesiredDestination added in v0.13.0

type DesiredDestination struct {
	AppGUID     string
	ProcessType string
	Port        *int32
	Protocol    *string
}

type DesiredState

type DesiredState string

type DestinationRecord

type DestinationRecord struct {
	GUID        string
	AppGUID     string
	ProcessType string
	Port        *int32
	Protocol    *string
}

type DomainRecord

type DomainRecord struct {
	Name        string
	GUID        string
	Labels      map[string]string
	Annotations map[string]string
	Namespace   string
	CreatedAt   time.Time
	UpdatedAt   *time.Time
	DeletedAt   *time.Time
}

func (DomainRecord) GetResourceType added in v0.13.0

func (r DomainRecord) GetResourceType() string

type DomainRepo

type DomainRepo struct {
	// contains filtered or unexported fields
}

func NewDomainRepo

func NewDomainRepo(
	klient Klient,
	rootNamespace string,
) *DomainRepo

func (*DomainRepo) CreateDomain added in v0.5.0

func (r *DomainRepo) CreateDomain(ctx context.Context, authInfo authorization.Info, message CreateDomainMessage) (DomainRecord, error)

func (*DomainRepo) DeleteDomain added in v0.5.0

func (r *DomainRepo) DeleteDomain(ctx context.Context, authInfo authorization.Info, domainGUID string) error

func (*DomainRepo) GetDeletedAt added in v0.8.0

func (r *DomainRepo) GetDeletedAt(ctx context.Context, authInfo authorization.Info, domainGUID string) (*time.Time, error)

func (*DomainRepo) GetDomain

func (r *DomainRepo) GetDomain(ctx context.Context, authInfo authorization.Info, domainGUID string) (DomainRecord, error)

func (*DomainRepo) ListDomains

func (r *DomainRepo) ListDomains(ctx context.Context, authInfo authorization.Info, message ListDomainsMessage) (ListResult[DomainRecord], error)

func (*DomainRepo) UpdateDomain added in v0.5.0

func (r *DomainRepo) UpdateDomain(ctx context.Context, authInfo authorization.Info, message UpdateDomainMessage) (DomainRecord, error)

type DropletRecord

type DropletRecord struct {
	GUID            string
	State           string
	CreatedAt       time.Time
	UpdatedAt       *time.Time
	DropletErrorMsg string
	Lifecycle       Lifecycle
	Stack           string
	ProcessTypes    map[string]string
	AppGUID         string
	PackageGUID     string
	Labels          map[string]string
	Annotations     map[string]string
	Image           string
	Ports           []int32
}

func (DropletRecord) Relationships added in v0.13.0

func (r DropletRecord) Relationships() map[string]string

type DropletRepo

type DropletRepo struct {
	// contains filtered or unexported fields
}

func NewDropletRepo

func NewDropletRepo(
	klient Klient,
) *DropletRepo

func (*DropletRepo) GetDroplet

func (r *DropletRepo) GetDroplet(ctx context.Context, authInfo authorization.Info, dropletGUID string) (DropletRecord, error)

func (*DropletRepo) ListDroplets

func (r *DropletRepo) ListDroplets(ctx context.Context, authInfo authorization.Info, message ListDropletsMessage) (ListResult[DropletRecord], error)

func (*DropletRepo) UpdateDroplet added in v0.7.0

func (r *DropletRepo) UpdateDroplet(ctx context.Context, authInfo authorization.Info, message UpdateDropletMessage) (DropletRecord, error)

type ErroringListOption added in v0.16.0

type ErroringListOption string

func (ErroringListOption) ApplyToList added in v0.16.0

func (o ErroringListOption) ApplyToList(opts *ListOptions) error

type FilterOpt added in v0.16.1

type FilterOpt struct {
	By         string
	FilterFunc func(value any) bool
}

func (FilterOpt) ApplyToList added in v0.16.1

func (o FilterOpt) ApplyToList(opts *ListOptions) error

type GetLogsMessage added in v0.13.0

type GetLogsMessage struct {
	App   AppRecord
	Build BuildRecord

	StartTime  *int64
	Limit      *int64
	Descending bool
}

type HealthCheck

type HealthCheck struct {
	Type string
	Data HealthCheckData
}

type HealthCheckData

type HealthCheckData struct {
	HTTPEndpoint             string
	InvocationTimeoutSeconds int32
	TimeoutSeconds           int32
}

type ImagePusher

type ImagePusher interface {
	Push(ctx context.Context, creds image.Creds, repoRef string, zipReader io.Reader, tags ...string) (string, error)
}

type ImageRepository

type ImageRepository struct {
	// contains filtered or unexported fields
}

func NewImageRepository

func NewImageRepository(
	userClientFactory authorization.UserClientFactory,
	pusher ImagePusher,
	pushSecretNames []string,
	pushSecretNamespace string,
) *ImageRepository

func (*ImageRepository) UploadSourceImage

func (r *ImageRepository) UploadSourceImage(ctx context.Context, authInfo authorization.Info, imageRef string, srcReader io.Reader, spaceGUID string, tags ...string) (string, error)

type InNamespace added in v0.16.0

type InNamespace string

func (InNamespace) ApplyToList added in v0.16.0

func (o InNamespace) ApplyToList(opts *ListOptions) error

type InputParameterSchema added in v0.15.0

type InputParameterSchema struct {
	Parameters map[string]any
}

type Klient added in v0.16.0

type Klient interface {
	Get(ctx context.Context, obj client.Object) error
	Create(ctx context.Context, obj client.Object) error
	Patch(ctx context.Context, obj client.Object, modify func() error) error
	List(ctx context.Context, list client.ObjectList, opts ...ListOption) (descriptors.PageInfo, error)
	Watch(ctx context.Context, obj client.ObjectList, opts ...ListOption) (watch.Interface, error)
	Delete(ctx context.Context, obj client.Object, opts ...client.DeleteOption) error
}

type LabelExists added in v0.16.0

type LabelExists struct {
	Key string
}

func (LabelExists) ApplyToList added in v0.16.0

func (o LabelExists) ApplyToList(opts *ListOptions) error

type LabelIn added in v0.16.0

type LabelIn struct {
	Key    string
	Values []string
}

func (LabelIn) ApplyToList added in v0.16.0

func (o LabelIn) ApplyToList(opts *ListOptions) error

type LabelOpt added in v0.16.0

type LabelOpt struct {
	Key   string
	Value string
}

func (LabelOpt) ApplyToList added in v0.16.0

func (o LabelOpt) ApplyToList(opts *ListOptions) error

type Lifecycle

type Lifecycle struct {
	Type string
	Data LifecycleData
}

type LifecycleData

type LifecycleData struct {
	Buildpacks []string
	Stack      string
}

type LifecycleDataPatch added in v0.8.0

type LifecycleDataPatch struct {
	Buildpacks *[]string
	Stack      string
}

type LifecyclePatch added in v0.8.0

type LifecyclePatch struct {
	Type *string
	Data *LifecycleDataPatch
}

type ListAppsMessage

type ListAppsMessage struct {
	Names         []string
	Guids         []string
	SpaceGUIDs    []string
	LabelSelector string
	OrderBy       string
	Pagination    Pagination
}

type ListBuildpacksMessage

type ListBuildpacksMessage struct {
	OrderBy    string
	Pagination Pagination
}

type ListBuildsMessage added in v0.16.0

type ListBuildsMessage struct {
	PackageGUIDs []string
	AppGUIDs     []string
	States       []string
	OrderBy      string
	Pagination   Pagination
}

type ListDeploymentsMessage added in v0.13.0

type ListDeploymentsMessage struct {
	AppGUIDs     []string
	StatusValues []DeploymentStatusValue
	OrderBy      string
	Pagination   Pagination
}

type ListDomainsMessage

type ListDomainsMessage struct {
	Names      []string
	OrderBy    string
	Pagination Pagination
}

type ListDropletsMessage

type ListDropletsMessage struct {
	GUIDs        []string
	PackageGUIDs []string
	AppGUIDs     []string
	SpaceGUIDs   []string
	OrderBy      string
	Pagination   Pagination
}

type ListOption added in v0.16.0

type ListOption interface {
	ApplyToList(*ListOptions) error
}

func WithFiltering added in v0.16.1

func WithFiltering(filterBy string, filterFunc func(value any) bool) ListOption

func WithLabel added in v0.16.0

func WithLabel(key, value string) ListOption

func WithLabelExists added in v0.16.0

func WithLabelExists(key string) ListOption

func WithLabelIn added in v0.16.0

func WithLabelIn(key string, values []string) ListOption

func WithLabelStrictlyIn added in v0.16.0

func WithLabelStrictlyIn(key string, values []string) ListOption

func WithOrdering added in v0.16.0

func WithOrdering(orderBy string, orderByToColumnMappings ...string) ListOption

func WithPaging added in v0.16.0

func WithPaging(pagination Pagination) ListOption

type ListOptions added in v0.16.0

type ListOptions struct {
	Namespace     string
	FieldSelector fields.Selector
	Requrements   []labels.Requirement
	Sort          *SortOpt
	Filter        *FilterOpt
	Paging        *PagingOpt
}

func (ListOptions) AsClientListOptions added in v0.16.0

func (o ListOptions) AsClientListOptions() *client.ListOptions

type ListOrgsMessage

type ListOrgsMessage struct {
	Names      []string
	GUIDs      []string
	OrderBy    string
	Pagination Pagination
}

type ListPackagesMessage

type ListPackagesMessage struct {
	GUIDs      []string
	AppGUIDs   []string
	States     []string
	OrderBy    string
	Pagination Pagination
}

type ListProcessesMessage

type ListProcessesMessage struct {
	AppGUIDs     []string
	ProcessTypes []string
	SpaceGUIDs   []string
	OrderBy      string
	Pagination   Pagination
}

type ListResult added in v0.16.0

type ListResult[T any] struct {
	PageInfo descriptors.PageInfo
	Records  []T
}

type ListRolesMessage added in v0.14.0

type ListRolesMessage struct {
	GUIDs      []string
	Types      []string
	SpaceGUIDs []string
	OrgGUIDs   []string
	UserGUIDs  []string
	OrderBy    string
	Pagination Pagination
}

type ListRoutesMessage

type ListRoutesMessage struct {
	AppGUIDs    []string
	SpaceGUIDs  []string
	DomainGUIDs []string
	Hosts       []string
	Paths       []string
	IsUnmapped  *bool
	OrderBy     string
	Pagination  Pagination
}

type ListServiceBindingsMessage

type ListServiceBindingsMessage struct {
	Names                []string
	AppGUIDs             []string
	ServiceInstanceGUIDs []string
	LabelSelector        string
	Type                 string
	PlanGUIDs            []string
	OrderBy              string
	Pagination           Pagination
}

type ListServiceBrokerMessage added in v0.13.0

type ListServiceBrokerMessage struct {
	Names      []string
	GUIDs      []string
	OrderBy    string
	Pagination Pagination
}

type ListServiceInstanceMessage

type ListServiceInstanceMessage struct {
	Names         []string
	SpaceGUIDs    []string
	GUIDs         []string
	Type          string
	LabelSelector string
	OrderBy       string
	PlanGUIDs     []string
	Pagination    Pagination
}

type ListServiceOfferingMessage added in v0.13.0

type ListServiceOfferingMessage struct {
	Names       []string
	GUIDs       []string
	BrokerNames []string
	OrderBy     string
	Pagination  Pagination
}

type ListServicePlanMessage added in v0.13.0

type ListServicePlanMessage struct {
	GUIDs                []string
	Names                []string
	ServiceOfferingGUIDs []string
	ServiceOfferingNames []string
	BrokerNames          []string
	BrokerGUIDs          []string
	Available            *bool
	OrderBy              string
	Pagination           Pagination
}

type ListSpacesMessage

type ListSpacesMessage struct {
	Names             []string
	GUIDs             []string
	OrganizationGUIDs []string
	Pagination        Pagination
}

type ListStacksMessage added in v0.16.0

type ListStacksMessage struct {
	Pagination Pagination
}

type ListTasksMessage added in v0.16.0

type ListTasksMessage struct {
	AppGUIDs    []string
	SequenceIDs []int64
	OrderBy     string
	Pagination  Pagination
}

type ListUsersMessage added in v0.16.0

type ListUsersMessage struct {
	Names      []string
	Pagination Pagination
}

type LogRecord

type LogRecord struct {
	Message   string
	Timestamp int64
	Header    string
	Tags      map[string]string
}

type LogRepo added in v0.13.0

type LogRepo struct {
	// contains filtered or unexported fields
}

func NewLogRepo added in v0.13.0

func NewLogRepo(
	userClientFactory authorization.UserClientFactory,
	userClientsetFactory authorization.UserClientsetFactory,
	logStreamer LogStreamer,
) *LogRepo

func (*LogRepo) GetAppLogs added in v0.13.0

func (r *LogRepo) GetAppLogs(ctx context.Context, authInfo authorization.Info, message GetLogsMessage) ([]LogRecord, error)

type LogStreamer added in v0.13.0

var DefaultLogStreamer LogStreamer = func(
	ctx context.Context,
	logClient k8sclient.Interface,
	pod corev1.Pod,
	logOpts corev1.PodLogOptions,
) (io.ReadCloser, error) {
	return logClient.CoreV1().Pods(pod.Namespace).GetLogs(pod.Name, &logOpts).Stream(ctx)
}

type MaintenanceInfo added in v0.15.0

type MaintenanceInfo struct {
	Version string
}

type MatchingFields added in v0.16.0

type MatchingFields fields.Set

func (MatchingFields) ApplyToList added in v0.16.0

func (m MatchingFields) ApplyToList(opts *ListOptions) error

type Metadata added in v0.5.0

type Metadata struct {
	Annotations map[string]string
	Labels      map[string]string
}

type MetadataPatch added in v0.3.0

type MetadataPatch struct {
	Annotations map[string]*string
	Labels      map[string]*string
}

func (*MetadataPatch) Apply added in v0.5.0

func (p *MetadataPatch) Apply(obj client.Object)

type MetricsRepo added in v0.6.0

type MetricsRepo struct {
	// contains filtered or unexported fields
}

func NewMetricsRepo added in v0.6.0

func NewMetricsRepo(userClientFactory authorization.UserClientFactory) *MetricsRepo

func (*MetricsRepo) GetMetrics added in v0.6.0

func (r *MetricsRepo) GetMetrics(ctx context.Context, authInfo authorization.Info, app AppRecord, processGUID string) ([]PodMetrics, error)

type NamespaceGetter

type NamespaceGetter interface {
	GetNamespaceForServiceInstance(ctx context.Context, guid string) (string, error)
}

type NamespaceRetriever

type NamespaceRetriever struct {
	// contains filtered or unexported fields
}

func NewNamespaceRetriever added in v0.3.0

func NewNamespaceRetriever(client dynamic.Interface) NamespaceRetriever

func (NamespaceRetriever) NamespaceFor

func (nr NamespaceRetriever) NamespaceFor(ctx context.Context, resourceGUID, resourceType string) (string, error)

type NoopListOption added in v0.16.0

type NoopListOption struct{}

func (NoopListOption) ApplyToList added in v0.16.0

func (o NoopListOption) ApplyToList(opts *ListOptions) error

type Nothing added in v0.16.0

type Nothing struct{}

func (Nothing) ApplyToList added in v0.16.0

func (o Nothing) ApplyToList(opts *ListOptions) error

type OrgRecord

type OrgRecord struct {
	Name        string
	GUID        string
	Suspended   bool
	Labels      map[string]string
	Annotations map[string]string
	CreatedAt   time.Time
	UpdatedAt   *time.Time
	DeletedAt   *time.Time
}

func (OrgRecord) Relationships added in v0.15.0

func (r OrgRecord) Relationships() map[string]string

type OrgRepo

type OrgRepo struct {
	// contains filtered or unexported fields
}

func NewOrgRepo

func NewOrgRepo(
	klient Klient,
	rootNamespace string,
	nsPerms *authorization.NamespacePermissions,
	conditionAwaiter Awaiter[*korifiv1alpha1.CFOrg],
) *OrgRepo

func (*OrgRepo) CreateOrg

func (r *OrgRepo) CreateOrg(ctx context.Context, info authorization.Info, message CreateOrgMessage) (OrgRecord, error)

func (*OrgRepo) DeleteOrg

func (r *OrgRepo) DeleteOrg(ctx context.Context, info authorization.Info, message DeleteOrgMessage) error

func (*OrgRepo) GetDeletedAt added in v0.8.0

func (r *OrgRepo) GetDeletedAt(ctx context.Context, authInfo authorization.Info, orgGUID string) (*time.Time, error)

func (*OrgRepo) GetOrg

func (r *OrgRepo) GetOrg(ctx context.Context, info authorization.Info, orgGUID string) (OrgRecord, error)

func (*OrgRepo) ListOrgs

func (r *OrgRepo) ListOrgs(ctx context.Context, info authorization.Info, message ListOrgsMessage) (ListResult[OrgRecord], error)

func (*OrgRepo) PatchOrg added in v0.15.0

func (r *OrgRepo) PatchOrg(ctx context.Context, authInfo authorization.Info, message PatchOrgMessage) (OrgRecord, error)

type PackageData added in v0.9.0

type PackageData struct {
	Image    string
	Username *string
	Password *string
}

type PackageRecord

type PackageRecord struct {
	GUID        string
	UID         types.UID
	Type        string
	AppGUID     string
	SpaceGUID   string
	State       string
	CreatedAt   time.Time
	UpdatedAt   *time.Time
	Labels      map[string]string
	Annotations map[string]string
	ImageRef    string
}

func (PackageRecord) Relationships added in v0.13.0

func (r PackageRecord) Relationships() map[string]string

type PackageRepo

type PackageRepo struct {
	// contains filtered or unexported fields
}

func NewPackageRepo

func NewPackageRepo(
	klient Klient,
	repositoryCreator RepositoryCreator,
	repositoryPrefix string,
	awaiter Awaiter[*korifiv1alpha1.CFPackage],
) *PackageRepo

func (*PackageRepo) CreatePackage

func (r *PackageRepo) CreatePackage(ctx context.Context, authInfo authorization.Info, message CreatePackageMessage) (PackageRecord, error)

func (*PackageRepo) GetPackage

func (r *PackageRepo) GetPackage(ctx context.Context, authInfo authorization.Info, guid string) (PackageRecord, error)

func (*PackageRepo) ListPackages

func (r *PackageRepo) ListPackages(ctx context.Context, authInfo authorization.Info, message ListPackagesMessage) (ListResult[PackageRecord], error)

func (*PackageRepo) UpdatePackage added in v0.5.0

func (r *PackageRepo) UpdatePackage(ctx context.Context, authInfo authorization.Info, updateMessage UpdatePackageMessage) (PackageRecord, error)

func (*PackageRepo) UpdatePackageSource

func (r *PackageRepo) UpdatePackageSource(ctx context.Context, authInfo authorization.Info, message UpdatePackageSourceMessage) (PackageRecord, error)

type Pagination added in v0.16.0

type Pagination struct {
	PerPage int
	Page    int
}

func (Pagination) IsZero added in v0.16.0

func (p Pagination) IsZero() bool

type PagingOpt added in v0.16.0

type PagingOpt struct {
	PageSize   int
	PageNumber int
}

func (PagingOpt) ApplyToList added in v0.16.0

func (o PagingOpt) ApplyToList(opts *ListOptions) error

type ParametersClient added in v0.15.0

type ParametersClient interface {
	GetServiceBindingParameters(ctx context.Context, serviceBinding *korifiv1alpha1.CFServiceBinding) (map[string]any, error)
}

type ParamsResult added in v0.15.0

type ParamsResult struct {
	Parameters map[string]any
}

type PatchAppEnvVarsMessage

type PatchAppEnvVarsMessage struct {
	AppGUID              string
	SpaceGUID            string
	EnvironmentVariables map[string]*string
}

type PatchAppMessage added in v0.4.0

type PatchAppMessage struct {
	AppGUID              string
	SpaceGUID            string
	Name                 string
	Lifecycle            *LifecyclePatch
	EnvironmentVariables map[string]string
	MetadataPatch
}

func (*PatchAppMessage) Apply added in v0.7.0

func (m *PatchAppMessage) Apply(app *korifiv1alpha1.CFApp)

type PatchOrgMessage added in v0.15.0

type PatchOrgMessage struct {
	MetadataPatch
	GUID string
	Name *string
}

func (*PatchOrgMessage) Apply added in v0.15.0

func (p *PatchOrgMessage) Apply(org *korifiv1alpha1.CFOrg)

type PatchProcessMessage

type PatchProcessMessage struct {
	SpaceGUID                           string
	ProcessGUID                         string
	Command                             *string
	DiskQuotaMB                         *int64
	HealthCheckHTTPEndpoint             *string
	HealthCheckInvocationTimeoutSeconds *int32
	HealthCheckTimeoutSeconds           *int32
	HealthCheckType                     *string
	DesiredInstances                    *int32
	MemoryMB                            *int64
	MetadataPatch                       *MetadataPatch
}

type PatchRouteMetadataMessage added in v0.5.0

type PatchRouteMetadataMessage struct {
	MetadataPatch
	RouteGUID string
	SpaceGUID string
}

type PatchServiceInstanceMessage added in v0.7.0

type PatchServiceInstanceMessage struct {
	GUID        string
	SpaceGUID   string
	Name        *string
	Credentials *map[string]any
	Tags        *[]string
	MetadataPatch
}

func (PatchServiceInstanceMessage) Apply added in v0.7.0

func (p PatchServiceInstanceMessage) Apply(cfServiceInstance *korifiv1alpha1.CFServiceInstance)

type PatchSpaceMessage added in v0.18.0

type PatchSpaceMessage struct {
	MetadataPatch
	GUID    string
	OrgGUID string
	Name    *string
}

func (*PatchSpaceMessage) Apply added in v0.18.0

func (p *PatchSpaceMessage) Apply(space *korifiv1alpha1.CFSpace)

type PatchTaskMetadataMessage added in v0.7.0

type PatchTaskMetadataMessage struct {
	MetadataPatch
	TaskGUID  string
	SpaceGUID string
}

type PlanVisibility added in v0.13.0

type PlanVisibility struct {
	Type          string
	Organizations []VisibilityOrganization
}

type PodMetrics added in v0.6.0

type PodMetrics struct {
	Pod     corev1.Pod
	Metrics metricsv1beta1.PodMetrics
}

type PodRepo

type PodRepo struct {
	// contains filtered or unexported fields
}

func NewPodRepo

func NewPodRepo(userClientFactory authorization.UserClientFactory) *PodRepo

func (*PodRepo) DeletePod added in v0.13.0

func (r *PodRepo) DeletePod(ctx context.Context, authInfo authorization.Info, appRevision string, process ProcessRecord, instanceID string) error

type ProcessRecord

type ProcessRecord struct {
	GUID             string
	SpaceGUID        string
	AppGUID          string
	Type             string
	Command          string
	DesiredInstances int32
	MemoryMB         int64
	DiskQuotaMB      int64
	HealthCheck      HealthCheck
	Labels           map[string]string
	Annotations      map[string]string
	CreatedAt        time.Time
	UpdatedAt        *time.Time
	InstancesStatus  map[string]korifiv1alpha1.InstanceStatus
}

func (ProcessRecord) GetResourceType added in v0.13.0

func (r ProcessRecord) GetResourceType() string

func (ProcessRecord) Relationships added in v0.13.0

func (r ProcessRecord) Relationships() map[string]string

type ProcessRepo

type ProcessRepo struct {
	// contains filtered or unexported fields
}

func NewProcessRepo

func NewProcessRepo(klient Klient) *ProcessRepo

func (*ProcessRepo) CreateProcess

func (r *ProcessRepo) CreateProcess(ctx context.Context, authInfo authorization.Info, message CreateProcessMessage) error

func (*ProcessRepo) GetAppRevision added in v0.13.0

func (r *ProcessRepo) GetAppRevision(ctx context.Context, authInfo authorization.Info, appGUID string) (string, error)

func (*ProcessRepo) GetProcess

func (r *ProcessRepo) GetProcess(ctx context.Context, authInfo authorization.Info, processGUID string) (ProcessRecord, error)

func (*ProcessRepo) ListProcesses

func (r *ProcessRepo) ListProcesses(ctx context.Context, authInfo authorization.Info, message ListProcessesMessage) (ListResult[ProcessRecord], error)

func (*ProcessRepo) PatchProcess

func (r *ProcessRepo) PatchProcess(ctx context.Context, authInfo authorization.Info, message PatchProcessMessage) (ProcessRecord, error)

func (*ProcessRepo) ScaleProcess

func (r *ProcessRepo) ScaleProcess(ctx context.Context, authInfo authorization.Info, scaleProcessMessage ScaleProcessMessage) (ProcessRecord, error)

type ProcessScaleValues

type ProcessScaleValues struct {
	Instances *int32
	MemoryMB  *int64
	DiskMB    *int64
}

type RemoveDestinationMessage added in v0.13.0

type RemoveDestinationMessage struct {
	RouteGUID string
	SpaceGUID string
	GUID      string
}

type RepositoryCreator added in v0.5.0

type RepositoryCreator interface {
	CreateRepository(ctx context.Context, name string) error
}

type ResourceState added in v0.15.0

type ResourceState int
const (
	ResourceStateUnknown ResourceState = iota
	ResourceStateReady
)

type RoleRecord

type RoleRecord struct {
	GUID      string
	CreatedAt time.Time
	UpdatedAt *time.Time
	DeletedAt *time.Time
	Type      string
	Space     string
	Org       string
	User      string
	Kind      string
}

func (RoleRecord) GetResourceType added in v0.13.0

func (r RoleRecord) GetResourceType() string

func (RoleRecord) Relationships added in v0.13.0

func (r RoleRecord) Relationships() map[string]string

type RoleRepo

type RoleRepo struct {
	// contains filtered or unexported fields
}

func NewRoleRepo

func NewRoleRepo(
	klient Klient,
	spaceRepo *SpaceRepo,
	authorizedInChecker AuthorizedInChecker,
	namespacePermissions *authorization.NamespacePermissions,
	rootNamespace string,
	roleMappings map[string]config.Role,
	sorter RoleSorter,
) *RoleRepo

func (*RoleRepo) CreateRole

func (r *RoleRepo) CreateRole(ctx context.Context, authInfo authorization.Info, role CreateRoleMessage) (RoleRecord, error)

func (*RoleRepo) DeleteRole added in v0.7.0

func (r *RoleRepo) DeleteRole(ctx context.Context, authInfo authorization.Info, deleteMsg DeleteRoleMessage) error

func (*RoleRepo) GetDeletedAt added in v0.8.0

func (r *RoleRepo) GetDeletedAt(ctx context.Context, authInfo authorization.Info, roleGUID string) (*time.Time, error)

func (*RoleRepo) GetRole added in v0.7.0

func (r *RoleRepo) GetRole(ctx context.Context, authInfo authorization.Info, roleGUID string) (RoleRecord, error)

func (*RoleRepo) ListRoles added in v0.7.0

func (r *RoleRepo) ListRoles(ctx context.Context, authInfo authorization.Info, message ListRolesMessage) (ListResult[RoleRecord], error)

type RoleSorter added in v0.14.0

type RoleSorter interface {
	Sort(records []RoleRecord, order string) []RoleRecord
}

type RouteRecord

type RouteRecord struct {
	GUID         string
	SpaceGUID    string
	Domain       DomainRecord
	Host         string
	Path         string
	Protocol     string
	Destinations []DestinationRecord
	Labels       map[string]string
	Annotations  map[string]string
	CreatedAt    time.Time
	UpdatedAt    *time.Time
	DeletedAt    *time.Time
}

func (RouteRecord) Relationships added in v0.13.0

func (r RouteRecord) Relationships() map[string]string

type RouteRepo

type RouteRepo struct {
	// contains filtered or unexported fields
}

func NewRouteRepo

func NewRouteRepo(klient Klient, domainRepo *DomainRepo) *RouteRepo

func (*RouteRepo) AddDestinationsToRoute

func (r *RouteRepo) AddDestinationsToRoute(ctx context.Context, authInfo authorization.Info, message AddDestinationsMessage) (RouteRecord, error)

func (*RouteRepo) CreateRoute

func (r *RouteRepo) CreateRoute(ctx context.Context, authInfo authorization.Info, message CreateRouteMessage) (RouteRecord, error)

func (*RouteRepo) DeleteRoute

func (r *RouteRepo) DeleteRoute(ctx context.Context, authInfo authorization.Info, message DeleteRouteMessage) error

func (*RouteRepo) DeleteUnmappedRoutes added in v0.16.0

func (r *RouteRepo) DeleteUnmappedRoutes(ctx context.Context, authInfo authorization.Info, spaceGUID string) error

func (*RouteRepo) GetDeletedAt added in v0.8.0

func (r *RouteRepo) GetDeletedAt(ctx context.Context, authInfo authorization.Info, routeGUID string) (*time.Time, error)

func (*RouteRepo) GetOrCreateRoute

func (r *RouteRepo) GetOrCreateRoute(ctx context.Context, authInfo authorization.Info, message CreateRouteMessage) (RouteRecord, error)

func (*RouteRepo) GetRoute

func (r *RouteRepo) GetRoute(ctx context.Context, authInfo authorization.Info, routeGUID string) (RouteRecord, error)

func (*RouteRepo) ListRoutes

func (r *RouteRepo) ListRoutes(ctx context.Context, authInfo authorization.Info, message ListRoutesMessage) (ListResult[RouteRecord], error)

func (*RouteRepo) PatchRouteMetadata added in v0.5.0

func (r *RouteRepo) PatchRouteMetadata(ctx context.Context, authInfo authorization.Info, message PatchRouteMetadataMessage) (RouteRecord, error)

func (*RouteRepo) RemoveDestinationFromRoute

func (r *RouteRepo) RemoveDestinationFromRoute(ctx context.Context, authInfo authorization.Info, message RemoveDestinationMessage) (RouteRecord, error)

type RunnerInfoRecord added in v0.8.0

type RunnerInfoRecord struct {
	Name         string
	Namespace    string
	RunnerName   string
	Capabilities korifiv1alpha1.RunnerInfoCapabilities
}

type RunnerInfoRepository added in v0.8.0

type RunnerInfoRepository struct {
	// contains filtered or unexported fields
}

func NewRunnerInfoRepository added in v0.8.0

func NewRunnerInfoRepository(klient Klient, runnerName string, rootNamespace string) *RunnerInfoRepository

func (*RunnerInfoRepository) GetRunnerInfo added in v0.8.0

func (r *RunnerInfoRepository) GetRunnerInfo(ctx context.Context, authInfo authorization.Info, runnerName string) (RunnerInfoRecord, error)

type ScaleProcessMessage

type ScaleProcessMessage struct {
	GUID      string
	SpaceGUID string
	ProcessScaleValues
}

type SecurityGroupRecord added in v0.16.0

type SecurityGroupRecord struct {
	GUID            string
	CreatedAt       time.Time
	UpdatedAt       *time.Time
	DeletedAt       *time.Time
	Name            string
	Rules           []SecurityGroupRule
	GloballyEnabled SecurityGroupWorkloads
	RunningSpaces   []string
	StagingSpaces   []string
}

type SecurityGroupRepo added in v0.16.0

type SecurityGroupRepo struct {
	// contains filtered or unexported fields
}

func NewSecurityGroupRepo added in v0.16.0

func NewSecurityGroupRepo(
	klient Klient,
	rootNamespace string,
) *SecurityGroupRepo

func (*SecurityGroupRepo) CreateSecurityGroup added in v0.16.0

func (r *SecurityGroupRepo) CreateSecurityGroup(ctx context.Context, authInfo authorization.Info, sgCreateMessage CreateSecurityGroupMessage) (SecurityGroupRecord, error)

type SecurityGroupRule added in v0.16.0

type SecurityGroupRule struct {
	Protocol    string `json:"protocol"`
	Destination string `json:"destination"`
	Ports       string `json:"ports,omitempty"`
	Type        int    `json:"type,omitempty"`
	Code        int    `json:"code,omitempty"`
	Description string `json:"description,omitempty"`
	Log         bool   `json:"log,omitempty"`
}

type SecurityGroupWorkloads added in v0.16.0

type SecurityGroupWorkloads struct {
	Running bool `json:"running"`
	Staging bool `json:"staging"`
}

type ServiceBindingDetailsRecord added in v0.15.0

type ServiceBindingDetailsRecord struct {
	Credentials map[string]any
}

type ServiceBindingLastOperation

type ServiceBindingLastOperation struct {
	Type        string
	State       string
	Description *string
	CreatedAt   time.Time
	UpdatedAt   *time.Time
}

type ServiceBindingRecord

type ServiceBindingRecord struct {
	GUID                string
	Type                string
	Name                *string
	AppGUID             string
	ServiceInstanceGUID string
	SpaceGUID           string
	Labels              map[string]string
	Annotations         map[string]string
	CreatedAt           time.Time
	UpdatedAt           *time.Time
	DeletedAt           *time.Time
	LastOperation       ServiceBindingLastOperation
	Ready               bool
}

func (ServiceBindingRecord) Relationships added in v0.13.0

func (r ServiceBindingRecord) Relationships() map[string]string

type ServiceBindingRepo

type ServiceBindingRepo struct {
	// contains filtered or unexported fields
}

func NewServiceBindingRepo

func NewServiceBindingRepo(
	klient Klient,
	bindingConditionAwaiter Awaiter[*korifiv1alpha1.CFServiceBinding],
	appConditionAwaiter Awaiter[*korifiv1alpha1.CFApp],
	paramsClient ParametersClient,
) *ServiceBindingRepo

func (*ServiceBindingRepo) CreateServiceBinding

func (*ServiceBindingRepo) DeleteServiceBinding

func (r *ServiceBindingRepo) DeleteServiceBinding(ctx context.Context, authInfo authorization.Info, guid string) error

func (*ServiceBindingRepo) GetDeletedAt added in v0.14.0

func (r *ServiceBindingRepo) GetDeletedAt(ctx context.Context, authInfo authorization.Info, bindingGUID string) (*time.Time, error)

func (*ServiceBindingRepo) GetServiceBinding added in v0.7.0

func (r *ServiceBindingRepo) GetServiceBinding(ctx context.Context, authInfo authorization.Info, guid string) (ServiceBindingRecord, error)

func (*ServiceBindingRepo) GetServiceBindingDetails added in v0.15.0

func (r *ServiceBindingRepo) GetServiceBindingDetails(ctx context.Context, authInfo authorization.Info, guid string) (ServiceBindingDetailsRecord, error)

func (*ServiceBindingRepo) GetServiceBindingParameters added in v0.15.0

func (r *ServiceBindingRepo) GetServiceBindingParameters(ctx context.Context, authInfo authorization.Info, guid string) (map[string]any, error)

func (*ServiceBindingRepo) GetState added in v0.14.0

func (r *ServiceBindingRepo) GetState(ctx context.Context, authInfo authorization.Info, guid string) (ResourceState, error)

func (*ServiceBindingRepo) ListServiceBindings

nolint:dupl

func (*ServiceBindingRepo) UpdateServiceBinding added in v0.7.0

func (r *ServiceBindingRepo) UpdateServiceBinding(ctx context.Context, authInfo authorization.Info, updateMsg UpdateServiceBindingMessage) (ServiceBindingRecord, error)

type ServiceBindingSchema added in v0.15.0

type ServiceBindingSchema struct {
	Create InputParameterSchema
}

type ServiceBrokerCatalog added in v0.15.0

type ServiceBrokerCatalog struct {
	ID       string
	Metadata map[string]any
	Features BrokerCatalogFeatures
}

type ServiceBrokerClient added in v0.15.0

type ServiceBrokerClient struct {
	// contains filtered or unexported fields
}

func NewServiceBrokerClient added in v0.15.0

func NewServiceBrokerClient(clientFactory osbapi.BrokerClientFactory, k8sClient client.Client, rootNamespace string) *ServiceBrokerClient

func (*ServiceBrokerClient) GetServiceBindingParameters added in v0.15.0

func (c *ServiceBrokerClient) GetServiceBindingParameters(ctx context.Context, serviceBinding *korifiv1alpha1.CFServiceBinding) (map[string]any, error)

type ServiceBrokerRecord added in v0.13.0

type ServiceBrokerRecord struct {
	GUID      string
	Name      string
	URL       string
	CreatedAt time.Time
	UpdatedAt *time.Time
	Metadata  Metadata
}

func (ServiceBrokerRecord) Relationships added in v0.13.0

func (r ServiceBrokerRecord) Relationships() map[string]string

type ServiceBrokerRepo added in v0.13.0

type ServiceBrokerRepo struct {
	// contains filtered or unexported fields
}

func NewServiceBrokerRepo added in v0.13.0

func NewServiceBrokerRepo(
	klient Klient,
	rootNamespace string,
) *ServiceBrokerRepo

func (*ServiceBrokerRepo) CreateServiceBroker added in v0.13.0

func (r *ServiceBrokerRepo) CreateServiceBroker(ctx context.Context, authInfo authorization.Info, message CreateServiceBrokerMessage) (ServiceBrokerRecord, error)

func (*ServiceBrokerRepo) DeleteServiceBroker added in v0.13.0

func (r *ServiceBrokerRepo) DeleteServiceBroker(ctx context.Context, authInfo authorization.Info, guid string) error

func (*ServiceBrokerRepo) GetDeletedAt added in v0.13.0

func (r *ServiceBrokerRepo) GetDeletedAt(ctx context.Context, authInfo authorization.Info, guid string) (*time.Time, error)

func (*ServiceBrokerRepo) GetServiceBroker added in v0.13.0

func (r *ServiceBrokerRepo) GetServiceBroker(ctx context.Context, authInfo authorization.Info, guid string) (ServiceBrokerRecord, error)

func (*ServiceBrokerRepo) GetState added in v0.13.0

func (r *ServiceBrokerRepo) GetState(ctx context.Context, authInfo authorization.Info, brokerGUID string) (ResourceState, error)

func (*ServiceBrokerRepo) ListServiceBrokers added in v0.13.0

func (*ServiceBrokerRepo) UpdateServiceBroker added in v0.13.0

func (r *ServiceBrokerRepo) UpdateServiceBroker(ctx context.Context, authInfo authorization.Info, message UpdateServiceBrokerMessage) (ServiceBrokerRecord, error)

type ServiceInstanceRecord

type ServiceInstanceRecord struct {
	Name             string
	GUID             string
	SpaceGUID        string
	PlanGUID         string
	Tags             []string
	Type             string
	Labels           map[string]string
	Annotations      map[string]string
	CreatedAt        time.Time
	UpdatedAt        *time.Time
	DeletedAt        *time.Time
	LastOperation    korifiv1alpha1.LastOperation
	Ready            bool
	MaintenanceInfo  MaintenanceInfo
	UpgradeAvailable bool
}

func (ServiceInstanceRecord) GetResourceType added in v0.13.0

func (r ServiceInstanceRecord) GetResourceType() string

func (ServiceInstanceRecord) Relationships added in v0.13.0

func (r ServiceInstanceRecord) Relationships() map[string]string

type ServiceInstanceRepo

type ServiceInstanceRepo struct {
	// contains filtered or unexported fields
}

func NewServiceInstanceRepo

func NewServiceInstanceRepo(
	klient Klient,
	awaiter Awaiter[*korifiv1alpha1.CFServiceInstance],
	rootNamespace string,
) *ServiceInstanceRepo

func (*ServiceInstanceRepo) CreateManagedServiceInstance added in v0.13.0

func (r *ServiceInstanceRepo) CreateManagedServiceInstance(ctx context.Context, authInfo authorization.Info, message CreateManagedSIMessage) (ServiceInstanceRecord, error)

func (*ServiceInstanceRepo) CreateUserProvidedServiceInstance added in v0.13.0

func (r *ServiceInstanceRepo) CreateUserProvidedServiceInstance(ctx context.Context, authInfo authorization.Info, message CreateUPSIMessage) (ServiceInstanceRecord, error)

func (*ServiceInstanceRepo) DeleteServiceInstance

func (*ServiceInstanceRepo) GetDeletedAt added in v0.13.0

func (r *ServiceInstanceRepo) GetDeletedAt(ctx context.Context, authInfo authorization.Info, instanceGUID string) (*time.Time, error)

func (*ServiceInstanceRepo) GetServiceInstance

func (r *ServiceInstanceRepo) GetServiceInstance(ctx context.Context, authInfo authorization.Info, guid string) (ServiceInstanceRecord, error)

func (*ServiceInstanceRepo) GetServiceInstanceCredentials added in v0.14.0

func (r *ServiceInstanceRepo) GetServiceInstanceCredentials(ctx context.Context, authInfo authorization.Info, instanceGUID string) (map[string]any, error)

func (*ServiceInstanceRepo) GetState added in v0.13.0

func (r *ServiceInstanceRepo) GetState(ctx context.Context, authInfo authorization.Info, guid string) (ResourceState, error)

func (*ServiceInstanceRepo) ListServiceInstances

nolint:dupl

func (*ServiceInstanceRepo) PatchServiceInstance added in v0.7.0

type ServiceInstanceSchema added in v0.15.0

type ServiceInstanceSchema struct {
	Create InputParameterSchema
	Update InputParameterSchema
}

type ServiceOfferingRecord added in v0.13.0

type ServiceOfferingRecord struct {
	Name              string
	GUID              string
	CreatedAt         time.Time
	UpdatedAt         *time.Time
	Metadata          Metadata
	Description       string
	Tags              []string
	Requires          []string
	DocumentationURL  *string
	BrokerCatalog     ServiceBrokerCatalog
	ServiceBrokerGUID string
}

func (ServiceOfferingRecord) Relationships added in v0.13.0

func (r ServiceOfferingRecord) Relationships() map[string]string

type ServiceOfferingRepo added in v0.13.0

type ServiceOfferingRepo struct {
	// contains filtered or unexported fields
}

func NewServiceOfferingRepo added in v0.13.0

func NewServiceOfferingRepo(
	rootNSKlient Klient,
	spaceScopedKlient Klient,
	rootNamespace string,
) *ServiceOfferingRepo

func (*ServiceOfferingRepo) DeleteOffering added in v0.14.0

func (r *ServiceOfferingRepo) DeleteOffering(ctx context.Context, authInfo authorization.Info, message DeleteServiceOfferingMessage) error

func (*ServiceOfferingRepo) GetServiceOffering added in v0.14.0

func (r *ServiceOfferingRepo) GetServiceOffering(ctx context.Context, authInfo authorization.Info, guid string) (ServiceOfferingRecord, error)

func (*ServiceOfferingRepo) ListOfferings added in v0.13.0

func (*ServiceOfferingRepo) UpdateServiceOffering added in v0.16.0

type ServicePlanBrokerCatalog added in v0.15.0

type ServicePlanBrokerCatalog struct {
	ID       string
	Metadata map[string]any
	Features ServicePlanFeatures
}

type ServicePlanFeatures added in v0.15.0

type ServicePlanFeatures struct {
	PlanUpdateable bool
	Bindable       bool
}

type ServicePlanRecord added in v0.13.0

type ServicePlanRecord struct {
	GUID                string
	CreatedAt           time.Time
	UpdatedAt           *time.Time
	Metadata            Metadata
	Name                string
	Free                bool
	Description         string
	BrokerCatalog       ServicePlanBrokerCatalog
	Schemas             ServicePlanSchemas
	MaintenanceInfo     MaintenanceInfo
	Visibility          PlanVisibility
	ServiceOfferingGUID string
	Available           bool
}

func (ServicePlanRecord) Relationships added in v0.13.0

func (r ServicePlanRecord) Relationships() map[string]string

type ServicePlanRepo added in v0.13.0

type ServicePlanRepo struct {
	// contains filtered or unexported fields
}

func NewServicePlanRepo added in v0.13.0

func NewServicePlanRepo(
	klient Klient,
	rootNamespace string,
	orgRepo *OrgRepo,
) *ServicePlanRepo

func (*ServicePlanRepo) ApplyPlanVisibility added in v0.13.0

func (*ServicePlanRepo) DeletePlan added in v0.14.0

func (r *ServicePlanRepo) DeletePlan(ctx context.Context, authInfo authorization.Info, planGUID string) error

func (*ServicePlanRepo) DeletePlanVisibility added in v0.14.0

func (r *ServicePlanRepo) DeletePlanVisibility(ctx context.Context, authInfo authorization.Info, message DeleteServicePlanVisibilityMessage) error

func (*ServicePlanRepo) GetPlan added in v0.13.0

func (r *ServicePlanRepo) GetPlan(ctx context.Context, authInfo authorization.Info, planGUID string) (ServicePlanRecord, error)

func (*ServicePlanRepo) ListPlans added in v0.13.0

func (*ServicePlanRepo) UpdatePlanVisibility added in v0.13.0

type ServicePlanSchemas added in v0.15.0

type ServicePlanSchemas struct {
	ServiceInstance ServiceInstanceSchema
	ServiceBinding  ServiceBindingSchema
}

type SetAppDesiredStateMessage

type SetAppDesiredStateMessage struct {
	AppGUID      string
	SpaceGUID    string
	DesiredState string
}

type SetCurrentDropletMessage

type SetCurrentDropletMessage struct {
	AppGUID     string
	DropletGUID string
	SpaceGUID   string
}

type SortOpt added in v0.16.0

type SortOpt struct {
	By   string
	Desc bool
}

func (SortOpt) ApplyToList added in v0.16.0

func (o SortOpt) ApplyToList(opts *ListOptions) error

type SpaceRecord

type SpaceRecord struct {
	Name             string
	GUID             string
	OrganizationGUID string
	Labels           map[string]string
	Annotations      map[string]string
	CreatedAt        time.Time
	UpdatedAt        *time.Time
	DeletedAt        *time.Time
}

func (SpaceRecord) Relationships added in v0.13.0

func (r SpaceRecord) Relationships() map[string]string

type SpaceRepo

type SpaceRepo struct {
	// contains filtered or unexported fields
}

func NewSpaceRepo

func NewSpaceRepo(
	klient Klient,
	orgRepo *OrgRepo,
	nsPerms *authorization.NamespacePermissions,
	conditionAwaiter Awaiter[*korifiv1alpha1.CFSpace],
) *SpaceRepo

func (*SpaceRepo) CreateSpace

func (r *SpaceRepo) CreateSpace(ctx context.Context, info authorization.Info, message CreateSpaceMessage) (SpaceRecord, error)

func (*SpaceRepo) DeleteSpace

func (r *SpaceRepo) DeleteSpace(ctx context.Context, info authorization.Info, message DeleteSpaceMessage) error

func (*SpaceRepo) GetDeletedAt added in v0.8.0

func (r *SpaceRepo) GetDeletedAt(ctx context.Context, authInfo authorization.Info, spaceGUID string) (*time.Time, error)

func (*SpaceRepo) GetSpace

func (r *SpaceRepo) GetSpace(ctx context.Context, info authorization.Info, spaceGUID string) (SpaceRecord, error)

func (*SpaceRepo) ListSpaces

func (r *SpaceRepo) ListSpaces(ctx context.Context, authInfo authorization.Info, message ListSpacesMessage) (ListResult[SpaceRecord], error)

func (*SpaceRepo) PatchSpace added in v0.18.0

func (r *SpaceRepo) PatchSpace(ctx context.Context, authInfo authorization.Info, message PatchSpaceMessage) (SpaceRecord, error)

type StackRecord added in v0.14.0

type StackRecord struct {
	GUID        string
	CreatedAt   time.Time
	UpdatedAt   *time.Time
	Name        string
	Description string
}

type StackRepository added in v0.14.0

type StackRepository struct {
	// contains filtered or unexported fields
}

func NewStackRepository added in v0.14.0

func NewStackRepository(
	klient Klient,
	builderName string,
	rootNamespace string,
) *StackRepository

func (*StackRepository) ListStacks added in v0.14.0

type TaskRecord added in v0.2.0

type TaskRecord struct {
	Name          string
	GUID          string
	SpaceGUID     string
	Command       string
	AppGUID       string
	DropletGUID   string
	Labels        map[string]string
	Annotations   map[string]string
	SequenceID    int64
	CreatedAt     time.Time
	UpdatedAt     *time.Time
	MemoryMB      int64
	DiskMB        int64
	State         string
	FailureReason string
}

func (TaskRecord) Relationships added in v0.13.0

func (t TaskRecord) Relationships() map[string]string

type TaskRepo added in v0.2.0

type TaskRepo struct {
	// contains filtered or unexported fields
}

func NewTaskRepo added in v0.2.0

func NewTaskRepo(
	klient Klient,
	taskConditionAwaiter Awaiter[*korifiv1alpha1.CFTask],
) *TaskRepo

func (*TaskRepo) CancelTask added in v0.2.0

func (r *TaskRepo) CancelTask(ctx context.Context, authInfo authorization.Info, taskGUID string) (TaskRecord, error)

func (*TaskRepo) CreateTask added in v0.2.0

func (r *TaskRepo) CreateTask(ctx context.Context, authInfo authorization.Info, createMessage CreateTaskMessage) (TaskRecord, error)

func (*TaskRepo) GetTask added in v0.2.0

func (r *TaskRepo) GetTask(ctx context.Context, authInfo authorization.Info, taskGUID string) (TaskRecord, error)

func (*TaskRepo) ListTasks added in v0.2.0

func (r *TaskRepo) ListTasks(ctx context.Context, authInfo authorization.Info, msg ListTasksMessage) (ListResult[TaskRecord], error)

func (*TaskRepo) PatchTaskMetadata added in v0.7.0

func (r *TaskRepo) PatchTaskMetadata(ctx context.Context, authInfo authorization.Info, message PatchTaskMetadataMessage) (TaskRecord, error)

type UpdateDomainMessage added in v0.5.0

type UpdateDomainMessage struct {
	GUID          string
	MetadataPatch MetadataPatch
}

type UpdateDropletMessage added in v0.7.0

type UpdateDropletMessage struct {
	GUID          string
	MetadataPatch MetadataPatch
}

type UpdatePackageMessage added in v0.5.0

type UpdatePackageMessage struct {
	GUID          string
	MetadataPatch MetadataPatch
}

type UpdatePackageSourceMessage

type UpdatePackageSourceMessage struct {
	GUID                string
	SpaceGUID           string
	ImageRef            string
	RegistrySecretNames []string
}

type UpdateServiceBindingMessage added in v0.7.0

type UpdateServiceBindingMessage struct {
	GUID          string
	MetadataPatch MetadataPatch
}

type UpdateServiceBrokerMessage added in v0.13.0

type UpdateServiceBrokerMessage struct {
	GUID          string
	Name          *string
	URL           *string
	Credentials   *BrokerCredentials
	MetadataPatch MetadataPatch
}

type UpdateServiceOfferingMessage added in v0.16.0

type UpdateServiceOfferingMessage struct {
	GUID          string
	MetadataPatch MetadataPatch
}

type UpdateServicePlanVisibilityMessage added in v0.13.0

type UpdateServicePlanVisibilityMessage struct {
	PlanGUID      string
	Type          string
	Organizations []string
}

type UserRecord added in v0.16.0

type UserRecord struct {
	GUID string
	Name string
}

type UserRepository added in v0.16.0

type UserRepository struct{}

func NewUserRepository added in v0.16.0

func NewUserRepository() *UserRepository

func (*UserRepository) ListUsers added in v0.16.0

type VisibilityOrganization added in v0.15.0

type VisibilityOrganization struct {
	GUID string
	Name string
}

type WithLabelSelector added in v0.16.0

type WithLabelSelector string

func (WithLabelSelector) ApplyToList added in v0.16.0

func (o WithLabelSelector) ApplyToList(opts *ListOptions) error

Directories

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.
fake
Code generated by counterfeiter.
Code generated by counterfeiter.
descriptors/fake
Code generated by counterfeiter.
Code generated by counterfeiter.
fake
Code generated by counterfeiter.
Code generated by counterfeiter.
fake
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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