Documentation ¶
Index ¶
- 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 FederatedNamespacedToScope(apiResource metav1.APIResource) apiextv1b1.ResourceScope
- func GenerateTypeConfigForTarget(apiResource metav1.APIResource, enableTypeDirective *EnableTypeDirective) typeconfig.Interface
- func GetResources(config *rest.Config, enableTypeDirective *EnableTypeDirective) (*typeResources, error)
- func GetServerPreferredResources(config *rest.Config) ([]*metav1.APIResourceList, error)
- func LookupAPIResource(config *rest.Config, key, targetVersion string) (*metav1.APIResource, error)
- func NameMatchesResource(name string, apiResource metav1.APIResource, group string) bool
- func NamespacedToScope(apiResource metav1.APIResource) apiextv1b1.ResourceScope
- func NewCmdTypeEnable(cmdOut io.Writer, config util.FedConfig) *cobra.Command
- func ValidationSchema(specProps v1beta1.JSONSchemaProps) *v1beta1.CustomResourceValidation
- type EnableTypeDirective
- type EnableTypeDirectiveSpec
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 kubefed. This would likely involve updating the version of the target type and the validation of the schema.
func DecodeYAML ¶
func DecodeYAMLFromFile ¶
func FederatedNamespacedToScope ¶
func FederatedNamespacedToScope(apiResource metav1.APIResource) apiextv1b1.ResourceScope
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 NameMatchesResource ¶
func NameMatchesResource(name string, apiResource metav1.APIResource, group string) bool
func NamespacedToScope ¶
func NamespacedToScope(apiResource metav1.APIResource) apiextv1b1.ResourceScope
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"` // The name of the API group to use for generated federated types. // +optional FederatedGroup string `json:"federatedGroup,omitempty"` // The API version to use for generated federated types. // +optional FederatedVersion string `json:"federatedVersion,omitempty"` }
EnableTypeDirectiveSpec defines the desired state of EnableTypeDirective.
Click to show internal directories.
Click to hide internal directories.