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 DecodeYAML(r io.Reader, obj interface{}) error
func DecodeYAMLFromFile ¶
func DecodeYAMLFromFile(filename string, obj interface{}) error
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 LookupAPIResource(config *rest.Config, key, targetVersion string) (*metav1.APIResource, error)
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.
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.