Documentation ¶
Index ¶
- Constants
- func CrdForAPIResource(apiResource metav1.APIResource, ...) *apiextv1b1.CustomResourceDefinition
- func CreateResources(cmdOut io.Writer, config *rest.Config, resources *typeResources, ...) error
- func DecodeYAML(r io.Reader, obj interface{}) error
- func DecodeYAMLFromFile(filename string, obj interface{}) error
- func GenerateTypeConfigForTarget(apiResource metav1.APIResource, enableTypeDirective *EnableTypeDirective) typeconfig.Interface
- func GetResources(config *rest.Config, enableTypeDirective *EnableTypeDirective) (*typeResources, error)
- func LookupAPIResource(config *rest.Config, key, targetVersion string) (*metav1.APIResource, error)
- func NewCmdTypeEnable(cmdOut io.Writer, config util.FedConfig) *cobra.Command
- func ValidationSchema(specProps v1beta1.JSONSchemaProps) *v1beta1.CustomResourceValidation
- type EnableTypeDirective
- type EnableTypeDirectiveSpec
Constants ¶
View Source
const ( DefaultFederationGroup = "types.federation.k8s.io" DefaultFederationVersion = "v1alpha1" )
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 DecodeYAMLFromFile ¶
func GenerateTypeConfigForTarget ¶ added in v0.0.8
func GenerateTypeConfigForTarget(apiResource metav1.APIResource, enableTypeDirective *EnableTypeDirective) typeconfig.Interface
func GetResources ¶
func GetResources(config *rest.Config, enableTypeDirective *EnableTypeDirective) (*typeResources, error)
func LookupAPIResource ¶
func NewCmdTypeEnable ¶
NewCmdTypeEnable defines the `enable` command that enables federation of a Kubernetes API type.
func ValidationSchema ¶
func ValidationSchema(specProps v1beta1.JSONSchemaProps) *v1beta1.CustomResourceValidation
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.
Click to show internal directories.
Click to hide internal directories.