federation-v2

module
v0.0.2-rc.1 Latest Latest
Warning

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

Go to latest
Published: Sep 24, 2018 License: Apache-2.0

README

Build Status Image Repository on Quay

Kubernetes Federation v2

This repo contains an in-progress prototype of some of the foundational aspects of V2 of Kubernetes Federation. The prototype builds on the sync controller (a.k.a. push reconciler) from Federation v1 to iterate on the API concepts laid down in the brainstorming doc and further refined in the architecture doc. Access to both documents is available to members of the kubernetes-sig-multicluster google group.

Concepts

The following abstractions support the propagation of a logical federated type:

  • Template: defines the representation of the resource common across clusters
  • Placement: defines which clusters the resource is intended to appear in
  • Override: optionally defines per-cluster field-level variation to apply to the template

These 3 abstractions provide a concise representation of a resource intended to appear in multiple clusters. Since the details encoded by the abstractions are the minimum required for propagation, they are well-suited to serve as the glue between any given propagation mechanism and higher-order behaviors like policy-based placement and dynamic scheduling.

Guides

User Guide

Take a look at our user guide if you are interested in using Federation v2.

Development Guide

Take a look at our development guide if you are interested in contributing.

Code of Conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.

Directories

Path Synopsis
cmd
kubefed2
kubefed2 is a tool for managing clusters in a federation.
kubefed2 is a tool for managing clusters in a federation.
pkg
apis/core
Package api is the internal version of the API.
Package api is the internal version of the API.
apis/core/v1alpha1
+k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/kubernetes-sigs/federation-v2/pkg/apis/core +k8s:defaulter-gen=TypeMeta +groupName=core.federation.k8s.io Copyright 2018 The Kubernetes Authors.
+k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/kubernetes-sigs/federation-v2/pkg/apis/core +k8s:defaulter-gen=TypeMeta +groupName=core.federation.k8s.io Copyright 2018 The Kubernetes Authors.
apis/multiclusterdns
Package api is the internal version of the API.
Package api is the internal version of the API.
apis/multiclusterdns/v1alpha1
+k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/kubernetes-sigs/federation-v2/pkg/apis/multiclusterdns +k8s:defaulter-gen=TypeMeta +groupName=multiclusterdns.federation.k8s.io Copyright 2018 The Kubernetes Authors.
+k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/kubernetes-sigs/federation-v2/pkg/apis/multiclusterdns +k8s:defaulter-gen=TypeMeta +groupName=multiclusterdns.federation.k8s.io Copyright 2018 The Kubernetes Authors.
apis/scheduling
Package api is the internal version of the API.
Package api is the internal version of the API.
apis/scheduling/v1alpha1
+k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/kubernetes-sigs/federation-v2/pkg/apis/scheduling +k8s:defaulter-gen=TypeMeta +groupName=scheduling.federation.k8s.io Copyright 2018 The Kubernetes Authors.
+k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/kubernetes-sigs/federation-v2/pkg/apis/scheduling +k8s:defaulter-gen=TypeMeta +groupName=scheduling.federation.k8s.io Copyright 2018 The Kubernetes Authors.
client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/versioned/typed/core/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/core/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/multiclusterdns/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/multiclusterdns/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/scheduling/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/scheduling/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
controller/util
TODO: consider moving it to a more generic package.
TODO: consider moving it to a more generic package.
controller/util/deletionhelper
Package to help federation controllers to delete federated resources from underlying clusters when the resource is deleted from federation control plane.
Package to help federation controllers to delete federated resources from underlying clusters when the resource is deleted from federation control plane.
controller/util/finalizers
Helper functions for manipulating finalizers.
Helper functions for manipulating finalizers.
test
e2e
e2e/framework/ginkgowrapper
Package ginkgowrapper wraps Ginkgo Fail and Skip functions to panic with structured data instead of a constant string.
Package ginkgowrapper wraps Ginkgo Fail and Skip functions to panic with structured data instead of a constant string.

Jump to

Keyboard shortcuts

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