You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ts...@apache.org on 2022/06/21 01:24:57 UTC
[camel-k] branch main updated: chore(trait): use k8s.io/utils/pointer instead of homemade utils for pointer operations
This is an automated email from the ASF dual-hosted git repository.
tsato pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-k.git
The following commit(s) were added to refs/heads/main by this push:
new c2a11bcf7 chore(trait): use k8s.io/utils/pointer instead of homemade utils for pointer operations
c2a11bcf7 is described below
commit c2a11bcf705f27c7d6c75a187cf3759d99dc63f3
Author: Tadayoshi Sato <sa...@gmail.com>
AuthorDate: Mon Jun 20 21:17:49 2022 +0900
chore(trait): use k8s.io/utils/pointer instead of homemade utils for pointer operations
---
addons/tracing/tracing.go | 6 ++++--
addons/tracing/tracing_test.go | 5 ++++-
pkg/trait/affinity.go | 17 ++++++++--------
pkg/trait/affinity_test.go | 13 ++++++------
pkg/trait/builder.go | 3 ++-
pkg/trait/builder_test.go | 3 ++-
pkg/trait/camel.go | 3 ++-
pkg/trait/camel_test.go | 5 +++--
pkg/trait/container.go | 9 +++++----
pkg/trait/cron.go | 19 +++++++++---------
pkg/trait/dependencies.go | 4 +++-
pkg/trait/deployer.go | 7 ++++---
pkg/trait/deployment.go | 5 +++--
pkg/trait/deployment_test.go | 5 +++--
pkg/trait/environment.go | 10 ++++++----
pkg/trait/error_handler.go | 4 +++-
pkg/trait/gc.go | 3 ++-
pkg/trait/gc_test.go | 5 +++--
pkg/trait/health.go | 17 ++++++++--------
pkg/trait/ingress.go | 5 +++--
pkg/trait/ingress_test.go | 9 +++++----
pkg/trait/init.go | 4 +++-
pkg/trait/istio.go | 3 ++-
pkg/trait/jolokia.go | 3 ++-
pkg/trait/jolokia_test.go | 7 ++++---
pkg/trait/jvm.go | 13 ++++++------
pkg/trait/jvm_test.go | 11 ++++++-----
pkg/trait/kamelets.go | 5 +++--
pkg/trait/knative.go | 19 +++++++++---------
pkg/trait/knative_service.go | 5 +++--
pkg/trait/logging.go | 10 ++++++----
pkg/trait/mount.go | 3 ++-
pkg/trait/openapi.go | 3 ++-
pkg/trait/owner.go | 3 ++-
pkg/trait/pdb.go | 3 ++-
pkg/trait/pdb_test.go | 3 ++-
pkg/trait/platform.go | 9 +++++----
pkg/trait/platform_test.go | 9 ++++++---
pkg/trait/pod.go | 3 ++-
pkg/trait/pod_test.go | 3 ++-
pkg/trait/prometheus.go | 7 ++++---
pkg/trait/pull_secret.go | 9 +++++----
pkg/trait/pull_secret_test.go | 8 +++++---
pkg/trait/quarkus.go | 5 +++--
pkg/trait/quarkus_test.go | 6 ++++--
pkg/trait/registry.go | 7 ++++---
pkg/trait/route.go | 3 ++-
pkg/trait/service.go | 7 ++++---
pkg/trait/service_binding.go | 7 ++++---
pkg/trait/toleration.go | 3 ++-
pkg/trait/toleration_test.go | 3 ++-
pkg/trait/util.go | 29 ---------------------------
pkg/trait/util_test.go | 45 ------------------------------------------
53 files changed, 202 insertions(+), 213 deletions(-)
diff --git a/addons/tracing/tracing.go b/addons/tracing/tracing.go
index e1e6da6bf..dc3843c3c 100644
--- a/addons/tracing/tracing.go
+++ b/addons/tracing/tracing.go
@@ -18,6 +18,8 @@ limitations under the License.
package tracing
import (
+ "k8s.io/utils/pointer"
+
"github.com/apache/camel-k/addons/tracing/discovery"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/trait"
@@ -76,11 +78,11 @@ func NewTracingTrait() trait.Trait {
}
func (t *tracingTrait) Configure(e *trait.Environment) (bool, error) {
- if trait.IsNilOrFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, false) {
return false, nil
}
- if trait.IsNilOrTrue(t.Auto) {
+ if pointer.BoolDeref(t.Auto, true) {
if t.Endpoint == "" {
for _, locator := range discovery.TracingLocators {
endpoint, err := locator.FindEndpoint(e.Ctx, t.Client, t.L, e)
diff --git a/addons/tracing/tracing_test.go b/addons/tracing/tracing_test.go
index e787304f2..e81707261 100644
--- a/addons/tracing/tracing_test.go
+++ b/addons/tracing/tracing_test.go
@@ -23,14 +23,17 @@ import (
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/trait"
"github.com/apache/camel-k/pkg/util/camel"
+
"github.com/stretchr/testify/assert"
+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/utils/pointer"
)
func TestTracingTraitOnQuarkus(t *testing.T) {
e := createEnvironment(t, camel.QuarkusCatalog)
tracing := NewTracingTrait()
- tracing.(*tracingTrait).Enabled = trait.BoolP(true)
+ tracing.(*tracingTrait).Enabled = pointer.Bool(true)
tracing.(*tracingTrait).Endpoint = "http://endpoint3"
ok, err := tracing.Configure(e)
assert.Nil(t, err)
diff --git a/pkg/trait/affinity.go b/pkg/trait/affinity.go
index 089e47837..87a1b622f 100644
--- a/pkg/trait/affinity.go
+++ b/pkg/trait/affinity.go
@@ -25,6 +25,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/selection"
+ "k8s.io/utils/pointer"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
)
@@ -54,17 +55,17 @@ type affinityTrait struct {
func newAffinityTrait() Trait {
return &affinityTrait{
BaseTrait: NewBaseTrait("affinity", 1500),
- PodAffinity: BoolP(false),
- PodAntiAffinity: BoolP(false),
+ PodAffinity: pointer.Bool(false),
+ PodAntiAffinity: pointer.Bool(false),
}
}
func (t *affinityTrait) Configure(e *Environment) (bool, error) {
- if IsNilOrFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, false) {
return false, nil
}
- if IsTrue(t.PodAffinity) && IsTrue(t.PodAntiAffinity) {
+ if pointer.BoolDeref(t.PodAffinity, false) && pointer.BoolDeref(t.PodAntiAffinity, false) {
return false, fmt.Errorf("both pod affinity and pod anti-affinity can't be set simultaneously")
}
@@ -131,7 +132,7 @@ func (t *affinityTrait) addNodeAffinity(_ *Environment, podSpec *corev1.PodSpec)
}
func (t *affinityTrait) addPodAffinity(e *Environment, podSpec *corev1.PodSpec) error {
- if IsNilOrFalse(t.PodAffinity) && len(t.PodAffinityLabels) == 0 {
+ if !pointer.BoolDeref(t.PodAffinity, false) && len(t.PodAffinityLabels) == 0 {
return nil
}
@@ -156,7 +157,7 @@ func (t *affinityTrait) addPodAffinity(e *Environment, podSpec *corev1.PodSpec)
}
}
- if IsTrue(t.PodAffinity) {
+ if pointer.BoolDeref(t.PodAffinity, false) {
labelSelectorRequirements = append(labelSelectorRequirements, metav1.LabelSelectorRequirement{
Key: v1.IntegrationLabel,
Operator: metav1.LabelSelectorOpIn,
@@ -182,7 +183,7 @@ func (t *affinityTrait) addPodAffinity(e *Environment, podSpec *corev1.PodSpec)
}
func (t *affinityTrait) addPodAntiAffinity(e *Environment, podSpec *corev1.PodSpec) error {
- if IsNilOrFalse(t.PodAntiAffinity) && len(t.PodAntiAffinityLabels) == 0 {
+ if !pointer.BoolDeref(t.PodAntiAffinity, false) && len(t.PodAntiAffinityLabels) == 0 {
return nil
}
@@ -207,7 +208,7 @@ func (t *affinityTrait) addPodAntiAffinity(e *Environment, podSpec *corev1.PodSp
}
}
- if IsTrue(t.PodAntiAffinity) {
+ if pointer.BoolDeref(t.PodAntiAffinity, false) {
labelSelectorRequirements = append(labelSelectorRequirements, metav1.LabelSelectorRequirement{
Key: v1.IntegrationLabel,
Operator: metav1.LabelSelectorOpIn,
diff --git a/pkg/trait/affinity_test.go b/pkg/trait/affinity_test.go
index 9d49406fe..c6cfc8884 100644
--- a/pkg/trait/affinity_test.go
+++ b/pkg/trait/affinity_test.go
@@ -24,6 +24,7 @@ import (
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/utils/pointer"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
)
@@ -40,8 +41,8 @@ func TestConfigureAffinityTraitDoesSucceed(t *testing.T) {
func TestConfigureAffinityTraitWithConflictingAffinitiesFails(t *testing.T) {
affinityTrait := createNominalAffinityTest()
environment, _ := createNominalDeploymentTraitTest()
- affinityTrait.PodAffinity = BoolP(true)
- affinityTrait.PodAntiAffinity = BoolP(true)
+ affinityTrait.PodAffinity = pointer.Bool(true)
+ affinityTrait.PodAntiAffinity = pointer.Bool(true)
configured, err := affinityTrait.Configure(environment)
assert.False(t, configured)
@@ -50,7 +51,7 @@ func TestConfigureAffinityTraitWithConflictingAffinitiesFails(t *testing.T) {
func TestConfigureDisabledAffinityTraitFails(t *testing.T) {
affinityTrait := createNominalAffinityTest()
- affinityTrait.Enabled = BoolP(false)
+ affinityTrait.Enabled = pointer.Bool(false)
environment, _ := createNominalDeploymentTraitTest()
configured, err := affinityTrait.Configure(environment)
@@ -120,7 +121,7 @@ func testApplyNodeAffinityLabelsDoesSucceed(t *testing.T, trait *affinityTrait,
func TestApplyPodAntiAffinityLabelsDoesSucceed(t *testing.T) {
affinityTrait := createNominalAffinityTest()
- affinityTrait.PodAntiAffinity = BoolP(true)
+ affinityTrait.PodAntiAffinity = pointer.Bool(true)
affinityTrait.PodAntiAffinityLabels = []string{"criteria != value"}
environment, deployment := createNominalDeploymentTraitTest()
@@ -155,7 +156,7 @@ func testApplyPodAntiAffinityLabelsDoesSucceed(t *testing.T, trait *affinityTrai
func TestApplyPodAffinityLabelsDoesSucceed(t *testing.T) {
affinityTrait := createNominalAffinityTest()
- affinityTrait.PodAffinity = BoolP(true)
+ affinityTrait.PodAffinity = pointer.Bool(true)
affinityTrait.PodAffinityLabels = []string{"!criteria"}
environment, deployment := createNominalDeploymentTraitTest()
@@ -189,7 +190,7 @@ func testApplyPodAffinityLabelsDoesSucceed(t *testing.T, trait *affinityTrait, e
func createNominalAffinityTest() *affinityTrait {
trait, _ := newAffinityTrait().(*affinityTrait)
- trait.Enabled = BoolP(true)
+ trait.Enabled = pointer.Bool(true)
return trait
}
diff --git a/pkg/trait/builder.go b/pkg/trait/builder.go
index 9b7ea2e64..97940469b 100644
--- a/pkg/trait/builder.go
+++ b/pkg/trait/builder.go
@@ -22,6 +22,7 @@ import (
"sort"
corev1 "k8s.io/api/core/v1"
+ "k8s.io/utils/pointer"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/builder"
@@ -58,7 +59,7 @@ func (t *builderTrait) InfluencesKit() bool {
}
func (t *builderTrait) Configure(e *Environment) (bool, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
return false, nil
}
diff --git a/pkg/trait/builder_test.go b/pkg/trait/builder_test.go
index 577687614..ad7f8e861 100644
--- a/pkg/trait/builder_test.go
+++ b/pkg/trait/builder_test.go
@@ -25,6 +25,7 @@ import (
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/utils/pointer"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/util/camel"
@@ -165,7 +166,7 @@ func TestMavenPropertyBuilderTrait(t *testing.T) {
func createNominalBuilderTraitTest() *builderTrait {
builderTrait, _ := newBuilderTrait().(*builderTrait)
- builderTrait.Enabled = BoolP(true)
+ builderTrait.Enabled = pointer.Bool(true)
return builderTrait
}
diff --git a/pkg/trait/camel.go b/pkg/trait/camel.go
index f774421f7..f6346fb06 100644
--- a/pkg/trait/camel.go
+++ b/pkg/trait/camel.go
@@ -26,6 +26,7 @@ import (
"github.com/pkg/errors"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/utils/pointer"
ctrl "sigs.k8s.io/controller-runtime/pkg/client"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
@@ -52,7 +53,7 @@ func newCamelTrait() Trait {
}
func (t *camelTrait) Configure(e *Environment) (bool, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
return false, errors.New("trait camel cannot be disabled")
}
diff --git a/pkg/trait/camel_test.go b/pkg/trait/camel_test.go
index fb2eb2981..58d8a4bfb 100644
--- a/pkg/trait/camel_test.go
+++ b/pkg/trait/camel_test.go
@@ -23,6 +23,7 @@ import (
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/utils/pointer"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/util/camel"
@@ -42,7 +43,7 @@ func TestConfigureEnabledCamelTraitSucceeds(t *testing.T) {
func TestConfigureDisabledCamelTraitFails(t *testing.T) {
trait, environment := createNominalCamelTest()
- trait.Enabled = BoolP(false)
+ trait.Enabled = pointer.Bool(false)
configured, err := trait.Configure(environment)
assert.NotNil(t, err)
@@ -74,7 +75,7 @@ func createNominalCamelTest() (*camelTrait, *Environment) {
client, _ := test.NewFakeClient()
trait, _ := newCamelTrait().(*camelTrait)
- trait.Enabled = BoolP(true)
+ trait.Enabled = pointer.Bool(true)
environment := &Environment{
CamelCatalog: &camel.RuntimeCatalog{
diff --git a/pkg/trait/container.go b/pkg/trait/container.go
index 0f61820e6..7c3bc9019 100644
--- a/pkg/trait/container.go
+++ b/pkg/trait/container.go
@@ -26,6 +26,7 @@ import (
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/resource"
"k8s.io/apimachinery/pkg/util/intstr"
+ "k8s.io/utils/pointer"
serving "knative.dev/serving/pkg/apis/serving/v1"
@@ -134,14 +135,14 @@ func newContainerTrait() Trait {
ServicePort: defaultServicePort,
ServicePortName: defaultContainerPortName,
Name: defaultContainerName,
- DeprecatedProbesEnabled: BoolP(false),
+ DeprecatedProbesEnabled: pointer.Bool(false),
DeprecatedLivenessScheme: string(corev1.URISchemeHTTP),
DeprecatedReadinessScheme: string(corev1.URISchemeHTTP),
}
}
func (t *containerTrait) Configure(e *Environment) (bool, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
return false, nil
}
@@ -149,7 +150,7 @@ func (t *containerTrait) Configure(e *Environment) (bool, error) {
return false, nil
}
- if IsNilOrTrue(t.Auto) {
+ if pointer.BoolDeref(t.Auto, true) {
if t.Expose == nil {
e := e.Resources.GetServiceForIntegration(e.Integration) != nil
t.Expose = &e
@@ -251,7 +252,7 @@ func (t *containerTrait) configureContainer(e *Environment) error {
}
t.configureResources(e, &container)
- if IsTrue(t.Expose) {
+ if pointer.BoolDeref(t.Expose, false) {
t.configureService(e, &container)
}
t.configureCapabilities(e)
diff --git a/pkg/trait/cron.go b/pkg/trait/cron.go
index dbfeb556e..13c10ba8c 100644
--- a/pkg/trait/cron.go
+++ b/pkg/trait/cron.go
@@ -27,6 +27,7 @@ import (
batchv1beta1 "k8s.io/api/batch/v1beta1"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/utils/pointer"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/metadata"
@@ -122,7 +123,7 @@ func newCronTrait() Trait {
}
func (t *cronTrait) Configure(e *Environment) (bool, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
e.Integration.Status.SetCondition(
v1.IntegrationConditionCronJobAvailable,
corev1.ConditionFalse,
@@ -148,7 +149,7 @@ func (t *cronTrait) Configure(e *Environment) (bool, error) {
return false, nil
}
- if IsNilOrTrue(t.Auto) {
+ if pointer.BoolDeref(t.Auto, true) {
globalCron, err := t.getGlobalCron(e)
if err != nil {
e.Integration.Status.SetErrorCondition(
@@ -183,7 +184,7 @@ func (t *cronTrait) Configure(e *Environment) (bool, error) {
}
for _, fromURI := range fromURIs {
if uri.GetComponent(fromURI) == genericCronComponent {
- t.Fallback = BoolP(true)
+ t.Fallback = pointer.Bool(true)
break
}
}
@@ -191,7 +192,7 @@ func (t *cronTrait) Configure(e *Environment) (bool, error) {
}
// Fallback strategy can be implemented in any other controller
- if IsTrue(t.Fallback) {
+ if pointer.BoolDeref(t.Fallback, false) {
if e.IntegrationInPhase(v1.IntegrationPhaseDeploying) {
e.Integration.Status.SetCondition(
v1.IntegrationConditionCronJobAvailable,
@@ -232,7 +233,7 @@ func (t *cronTrait) Apply(e *Environment) error {
if e.IntegrationInPhase(v1.IntegrationPhaseInitialization) {
util.StringSliceUniqueAdd(&e.Integration.Status.Capabilities, v1.CapabilityCron)
- if IsTrue(t.Fallback) {
+ if pointer.BoolDeref(t.Fallback, false) {
fallbackArtifact := e.CamelCatalog.GetArtifactByScheme(genericCronComponentFallbackScheme)
if fallbackArtifact == nil {
return fmt.Errorf("no fallback artifact for scheme %q has been found in camel catalog", genericCronComponentFallbackScheme)
@@ -242,7 +243,7 @@ func (t *cronTrait) Apply(e *Environment) error {
}
}
- if IsNilOrFalse(t.Fallback) && e.IntegrationInRunningPhases() {
+ if !pointer.BoolDeref(t.Fallback, false) && e.IntegrationInRunningPhases() {
if e.ApplicationProperties == nil {
e.ApplicationProperties = make(map[string]string)
}
@@ -324,16 +325,16 @@ func (t *cronTrait) getCronJobFor(e *Environment) *batchv1beta1.CronJob {
// SelectControllerStrategy can be used to check if a CronJob can be generated given the integration and trait settings.
func (t *cronTrait) SelectControllerStrategy(e *Environment) (*ControllerStrategy, error) {
cronStrategy := ControllerStrategyCronJob
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
return nil, nil
}
- if IsTrue(t.Fallback) {
+ if pointer.BoolDeref(t.Fallback, false) {
return nil, nil
}
if t.Schedule != "" {
return &cronStrategy, nil
}
- if IsNilOrTrue(t.Auto) {
+ if pointer.BoolDeref(t.Auto, true) {
globalCron, err := t.getGlobalCron(e)
if err == nil && globalCron != nil {
return &cronStrategy, nil
diff --git a/pkg/trait/dependencies.go b/pkg/trait/dependencies.go
index 00b039179..b8cf3e4d4 100644
--- a/pkg/trait/dependencies.go
+++ b/pkg/trait/dependencies.go
@@ -20,6 +20,8 @@ package trait
import (
"github.com/scylladb/go-set/strset"
+ "k8s.io/utils/pointer"
+
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/metadata"
"github.com/apache/camel-k/pkg/util"
@@ -41,7 +43,7 @@ func newDependenciesTrait() Trait {
}
func (t *dependenciesTrait) Configure(e *Environment) (bool, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
return false, nil
}
diff --git a/pkg/trait/deployer.go b/pkg/trait/deployer.go
index 3dfb036ef..ca40062d7 100644
--- a/pkg/trait/deployer.go
+++ b/pkg/trait/deployer.go
@@ -27,6 +27,7 @@ import (
k8serrors "k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/types"
+ "k8s.io/utils/pointer"
ctrl "sigs.k8s.io/controller-runtime/pkg/client"
@@ -57,7 +58,7 @@ func newDeployerTrait() Trait {
}
func (t *deployerTrait) Configure(e *Environment) (bool, error) {
- return e.Integration != nil && IsNilOrTrue(t.Enabled), nil
+ return e.Integration != nil && pointer.BoolDeref(t.Enabled, true), nil
}
func (t *deployerTrait) Apply(e *Environment) error {
@@ -71,7 +72,7 @@ func (t *deployerTrait) Apply(e *Environment) error {
// check its list of accepted MIME types.
// As a simpler solution, we fall back to client-side apply at the first
// 415 error, and assume server-side apply is not available globally.
- if hasServerSideApply && IsNilOrTrue(t.UseSSA) {
+ if hasServerSideApply && pointer.BoolDeref(t.UseSSA, true) {
err := t.serverSideApply(env, resource)
switch {
case err == nil:
@@ -162,7 +163,7 @@ func isIncompatibleServerError(err error) bool {
}
func (t *deployerTrait) SelectControllerStrategy(e *Environment) (*ControllerStrategy, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
return nil, nil
}
if t.Kind != "" {
diff --git a/pkg/trait/deployment.go b/pkg/trait/deployment.go
index c237732c8..d0a060921 100644
--- a/pkg/trait/deployment.go
+++ b/pkg/trait/deployment.go
@@ -23,6 +23,7 @@ import (
appsv1 "k8s.io/api/apps/v1"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/utils/pointer"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/util/label"
@@ -48,7 +49,7 @@ func newDeploymentTrait() Trait {
}
func (t *deploymentTrait) Configure(e *Environment) (bool, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
e.Integration.Status.SetCondition(
v1.IntegrationConditionDeploymentAvailable,
corev1.ConditionFalse,
@@ -90,7 +91,7 @@ func (t *deploymentTrait) Configure(e *Environment) (bool, error) {
}
func (t *deploymentTrait) SelectControllerStrategy(e *Environment) (*ControllerStrategy, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
return nil, nil
}
deploymentStrategy := ControllerStrategyDeployment
diff --git a/pkg/trait/deployment_test.go b/pkg/trait/deployment_test.go
index 67eaa2e7e..6dc2dbd57 100644
--- a/pkg/trait/deployment_test.go
+++ b/pkg/trait/deployment_test.go
@@ -25,6 +25,7 @@ import (
appsv1 "k8s.io/api/apps/v1"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/utils/pointer"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/util/kubernetes"
@@ -33,7 +34,7 @@ import (
func TestConfigureDisabledDeploymentTraitDoesNotSucceed(t *testing.T) {
deploymentTrait, environment := createNominalDeploymentTest()
- deploymentTrait.Enabled = BoolP(false)
+ deploymentTrait.Enabled = pointer.Bool(false)
configured, err := deploymentTrait.Configure(environment)
@@ -148,7 +149,7 @@ func TestApplyDeploymentTraitWithProgressDeadline(t *testing.T) {
func createNominalDeploymentTest() (*deploymentTrait, *Environment) {
trait, _ := newDeploymentTrait().(*deploymentTrait)
- trait.Enabled = BoolP(true)
+ trait.Enabled = pointer.Bool(true)
trait.Client, _ = test.NewFakeClient(&appsv1.Deployment{
ObjectMeta: metav1.ObjectMeta{
Name: "integration-name",
diff --git a/pkg/trait/environment.go b/pkg/trait/environment.go
index 0412f1758..ba8688a32 100644
--- a/pkg/trait/environment.go
+++ b/pkg/trait/environment.go
@@ -20,6 +20,8 @@ package trait
import (
"os"
+ "k8s.io/utils/pointer"
+
"github.com/apache/camel-k/pkg/util/camel"
"github.com/apache/camel-k/pkg/util/defaults"
"github.com/apache/camel-k/pkg/util/envvar"
@@ -62,12 +64,12 @@ const (
func newEnvironmentTrait() Trait {
return &environmentTrait{
BaseTrait: NewBaseTrait("environment", 800),
- ContainerMeta: BoolP(true),
+ ContainerMeta: pointer.Bool(true),
}
}
func (t *environmentTrait) Configure(e *Environment) (bool, error) {
- if IsNilOrTrue(t.Enabled) {
+ if pointer.BoolDeref(t.Enabled, true) {
return e.IntegrationInRunningPhases(), nil
}
@@ -83,12 +85,12 @@ func (t *environmentTrait) Apply(e *Environment) error {
envvar.SetVal(&e.EnvVars, envVarMountPathConfigMaps, camel.ConfigConfigmapsMountPath)
envvar.SetVal(&e.EnvVars, envVarMountPathSecrets, camel.ConfigSecretsMountPath)
- if IsNilOrTrue(t.ContainerMeta) {
+ if pointer.BoolDeref(t.ContainerMeta, true) {
envvar.SetValFrom(&e.EnvVars, envVarNamespace, "metadata.namespace")
envvar.SetValFrom(&e.EnvVars, envVarPodName, "metadata.name")
}
- if IsNilOrTrue(t.HTTPProxy) {
+ if pointer.BoolDeref(t.HTTPProxy, true) {
if HTTPProxy, ok := os.LookupEnv("HTTP_PROXY"); ok {
envvar.SetVal(&e.EnvVars, "HTTP_PROXY", HTTPProxy)
}
diff --git a/pkg/trait/error_handler.go b/pkg/trait/error_handler.go
index 590f73757..faa26a662 100644
--- a/pkg/trait/error_handler.go
+++ b/pkg/trait/error_handler.go
@@ -23,6 +23,8 @@ import (
"gopkg.in/yaml.v2"
+ "k8s.io/utils/pointer"
+
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
"github.com/apache/camel-k/pkg/util"
@@ -50,7 +52,7 @@ func (t *errorHandlerTrait) IsPlatformTrait() bool {
}
func (t *errorHandlerTrait) Configure(e *Environment) (bool, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
return false, nil
}
diff --git a/pkg/trait/gc.go b/pkg/trait/gc.go
index ef20ae7b1..cd8fc1bda 100644
--- a/pkg/trait/gc.go
+++ b/pkg/trait/gc.go
@@ -40,6 +40,7 @@ import (
"k8s.io/client-go/discovery"
"k8s.io/client-go/discovery/cached/disk"
"k8s.io/client-go/discovery/cached/memory"
+ "k8s.io/utils/pointer"
ctrl "sigs.k8s.io/controller-runtime/pkg/client"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
@@ -80,7 +81,7 @@ func newGarbageCollectorTrait() Trait {
}
func (t *garbageCollectorTrait) Configure(e *Environment) (bool, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
return false, nil
}
diff --git a/pkg/trait/gc_test.go b/pkg/trait/gc_test.go
index db8322f4e..10dd4462c 100644
--- a/pkg/trait/gc_test.go
+++ b/pkg/trait/gc_test.go
@@ -24,6 +24,7 @@ import (
"github.com/stretchr/testify/assert"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/utils/pointer"
)
func TestConfigureGarbageCollectorTraitDoesSucceed(t *testing.T) {
@@ -36,7 +37,7 @@ func TestConfigureGarbageCollectorTraitDoesSucceed(t *testing.T) {
func TestConfigureDisabledGarbageCollectorTraitDoesNotSucceed(t *testing.T) {
gcTrait, environment := createNominalGarbageCollectorTest()
- gcTrait.Enabled = BoolP(false)
+ gcTrait.Enabled = pointer.Bool(false)
configured, err := gcTrait.Configure(environment)
@@ -78,7 +79,7 @@ func TestApplyGarbageCollectorTraitDuringInitializationPhaseSkipPostActions(t *t
func createNominalGarbageCollectorTest() (*garbageCollectorTrait, *Environment) {
trait, _ := newGarbageCollectorTrait().(*garbageCollectorTrait)
- trait.Enabled = BoolP(true)
+ trait.Enabled = pointer.Bool(true)
environment := &Environment{
Catalog: NewCatalog(nil),
diff --git a/pkg/trait/health.go b/pkg/trait/health.go
index f5943a083..0dd2f26fa 100644
--- a/pkg/trait/health.go
+++ b/pkg/trait/health.go
@@ -23,6 +23,7 @@ import (
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/util/intstr"
+ "k8s.io/utils/pointer"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/util"
@@ -85,12 +86,12 @@ func (t *healthTrait) Configure(e *Environment) (bool, error) {
return false, nil
}
- if IsNilOrFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, false) {
// Source the configuration from the container trait to maintain backward compatibility.
// This can be removed once the deprecated properties related to health probes are actually
// removed from the container trait.
if trait := e.Catalog.GetTrait(containerTraitID); trait != nil {
- if container, ok := trait.(*containerTrait); ok && IsNilOrTrue(container.Enabled) && IsTrue(container.DeprecatedProbesEnabled) {
+ if container, ok := trait.(*containerTrait); ok && pointer.BoolDeref(container.Enabled, true) && pointer.BoolDeref(container.DeprecatedProbesEnabled, false) {
config, err := json.Marshal(container)
if err != nil {
return false, err
@@ -99,9 +100,9 @@ func (t *healthTrait) Configure(e *Environment) (bool, error) {
if err != nil {
return false, err
}
- t.Enabled = BoolP(true)
- t.LivenessProbeEnabled = BoolP(true)
- t.ReadinessProbeEnabled = BoolP(true)
+ t.Enabled = pointer.Bool(true)
+ t.LivenessProbeEnabled = pointer.Bool(true)
+ t.ReadinessProbeEnabled = pointer.Bool(true)
return true, err
}
}
@@ -123,7 +124,7 @@ func (t *healthTrait) Apply(e *Environment) error {
return nil
}
- if IsNilOrFalse(t.LivenessProbeEnabled) && IsFalse(t.ReadinessProbeEnabled) {
+ if !pointer.BoolDeref(t.LivenessProbeEnabled, false) && !pointer.BoolDeref(t.ReadinessProbeEnabled, true) {
return nil
}
@@ -140,10 +141,10 @@ func (t *healthTrait) Apply(e *Environment) error {
port = &p
}
- if IsTrue(t.LivenessProbeEnabled) {
+ if pointer.BoolDeref(t.LivenessProbeEnabled, false) {
container.LivenessProbe = t.newLivenessProbe(port, defaultLivenessProbePath)
}
- if IsNilOrTrue(t.ReadinessProbeEnabled) {
+ if pointer.BoolDeref(t.ReadinessProbeEnabled, true) {
container.ReadinessProbe = t.newReadinessProbe(port, defaultReadinessProbePath)
}
diff --git a/pkg/trait/ingress.go b/pkg/trait/ingress.go
index a5e2b7e89..66dbcf802 100644
--- a/pkg/trait/ingress.go
+++ b/pkg/trait/ingress.go
@@ -24,6 +24,7 @@ import (
corev1 "k8s.io/api/core/v1"
networking "k8s.io/api/networking/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/utils/pointer"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
)
@@ -55,7 +56,7 @@ func (t *ingressTrait) IsAllowedInProfile(profile v1.TraitProfile) bool {
}
func (t *ingressTrait) Configure(e *Environment) (bool, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
e.Integration.Status.SetCondition(
v1.IntegrationConditionExposureAvailable,
corev1.ConditionFalse,
@@ -69,7 +70,7 @@ func (t *ingressTrait) Configure(e *Environment) (bool, error) {
return false, nil
}
- if IsNilOrTrue(t.Auto) {
+ if pointer.BoolDeref(t.Auto, true) {
hasService := e.Resources.GetUserServiceForIntegration(e.Integration) != nil
hasHost := t.Host != ""
enabled := hasService && hasHost
diff --git a/pkg/trait/ingress_test.go b/pkg/trait/ingress_test.go
index 630935757..240346489 100644
--- a/pkg/trait/ingress_test.go
+++ b/pkg/trait/ingress_test.go
@@ -26,6 +26,7 @@ import (
networking "k8s.io/api/networking/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
+ "k8s.io/utils/pointer"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/util/kubernetes"
@@ -42,7 +43,7 @@ func TestConfigureIngressTraitDoesSucceed(t *testing.T) {
func TestConfigureDisabledIngressTraitDoesNotSucceed(t *testing.T) {
ingressTrait, environment := createNominalIngressTest()
- ingressTrait.Enabled = BoolP(false)
+ ingressTrait.Enabled = pointer.Bool(false)
configured, err := ingressTrait.Configure(environment)
@@ -66,7 +67,7 @@ func TestConfigureIngressTraitInWrongPhaseDoesNotSucceed(t *testing.T) {
func TestConfigureAutoIngressTraitWithoutUserServiceDoesNotSucceed(t *testing.T) {
ingressTrait, environment := createNominalIngressTest()
- ingressTrait.Auto = BoolP(true)
+ ingressTrait.Auto = pointer.Bool(true)
environment.Resources = kubernetes.NewCollection()
configured, err := ingressTrait.Configure(environment)
@@ -154,8 +155,8 @@ func TestApplyIngressTraitDoesSucceed(t *testing.T) {
func createNominalIngressTest() (*ingressTrait, *Environment) {
trait, _ := newIngressTrait().(*ingressTrait)
- trait.Enabled = BoolP(true)
- trait.Auto = BoolP(false)
+ trait.Enabled = pointer.Bool(true)
+ trait.Auto = pointer.Bool(false)
trait.Host = "hostname"
environment := &Environment{
diff --git a/pkg/trait/init.go b/pkg/trait/init.go
index 14f0ca6e2..7076c6a15 100644
--- a/pkg/trait/init.go
+++ b/pkg/trait/init.go
@@ -22,6 +22,8 @@ import (
"github.com/pkg/errors"
+ "k8s.io/utils/pointer"
+
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/util"
"github.com/apache/camel-k/pkg/util/dsl"
@@ -40,7 +42,7 @@ func NewInitTrait() Trait {
}
func (t *initTrait) Configure(e *Environment) (bool, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
return false, errors.New("trait init cannot be disabled")
}
diff --git a/pkg/trait/istio.go b/pkg/trait/istio.go
index 58b654747..1ad3daacb 100644
--- a/pkg/trait/istio.go
+++ b/pkg/trait/istio.go
@@ -21,6 +21,7 @@ import (
"strconv"
appsv1 "k8s.io/api/apps/v1"
+ "k8s.io/utils/pointer"
servingv1 "knative.dev/serving/pkg/apis/serving/v1"
)
@@ -50,7 +51,7 @@ func newIstioTrait() Trait {
}
func (t *istioTrait) Configure(e *Environment) (bool, error) {
- if IsTrue(t.Enabled) {
+ if pointer.BoolDeref(t.Enabled, false) {
return e.IntegrationInRunningPhases(), nil
}
diff --git a/pkg/trait/jolokia.go b/pkg/trait/jolokia.go
index b96a70d4e..ca2725430 100644
--- a/pkg/trait/jolokia.go
+++ b/pkg/trait/jolokia.go
@@ -23,6 +23,7 @@ import (
"strings"
corev1 "k8s.io/api/core/v1"
+ "k8s.io/utils/pointer"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/util"
@@ -76,7 +77,7 @@ func newJolokiaTrait() Trait {
}
func (t *jolokiaTrait) Configure(e *Environment) (bool, error) {
- if IsNilOrFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, false) {
return false, nil
}
diff --git a/pkg/trait/jolokia_test.go b/pkg/trait/jolokia_test.go
index a02a2deca..13a07c09d 100644
--- a/pkg/trait/jolokia_test.go
+++ b/pkg/trait/jolokia_test.go
@@ -24,6 +24,7 @@ import (
appsv1 "k8s.io/api/apps/v1"
corev1 "k8s.io/api/core/v1"
+ "k8s.io/utils/pointer"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/util/kubernetes"
@@ -207,7 +208,7 @@ func TestSetDefaultBoolJolokiaOptionShouldSucceed(t *testing.T) {
func TestSetDefaultBoolJolokiaOptionShouldNotOverrideExistingValue(t *testing.T) {
trait, _ := newJolokiaTrait().(*jolokiaTrait)
options := map[string]string{}
- option := BoolP(false)
+ option := pointer.Bool(false)
trait.setDefaultJolokiaOption(options, &option, "key", true)
@@ -250,7 +251,7 @@ func TestAddBoolPointerOptionToJolokiaOptions(t *testing.T) {
trait, _ := newJolokiaTrait().(*jolokiaTrait)
options := map[string]string{}
- trait.addToJolokiaOptions(options, "key", BoolP(false))
+ trait.addToJolokiaOptions(options, "key", pointer.Bool(false))
assert.Len(t, options, 1)
assert.Equal(t, "false", options["key"])
@@ -267,7 +268,7 @@ func TestAddWrongTypeOptionToJolokiaOptionsDoesNothing(t *testing.T) {
func createNominalJolokiaTest() (*jolokiaTrait, *Environment) {
trait, _ := newJolokiaTrait().(*jolokiaTrait)
- trait.Enabled = BoolP(true)
+ trait.Enabled = pointer.Bool(true)
environment := &Environment{
Catalog: NewCatalog(nil),
diff --git a/pkg/trait/jvm.go b/pkg/trait/jvm.go
index e1bc3e4fc..58fda571b 100644
--- a/pkg/trait/jvm.go
+++ b/pkg/trait/jvm.go
@@ -32,6 +32,7 @@ import (
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/utils/pointer"
ctrl "sigs.k8s.io/controller-runtime/pkg/client"
@@ -65,12 +66,12 @@ func newJvmTrait() Trait {
return &jvmTrait{
BaseTrait: NewBaseTrait("jvm", 2000),
DebugAddress: "*:5005",
- PrintCommand: BoolP(true),
+ PrintCommand: pointer.Bool(true),
}
}
func (t *jvmTrait) Configure(e *Environment) (bool, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
return false, nil
}
@@ -80,7 +81,7 @@ func (t *jvmTrait) Configure(e *Environment) (bool, error) {
if trait := e.Catalog.GetTrait(quarkusTraitID); trait != nil {
// The JVM trait must be disabled in case the current IntegrationKit corresponds to a native build
- if quarkus, ok := trait.(*quarkusTrait); ok && IsNilOrTrue(quarkus.Enabled) && quarkus.isNativeIntegration(e) {
+ if quarkus, ok := trait.(*quarkusTrait); ok && pointer.BoolDeref(quarkus.Enabled, true) && quarkus.isNativeIntegration(e) {
return false, nil
}
}
@@ -145,9 +146,9 @@ func (t *jvmTrait) Apply(e *Environment) error {
args := container.Args
// Remote debugging
- if IsTrue(t.Debug) {
+ if pointer.BoolDeref(t.Debug, false) {
suspend := "n"
- if IsTrue(t.DebugSuspend) {
+ if pointer.BoolDeref(t.DebugSuspend, false) {
suspend = "y"
}
args = append(args,
@@ -250,7 +251,7 @@ func (t *jvmTrait) Apply(e *Environment) error {
args = append(args, e.CamelCatalog.Runtime.ApplicationClass)
- if IsNilOrTrue(t.PrintCommand) {
+ if pointer.BoolDeref(t.PrintCommand, true) {
args = append([]string{"exec", "java"}, args...)
container.Command = []string{"/bin/sh", "-c"}
cmd := strings.Join(args, " ")
diff --git a/pkg/trait/jvm_test.go b/pkg/trait/jvm_test.go
index 760dadf97..8fe4b772f 100644
--- a/pkg/trait/jvm_test.go
+++ b/pkg/trait/jvm_test.go
@@ -29,6 +29,7 @@ import (
appsv1 "k8s.io/api/apps/v1"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/utils/pointer"
serving "knative.dev/serving/pkg/apis/serving/v1"
@@ -67,7 +68,7 @@ func TestConfigureJvmTraitInWrongIntegrationKitPhaseDoesNotSucceed(t *testing.T)
func TestConfigureJvmDisabledTraitDoesNotSucceed(t *testing.T) {
trait, environment := createNominalJvmTest(v1.IntegrationKitTypePlatform)
- trait.Enabled = BoolP(false)
+ trait.Enabled = pointer.Bool(false)
configured, err := trait.Configure(environment)
assert.Nil(t, err)
@@ -146,8 +147,8 @@ func TestApplyJvmTraitWithKNativeResource(t *testing.T) {
func TestApplyJvmTraitWithDebugEnabled(t *testing.T) {
trait, environment := createNominalJvmTest(v1.IntegrationKitTypePlatform)
- trait.Debug = BoolP(true)
- trait.DebugSuspend = BoolP(true)
+ trait.Debug = pointer.Bool(true)
+ trait.DebugSuspend = pointer.Bool(true)
d := appsv1.Deployment{
Spec: appsv1.DeploymentSpec{
@@ -255,8 +256,8 @@ func createNominalJvmTest(kitType string) (*jvmTrait, *Environment) {
client, _ := test.NewFakeClient()
trait, _ := newJvmTrait().(*jvmTrait)
- trait.Enabled = BoolP(true)
- trait.PrintCommand = BoolP(false)
+ trait.Enabled = pointer.Bool(true)
+ trait.PrintCommand = pointer.Bool(false)
trait.Client = client
environment := &Environment{
diff --git a/pkg/trait/kamelets.go b/pkg/trait/kamelets.go
index f8873cd7d..9109235d8 100644
--- a/pkg/trait/kamelets.go
+++ b/pkg/trait/kamelets.go
@@ -26,6 +26,7 @@ import (
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/utils/pointer"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/apis/camel/v1alpha1"
@@ -80,7 +81,7 @@ func (t *kameletsTrait) IsPlatformTrait() bool {
}
func (t *kameletsTrait) Configure(e *Environment) (bool, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
return false, nil
}
@@ -88,7 +89,7 @@ func (t *kameletsTrait) Configure(e *Environment) (bool, error) {
return false, nil
}
- if IsNilOrTrue(t.Auto) {
+ if pointer.BoolDeref(t.Auto, true) {
kamelets, err := kamelets.ExtractKameletFromSources(e.Ctx, e.Client, e.CamelCatalog, e.Resources, e.Integration)
if err != nil {
return false, err
diff --git a/pkg/trait/knative.go b/pkg/trait/knative.go
index f3b611bb0..1ec29109f 100644
--- a/pkg/trait/knative.go
+++ b/pkg/trait/knative.go
@@ -29,6 +29,7 @@ import (
corev1 "k8s.io/api/core/v1"
k8serrors "k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/runtime"
+ "k8s.io/utils/pointer"
ctrl "sigs.k8s.io/controller-runtime/pkg/client"
@@ -104,7 +105,7 @@ func (t *knativeTrait) IsAllowedInProfile(profile v1.TraitProfile) bool {
}
func (t *knativeTrait) Configure(e *Environment) (bool, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
return false, nil
}
@@ -112,7 +113,7 @@ func (t *knativeTrait) Configure(e *Environment) (bool, error) {
return false, nil
}
- if IsNilOrTrue(t.Auto) {
+ if pointer.BoolDeref(t.Auto, true) {
if len(t.ChannelSources) == 0 {
items := make([]string, 0)
sources, err := kubernetes.ResolveIntegrationSources(e.Ctx, e.Client, e.Integration, e.Resources)
@@ -193,7 +194,7 @@ func (t *knativeTrait) Configure(e *Environment) (bool, error) {
}
if t.FilterSourceChannels == nil {
// Filtering is no longer used by default
- t.FilterSourceChannels = BoolP(false)
+ t.FilterSourceChannels = pointer.Bool(false)
}
if t.SinkBinding == nil {
allowed := t.isSinkBindingAllowed(e)
@@ -205,7 +206,7 @@ func (t *knativeTrait) Configure(e *Environment) (bool, error) {
}
func (t *knativeTrait) Apply(e *Environment) error {
- if IsTrue(t.SinkBinding) {
+ if pointer.BoolDeref(t.SinkBinding, false) {
util.StringSliceUniqueAdd(&e.Integration.Status.Dependencies, "mvn:org.apache.camel.k:camel-k-knative")
}
@@ -263,7 +264,7 @@ func (t *knativeTrait) configureChannels(e *Environment, env *knativeapi.CamelEn
knativeapi.CamelMetaKnativeKind: ref.Kind,
knativeapi.CamelMetaKnativeReply: "false",
}
- if IsTrue(t.FilterSourceChannels) {
+ if pointer.BoolDeref(t.FilterSourceChannels, false) {
meta[knativeapi.CamelMetaFilterPrefix+knativeHistoryHeader] = loc.Host
}
svc := knativeapi.CamelServiceDefinition{
@@ -284,7 +285,7 @@ func (t *knativeTrait) configureChannels(e *Environment, env *knativeapi.CamelEn
return err
}
- if IsNilOrFalse(t.SinkBinding) {
+ if !pointer.BoolDeref(t.SinkBinding, false) {
// Sinks
err = t.ifServiceMissingDo(e, env, t.ChannelSinks, knativeapi.CamelServiceTypeChannel, knativeapi.CamelEndpointKindSink,
func(ref *corev1.ObjectReference, serviceURI string, urlProvider func() (*url.URL, error)) error {
@@ -344,7 +345,7 @@ func (t *knativeTrait) configureEndpoints(e *Environment, env *knativeapi.CamelE
}
// Sinks
- if IsNilOrFalse(t.SinkBinding) {
+ if !pointer.BoolDeref(t.SinkBinding, false) {
err := t.ifServiceMissingDo(e, env, t.EndpointSinks, knativeapi.CamelServiceTypeEndpoint, knativeapi.CamelEndpointKindSink,
func(ref *corev1.ObjectReference, serviceURI string, urlProvider func() (*url.URL, error)) error {
loc, err := urlProvider()
@@ -402,7 +403,7 @@ func (t *knativeTrait) configureEvents(e *Environment, env *knativeapi.CamelEnvi
}
// Sinks
- if IsNilOrFalse(t.SinkBinding) {
+ if !pointer.BoolDeref(t.SinkBinding, false) {
err = t.ifServiceMissingDo(e, env, t.EventSinks, knativeapi.CamelServiceTypeEvent, knativeapi.CamelEndpointKindSink,
func(ref *corev1.ObjectReference, serviceURI string, urlProvider func() (*url.URL, error)) error {
loc, err := urlProvider()
@@ -443,7 +444,7 @@ func (t *knativeTrait) isSinkBindingAllowed(e *Environment) bool {
}
func (t *knativeTrait) configureSinkBinding(e *Environment, env *knativeapi.CamelEnvironment) error {
- if IsNilOrFalse(t.SinkBinding) {
+ if !pointer.BoolDeref(t.SinkBinding, false) {
return nil
}
var serviceType knativeapi.CamelServiceType
diff --git a/pkg/trait/knative_service.go b/pkg/trait/knative_service.go
index 82576f95b..8a7b106c9 100644
--- a/pkg/trait/knative_service.go
+++ b/pkg/trait/knative_service.go
@@ -23,6 +23,7 @@ import (
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/utils/pointer"
serving "knative.dev/serving/pkg/apis/serving/v1"
@@ -101,7 +102,7 @@ func (t *knativeServiceTrait) IsAllowedInProfile(profile v1.TraitProfile) bool {
}
func (t *knativeServiceTrait) Configure(e *Environment) (bool, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
e.Integration.Status.SetCondition(
v1.IntegrationConditionKnativeServiceAvailable,
corev1.ConditionFalse,
@@ -149,7 +150,7 @@ func (t *knativeServiceTrait) Configure(e *Environment) (bool, error) {
return false, nil
}
- if IsNilOrTrue(t.Auto) {
+ if pointer.BoolDeref(t.Auto, true) {
// Check the right value for minScale, as not all services are allowed to scale down to 0
if t.MinScale == nil {
sources, err := kubernetes.ResolveIntegrationSources(e.Ctx, t.Client, e.Integration, e.Resources)
diff --git a/pkg/trait/logging.go b/pkg/trait/logging.go
index 5c80a4c42..5b3237123 100644
--- a/pkg/trait/logging.go
+++ b/pkg/trait/logging.go
@@ -18,6 +18,8 @@ limitations under the License.
package trait
import (
+ "k8s.io/utils/pointer"
+
"github.com/apache/camel-k/pkg/util/envvar"
)
@@ -56,7 +58,7 @@ func newLoggingTraitTrait() Trait {
}
func (l loggingTrait) Configure(environment *Environment) (bool, error) {
- if IsFalse(l.Enabled) {
+ if !pointer.BoolDeref(l.Enabled, true) {
return false, nil
}
@@ -70,16 +72,16 @@ func (l loggingTrait) Apply(environment *Environment) error {
envvar.SetVal(&environment.EnvVars, envVarQuarkusLogConsoleFormat, l.Format)
}
- if IsTrue(l.JSON) {
+ if pointer.BoolDeref(l.JSON, false) {
envvar.SetVal(&environment.EnvVars, envVarQuarkusLogConsoleJSON, True)
- if IsTrue(l.JSONPrettyPrint) {
+ if pointer.BoolDeref(l.JSONPrettyPrint, false) {
envvar.SetVal(&environment.EnvVars, envVarQuarkusLogConsoleJSONPrettyPrint, True)
}
} else {
// If the trait is false OR unset, we default to false.
envvar.SetVal(&environment.EnvVars, envVarQuarkusLogConsoleJSON, False)
- if IsNilOrTrue(l.Color) {
+ if pointer.BoolDeref(l.Color, true) {
envvar.SetVal(&environment.EnvVars, envVarQuarkusLogConsoleColor, True)
}
}
diff --git a/pkg/trait/mount.go b/pkg/trait/mount.go
index 81d58c50f..10ab80f35 100644
--- a/pkg/trait/mount.go
+++ b/pkg/trait/mount.go
@@ -26,6 +26,7 @@ import (
"k8s.io/api/batch/v1beta1"
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
+ "k8s.io/utils/pointer"
serving "knative.dev/serving/pkg/apis/serving/v1"
@@ -62,7 +63,7 @@ func newMountTrait() Trait {
}
func (t *mountTrait) Configure(e *Environment) (bool, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
return false, nil
}
diff --git a/pkg/trait/openapi.go b/pkg/trait/openapi.go
index 2300946b4..d1392bc30 100644
--- a/pkg/trait/openapi.go
+++ b/pkg/trait/openapi.go
@@ -33,6 +33,7 @@ import (
k8serrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
+ "k8s.io/utils/pointer"
ctrl "sigs.k8s.io/controller-runtime/pkg/client"
@@ -67,7 +68,7 @@ func (t *openAPITrait) IsPlatformTrait() bool {
}
func (t *openAPITrait) Configure(e *Environment) (bool, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
return false, nil
}
diff --git a/pkg/trait/owner.go b/pkg/trait/owner.go
index c14eb75a2..5bff48922 100644
--- a/pkg/trait/owner.go
+++ b/pkg/trait/owner.go
@@ -20,6 +20,7 @@ package trait
import (
appsv1 "k8s.io/api/apps/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/utils/pointer"
serving "knative.dev/serving/pkg/apis/serving/v1"
@@ -45,7 +46,7 @@ func newOwnerTrait() Trait {
}
func (t *ownerTrait) Configure(e *Environment) (bool, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
return false, nil
}
diff --git a/pkg/trait/pdb.go b/pkg/trait/pdb.go
index f0b5636ba..92fcbf9b9 100644
--- a/pkg/trait/pdb.go
+++ b/pkg/trait/pdb.go
@@ -23,6 +23,7 @@ import (
"k8s.io/api/policy/v1beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/intstr"
+ "k8s.io/utils/pointer"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
)
@@ -49,7 +50,7 @@ func newPdbTrait() Trait {
}
func (t *pdbTrait) Configure(e *Environment) (bool, error) {
- if IsNilOrFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, false) {
return false, nil
}
diff --git a/pkg/trait/pdb_test.go b/pkg/trait/pdb_test.go
index 619e160ef..803c2430b 100644
--- a/pkg/trait/pdb_test.go
+++ b/pkg/trait/pdb_test.go
@@ -26,6 +26,7 @@ import (
corev1 "k8s.io/api/core/v1"
"k8s.io/api/policy/v1beta1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/utils/pointer"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/util/kubernetes"
@@ -98,7 +99,7 @@ func findPdb(resources *kubernetes.Collection) *v1beta1.PodDisruptionBudget {
// nolint: unparam
func createPdbTest() (*pdbTrait, *Environment, *appsv1.Deployment) {
trait, _ := newPdbTrait().(*pdbTrait)
- trait.Enabled = BoolP(true)
+ trait.Enabled = pointer.Bool(true)
deployment := &appsv1.Deployment{
ObjectMeta: metav1.ObjectMeta{
diff --git a/pkg/trait/platform.go b/pkg/trait/platform.go
index 29d851027..c80c99c2f 100644
--- a/pkg/trait/platform.go
+++ b/pkg/trait/platform.go
@@ -19,6 +19,7 @@ package trait
import (
k8serrors "k8s.io/apimachinery/pkg/api/errors"
+ "k8s.io/utils/pointer"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/platform"
@@ -49,7 +50,7 @@ func newPlatformTrait() Trait {
}
func (t *platformTrait) Configure(e *Environment) (bool, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
return false, nil
}
@@ -57,7 +58,7 @@ func (t *platformTrait) Configure(e *Environment) (bool, error) {
return false, nil
}
- if IsNilOrFalse(t.Auto) {
+ if !pointer.BoolDeref(t.Auto, false) {
if e.Platform == nil {
if t.CreateDefault == nil {
// Calculate if the platform should be automatically created when missing.
@@ -103,13 +104,13 @@ func (t *platformTrait) Apply(e *Environment) error {
func (t *platformTrait) getOrCreatePlatform(e *Environment) (*v1.IntegrationPlatform, error) {
pl, err := platform.GetOrFindForResource(e.Ctx, t.Client, e.Integration, false)
if err != nil && k8serrors.IsNotFound(err) {
- if IsTrue(t.CreateDefault) {
+ if pointer.BoolDeref(t.CreateDefault, false) {
platformName := e.Integration.Status.Platform
if platformName == "" {
platformName = platform.DefaultPlatformName
}
namespace := e.Integration.Namespace
- if IsTrue(t.Global) {
+ if pointer.BoolDeref(t.Global, false) {
operatorNamespace := platform.GetOperatorNamespace()
if operatorNamespace != "" {
namespace = operatorNamespace
diff --git a/pkg/trait/platform_test.go b/pkg/trait/platform_test.go
index c7f81dc37..02fe8e4f1 100644
--- a/pkg/trait/platform_test.go
+++ b/pkg/trait/platform_test.go
@@ -24,8 +24,11 @@ import (
"github.com/apache/camel-k/pkg/platform"
"github.com/apache/camel-k/pkg/util/kubernetes"
"github.com/apache/camel-k/pkg/util/test"
+
"github.com/stretchr/testify/assert"
+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/utils/pointer"
)
func TestPlatformTraitChangeStatus(t *testing.T) {
@@ -56,7 +59,7 @@ func TestPlatformTraitChangeStatus(t *testing.T) {
}
trait, _ := newPlatformTrait().(*platformTrait)
- trait.CreateDefault = BoolP(false)
+ trait.CreateDefault = pointer.Bool(false)
var err error
trait.Client, err = test.NewFakeClient()
@@ -90,7 +93,7 @@ func TestPlatformTraitCreatesDefaultPlatform(t *testing.T) {
}
trait, _ := newPlatformTrait().(*platformTrait)
- trait.CreateDefault = BoolP(true)
+ trait.CreateDefault = pointer.Bool(true)
var err error
trait.Client, err = test.NewFakeClient()
@@ -145,7 +148,7 @@ func TestPlatformTraitExisting(t *testing.T) {
}
trait, _ := newPlatformTrait().(*platformTrait)
- trait.CreateDefault = BoolP(true)
+ trait.CreateDefault = pointer.Bool(true)
var err error
existingPlatform := v1.NewIntegrationPlatform("ns1", "existing")
diff --git a/pkg/trait/pod.go b/pkg/trait/pod.go
index b3722f32b..840f20dc8 100644
--- a/pkg/trait/pod.go
+++ b/pkg/trait/pod.go
@@ -25,6 +25,7 @@ import (
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/util/json"
"k8s.io/apimachinery/pkg/util/strategicpatch"
+ "k8s.io/utils/pointer"
serving "knative.dev/serving/pkg/apis/serving/v1"
@@ -50,7 +51,7 @@ func newPodTrait() Trait {
}
func (t *podTrait) Configure(e *Environment) (bool, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
return false, nil
}
diff --git a/pkg/trait/pod_test.go b/pkg/trait/pod_test.go
index e55e38821..20bb944b9 100755
--- a/pkg/trait/pod_test.go
+++ b/pkg/trait/pod_test.go
@@ -27,6 +27,7 @@ import (
appsv1 "k8s.io/api/apps/v1"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/utils/pointer"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/util/kubernetes"
@@ -102,7 +103,7 @@ func TestSupplementalGroup(t *testing.T) {
// nolint: unparam
func createPodTest(podSpecTemplate string) (*podTrait, *Environment, *appsv1.Deployment) {
trait, _ := newPodTrait().(*podTrait)
- trait.Enabled = BoolP(true)
+ trait.Enabled = pointer.Bool(true)
var podSpec v1.PodSpec
if podSpecTemplate != "" {
diff --git a/pkg/trait/prometheus.go b/pkg/trait/prometheus.go
index bf9113e11..9dd90cf36 100644
--- a/pkg/trait/prometheus.go
+++ b/pkg/trait/prometheus.go
@@ -22,6 +22,7 @@ import (
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/utils/pointer"
monitoringv1 "github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1"
@@ -52,12 +53,12 @@ type prometheusTrait struct {
func newPrometheusTrait() Trait {
return &prometheusTrait{
BaseTrait: NewBaseTrait("prometheus", 1900),
- PodMonitor: BoolP(true),
+ PodMonitor: pointer.Bool(true),
}
}
func (t *prometheusTrait) Configure(e *Environment) (bool, error) {
- if IsNilOrFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, false) {
return false, nil
}
@@ -102,7 +103,7 @@ func (t *prometheusTrait) Apply(e *Environment) (err error) {
condition.Message = fmt.Sprintf("%s(%d)", container.Name, containerPort.ContainerPort)
// Add the PodMonitor resource
- if IsTrue(t.PodMonitor) {
+ if pointer.BoolDeref(t.PodMonitor, false) {
portName := containerPort.Name
// Knative defaults to naming the userland container port "user-port".
// Let's rely on that default, granted it is not officially part of the Knative
diff --git a/pkg/trait/pull_secret.go b/pkg/trait/pull_secret.go
index 10414e5ff..05469f913 100644
--- a/pkg/trait/pull_secret.go
+++ b/pkg/trait/pull_secret.go
@@ -25,6 +25,7 @@ import (
corev1 "k8s.io/api/core/v1"
rbacv1 "k8s.io/api/rbac/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/utils/pointer"
ctrl "sigs.k8s.io/controller-runtime/pkg/client"
@@ -62,7 +63,7 @@ func newPullSecretTrait() Trait {
}
func (t *pullSecretTrait) Configure(e *Environment) (bool, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
return false, nil
}
@@ -70,7 +71,7 @@ func (t *pullSecretTrait) Configure(e *Environment) (bool, error) {
return false, nil
}
- if IsNilOrTrue(t.Auto) {
+ if pointer.BoolDeref(t.Auto, true) {
if t.SecretName == "" {
secret := e.Platform.Status.Build.Registry.Secret
if secret != "" {
@@ -100,7 +101,7 @@ func (t *pullSecretTrait) Configure(e *Environment) (bool, error) {
}
}
- return t.SecretName != "" || IsTrue(t.ImagePullerDelegation), nil
+ return t.SecretName != "" || pointer.BoolDeref(t.ImagePullerDelegation, false), nil
}
func (t *pullSecretTrait) Apply(e *Environment) error {
@@ -111,7 +112,7 @@ func (t *pullSecretTrait) Apply(e *Environment) error {
})
})
}
- if IsTrue(t.ImagePullerDelegation) {
+ if pointer.BoolDeref(t.ImagePullerDelegation, false) {
if err := t.delegateImagePuller(e); err != nil {
return err
}
diff --git a/pkg/trait/pull_secret_test.go b/pkg/trait/pull_secret_test.go
index 52292d07c..1fc980368 100644
--- a/pkg/trait/pull_secret_test.go
+++ b/pkg/trait/pull_secret_test.go
@@ -24,10 +24,12 @@ import (
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/util/kubernetes"
"github.com/apache/camel-k/pkg/util/test"
+
appsv1 "k8s.io/api/apps/v1"
corev1 "k8s.io/api/core/v1"
rbacv1 "k8s.io/api/rbac/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/utils/pointer"
"sigs.k8s.io/controller-runtime/pkg/client"
"github.com/stretchr/testify/assert"
@@ -61,7 +63,7 @@ func TestPullSecretAuto(t *testing.T) {
e, _ := getEnvironmentAndDeployment(t)
trait, _ := newPullSecretTrait().(*pullSecretTrait)
- trait.Auto = BoolP(false)
+ trait.Auto = pointer.Bool(false)
enabled, err := trait.Configure(e)
assert.Nil(t, err)
assert.False(t, enabled)
@@ -71,8 +73,8 @@ func TestPullSecretImagePullerDelegation(t *testing.T) {
e, _ := getEnvironmentAndDeployment(t)
trait, _ := newPullSecretTrait().(*pullSecretTrait)
- trait.Auto = BoolP(false)
- trait.ImagePullerDelegation = BoolP(true)
+ trait.Auto = pointer.Bool(false)
+ trait.ImagePullerDelegation = pointer.Bool(true)
enabled, err := trait.Configure(e)
assert.Nil(t, err)
assert.True(t, enabled)
diff --git a/pkg/trait/quarkus.go b/pkg/trait/quarkus.go
index f93de9cb0..5abe7f7d5 100644
--- a/pkg/trait/quarkus.go
+++ b/pkg/trait/quarkus.go
@@ -25,6 +25,7 @@ import (
"github.com/rs/xid"
corev1 "k8s.io/api/core/v1"
+ "k8s.io/utils/pointer"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/builder"
@@ -92,7 +93,7 @@ func (t *quarkusTrait) Matches(trait Trait) bool {
return false
}
- if IsNilOrTrue(t.Enabled) && IsFalse(qt.Enabled) {
+ if pointer.BoolDeref(t.Enabled, true) && !pointer.BoolDeref(qt.Enabled, true) {
return false
}
@@ -115,7 +116,7 @@ types:
}
func (t *quarkusTrait) Configure(e *Environment) (bool, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
return false, nil
}
diff --git a/pkg/trait/quarkus_test.go b/pkg/trait/quarkus_test.go
index 1b54f3d93..70f6f37d2 100644
--- a/pkg/trait/quarkus_test.go
+++ b/pkg/trait/quarkus_test.go
@@ -22,6 +22,8 @@ import (
"github.com/stretchr/testify/assert"
+ "k8s.io/utils/pointer"
+
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/builder"
"github.com/apache/camel-k/pkg/util/camel"
@@ -47,7 +49,7 @@ func TestConfigureQuarkusTraitBuildSubmitted(t *testing.T) {
func TestConfigureDisabledQuarkusTraitShouldFail(t *testing.T) {
quarkusTrait, environment := createNominalQuarkusTest()
- quarkusTrait.Enabled = BoolP(false)
+ quarkusTrait.Enabled = pointer.Bool(false)
configured, err := quarkusTrait.Configure(environment)
@@ -71,7 +73,7 @@ func TestApplyQuarkusTraitDefaultKitLayout(t *testing.T) {
func createNominalQuarkusTest() (*quarkusTrait, *Environment) {
trait, _ := newQuarkusTrait().(*quarkusTrait)
- trait.Enabled = BoolP(true)
+ trait.Enabled = pointer.Bool(true)
environment := &Environment{
CamelCatalog: &camel.RuntimeCatalog{},
diff --git a/pkg/trait/registry.go b/pkg/trait/registry.go
index acf6b377a..fdc2ac79f 100644
--- a/pkg/trait/registry.go
+++ b/pkg/trait/registry.go
@@ -26,13 +26,14 @@ import (
base64 "encoding/base64"
+ v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/platform"
"github.com/apache/camel-k/pkg/util/kubernetes"
"github.com/apache/camel-k/pkg/util/registry"
- ctrl "sigs.k8s.io/controller-runtime/pkg/client"
- v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
corev1 "k8s.io/api/core/v1"
+ "k8s.io/utils/pointer"
+ ctrl "sigs.k8s.io/controller-runtime/pkg/client"
)
// The Registry trait sets up Maven to use the Image registry
@@ -56,7 +57,7 @@ func (t *registryTrait) InfluencesKit() bool {
func (t *registryTrait) Configure(e *Environment) (bool, error) {
// disabled by default
- if IsNilOrFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, false) {
return false, nil
}
diff --git a/pkg/trait/route.go b/pkg/trait/route.go
index c3d541789..4575cd88b 100644
--- a/pkg/trait/route.go
+++ b/pkg/trait/route.go
@@ -25,6 +25,7 @@ import (
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/intstr"
+ "k8s.io/utils/pointer"
routev1 "github.com/openshift/api/route/v1"
@@ -108,7 +109,7 @@ func (t *routeTrait) IsAllowedInProfile(profile v1.TraitProfile) bool {
}
func (t *routeTrait) Configure(e *Environment) (bool, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
if e.Integration != nil {
e.Integration.Status.SetCondition(
v1.IntegrationConditionExposureAvailable,
diff --git a/pkg/trait/service.go b/pkg/trait/service.go
index a070c8160..5c47a5fe0 100644
--- a/pkg/trait/service.go
+++ b/pkg/trait/service.go
@@ -20,6 +20,7 @@ package trait
import (
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/utils/pointer"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
"github.com/apache/camel-k/pkg/metadata"
@@ -55,7 +56,7 @@ func (t *serviceTrait) IsAllowedInProfile(profile v1.TraitProfile) bool {
}
func (t *serviceTrait) Configure(e *Environment) (bool, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
e.Integration.Status.SetCondition(
v1.IntegrationConditionServiceAvailable,
corev1.ConditionFalse,
@@ -70,7 +71,7 @@ func (t *serviceTrait) Configure(e *Environment) (bool, error) {
return false, nil
}
- if IsNilOrTrue(t.Auto) {
+ if pointer.BoolDeref(t.Auto, true) {
sources, err := kubernetes.ResolveIntegrationSources(e.Ctx, t.Client, e.Integration, e.Resources)
if err != nil {
e.Integration.Status.SetCondition(
@@ -105,7 +106,7 @@ func (t *serviceTrait) Apply(e *Environment) error {
if svc == nil {
svc = getServiceFor(e)
- if IsTrue(t.NodePort) {
+ if pointer.BoolDeref(t.NodePort, false) {
svc.Spec.Type = corev1.ServiceTypeNodePort
}
}
diff --git a/pkg/trait/service_binding.go b/pkg/trait/service_binding.go
index ab7a78a3d..de6f607fa 100644
--- a/pkg/trait/service_binding.go
+++ b/pkg/trait/service_binding.go
@@ -18,11 +18,10 @@ limitations under the License.
package trait
import (
- "github.com/apache/camel-k/pkg/util/camel"
- "github.com/apache/camel-k/pkg/util/reference"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/dynamic"
+ "k8s.io/utils/pointer"
sb "github.com/redhat-developer/service-binding-operator/apis/binding/v1alpha1"
"github.com/redhat-developer/service-binding-operator/pkg/client/kubernetes"
@@ -33,6 +32,8 @@ import (
"github.com/redhat-developer/service-binding-operator/pkg/reconcile/pipeline/handler/naming"
v1 "github.com/apache/camel-k/pkg/apis/camel/v1"
+ "github.com/apache/camel-k/pkg/util/camel"
+ "github.com/apache/camel-k/pkg/util/reference"
)
// The Service Binding trait allows users to connect to Services in Kubernetes:
@@ -52,7 +53,7 @@ func newServiceBindingTrait() Trait {
}
func (t *serviceBindingTrait) Configure(e *Environment) (bool, error) {
- if IsFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, true) {
return false, nil
}
diff --git a/pkg/trait/toleration.go b/pkg/trait/toleration.go
index 60f4dbf05..925d53d78 100644
--- a/pkg/trait/toleration.go
+++ b/pkg/trait/toleration.go
@@ -21,6 +21,7 @@ import (
"fmt"
corev1 "k8s.io/api/core/v1"
+ "k8s.io/utils/pointer"
"github.com/apache/camel-k/pkg/util/kubernetes"
)
@@ -52,7 +53,7 @@ func newTolerationTrait() Trait {
}
func (t *tolerationTrait) Configure(e *Environment) (bool, error) {
- if IsNilOrFalse(t.Enabled) {
+ if !pointer.BoolDeref(t.Enabled, false) {
return false, nil
}
diff --git a/pkg/trait/toleration_test.go b/pkg/trait/toleration_test.go
index 5d3795684..6b0cd6695 100644
--- a/pkg/trait/toleration_test.go
+++ b/pkg/trait/toleration_test.go
@@ -23,6 +23,7 @@ import (
"github.com/stretchr/testify/assert"
corev1 "k8s.io/api/core/v1"
+ "k8s.io/utils/pointer"
)
func TestConfigureTolerationTraitMissingTaint(t *testing.T) {
@@ -130,7 +131,7 @@ func TestTolerationValidTaints(t *testing.T) {
func createNominalTolerationTrait() *tolerationTrait {
tolerationTrait, _ := newTolerationTrait().(*tolerationTrait)
- tolerationTrait.Enabled = BoolP(true)
+ tolerationTrait.Enabled = pointer.Bool(true)
tolerationTrait.Taints = make([]string, 0)
return tolerationTrait
diff --git a/pkg/trait/util.go b/pkg/trait/util.go
index 54ffc22b3..3d52ca136 100644
--- a/pkg/trait/util.go
+++ b/pkg/trait/util.go
@@ -221,32 +221,3 @@ func AddSourceDependencies(source v1.SourceSpec, catalog *camel.RuntimeCatalog)
return dependencies
}
-
-// Bool pointer operations:
-
-// BoolP returns a pointer to a bool value.
-func BoolP(b bool) *bool {
- return &b
-}
-
-// IsTrue checks if the bool pointer is defined and true.
-func IsTrue(b *bool) bool {
- return b != nil && *b
-}
-
-// IsNilOrTrue checks if the bool pointer is nil or true.
-// You can use it if the bool pointer is meant to be true by default.
-func IsNilOrTrue(b *bool) bool {
- return b == nil || *b
-}
-
-// IsFalse checks if the bool pointer is defined and false.
-func IsFalse(b *bool) bool {
- return b != nil && !*b
-}
-
-// IsNilOrFalse checks if the bool pointer is nil or false.
-// You can use it if the bool pointer is meant to be false by default.
-func IsNilOrFalse(b *bool) bool {
- return b == nil || !*b
-}
diff --git a/pkg/trait/util_test.go b/pkg/trait/util_test.go
deleted file mode 100644
index da4cd9589..000000000
--- a/pkg/trait/util_test.go
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements. See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You 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 trait
-
-import (
- "testing"
-
- "github.com/stretchr/testify/assert"
-)
-
-func TestBoolPointerFunctions(t *testing.T) {
- trueP := BoolP(true)
- falseP := BoolP(false)
-
- assert.True(t, IsTrue(trueP))
- assert.False(t, IsTrue(falseP))
- assert.False(t, IsTrue(nil))
-
- assert.True(t, IsNilOrTrue(trueP))
- assert.False(t, IsNilOrTrue(falseP))
- assert.True(t, IsNilOrTrue(nil))
-
- assert.False(t, IsFalse(trueP))
- assert.True(t, IsFalse(falseP))
- assert.False(t, IsFalse(nil))
-
- assert.False(t, IsNilOrFalse(trueP))
- assert.True(t, IsNilOrFalse(falseP))
- assert.True(t, IsNilOrFalse(nil))
-}