repositories

package
v0.14.0 Latest Latest
Warning

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

Go to latest
Published: Jan 21, 2025 License: Apache-2.0 Imports: 53 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 (
	BuildStateStaging = "STAGING"
	BuildStateStaged  = "STAGED"
	BuildStateFailed  = "FAILED"

	StagingConditionType   = "Staging"
	SucceededConditionType = "Succeeded"

	BuildResourceType = "Build"
)
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 (
	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 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 AppComparator added in v0.14.0

func AppComparator(fieldName string) func(AppRecord, AppRecord) int

func BuildpackComparator added in v0.14.0

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

func DeploymentComparator added in v0.13.0

func DeploymentComparator(fieldName string) func(DeploymentRecord, DeploymentRecord) int

func NewAppSorter added in v0.14.0

func NewAppSorter() *appSorter

func NewBuildpackSorter added in v0.14.0

func NewBuildpackSorter() *buildpackSorter

func NewDeploymentSorter added in v0.13.0

func NewDeploymentSorter() *deploymentSorter

func NewPackageSorter added in v0.14.0

func NewPackageSorter() *packageSorter

func NewRoleSorter added in v0.14.0

func NewRoleSorter() *roleSorter

func NewServiceInstanceSorter added in v0.14.0

func NewServiceInstanceSorter() *serviceInstanceSorter

func PackageComparator added in v0.14.0

func PackageComparator(fieldName string) func(PackageRecord, PackageRecord) int

func PatchResource added in v0.13.0

func PatchResource[T any, PT k8s.ObjectWithDeepCopy[T]](
	ctx context.Context,
	k8sClient client.Client,
	obj PT,
	modify func(),
) error

func RoleComparator added in v0.14.0

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

func ServiceInstanceComparator added in v0.14.0

func ServiceInstanceComparator(fieldName string) func(ServiceInstanceRecord, ServiceInstanceRecord) 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(
	namespaceRetriever NamespaceRetriever,
	userClientFactory authorization.UserClientFactory,
	appAwaiter Awaiter[*korifiv1alpha1.CFApp],
	sorter AppSorter,
) *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) ([]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 AppSorter added in v0.14.0

type AppSorter interface {
	Sort(records []AppRecord, order string) []AppRecord
}

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, client.WithWatch, client.Object, string) (T, error)
	AwaitState(context.Context, client.WithWatch, client.Object, func(T) error) (T, error)
}

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(
	namespaceRetriever NamespaceRetriever,
	userClientFactory authorization.UserClientFactory,
) *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)

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(
	builderName string,
	userClientFactory authorization.UserClientFactory,
	rootNamespace string,
	sorter BuildpackSorter,
) *BuildpackRepository

func (*BuildpackRepository) ListBuildpacks added in v0.2.0

func (r *BuildpackRepository) ListBuildpacks(ctx context.Context, authInfo authorization.Info, message ListBuildpacksMessage) ([]BuildpackRecord, error)

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 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 {
	Metadata    model.Metadata
	Broker      services.ServiceBroker
	Credentials services.BrokerCredentials
}

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(
	userClientFactory authorization.UserClientFactory,
	namespaceRetriever NamespaceRetriever,
	sorter DeploymentSorter,
) *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

func (r *DeploymentRepo) ListDeployments(ctx context.Context, authInfo authorization.Info, message ListDeploymentsMessage) ([]DeploymentRecord, error)

type DeploymentSorter added in v0.13.0

type DeploymentSorter interface {
	Sort(records []DeploymentRecord, order string) []DeploymentRecord
}

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(
	userClientFactory authorization.UserClientFactory,
	namespaceRetriever NamespaceRetriever,
	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) ([]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(
	userClientFactory authorization.UserClientFactory,
	namespaceRetriever NamespaceRetriever,
) *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) ([]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 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 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
}

type ListBuildpacksMessage

type ListBuildpacksMessage struct {
	OrderBy string
}

type ListDeploymentsMessage added in v0.13.0

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

type ListDomainsMessage

type ListDomainsMessage struct {
	Names []string
}

type ListDropletsMessage

type ListDropletsMessage struct {
	PackageGUIDs []string
	AppGUIDs     []string
}

type ListOrgsMessage

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

type ListPackagesMessage

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

type ListProcessesMessage

type ListProcessesMessage struct {
	AppGUIDs     []string
	ProcessTypes []string
	SpaceGUID    string
}

type ListRolesMessage added in v0.14.0

type ListRolesMessage struct {
	OrderBy string
}

type ListRoutesMessage

type ListRoutesMessage struct {
	AppGUIDs    []string
	SpaceGUIDs  []string
	DomainGUIDs []string
	Hosts       []string
	Paths       []string
}

type ListServiceBindingsMessage

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

type ListServiceBrokerMessage added in v0.13.0

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

type ListServiceInstanceMessage

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

type ListServiceOfferingMessage added in v0.13.0

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

type ListServicePlanMessage added in v0.13.0

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

type ListSpacesMessage

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

type ListTaskMessage added in v0.2.0

type ListTaskMessage struct {
	AppGUIDs    []string
	SequenceIDs []int64
}

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 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, namespace string, podSelector client.MatchingLabels) ([]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 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
}

type OrgRepo

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

func NewOrgRepo

func NewOrgRepo(
	rootNamespace string,
	privilegedClient client.WithWatch,
	userClientFactory authorization.UserClientFactory,
	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) ([]OrgRecord, error)

func (*OrgRepo) PatchOrgMetadata added in v0.3.0

func (r *OrgRepo) PatchOrgMetadata(ctx context.Context, authInfo authorization.Info, message PatchOrgMetadataMessage) (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(
	userClientFactory authorization.UserClientFactory,
	namespaceRetriever NamespaceRetriever,
	repositoryCreator RepositoryCreator,
	repositoryPrefix string,
	awaiter Awaiter[*korifiv1alpha1.CFPackage],
	sorter PackageSorter,
) *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) ([]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 PackageSorter added in v0.14.0

type PackageSorter interface {
	Sort(records []PackageRecord, order string) []PackageRecord
}

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 PatchOrgMetadataMessage added in v0.3.0

type PatchOrgMetadataMessage struct {
	MetadataPatch
	GUID string
}

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 PatchSpaceMetadataMessage added in v0.3.0

type PatchSpaceMetadataMessage struct {
	MetadataPatch
	GUID    string
	OrgGUID string
}

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 []services.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
}

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(namespaceRetriever NamespaceRetriever, userClientFactory authorization.UserClientFactory) *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) ([]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 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(
	userClientFactory authorization.UserClientFactory,
	spaceRepo *SpaceRepo,
	authorizedInChecker AuthorizedInChecker,
	namespacePermissions *authorization.NamespacePermissions,
	rootNamespace string,
	roleMappings map[string]config.Role,
	namespaceRetriever NamespaceRetriever,
	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) ([]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(namespaceRetriever NamespaceRetriever, userClientFactory authorization.UserClientFactory) *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) 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) ([]RouteRecord, error)

func (*RouteRepo) ListRoutesForApp

func (r *RouteRepo) ListRoutesForApp(ctx context.Context, authInfo authorization.Info, appGUID string, spaceGUID string) ([]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(userClientFactory authorization.UserClientFactory, runnerName string, namespace 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 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(
	namespaceRetriever NamespaceRetriever,
	userClientFactory authorization.UserClientFactory,
	bindingConditionAwaiter Awaiter[*korifiv1alpha1.CFServiceBinding],
) *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) GetState added in v0.14.0

func (*ServiceBindingRepo) ListServiceBindings

func (r *ServiceBindingRepo) ListServiceBindings(ctx context.Context, authInfo authorization.Info, message ListServiceBindingsMessage) ([]ServiceBindingRecord, error)

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 ServiceBrokerRecord added in v0.13.0

type ServiceBrokerRecord struct {
	services.ServiceBroker
	model.CFResource
}

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(
	userClientFactory authorization.UserClientFactory,
	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) (model.CFResourceState, error)

func (*ServiceBrokerRepo) ListServiceBrokers added in v0.13.0

func (r *ServiceBrokerRepo) ListServiceBrokers(ctx context.Context, authInfo authorization.Info, message ListServiceBrokerMessage) ([]ServiceBrokerRecord, error)

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 services.LastOperation
	Ready         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(
	namespaceRetriever NamespaceRetriever,
	userClientFactory authorization.UserClientFactory,
	awaiter Awaiter[*korifiv1alpha1.CFServiceInstance],
	sorter ServiceInstanceSorter,
	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 (*ServiceInstanceRepo) ListServiceInstances

func (r *ServiceInstanceRepo) ListServiceInstances(ctx context.Context, authInfo authorization.Info, message ListServiceInstanceMessage) ([]ServiceInstanceRecord, error)

nolint:dupl

func (*ServiceInstanceRepo) PatchServiceInstance added in v0.7.0

type ServiceInstanceSorter added in v0.14.0

type ServiceInstanceSorter interface {
	Sort(records []ServiceInstanceRecord, order string) []ServiceInstanceRecord
}

type ServiceOfferingRecord added in v0.13.0

type ServiceOfferingRecord struct {
	services.ServiceOffering
	model.CFResource
	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(
	userClientFactory authorization.UserClientFactory,
	rootNamespace string,
	brokerRepo *ServiceBrokerRepo,
	namespacePermissions *authorization.NamespacePermissions,
) *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

type ServicePlanRecord added in v0.13.0

type ServicePlanRecord struct {
	services.ServicePlan
	model.CFResource
	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(
	userClientFactory authorization.UserClientFactory,
	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 SetAppDesiredStateMessage

type SetAppDesiredStateMessage struct {
	AppGUID      string
	SpaceGUID    string
	DesiredState string
}

type SetCurrentDropletMessage

type SetCurrentDropletMessage struct {
	AppGUID     string
	DropletGUID string
	SpaceGUID   string
}

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(
	namespaceRetriever NamespaceRetriever,
	orgRepo *OrgRepo,
	userClientFactory authorization.UserClientFactory,
	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) ([]SpaceRecord, error)

func (*SpaceRepo) PatchSpaceMetadata added in v0.3.0

func (r *SpaceRepo) PatchSpaceMetadata(ctx context.Context, authInfo authorization.Info, message PatchSpaceMetadataMessage) (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(
	builderName string,
	userClientFactory authorization.UserClientFactory,
	rootNamespace string,
) *StackRepository

func (*StackRepository) ListStacks added in v0.14.0

func (r *StackRepository) ListStacks(ctx context.Context, authInfo authorization.Info) ([]StackRecord, error)

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(
	userClientFactory authorization.UserClientFactory,
	nsRetriever NamespaceRetriever,
	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 ListTaskMessage) ([]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   *services.BrokerCredentials
	MetadataPatch MetadataPatch
}

type UpdateServicePlanVisibilityMessage added in v0.13.0

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

Directories

Path Synopsis
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
JackTT - Gopher 🇻🇳