-
Notifications
You must be signed in to change notification settings - Fork 352
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Install operator image according to the target architecture #5200
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just some nitpicks
pkg/cmd/install.go
Outdated
@@ -21,6 +21,7 @@ import ( | |||
"context" | |||
"errors" | |||
"fmt" | |||
"github.com/apache/camel-k/v2/pkg/util/defaults" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
needs goimports formatting
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
pkg/cmd/install.go
Outdated
// Choose an architecture specific an operator/base image when not already given explicitly | ||
if archs, err := kubernetes.NodeArchLookup(o.Context, c); err == nil && len(archs) == 1 { | ||
switch archs[0] { | ||
case "arm64": |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
switch with only one single case?
pkg/cmd/install.go
Outdated
@@ -414,6 +415,21 @@ func (o *installCmdOptions) setupOperator( | |||
platformName) | |||
} | |||
|
|||
// Choose an architecture specific an operator/base image when not already given explicitly | |||
if archs, err := kubernetes.NodeArchLookup(o.Context, c); err == nil && len(archs) == 1 { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing some error handling
@@ -29,6 +29,17 @@ func BaseImage() string { | |||
return envOrDefault(baseImage, "KAMEL_BASE_IMAGE", "RELATED_IMAGE_BASE") | |||
} | |||
|
|||
func BaseImageArch(arch string) string { | |||
mapping := map[string]string{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this mapping should be a constant in defaults.go
pkg/util/slice.go
Outdated
limitations under the License. | ||
*/ | ||
|
||
package util |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some unit tests would be nice
Thanks @christophd - all done (I think) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the work, but IMO this is not the right way to proceed. We're making the assumption to have full privileges and control over the platform. Also, this is creating a certain asymmetry as it would work for the CLI, but not for the other installation methodology.
I think we need to work more on the publishing image part, allowing to use manifest [1] and ideally having the platform the ability to pick the correct image architecture.
[1]
Lines 473 to 477 in 43a288d
# TODO: we can evaluate the usage of manifest and try the following | |
# docker manifest create $(CUSTOM_IMAGE):$(CUSTOM_VERSION) \ | |
# --amend $(CUSTOM_IMAGE):$(CUSTOM_VERSION)-amd64 \ | |
# --amend $(CUSTOM_IMAGE):$(CUSTOM_VERSION)-arm64 | |
# docker manifest push --purge $(CUSTOM_IMAGE):$(CUSTOM_VERSION) |
Although this PR aims the client side, there is work to do on the image build side, to publish the multi-arch build in the manifest. |
638cf46
to
853be0a
Compare
Here is my next attempt for this ... You can run
You should then find these images in your local registry
Which can them be combined to a multiarch image like this
https://hub.docker.com/repository/docker/nessusio/camel-k/tags?page=1&ordering=last_updated PS: Instead of docker.io/apache I used this repository docker.io/nessusio |
The above would only work if your buildx extensions supports both (linux/amd64, linux/arm64) platforms. |
This is my workflow that is working with current main branch already:
or
This gives you the arm64 Camel K operator image:
then you can install Camel K with the arm64 image
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the work. I think we may need to remove all the changes from the previous PR (ie the golang code changes) which are no longer required.
Then, for the makefile changes, I think we don't need all those changes. Probably we only need to tweak the images-push
and images-push-staging
in order to create a manifest. We already have the images-all
that should take care of building all the expected architectures (amd64-arm64), so, don't see the need to do all those changes. In order to simplify the rest of operations (see failing checks), we need to assume that the default image is the amd-64, so, no need to add the suffix explicitly, however we must amend it during publishing as you're already doing.
With the manifest creation in place, then, the operation we'd perform would be:
make images-all
make images-push
And the result we expect is a docker manifest using both containers architectures.
@squakez How about this ...
In that way, the build would also work on platforms that cannot produce arm64. On arm64 platforms that cannot produce amd64, it would also work except the final push. The release platform may support a variety of target platform builds and can explicitly select which to build and finally push the manifest list for that selection. |
0b1c994
to
e59c655
Compare
When you now run
you get the image for your platform. Images for alternative platforms can be built as before e.g.
Push (to staging) works with and without The binary has no suffix |
If it's ready I think we can merge and we can verify the nightly release correctly pushes the manifest. |
b1b7f48
to
c36510c
Compare
Thanks, let's keep tuned to see the manifest during nightly build. |
doc: generated documentation chore: added E2E test for logging category chore: changed e2e test to use IntegrationLogs doc: generated documentation chore: nightly automatic updates fix(trait): deprecate operator inspecting secrets Eventually remove this feature which is making the operator to inspect the list of namespaces secrets fix(quarkus): build time properties into file Moving from maven based approach to a file approach in order to let be able to use any character which may be a limitation in pom.xml Closes apache#5195 fix(e2e): stricter pipe test check chore: nightly automatic updates chore(deps): bump github.com/stretchr/testify from 1.8.4 to 1.9.0 Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.4 to 1.9.0. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](stretchr/testify@v1.8.4...v1.9.0) --- updated-dependencies: - dependency-name: github.com/stretchr/testify dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> chore: nightly automatic updates fix(ci): add snapshot repo For those unit test requiring it. chore(deps): bump golang.org/x/oauth2 from 0.17.0 to 0.18.0 Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.17.0 to 0.18.0. - [Commits](golang/oauth2@v0.17.0...v0.18.0) --- updated-dependencies: - dependency-name: golang.org/x/oauth2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> chore: nightly automatic updates feat(ci): upgrade golang to 1.21 Closes apache#4795 chore(traits): deprecate registry fix(trait): watch for resource versions... ...instead of for their content. chore: nightly automatic updates fix(ci): swap deprecation notice fix(ci): lint for 1.21 chore(deps): bump github.com/cloudevents/sdk-go/v2 from 2.13.0 to 2.15.2 Bumps [github.com/cloudevents/sdk-go/v2](https://github.com/cloudevents/sdk-go) from 2.13.0 to 2.15.2. - [Release notes](https://github.com/cloudevents/sdk-go/releases) - [Commits](cloudevents/sdk-go@v2.13.0...v2.15.2) --- updated-dependencies: - dependency-name: github.com/cloudevents/sdk-go/v2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> chore(lint): Error nil check: use require.NoError chore(lint): Error not nil check: use require.Error chore(lint): assert NoError check: use require.NoError chore(lint): assert Error check: use require.Error chore(lint): Use golangci-lint version matching go version 1.21 chore(lint): Fix lint errors chore(lint): Ignore tests chore(lint): Fix lint errors chore(lint): Skip test_support go files chore(lint): Fix lint errors chore: nightly automatic updates chore(deps): bump github.com/prometheus/common from 0.48.0 to 0.50.0 Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.48.0 to 0.50.0. - [Release notes](https://github.com/prometheus/common/releases) - [Commits](prometheus/common@v0.48.0...v0.50.0) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> fix(build): Container image upgrad to golang 1.21 fix(cron): Add documentation and test on multiple sources Closes apache#5158 fix(quarkus): don't override application.properties fix(ctrl): message digest change Change of a digest would reset an Integration, but a rebuild may not be required. Closes apache#5219 fix(cmd): delete KameletBinding until they exists Closes apache#5156 fix(trait): revert persisted status The work done in apache#5153 is based on the wrong assumption that a trait status can be persisted at any point of the Integration/IntegrationKit lifecycle This cannot be always true, because the resource move towards different .status.phase with the execution of its logic or not depending on the phase. Therefore we cannot persist in a consistent way, as the status would reflect the latest execution of a trait which may happen in a different phase (and would be overridden by the new execution phase). The best way to deal with this, at this stage, seems to be the usage of .status.conditions in order to warn that some trait value was overwritten. chore(e2e): Improve E2E tests - Improve common-it to use separate test namespace and default global operator - Create default integration kits with global operator before tests are run - TestMain func() creates commonly used Camel K integrations before the test so the integration kits are reused during the test run - Reuse default integration kits (type=external image) in all test namespaces with custom operator installation - Reduces builds of integration kits in tests - Fix missing IntegrationProfile CRD - Fix flaky update install tests chore(e2e): Run E2E tests in parallel chore(e2e): Use fresh Gomega instance for each test - Recommended use of Gomega NewWithT() instead of RegisterTestingT() to get a fresh instance for each test - Avoids concurrency errors when running tests in parallel chore(e2e): Use operator instance per package in common tests - Gain execution speed on GitHub CI jobs - Custom Kamelets creation need to use proper operatorID chore(e2e): Fix concurrent access to viper flags chore(e2e): Skip cluster setup when installing Camel K operators in test namespaces chore(e2e): Use separate operator instances for trait e2e tests chore(e2e): Synchronize kamel install command in e2e tests chore(e2e): Use separate viper instance per command chore(e2e): Fix E2E tests chore: nightly automatic updates chore(e2e): Fix smoke tests - Fix execution in Makefile after E2E tests refactoring chore: fixed e2e to use integration logs chore: updated e2e chore: removed unnecessary code, fixed typos fix(trait): changing data type for rollingUpdateMaxSurge and rollingUpdateMaxUnavailable to strings are also supported chore: nightly automatic updates fix(traits): use Comparable matches Reverting apache#4512 which introduced a function diverging the match from the original design Azure Key Vault Trait: Support Azure Identity as authentication method (apache#5244) Signed-off-by: Andrea Cosentino <[email protected]> chore: nightly automatic updates chore(ci): Upgrade setup-kubectl action chore: propagate capabilities to Kit Useful in order to know what are the capabilities instead of inspecting the dependencies. It may also enable finer tuning on the kits matching. chore(e2e): Add option to set base image and runtime version in E2E tests - Useful when running native tests on a macOS arm64 machine (e.g. CAMEL_K_TEST_BASE_IMAGE=arm64v8/eclipse-temurin:17) - Useful when running tests with SNAPSHOT runtime version (e.g. CAMEL_K_TEST_RUNTIME_VERSION=3.8.0-SNAPSHOT) chore(e2e): Use new context instance for each E2E test chore(e2e): Use UpdatePlatform func as it is more stable chore(e2e): Improve Integration logs waiting for container created - Avoid logs watch errors when container is still creating chore(e2e): Use a shared context in E2E tests chore(e2e): Do not run fast setup locally - Only run main_test.go fast setup optimizations when env var is set (usually on GitHub CI workflow) chore: nightly automatic updates Install operator image according to the target architecture Fixes apache#5200 chore: nightly automatic updates chore(ci): Upgrade kind action to 2.0.4 Add Kamelet v1alpha1 sample (apache#5254) chore: nightly automatic updates chore: nightly automatic updates chore: nightly automatic updates Fix wrong Kamelet sample content (apache#5255) chore: nightly automatic updates fix(apache#5252): release-nightly does not build/push multiarch manifest chore(deps): bump github.com/onsi/gomega from 1.31.1 to 1.32.0 Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.31.1 to 1.32.0. - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](onsi/gomega@v1.31.1...v1.32.0) --- updated-dependencies: - dependency-name: github.com/onsi/gomega dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> [chore] improve metrics for integration (apache#5154) * [chore] improve metrics for integration improve metrics for integrations, record a vector with integration_name and state * [chore] add tests * chore: change test dependency * solve go.mod conflict * chore: change test library and fix lint chore: nightly automatic updates chore: Use camel case for Pipe error handler ref fix(ci): use ubuntu which now have 16 GB memory Closes apache#4885 feat(trait): move runtime logic into trait catalog chore: nightly automatic updates chore(deps): bump github.com/docker/docker Bumps [github.com/docker/docker](https://github.com/docker/docker) from 24.0.7+incompatible to 24.0.9+incompatible. - [Release notes](https://github.com/docker/docker/releases) - [Commits](moby/moby@v24.0.7...v24.0.9) --- updated-dependencies: - dependency-name: github.com/docker/docker dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> fix(apache#5238): Integration builds fail with arm64 base image feat(traits): builder image platforms doc(trait): sourceless Integrations chore: nightly automatic updates chore(deps): bump github.com/prometheus/common from 0.50.0 to 0.51.0 Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.50.0 to 0.51.0. - [Release notes](https://github.com/prometheus/common/releases) - [Commits](prometheus/common@v0.50.0...v0.51.0) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> feat(catalog): support placeholders Ref apache/camel-k-runtime#1192 chore(trait): add executed trait condition chore(trait): polish conditions Closes apache#5027 chore: nightly automatic updates chore: nightly automatic updates chore(deps): bump github.com/prometheus/common from 0.51.0 to 0.51.1 Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.51.0 to 0.51.1. - [Release notes](https://github.com/prometheus/common/releases) - [Commits](prometheus/common@v0.51.0...v0.51.1) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> chore: added E2E test for logging category chore: changed e2e test to use IntegrationLogs chore: updated e2e chore: removed unnecessary code, fixed typos
chore: added E2E test for logging category chore: changed e2e test to use IntegrationLogs doc: generated documentation chore: nightly automatic updates fix(trait): deprecate operator inspecting secrets Eventually remove this feature which is making the operator to inspect the list of namespaces secrets fix(quarkus): build time properties into file Moving from maven based approach to a file approach in order to let be able to use any character which may be a limitation in pom.xml Closes apache#5195 fix(e2e): stricter pipe test check chore: nightly automatic updates chore(deps): bump github.com/stretchr/testify from 1.8.4 to 1.9.0 Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.4 to 1.9.0. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](stretchr/testify@v1.8.4...v1.9.0) --- updated-dependencies: - dependency-name: github.com/stretchr/testify dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> chore: nightly automatic updates fix(ci): add snapshot repo For those unit test requiring it. chore(deps): bump golang.org/x/oauth2 from 0.17.0 to 0.18.0 Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.17.0 to 0.18.0. - [Commits](golang/oauth2@v0.17.0...v0.18.0) --- updated-dependencies: - dependency-name: golang.org/x/oauth2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> chore: nightly automatic updates feat(ci): upgrade golang to 1.21 Closes apache#4795 chore(traits): deprecate registry fix(trait): watch for resource versions... ...instead of for their content. chore: nightly automatic updates fix(ci): swap deprecation notice fix(ci): lint for 1.21 chore(deps): bump github.com/cloudevents/sdk-go/v2 from 2.13.0 to 2.15.2 Bumps [github.com/cloudevents/sdk-go/v2](https://github.com/cloudevents/sdk-go) from 2.13.0 to 2.15.2. - [Release notes](https://github.com/cloudevents/sdk-go/releases) - [Commits](cloudevents/sdk-go@v2.13.0...v2.15.2) --- updated-dependencies: - dependency-name: github.com/cloudevents/sdk-go/v2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> chore(lint): Error nil check: use require.NoError chore(lint): Error not nil check: use require.Error chore(lint): assert NoError check: use require.NoError chore(lint): assert Error check: use require.Error chore(lint): Use golangci-lint version matching go version 1.21 chore(lint): Fix lint errors chore(lint): Ignore tests chore(lint): Fix lint errors chore(lint): Skip test_support go files chore(lint): Fix lint errors chore: nightly automatic updates chore(deps): bump github.com/prometheus/common from 0.48.0 to 0.50.0 Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.48.0 to 0.50.0. - [Release notes](https://github.com/prometheus/common/releases) - [Commits](prometheus/common@v0.48.0...v0.50.0) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> fix(build): Container image upgrad to golang 1.21 fix(cron): Add documentation and test on multiple sources Closes apache#5158 fix(quarkus): don't override application.properties fix(ctrl): message digest change Change of a digest would reset an Integration, but a rebuild may not be required. Closes apache#5219 fix(cmd): delete KameletBinding until they exists Closes apache#5156 fix(trait): revert persisted status The work done in apache#5153 is based on the wrong assumption that a trait status can be persisted at any point of the Integration/IntegrationKit lifecycle This cannot be always true, because the resource move towards different .status.phase with the execution of its logic or not depending on the phase. Therefore we cannot persist in a consistent way, as the status would reflect the latest execution of a trait which may happen in a different phase (and would be overridden by the new execution phase). The best way to deal with this, at this stage, seems to be the usage of .status.conditions in order to warn that some trait value was overwritten. chore(e2e): Improve E2E tests - Improve common-it to use separate test namespace and default global operator - Create default integration kits with global operator before tests are run - TestMain func() creates commonly used Camel K integrations before the test so the integration kits are reused during the test run - Reuse default integration kits (type=external image) in all test namespaces with custom operator installation - Reduces builds of integration kits in tests - Fix missing IntegrationProfile CRD - Fix flaky update install tests chore(e2e): Run E2E tests in parallel chore(e2e): Use fresh Gomega instance for each test - Recommended use of Gomega NewWithT() instead of RegisterTestingT() to get a fresh instance for each test - Avoids concurrency errors when running tests in parallel chore(e2e): Use operator instance per package in common tests - Gain execution speed on GitHub CI jobs - Custom Kamelets creation need to use proper operatorID chore(e2e): Fix concurrent access to viper flags chore(e2e): Skip cluster setup when installing Camel K operators in test namespaces chore(e2e): Use separate operator instances for trait e2e tests chore(e2e): Synchronize kamel install command in e2e tests chore(e2e): Use separate viper instance per command chore(e2e): Fix E2E tests chore: nightly automatic updates chore(e2e): Fix smoke tests - Fix execution in Makefile after E2E tests refactoring chore: fixed e2e to use integration logs chore: updated e2e chore: removed unnecessary code, fixed typos fix(trait): changing data type for rollingUpdateMaxSurge and rollingUpdateMaxUnavailable to strings are also supported chore: nightly automatic updates fix(traits): use Comparable matches Reverting apache#4512 which introduced a function diverging the match from the original design Azure Key Vault Trait: Support Azure Identity as authentication method (apache#5244) Signed-off-by: Andrea Cosentino <[email protected]> chore: nightly automatic updates chore(ci): Upgrade setup-kubectl action chore: propagate capabilities to Kit Useful in order to know what are the capabilities instead of inspecting the dependencies. It may also enable finer tuning on the kits matching. chore(e2e): Add option to set base image and runtime version in E2E tests - Useful when running native tests on a macOS arm64 machine (e.g. CAMEL_K_TEST_BASE_IMAGE=arm64v8/eclipse-temurin:17) - Useful when running tests with SNAPSHOT runtime version (e.g. CAMEL_K_TEST_RUNTIME_VERSION=3.8.0-SNAPSHOT) chore(e2e): Use new context instance for each E2E test chore(e2e): Use UpdatePlatform func as it is more stable chore(e2e): Improve Integration logs waiting for container created - Avoid logs watch errors when container is still creating chore(e2e): Use a shared context in E2E tests chore(e2e): Do not run fast setup locally - Only run main_test.go fast setup optimizations when env var is set (usually on GitHub CI workflow) chore: nightly automatic updates Install operator image according to the target architecture Fixes apache#5200 chore: nightly automatic updates chore(ci): Upgrade kind action to 2.0.4 Add Kamelet v1alpha1 sample (apache#5254) chore: nightly automatic updates chore: nightly automatic updates chore: nightly automatic updates Fix wrong Kamelet sample content (apache#5255) chore: nightly automatic updates fix(apache#5252): release-nightly does not build/push multiarch manifest chore(deps): bump github.com/onsi/gomega from 1.31.1 to 1.32.0 Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.31.1 to 1.32.0. - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](onsi/gomega@v1.31.1...v1.32.0) --- updated-dependencies: - dependency-name: github.com/onsi/gomega dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> [chore] improve metrics for integration (apache#5154) * [chore] improve metrics for integration improve metrics for integrations, record a vector with integration_name and state * [chore] add tests * chore: change test dependency * solve go.mod conflict * chore: change test library and fix lint chore: nightly automatic updates chore: Use camel case for Pipe error handler ref fix(ci): use ubuntu which now have 16 GB memory Closes apache#4885 feat(trait): move runtime logic into trait catalog chore: nightly automatic updates chore(deps): bump github.com/docker/docker Bumps [github.com/docker/docker](https://github.com/docker/docker) from 24.0.7+incompatible to 24.0.9+incompatible. - [Release notes](https://github.com/docker/docker/releases) - [Commits](moby/moby@v24.0.7...v24.0.9) --- updated-dependencies: - dependency-name: github.com/docker/docker dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> fix(apache#5238): Integration builds fail with arm64 base image feat(traits): builder image platforms doc(trait): sourceless Integrations chore: nightly automatic updates chore(deps): bump github.com/prometheus/common from 0.50.0 to 0.51.0 Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.50.0 to 0.51.0. - [Release notes](https://github.com/prometheus/common/releases) - [Commits](prometheus/common@v0.50.0...v0.51.0) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> feat(catalog): support placeholders Ref apache/camel-k-runtime#1192 chore(trait): add executed trait condition chore(trait): polish conditions Closes apache#5027 chore: nightly automatic updates chore: nightly automatic updates chore(deps): bump github.com/prometheus/common from 0.51.0 to 0.51.1 Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.51.0 to 0.51.1. - [Release notes](https://github.com/prometheus/common/releases) - [Commits](prometheus/common@v0.51.0...v0.51.1) --- updated-dependencies: - dependency-name: github.com/prometheus/common dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> chore: added E2E test for logging category chore: changed e2e test to use IntegrationLogs chore: updated e2e chore: removed unnecessary code, fixed typos
CrossRef: #5169