libraryoutputresources

package
v0.0.0-...-20aa390 Latest Latest
Warning

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

Go to latest
Published: Dec 5, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewOutputResourcesCommand

func NewOutputResourcesCommand(outputResourcesFn OutputResourcesFunc, streams genericiooptions.IOStreams) *cobra.Command

Types

type ExactResourceID

type ExactResourceID struct {
	OutputResourceTypeIdentifier `json:",inline"`

	Namespace string `json:"namespace,omitempty"`
	Name      string `json:"name"`
}

func ExactClusterOperator

func ExactClusterOperator(name string) ExactResourceID

func ExactClusterRole

func ExactClusterRole(name string) ExactResourceID

func ExactClusterRoleBinding

func ExactClusterRoleBinding(name string) ExactResourceID

func ExactConfigMap

func ExactConfigMap(namespace, name string) ExactResourceID

func ExactConfigResource

func ExactConfigResource(resource string) ExactResourceID

func ExactDaemonSet

func ExactDaemonSet(namespace, name string) ExactResourceID

func ExactDeployment

func ExactDeployment(namespace, name string) ExactResourceID

func ExactLowLevelOperator

func ExactLowLevelOperator(resource string) ExactResourceID

func ExactNamespace

func ExactNamespace(name string) ExactResourceID

func ExactOAuthClient

func ExactOAuthClient(name string) ExactResourceID

func ExactPDB

func ExactPDB(namespace, name string) ExactResourceID

func ExactResource

func ExactResource(group, version, resource, namespace, name string) ExactResourceID

func ExactRole

func ExactRole(namespace, name string) ExactResourceID

func ExactRoleBinding

func ExactRoleBinding(namespace, name string) ExactResourceID

func ExactSecret

func ExactSecret(namespace, name string) ExactResourceID

func ExactService

func ExactService(namespace, name string) ExactResourceID

func ExactServiceAccount

func ExactServiceAccount(namespace, name string) ExactResourceID

type GeneratedResourceID

type GeneratedResourceID struct {
	OutputResourceTypeIdentifier `json:",inline"`

	Namespace     string `json:"namespace,omitempty"`
	GeneratedName string `json:"name"`
}

func GeneratedCSR

func GeneratedCSR(generateName string) GeneratedResourceID

func GeneratedResource

func GeneratedResource(group, version, resource, namespace, name string) GeneratedResourceID

type OutputResourceTypeIdentifier

type OutputResourceTypeIdentifier struct {
	Group    string `json:"group"`
	Version  string `json:"version"`
	Resource string `json:"resource"`
}

OutputResourceTypeIdentifier does *not* include version, because the serialization doesn't matter for production. We'll be able to read the file and see how it is serialized.

type OutputResources

type OutputResources struct {
	// configurationResources are targeted at the cluster where configuration is held.
	// On standalone, this is the one cluster.
	// On HCP, this is logically a view into the resources in the namespace of the guest cluster.
	ConfigurationResources ResourceList `json:"configurationResources,omitempty"`
	// managementResources are targeted at the cluster where management plane responsibility is held.
	// On standalone, this is the one cluster.
	// On HCP, this is logically resources in the namespace of the guest cluster: usually the control plane aspects.
	ManagementResources ResourceList `json:"managementResources,omitempty"`
	// UserWorkloadResources are targeted at the cluster where user workloads run.
	// On standalone, this is the one cluster.
	// On HCP, this is the guest cluster.
	UserWorkloadResources ResourceList `json:"userWorkloadResources,omitempty"`
}

OutputResources is a list of resources that an operator will need to mutate from apply-configuration and apply-configuration-live. This needs to be a complete list. Any resource not present in this list will not be mutable for this operator.

type OutputResourcesFunc

type OutputResourcesFunc func(ctx context.Context) (*OutputResources, error)

type ResourceList

type ResourceList struct {
	// exactResources are lists of exact names that are mutated
	ExactResources []ExactResourceID `json:"exactResources,omitempty"`

	// generatedNameResources are lists of generatedNames that are mutated.
	// These are also honored on non-creates, via prefix matching, but *only* on resource with generatedNames.
	// This is not a cheat code for prefix matching.
	GeneratedNameResources []GeneratedResourceID `json:"generatedNameResources,omitempty"`

	// eventingNamespaces holds a list of namespaces that the operator can output event into.
	// This allows redirection of events to a particular cluster on a per-namespace level.
	// For instance, the openshift-authentication-operator  can go to management, but openshift-authentication can go
	// to the userWorkload cluster.
	EventingNamespaces []string `json:"eventingNamespaces,omitempty"`
}

Jump to

Keyboard shortcuts

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