Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🏃 this release v0.1.10 #307

Merged
merged 25 commits into from
Jan 24, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
8fba660
:sparkles: Allow user to define how create managed objects
Nov 29, 2018
4c0ea9d
Merge pull request #227 from shawn-hurley/issue/226
k8s-ci-robot Dec 21, 2018
8409bdd
:sparkles: clean up builder package and UX
pwittrock Dec 20, 2018
e415a41
fix-logging-error
dzdx Dec 28, 2018
01f78d9
Fix `nil` error when using `BootstrapOptions.Host`
ichekrygin Jan 1, 2019
2595425
Rev dependencies to k8s 1.13
detiber Jan 4, 2019
58c9cd9
disable metalinter goimports because it is broken (failing on files t…
pwittrock Dec 22, 2018
5aed6d6
Merge pull request #264 from pwittrock/simple
k8s-ci-robot Jan 4, 2019
a169108
fix interface assertions in example/mutatingwebhook.go such that podA…
perryao Jan 5, 2019
60b09a8
Merge pull request #272 from ichekrygin/boostrap-service-nil
k8s-ci-robot Jan 7, 2019
b3d5de2
Merge pull request #269 from dzdx/fix-log-error
k8s-ci-robot Jan 8, 2019
b15adb2
Merge pull request #280 from perryao/fix-mutating-webhook-example
k8s-ci-robot Jan 9, 2019
549f806
use %v err in envtest
DirectXMan12 Jan 9, 2019
6101f69
Add some logging to envtest
DirectXMan12 Jan 9, 2019
6d99d78
Merge pull request #279 from detiber/k8s-1.13
k8s-ci-robot Jan 9, 2019
8273104
:bug: gen cert for the server even there are no webhooks
Jan 9, 2019
8de5508
:bug: switch to use appscode/jsonpatch
Jan 9, 2019
3913bdc
Merge pull request #288 from mengqiy/eagerlygencert
k8s-ci-robot Jan 9, 2019
d681ff8
Merge pull request #287 from DirectXMan12/refactor/envtest-err-style-…
k8s-ci-robot Jan 9, 2019
b44385d
Merge pull request #289 from mengqiy/appscodejsonpatch
k8s-ci-robot Jan 9, 2019
05643fc
Expose client-go metrics
DirectXMan12 Dec 4, 2018
b3610e8
:running: Mark pending tests as pending
DirectXMan12 Dec 4, 2018
ed6a18c
:warning: Remove duplicate QueueLength metric
DirectXMan12 Jan 10, 2019
c043856
Merge pull request #233 from DirectXMan12/features/client-go-metrics
k8s-ci-robot Jan 11, 2019
09998a3
:bug: fix issue when webhook server refreshing cert
Dec 19, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
81 changes: 52 additions & 29 deletions Gopkg.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions Gopkg.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,19 +30,19 @@ required = ["sigs.k8s.io/testing_frameworks/integration",

[[constraint]]
name = "k8s.io/api"
version = "kubernetes-1.12.3"
version = "kubernetes-1.13.1"

[[constraint]]
name = "k8s.io/apiextensions-apiserver"
version = "kubernetes-1.12.3"
version = "kubernetes-1.13.1"

[[constraint]]
name = "k8s.io/apimachinery"
version = "kubernetes-1.12.3"
version = "kubernetes-1.13.1"

[[constraint]]
name = "k8s.io/client-go"
version = "kubernetes-1.12.3"
version = "kubernetes-1.13.1"

[[constraint]]
name = "sigs.k8s.io/testing_frameworks"
Expand Down
135 changes: 135 additions & 0 deletions alias.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
/*
Copyright 2018 The Kubernetes Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

// Package controllerruntime alias' common functions and types to improve discoverability and reduce
// the number of imports for simple Controllers.
package controllerruntime

import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
"sigs.k8s.io/controller-runtime/pkg/builder"
"sigs.k8s.io/controller-runtime/pkg/client/config"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
"sigs.k8s.io/controller-runtime/pkg/manager"
"sigs.k8s.io/controller-runtime/pkg/reconcile"
"sigs.k8s.io/controller-runtime/pkg/runtime/log"
"sigs.k8s.io/controller-runtime/pkg/runtime/scheme"
"sigs.k8s.io/controller-runtime/pkg/runtime/signals"
)

// Builder builds an Application ControllerManagedBy (e.g. Operator) and returns a manager.Manager to start it.
type Builder = builder.Builder

// Request contains the information necessary to reconcile a Kubernetes object. This includes the
// information to uniquely identify the object - its Name and Namespace. It does NOT contain information about
// any specific Event or the object contents itself.
type Request = reconcile.Request

// Result contains the result of a Reconciler invocation.
type Result = reconcile.Result

// Manager initializes shared dependencies such as Caches and Clients, and provides them to Runnables.
// A Manager is required to create Controllers.
type Manager = manager.Manager

// Options are the arguments for creating a new Manager
type Options = manager.Options

// Builder builds a new Scheme for mapping go types to Kubernetes GroupVersionKinds.
type SchemeBuilder = scheme.Builder

// GroupVersion contains the "group" and the "version", which uniquely identifies the API.
type GroupVersion = schema.GroupVersion

// GroupResource specifies a Group and a Resource, but does not force a version. This is useful for identifying
// concepts during lookup stages without having partially valid types
type GroupResource = schema.GroupResource

// TypeMeta describes an individual object in an API response or request
// with strings representing the type of the object and its API schema version.
// Structures that are versioned or persisted should inline TypeMeta.
//
// +k8s:deepcopy-gen=false
type TypeMeta = metav1.TypeMeta

// ObjectMeta is metadata that all persisted resources must have, which includes all objects
// users must create.
type ObjectMeta = metav1.ObjectMeta

var (
// GetConfigOrDie creates a *rest.Config for talking to a Kubernetes apiserver.
// If --kubeconfig is set, will use the kubeconfig file at that location. Otherwise will assume running
// in cluster and use the cluster provided kubeconfig.
//
// Will log an error and exit if there is an error creating the rest.Config.
GetConfigOrDie = config.GetConfigOrDie

// GetConfig creates a *rest.Config for talking to a Kubernetes apiserver.
// If --kubeconfig is set, will use the kubeconfig file at that location. Otherwise will assume running
// in cluster and use the cluster provided kubeconfig.
//
// Config precedence
//
// * --kubeconfig flag pointing at a file
//
// * KUBECONFIG environment variable pointing at a file
//
// * In-cluster config if running in cluster
//
// * $HOME/.kube/config if exists
GetConfig = config.GetConfig

// NewControllerManagedBy returns a new controller builder that will be started by the provided Manager
NewControllerManagedBy = builder.ControllerManagedBy

// NewManager returns a new Manager for creating Controllers.
NewManager = manager.New

// CreateOrUpdate creates or updates the given object obj in the Kubernetes
// cluster. The object's desired state should be reconciled with the existing
// state using the passed in ReconcileFn. obj must be a struct pointer so that
// obj can be updated with the content returned by the Server.
//
// It returns the executed operation and an error.
CreateOrUpdate = controllerutil.CreateOrUpdate

// SetControllerReference sets owner as a Controller OwnerReference on owned.
// This is used for garbage collection of the owned object and for
// reconciling the owner object on changes to owned (with a Watch + EnqueueRequestForOwner).
// Since only one OwnerReference can be a controller, it returns an error if
// there is another OwnerReference with Controller flag set.
SetControllerReference = controllerutil.SetControllerReference

// SetupSignalHandler registered for SIGTERM and SIGINT. A stop channel is returned
// which is closed on one of these signals. If a second signal is caught, the program
// is terminated with exit code 1.
SetupSignalHandler = signals.SetupSignalHandler

// Log is the base logger used by controller-runtime. It delegates
// to another logr.Logger. You *must* call SetLogger to
// get any actual logging.
Log = log.Log

// SetLogger sets a concrete logging implementation for all deferred Loggers.
SetLogger = log.SetLogger

// ZapLogger is a Logger implementation.
// If development is true, a Zap development config will be used
// (stacktraces on warnings, no sampling), otherwise a Zap production
// config will be used (stacktraces on errors, sampling).
ZapLogger = log.ZapLogger
)
8 changes: 4 additions & 4 deletions example/mutatingwebhook.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,19 +62,19 @@ func (a *podAnnotator) mutatePodsFn(ctx context.Context, pod *corev1.Pod) error
return nil
}

// podValidator implements inject.Client.
// podAnnotator implements inject.Client.
// A client will be automatically injected.
var _ inject.Client = &podValidator{}
var _ inject.Client = &podAnnotator{}

// InjectClient injects the client.
func (v *podAnnotator) InjectClient(c client.Client) error {
v.client = c
return nil
}

// podValidator implements inject.Decoder.
// podAnnotator implements inject.Decoder.
// A decoder will be automatically injected.
var _ inject.Decoder = &podValidator{}
var _ inject.Decoder = &podAnnotator{}

// InjectDecoder injects the decoder.
func (v *podAnnotator) InjectDecoder(d types.Decoder) error {
Expand Down
Loading