enable

package
v0.0.10 Latest Latest
Warning

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

Go to latest
Published: May 6, 2019 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CrdForAPIResource

func CrdForAPIResource(apiResource metav1.APIResource, validation *apiextv1b1.CustomResourceValidation, shortNames []string) *apiextv1b1.CustomResourceDefinition

func CreateResources

func CreateResources(cmdOut io.Writer, config *rest.Config, resources *typeResources, namespace string) error

TODO(marun) Allow updates to the configuration for a type that has already been enabled for federation. This would likely involve updating the version of the target type and the validation of the schema.

func DecodeYAML

func DecodeYAML(r io.Reader, obj interface{}) error

func DecodeYAMLFromFile

func DecodeYAMLFromFile(filename string, obj interface{}) error

func GenerateTypeConfigForTarget

func GenerateTypeConfigForTarget(apiResource metav1.APIResource, enableTypeDirective *EnableTypeDirective) typeconfig.Interface

func GetResources

func GetResources(config *rest.Config, enableTypeDirective *EnableTypeDirective) (*typeResources, error)

func GetServerPreferredResources

func GetServerPreferredResources(config *rest.Config) ([]*metav1.APIResourceList, error)

func LookupAPIResource

func LookupAPIResource(config *rest.Config, key, targetVersion string) (*metav1.APIResource, error)

func NameMatchesResource

func NameMatchesResource(name string, apiResource metav1.APIResource, group string) bool

func NewCmdTypeEnable

func NewCmdTypeEnable(cmdOut io.Writer, config util.FedConfig) *cobra.Command

NewCmdTypeEnable defines the `enable` command that enables federation of a Kubernetes API type.

Types

type EnableTypeDirective

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

	Spec EnableTypeDirectiveSpec `json:"spec,omitempty"`
}

TODO(marun) This should become a proper API type and drive enabling type federation via a controller. For now its only purpose is to enable loading of configuration from disk.

func NewEnableTypeDirective

func NewEnableTypeDirective() *EnableTypeDirective

func (*EnableTypeDirective) SetDefaults

func (ft *EnableTypeDirective) SetDefaults()

type EnableTypeDirectiveSpec

type EnableTypeDirectiveSpec struct {
	// The API version of the target type.
	// +optional
	TargetVersion string `json:"targetVersion,omitempty"`

	// Which field of the target type determines whether federation
	// considers two resources to be equal.
	ComparisonField common.VersionComparisonField `json:"comparisonField"`

	// The name of the API group to use for generated federation types.
	// +optional
	FederationGroup string `json:"federationGroup,omitempty"`

	// The API version to use for generated federation types.
	// +optional
	FederationVersion string `json:"federationVersion,omitempty"`
}

EnableTypeDirectiveSpec defines the desired state of EnableTypeDirective.

Jump to

Keyboard shortcuts

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