This is an automated email from the ASF dual-hosted git repository.
ricardozanini pushed a commit to branch main
in repository
https://gitbox.apache.org/repos/asf/incubator-kie-kogito-serverless-operator.git
The following commit(s) were added to refs/heads/main by this push:
new 9204041b Fix #486 - Set the controller config to the default platform
(#487)
9204041b is described below
commit 9204041b402f47242c19f4a47e67e73a7ada647d
Author: Ricardo Zanini <[email protected]>
AuthorDate: Tue Aug 6 09:02:50 2024 -0400
Fix #486 - Set the controller config to the default platform (#487)
Signed-off-by: Ricardo Zanini <[email protected]>
---
controllers/clusterplatform/clusterplatform.go | 22 +++++------
controllers/clusterplatform/initialize.go | 4 +-
controllers/platform/defaults.go | 44 ++++-----------------
controllers/platform/initialize.go | 2 +-
controllers/platform/k8s.go | 2 +-
controllers/platform/monitor.go | 2 +-
controllers/platform/platform.go | 33 +++++++++++++++-
controllers/platform/platformutils.go | 10 ++---
.../profiles/common/properties/platform_test.go | 7 +---
.../sonataflowclusterplatform_controller.go | 2 +-
controllers/sonataflowplatform_controller.go | 10 ++---
test/kubernetes_cli.go | 46 +++++++++++++++++++---
12 files changed, 107 insertions(+), 77 deletions(-)
diff --git a/controllers/clusterplatform/clusterplatform.go
b/controllers/clusterplatform/clusterplatform.go
index e9a8c86c..0e1db52c 100644
--- a/controllers/clusterplatform/clusterplatform.go
+++ b/controllers/clusterplatform/clusterplatform.go
@@ -25,9 +25,9 @@ import (
"github.com/apache/incubator-kie-kogito-serverless-operator/api/metadata"
operatorapi
"github.com/apache/incubator-kie-kogito-serverless-operator/api/v1alpha08"
"github.com/apache/incubator-kie-kogito-serverless-operator/log"
+ "github.com/apache/incubator-kie-kogito-serverless-operator/utils"
k8serrors "k8s.io/apimachinery/pkg/api/errors"
"k8s.io/klog/v2"
- ctrl "sigs.k8s.io/controller-runtime/pkg/client"
)
const (
@@ -35,15 +35,15 @@ const (
)
// GetActiveClusterPlatform returns the currently installed active cluster
platform.
-func GetActiveClusterPlatform(ctx context.Context, c ctrl.Client)
(*operatorapi.SonataFlowClusterPlatform, error) {
- return getClusterPlatform(ctx, c, true)
+func GetActiveClusterPlatform(ctx context.Context)
(*operatorapi.SonataFlowClusterPlatform, error) {
+ return getClusterPlatform(ctx, true)
}
// getClusterPlatform returns the currently active cluster platform or any
cluster platform existing in the cluster.
-func getClusterPlatform(ctx context.Context, c ctrl.Client, active bool)
(*operatorapi.SonataFlowClusterPlatform, error) {
+func getClusterPlatform(ctx context.Context, active bool)
(*operatorapi.SonataFlowClusterPlatform, error) {
klog.V(log.D).InfoS("Finding available cluster platforms")
- lst, err := listPrimaryClusterPlatforms(ctx, c)
+ lst, err := listPrimaryClusterPlatforms(ctx)
if err != nil {
return nil, err
}
@@ -66,8 +66,8 @@ func getClusterPlatform(ctx context.Context, c ctrl.Client,
active bool) (*opera
}
// listPrimaryClusterPlatforms returns all non-secondary cluster platforms
installed (only one will be active).
-func listPrimaryClusterPlatforms(ctx context.Context, c ctrl.Reader)
(*operatorapi.SonataFlowClusterPlatformList, error) {
- lst, err := listAllClusterPlatforms(ctx, c)
+func listPrimaryClusterPlatforms(ctx context.Context)
(*operatorapi.SonataFlowClusterPlatformList, error) {
+ lst, err := listAllClusterPlatforms(ctx)
if err != nil {
return nil, err
}
@@ -83,8 +83,8 @@ func listPrimaryClusterPlatforms(ctx context.Context, c
ctrl.Reader) (*operatora
}
// allDuplicatedClusterPlatforms returns true if every cluster platform has a
"Duplicated" status set
-func allDuplicatedClusterPlatforms(ctx context.Context, c ctrl.Reader) bool {
- lst, err := listAllClusterPlatforms(ctx, c)
+func allDuplicatedClusterPlatforms(ctx context.Context) bool {
+ lst, err := listAllClusterPlatforms(ctx)
if err != nil {
return false
}
@@ -99,9 +99,9 @@ func allDuplicatedClusterPlatforms(ctx context.Context, c
ctrl.Reader) bool {
}
// listAllClusterPlatforms returns all clusterplatforms installed.
-func listAllClusterPlatforms(ctx context.Context, c ctrl.Reader)
(*operatorapi.SonataFlowClusterPlatformList, error) {
+func listAllClusterPlatforms(ctx context.Context)
(*operatorapi.SonataFlowClusterPlatformList, error) {
lst := operatorapi.NewSonataFlowClusterPlatformList()
- if err := c.List(ctx, &lst); err != nil {
+ if err := utils.GetClient().List(ctx, &lst); err != nil {
return nil, err
}
return &lst, nil
diff --git a/controllers/clusterplatform/initialize.go
b/controllers/clusterplatform/initialize.go
index ac595e36..6f530d2b 100644
--- a/controllers/clusterplatform/initialize.go
+++ b/controllers/clusterplatform/initialize.go
@@ -46,7 +46,7 @@ func (action *initializeAction) Name() string {
}
func (action *initializeAction) CanHandle(ctx context.Context, cPlatform
*operatorapi.SonataFlowClusterPlatform) bool {
- return !cPlatform.Status.IsDuplicated() ||
allDuplicatedClusterPlatforms(ctx, action.client)
+ return !cPlatform.Status.IsDuplicated() ||
allDuplicatedClusterPlatforms(ctx)
}
func (action *initializeAction) Handle(ctx context.Context, cPlatform
*operatorapi.SonataFlowClusterPlatform) error {
@@ -107,7 +107,7 @@ func (action *initializeAction) isPrimaryDuplicate(ctx
context.Context, cPlatfor
// Always reconcile secondary cluster platforms
return false, nil
}
- platforms, err := listPrimaryClusterPlatforms(ctx, action.client)
+ platforms, err := listPrimaryClusterPlatforms(ctx)
if err != nil {
return false, err
}
diff --git a/controllers/platform/defaults.go b/controllers/platform/defaults.go
index 95d8a4c8..9d24e70f 100644
--- a/controllers/platform/defaults.go
+++ b/controllers/platform/defaults.go
@@ -23,11 +23,9 @@ import (
"context"
"k8s.io/apimachinery/pkg/api/errors"
- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/klog/v2"
ctrl "sigs.k8s.io/controller-runtime/pkg/client"
-
"github.com/apache/incubator-kie-kogito-serverless-operator/container-builder/client"
"github.com/apache/incubator-kie-kogito-serverless-operator/log"
"github.com/apache/incubator-kie-kogito-serverless-operator/utils"
@@ -36,7 +34,7 @@ import (
const defaultSonataFlowPlatformName = "sonataflow-platform"
-func ConfigureDefaults(ctx context.Context, c client.Client, p
*operatorapi.SonataFlowPlatform, verbose bool) error {
+func CreateOrUpdateWithDefaults(ctx context.Context, p
*operatorapi.SonataFlowPlatform, verbose bool) error {
// update missing fields in the resource
if p.Status.Cluster == "" || utils.IsOpenShift() {
p.Status.Cluster = operatorapi.PlatformClusterOpenShift
@@ -52,7 +50,7 @@ func ConfigureDefaults(ctx context.Context, c client.Client,
p *operatorapi.Sona
return err
}
- err = configureRegistry(ctx, c, p, verbose)
+ err = configureRegistry(ctx, p, verbose)
if err != nil {
return err
}
@@ -61,15 +59,15 @@ func ConfigureDefaults(ctx context.Context, c
client.Client, p *operatorapi.Sona
klog.V(log.I).InfoS("Maven Timeout set", "timeout",
p.Spec.Build.Config.Timeout.Duration)
}
- return createOrUpdatePlatform(ctx, c, p)
+ return createOrUpdatePlatform(ctx, p)
}
-func createOrUpdatePlatform(ctx context.Context, c client.Client, p
*operatorapi.SonataFlowPlatform) error {
+func createOrUpdatePlatform(ctx context.Context, p
*operatorapi.SonataFlowPlatform) error {
config := operatorapi.SonataFlowPlatform{}
- err := c.Get(ctx, ctrl.ObjectKey{Namespace: p.Namespace, Name: p.Name},
&config)
+ err := utils.GetClient().Get(ctx, ctrl.ObjectKey{Namespace:
p.Namespace, Name: p.Name}, &config)
if errors.IsNotFound(err) {
klog.V(log.D).ErrorS(err, "Platform not found, creating it")
- return c.Create(ctx, p)
+ return utils.GetClient().Create(ctx, p)
} else if err != nil {
klog.V(log.E).ErrorS(err, "Error reading the Platform")
return err
@@ -77,37 +75,9 @@ func createOrUpdatePlatform(ctx context.Context, c
client.Client, p *operatorapi
config.Spec = p.Spec
config.Status.Cluster = p.Status.Cluster
- err = c.Update(ctx, &config)
+ err = utils.GetClient().Update(ctx, &config)
if err != nil {
klog.V(log.E).ErrorS(err, "Error updating the BuildPlatform")
}
return err
}
-
-func newDefaultSonataFlowPlatform(namespace string)
*operatorapi.SonataFlowPlatform {
- if utils.IsOpenShift() {
- return &operatorapi.SonataFlowPlatform{
- ObjectMeta: metav1.ObjectMeta{Name:
defaultSonataFlowPlatformName, Namespace: namespace},
- Spec: operatorapi.SonataFlowPlatformSpec{
- Build: operatorapi.BuildPlatformSpec{
- Config: operatorapi.BuildPlatformConfig{
- BuildStrategy:
operatorapi.PlatformBuildStrategy,
- },
- },
- },
- }
- }
-
- return &operatorapi.SonataFlowPlatform{
- ObjectMeta: metav1.ObjectMeta{Name:
defaultSonataFlowPlatformName, Namespace: namespace},
- Spec: operatorapi.SonataFlowPlatformSpec{
- Build: operatorapi.BuildPlatformSpec{
- Config: operatorapi.BuildPlatformConfig{
- BuildStrategyOptions: map[string]string{
- kanikoBuildCacheEnabled: "true",
- },
- },
- },
- },
- }
-}
diff --git a/controllers/platform/initialize.go
b/controllers/platform/initialize.go
index d1bfb07b..bd3ac2bf 100644
--- a/controllers/platform/initialize.go
+++ b/controllers/platform/initialize.go
@@ -77,7 +77,7 @@ func (action *initializeAction) Handle(ctx context.Context,
platform *operatorap
return nil, nil
}
- if err = ConfigureDefaults(ctx, action.client, platform, true); err !=
nil {
+ if err = CreateOrUpdateWithDefaults(ctx, platform, true); err != nil {
return nil, err
}
// nolint: staticcheck
diff --git a/controllers/platform/k8s.go b/controllers/platform/k8s.go
index cbb60287..f7dc6d16 100644
--- a/controllers/platform/k8s.go
+++ b/controllers/platform/k8s.go
@@ -57,7 +57,7 @@ func (action *serviceAction) CanHandle(platform
*operatorapi.SonataFlowPlatform)
func (action *serviceAction) Handle(ctx context.Context, platform
*operatorapi.SonataFlowPlatform) (*operatorapi.SonataFlowPlatform, error) {
// Refresh applied configuration
- if err := ConfigureDefaults(ctx, action.client, platform, false); err
!= nil {
+ if err := CreateOrUpdateWithDefaults(ctx, platform, false); err != nil {
return nil, err
}
diff --git a/controllers/platform/monitor.go b/controllers/platform/monitor.go
index ae5b5745..ed10326a 100644
--- a/controllers/platform/monitor.go
+++ b/controllers/platform/monitor.go
@@ -54,7 +54,7 @@ func (action *monitorAction) Handle(ctx context.Context,
platform *operatorapi.S
}
// Refresh applied configuration
- if err := ConfigureDefaults(ctx, action.client, platform, false); err
!= nil {
+ if err := CreateOrUpdateWithDefaults(ctx, platform, false); err != nil {
return nil, err
}
diff --git a/controllers/platform/platform.go b/controllers/platform/platform.go
index 69b636dc..23488731 100644
--- a/controllers/platform/platform.go
+++ b/controllers/platform/platform.go
@@ -25,6 +25,7 @@ import (
"os"
"strings"
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/klog/v2"
coordination "k8s.io/api/coordination/v1"
@@ -147,13 +148,41 @@ func getLocalPlatform(ctx context.Context, c ctrl.Client,
namespace string, acti
}
klog.V(log.I).InfoS("Not found a local build platform", "Namespace",
namespace)
klog.V(log.I).InfoS("Creating a default SonataFlowPlatform",
"Namespace", namespace)
- sfp := newDefaultSonataFlowPlatform(namespace)
- if err = c.Create(ctx, sfp); err != nil {
+ sfp := newEmptySonataFlowPlatform(namespace)
+ if err = CreateOrUpdateWithDefaults(ctx, sfp, false); err != nil {
return nil, err
}
return sfp, nil
}
+func newEmptySonataFlowPlatform(namespace string)
*operatorapi.SonataFlowPlatform {
+ if utils.IsOpenShift() {
+ return &operatorapi.SonataFlowPlatform{
+ ObjectMeta: metav1.ObjectMeta{Name:
defaultSonataFlowPlatformName, Namespace: namespace},
+ Spec: operatorapi.SonataFlowPlatformSpec{
+ Build: operatorapi.BuildPlatformSpec{
+ Config: operatorapi.BuildPlatformConfig{
+ BuildStrategy:
operatorapi.PlatformBuildStrategy,
+ },
+ },
+ },
+ }
+ }
+
+ return &operatorapi.SonataFlowPlatform{
+ ObjectMeta: metav1.ObjectMeta{Name:
defaultSonataFlowPlatformName, Namespace: namespace},
+ Spec: operatorapi.SonataFlowPlatformSpec{
+ Build: operatorapi.BuildPlatformSpec{
+ Config: operatorapi.BuildPlatformConfig{
+ BuildStrategyOptions: map[string]string{
+ kanikoBuildCacheEnabled: "true",
+ },
+ },
+ },
+ },
+ }
+}
+
// listPrimaryPlatforms returns all non-secondary platforms installed in a
given namespace (only one will be active).
func listPrimaryPlatforms(ctx context.Context, c ctrl.Reader, namespace
string) (*operatorapi.SonataFlowPlatformList, error) {
lst, err := listAllPlatforms(ctx, c, namespace)
diff --git a/controllers/platform/platformutils.go
b/controllers/platform/platformutils.go
index 0b410549..4daabc0c 100644
--- a/controllers/platform/platformutils.go
+++ b/controllers/platform/platformutils.go
@@ -26,6 +26,7 @@ import (
"strings"
"time"
+ "github.com/apache/incubator-kie-kogito-serverless-operator/utils"
corev1 "k8s.io/api/core/v1"
k8serrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -35,7 +36,6 @@ import (
"github.com/apache/incubator-kie-kogito-serverless-operator/controllers/workflowdef"
-
"github.com/apache/incubator-kie-kogito-serverless-operator/container-builder/client"
"github.com/apache/incubator-kie-kogito-serverless-operator/log"
operatorapi
"github.com/apache/incubator-kie-kogito-serverless-operator/api/v1alpha08"
@@ -46,7 +46,7 @@ var builderDockerfileFromRE = regexp.MustCompile(`FROM (.*)
AS builder`)
// ResourceCustomizer can be used to inject code that changes the objects
before they are created.
type ResourceCustomizer func(object ctrl.Object) ctrl.Object
-func configureRegistry(ctx context.Context, c client.Client, p
*operatorapi.SonataFlowPlatform, verbose bool) error {
+func configureRegistry(ctx context.Context, p *operatorapi.SonataFlowPlatform,
verbose bool) error {
if p.Spec.Build.Config.BuildStrategy ==
operatorapi.PlatformBuildStrategy && p.Status.Cluster ==
operatorapi.PlatformClusterOpenShift {
p.Spec.Build.Config.Registry = operatorapi.RegistrySpec{}
klog.V(log.D).InfoS("Platform registry not set and ignored on
openshift cluster")
@@ -55,7 +55,7 @@ func configureRegistry(ctx context.Context, c client.Client,
p *operatorapi.Sona
if p.Spec.Build.Config.Registry.Address == "" && p.Status.Cluster ==
operatorapi.PlatformClusterKubernetes {
// try KEP-1755
- address, err := GetRegistryAddress(ctx, c)
+ address, err := GetRegistryAddress(ctx)
if err != nil && verbose {
klog.V(log.E).ErrorS(err, "Cannot find a registry where
to push images via KEP-1755")
} else if err == nil && address != nil {
@@ -139,9 +139,9 @@ func setStatusAdditionalInfo(platform
*operatorapi.SonataFlowPlatform) {
// GetRegistryAddress KEP-1755
//
https://github.com/kubernetes/enhancements/tree/master/keps/sig-cluster-lifecycle/generic/1755-communicating-a-local-registry
-func GetRegistryAddress(ctx context.Context, c client.Client) (*string, error)
{
+func GetRegistryAddress(ctx context.Context) (*string, error) {
config := corev1.ConfigMap{}
- err := c.Get(ctx, ctrl.ObjectKey{Namespace: "kube-public", Name:
"local-registry-hosting"}, &config)
+ err := utils.GetClient().Get(ctx, ctrl.ObjectKey{Namespace:
"kube-public", Name: "local-registry-hosting"}, &config)
if err != nil {
if k8serrors.IsNotFound(err) {
return nil, nil
diff --git a/controllers/profiles/common/properties/platform_test.go
b/controllers/profiles/common/properties/platform_test.go
index 52363661..093a5605 100644
--- a/controllers/profiles/common/properties/platform_test.go
+++ b/controllers/profiles/common/properties/platform_test.go
@@ -19,7 +19,6 @@ import (
"github.com/apache/incubator-kie-kogito-serverless-operator/api/v1alpha08"
"github.com/apache/incubator-kie-kogito-serverless-operator/test"
- "github.com/apache/incubator-kie-kogito-serverless-operator/utils"
"github.com/stretchr/testify/assert"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -64,8 +63,7 @@ func Test_resolvePlatformWorkflowProperties(t *testing.T) {
},
}
- client :=
test.NewSonataFlowClientBuilder().WithRuntimeObjects(platform, secret,
cm).WithStatusSubresource(platform).Build()
- utils.SetClient(client)
+ _ = test.NewSonataFlowClientBuilder().WithRuntimeObjects(platform,
secret, cm).WithStatusSubresource(platform).Build()
props, err := resolvePlatformWorkflowProperties(platform)
assert.NoError(t, err)
@@ -106,8 +104,7 @@ func Test_resolvePlatformWorkflowProperties_RefNotFound(t
*testing.T) {
},
}
- client :=
test.NewSonataFlowClientBuilder().WithRuntimeObjects(platform).WithStatusSubresource(platform).Build()
- utils.SetClient(client)
+ _ =
test.NewSonataFlowClientBuilder().WithRuntimeObjects(platform).WithStatusSubresource(platform).Build()
props, err := resolvePlatformWorkflowProperties(platform)
assert.NoError(t, err)
diff --git a/controllers/sonataflowclusterplatform_controller.go
b/controllers/sonataflowclusterplatform_controller.go
index a511bbaf..1142b4a8 100644
--- a/controllers/sonataflowclusterplatform_controller.go
+++ b/controllers/sonataflowclusterplatform_controller.go
@@ -134,7 +134,7 @@ func (r *SonataFlowClusterPlatformReconciler)
SetupWithManager(mgr ctrlrun.Manag
// if actively referenced sonataflowplatform object is changed, reconcile the
active SonataFlowClusterPlatform.
func (r *SonataFlowClusterPlatformReconciler)
mapPlatformToClusterPlatformRequests(ctx context.Context, object client.Object)
[]reconcile.Request {
- sfcPlatform, err := clusterplatform.GetActiveClusterPlatform(ctx,
r.Client)
+ sfcPlatform, err := clusterplatform.GetActiveClusterPlatform(ctx)
if err != nil && !errors.IsNotFound(err) {
klog.V(log.E).ErrorS(err, "Failed to get active
SonataFlowClusterPlatform")
return nil
diff --git a/controllers/sonataflowplatform_controller.go
b/controllers/sonataflowplatform_controller.go
index ff36a8ae..e111a321 100644
--- a/controllers/sonataflowplatform_controller.go
+++ b/controllers/sonataflowplatform_controller.go
@@ -114,7 +114,7 @@ func (r *SonataFlowPlatformReconciler) Reconcile(ctx
context.Context, req reconc
target := instance.DeepCopy()
- if err = r.SonataFlowPlatformUpdateStatus(ctx, req, target); err != nil
{
+ if err = r.updateSonataFlowPlatformStatus(ctx, req, target); err != nil
{
return reconcile.Result{}, err
}
@@ -170,10 +170,10 @@ func (r *SonataFlowPlatformReconciler) Reconcile(ctx
context.Context, req reconc
}
-// If an active cluster platform exists, update platform.Status accordingly
-func (r *SonataFlowPlatformReconciler) SonataFlowPlatformUpdateStatus(ctx
context.Context, req reconcile.Request, target *operatorapi.SonataFlowPlatform)
error {
+// sonataFlowPlatformUpdateStatus If an active cluster platform exists, update
platform.Status accordingly
+func (r *SonataFlowPlatformReconciler) updateSonataFlowPlatformStatus(ctx
context.Context, req reconcile.Request, target *operatorapi.SonataFlowPlatform)
error {
// Fetch the active SonataFlowClusterPlatform instance
- sfcPlatform, err := clusterplatform.GetActiveClusterPlatform(ctx,
r.Client)
+ sfcPlatform, err := clusterplatform.GetActiveClusterPlatform(ctx)
if err != nil && !errors.IsNotFound(err) {
klog.V(log.E).ErrorS(err, "Failed to get active
SonataFlowClusterPlatform")
return err
@@ -241,7 +241,7 @@ func (r *SonataFlowPlatformReconciler)
mapClusterPlatformToPlatformRequests(ctx
// if actively referenced sonataflowplatform is changed, reconcile other
SonataFlowPlatforms in the cluster.
func (r *SonataFlowPlatformReconciler) mapPlatformToPlatformRequests(ctx
context.Context, object client.Object) []reconcile.Request {
platform := object.(*operatorapi.SonataFlowPlatform)
- sfcPlatform, err := clusterplatform.GetActiveClusterPlatform(ctx,
r.Client)
+ sfcPlatform, err := clusterplatform.GetActiveClusterPlatform(ctx)
if err != nil && !errors.IsNotFound(err) {
klog.V(log.E).ErrorS(err, "Failed to get active
SonataFlowClusterPlatform")
return nil
diff --git a/test/kubernetes_cli.go b/test/kubernetes_cli.go
index 72029fd1..5120a5ca 100644
--- a/test/kubernetes_cli.go
+++ b/test/kubernetes_cli.go
@@ -23,12 +23,14 @@ import (
"context"
"testing"
+ "github.com/apache/incubator-kie-kogito-serverless-operator/utils"
buildv1 "github.com/openshift/api/build/v1"
imgv1 "github.com/openshift/api/image/v1"
routev1 "github.com/openshift/api/route/v1"
"github.com/stretchr/testify/assert"
appsv1 "k8s.io/api/apps/v1"
v1 "k8s.io/api/core/v1"
+ "k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/types"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/client-go/kubernetes/scheme"
@@ -44,29 +46,61 @@ func NewFakeRecorder() record.EventRecorder {
return record.NewFakeRecorder(10)
}
+type SonataFlowClientBuilder struct {
+ innerBuilder *fake.ClientBuilder
+}
+
+// Build from the underlying fake.ClientBuilder.
+// To overwrite this method we need to forward all the functions from the
+// base implementation since they do not use an interface.
+func (s *SonataFlowClientBuilder) Build() ctrl.WithWatch {
+ cli := s.innerBuilder.Build()
+ utils.SetClient(cli)
+ return cli
+}
+
+func (s *SonataFlowClientBuilder) WithRuntimeObjects(initRuntimeObjs
...runtime.Object) *SonataFlowClientBuilder {
+ _ = s.innerBuilder.WithRuntimeObjects(initRuntimeObjs...)
+ return s
+}
+
+func (s *SonataFlowClientBuilder) WithStatusSubresource(o ...ctrl.Object)
*SonataFlowClientBuilder {
+ _ = s.innerBuilder.WithStatusSubresource(o...)
+ return s
+}
+
// NewSonataFlowClientBuilder creates a new fake.ClientBuilder with the right
scheme references
-func NewSonataFlowClientBuilder() *fake.ClientBuilder {
+func NewSonataFlowClientBuilder() *SonataFlowClientBuilder {
s := scheme.Scheme
utilruntime.Must(operatorapi.AddToScheme(s))
- return fake.NewClientBuilder().WithScheme(s)
+ builder := fake.NewClientBuilder().WithScheme(s)
+ return &SonataFlowClientBuilder{
+ innerBuilder: builder,
+ }
}
-func NewSonataFlowClientBuilderWithKnative() *fake.ClientBuilder {
+func NewSonataFlowClientBuilderWithKnative() *SonataFlowClientBuilder {
s := scheme.Scheme
utilruntime.Must(operatorapi.AddToScheme(s))
utilruntime.Must(servingv1.AddToScheme(s))
- return fake.NewClientBuilder().WithScheme(s)
+ builder := fake.NewClientBuilder().WithScheme(s)
+ return &SonataFlowClientBuilder{
+ innerBuilder: builder,
+ }
}
// NewKogitoClientBuilderWithOpenShift creates a new fake client with
OpenShift schemas.
// If your object is not present, just add in the list below.
-func NewKogitoClientBuilderWithOpenShift() *fake.ClientBuilder {
+func NewKogitoClientBuilderWithOpenShift() *SonataFlowClientBuilder {
s := scheme.Scheme
utilruntime.Must(routev1.Install(s))
utilruntime.Must(buildv1.Install(s))
utilruntime.Must(imgv1.Install(s))
utilruntime.Must(operatorapi.AddToScheme(s))
- return fake.NewClientBuilder().WithScheme(s)
+ builder := fake.NewClientBuilder().WithScheme(s)
+ return &SonataFlowClientBuilder{
+ innerBuilder: builder,
+ }
}
func MustGetDeployment(t *testing.T, client ctrl.WithWatch, workflow
*operatorapi.SonataFlow) *appsv1.Deployment {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]