Skip to content
This repository was archived by the owner on Apr 24, 2024. It is now read-only.

React to latest kcp-dev/controller-runtime changes that drop the need to use kcp-dev/kubernetes forks #10

Merged
merged 1 commit into from
Jun 24, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 4 additions & 7 deletions controllers/configmap_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,14 @@ type ConfigMapReconciler struct {
}

func (r *ConfigMapReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
log := log.FromContext(ctx).WithValues("cluster", req.ObjectKey.Cluster.String())
log := log.FromContext(ctx).WithValues("cluster", req.ClusterName)

ctx = kcpclient.WithCluster(ctx, req.ObjectKey.Cluster)
ctx = kcpclient.WithCluster(ctx, logicalcluster.New(req.ClusterName))

// Test get
var configMap corev1.ConfigMap

if err := r.Get(ctx, req.ObjectKey, &configMap); err != nil {
if err := r.Get(ctx, req.NamespacedName, &configMap); err != nil {
log.Error(err, "unable to get configmap")
return ctrl.Result{}, nil
}
Expand Down Expand Up @@ -85,10 +85,7 @@ func (r *ConfigMapReconciler) Reconcile(ctx context.Context, req ctrl.Request) (
nsName, exists := configMap.Data["namespace"]
if exists {
var namespace corev1.Namespace
nsKey := client.ObjectKey{
NamespacedName: types.NamespacedName{Name: nsName},
Cluster: req.ObjectKey.Cluster,
}
nsKey := types.NamespacedName{Name: nsName}

if err := r.Get(ctx, nsKey, &namespace); err != nil {
if !apierrors.IsNotFound(err) {
Expand Down
7 changes: 4 additions & 3 deletions controllers/widget_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import (
"context"

kcpclient "github.com/kcp-dev/apimachinery/pkg/client"
"github.com/kcp-dev/logicalcluster"
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/runtime"
ctrl "sigs.k8s.io/controller-runtime"
Expand All @@ -45,7 +46,7 @@ func (r *WidgetReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctr

// Include the clusterName from req.ObjectKey in the logger, similar to the namespace and name keys that are already
// there.
logger = logger.WithValues("clusterName", req.ObjectKey.Cluster.String())
logger = logger.WithValues("clusterName", req.ClusterName)

// You probably wouldn't need to do this, but if you wanted to list all instances across all logical clusters:
var allWidgets datav1alpha1.WidgetList
Expand All @@ -56,11 +57,11 @@ func (r *WidgetReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctr
logger.Info("Listed all widgets across all workspaces", "count", len(allWidgets.Items))

// Add the logical cluster to the context
ctx = kcpclient.WithCluster(ctx, req.ObjectKey.Cluster)
ctx = kcpclient.WithCluster(ctx, logicalcluster.New(req.ClusterName))

logger.Info("Getting widget")
var w datav1alpha1.Widget
if err := r.Get(ctx, req.ObjectKey, &w); err != nil {
if err := r.Get(ctx, req.NamespacedName, &w); err != nil {
if errors.IsNotFound(err) {
// Normal - was deleted
return ctrl.Result{}, nil
Expand Down
34 changes: 3 additions & 31 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ module github.com/kcp-dev/controller-runtime-example
go 1.17

require (
github.com/kcp-dev/apimachinery v0.0.0-20220531195037-598aef366e6d
github.com/kcp-dev/kcp v0.4.0-alpha.0.0.20220527200938-63b311a088fe
github.com/kcp-dev/apimachinery v0.0.0-20220621200107-3d03cbbc3770
github.com/kcp-dev/kcp/pkg/apis v0.5.0-alpha.1
github.com/kcp-dev/logicalcluster v1.0.0
github.com/onsi/ginkgo v1.16.5
github.com/onsi/gomega v1.17.0
Expand Down Expand Up @@ -76,32 +76,4 @@ require (
sigs.k8s.io/yaml v1.3.0 // indirect
)

replace (
k8s.io/api => github.com/kcp-dev/kubernetes/staging/src/k8s.io/api v0.0.0-20220524063253-5bb0eeecf2cf
k8s.io/apiextensions-apiserver => github.com/kcp-dev/kubernetes/staging/src/k8s.io/apiextensions-apiserver v0.0.0-20220524063253-5bb0eeecf2cf
k8s.io/apimachinery => github.com/kcp-dev/kubernetes/staging/src/k8s.io/apimachinery v0.0.0-20220524063253-5bb0eeecf2cf
k8s.io/apiserver => github.com/kcp-dev/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20220524063253-5bb0eeecf2cf
k8s.io/cli-runtime => github.com/kcp-dev/kubernetes/staging/src/k8s.io/cli-runtime v0.0.0-20220524063253-5bb0eeecf2cf
k8s.io/client-go => github.com/kcp-dev/kubernetes/staging/src/k8s.io/client-go v0.0.0-20220524063253-5bb0eeecf2cf
k8s.io/cloud-provider => github.com/kcp-dev/kubernetes/staging/src/k8s.io/cloud-provider v0.0.0-20220524063253-5bb0eeecf2cf
k8s.io/cluster-bootstrap => github.com/kcp-dev/kubernetes/staging/src/k8s.io/cluster-bootstrap v0.0.0-20220524063253-5bb0eeecf2cf
k8s.io/code-generator => github.com/kcp-dev/kubernetes/staging/src/k8s.io/code-generator v0.0.0-20220524063253-5bb0eeecf2cf
k8s.io/component-base => github.com/kcp-dev/kubernetes/staging/src/k8s.io/component-base v0.0.0-20220524063253-5bb0eeecf2cf
k8s.io/component-helpers => github.com/kcp-dev/kubernetes/staging/src/k8s.io/component-helpers v0.0.0-20220524063253-5bb0eeecf2cf
k8s.io/controller-manager => github.com/kcp-dev/kubernetes/staging/src/k8s.io/controller-manager v0.0.0-20220524063253-5bb0eeecf2cf
k8s.io/cri-api => github.com/kcp-dev/kubernetes/staging/src/k8s.io/cri-api v0.0.0-20220524063253-5bb0eeecf2cf
k8s.io/csi-translation-lib => github.com/kcp-dev/kubernetes/staging/src/k8s.io/csi-translation-lib v0.0.0-20220524063253-5bb0eeecf2cf
k8s.io/kube-aggregator => github.com/kcp-dev/kubernetes/staging/src/k8s.io/kube-aggregator v0.0.0-20220524063253-5bb0eeecf2cf
k8s.io/kube-controller-manager => github.com/kcp-dev/kubernetes/staging/src/k8s.io/kube-controller-manager v0.0.0-20220524063253-5bb0eeecf2cf
k8s.io/kube-proxy => github.com/kcp-dev/kubernetes/staging/src/k8s.io/kube-proxy v0.0.0-20220524063253-5bb0eeecf2cf
k8s.io/kube-scheduler => github.com/kcp-dev/kubernetes/staging/src/k8s.io/kube-scheduler v0.0.0-20220524063253-5bb0eeecf2cf
k8s.io/kubectl => github.com/kcp-dev/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20220524063253-5bb0eeecf2cf
k8s.io/kubelet => github.com/kcp-dev/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20220524063253-5bb0eeecf2cf
k8s.io/kubernetes => github.com/kcp-dev/kubernetes v0.0.0-20220524063253-5bb0eeecf2cf
k8s.io/legacy-cloud-providers => github.com/kcp-dev/kubernetes/staging/src/k8s.io/legacy-cloud-providers v0.0.0-20220524063253-5bb0eeecf2cf
k8s.io/metrics => github.com/kcp-dev/kubernetes/staging/src/k8s.io/metrics v0.0.0-20220524063253-5bb0eeecf2cf
k8s.io/mount-utils => github.com/kcp-dev/kubernetes/staging/src/k8s.io/mount-utils v0.0.0-20220524063253-5bb0eeecf2cf
k8s.io/pod-security-admission => github.com/kcp-dev/kubernetes/staging/src/k8s.io/pod-security-admission v0.0.0-20220524063253-5bb0eeecf2cf
k8s.io/sample-apiserver => github.com/kcp-dev/kubernetes/staging/src/k8s.io/sample-apiserver v0.0.0-20220524063253-5bb0eeecf2cf
sigs.k8s.io/controller-runtime => github.com/kcp-dev/controller-runtime v0.11.3-0.20220601041701-6ae831c93ef5
)
replace sigs.k8s.io/controller-runtime => github.com/kcp-dev/controller-runtime v0.11.3-0.20220624161137-f6e5a2f56683
Loading