-
Notifications
You must be signed in to change notification settings - Fork 248
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
generate binary-less dockerfiles #1338
generate binary-less dockerfiles #1338
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #1338 +/- ##
=======================================
Coverage 48.36% 48.36%
=======================================
Files 133 133
Lines 12693 12693
=======================================
Hits 6139 6139
Misses 5516 5516
Partials 1038 1038 ☔ View full report in Codecov by Sentry. |
Works against olm at master:latest with something like the following pullspec & spec: apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
creationTimestamp: "2024-05-22T18:22:14Z"
generation: 1
name: binless-catalog
namespace: operator-lifecycle-manager
resourceVersion: "252991"
uid: 55bd0528-ad19-4aaa-99f5-41677f8726e9
spec:
displayName: Jaime's Discount Catalog -- Now without bins!
grpcPodConfig:
securityContextConfig: restricted
extractContent:
cacheDir: /tmp/cache
catalogDir: /configs
securityContextConfig: restricted
image: quay.io/jordankeister/catalogs:v4.14-community-binless
publisher: OperatorHub.io
sourceType: grpc
updateStrategy:
registryPoll:
interval: 60m but requires operator-framework/operator-lifecycle-manager#3270 to function (and this has not been included in a release yet). |
Generated dockerfile is in the format: # The builder image is expected to contain
# /bin/opm (with serve subcommand)
FROM quay.io/operator-framework/opm:latest as builder
# Copy FBC root into image at /configs and pre-populate serve cache
ADD configs /configs
RUN ["/bin/opm", "serve", "/configs", "--cache-dir=/tmp/cache", "--cache-only"]
FROM scratch
# OLMv0 CatalogSources that use binary-less images must set:
# spec:
# grpcPodConfig:
# extractContent:
# catalogDir: /configs
# cacheDir: /tmp/cache
COPY --from=builder /configs /configs
COPY --from=builder /tmp/cache /tmp/cache
# Set FBC-specific label for the location of the FBC root directory
# in the image
LABEL operators.operatorframework.io.index.configs.v1=/configs |
Solves #1349 |
Signed-off-by: Jordan Keister <jordan@nimblewidget.com>
427e021
to
3332739
Compare
I think this is ready for another round of review |
27f3514
to
3273a3a
Compare
Ooh. Found a cleaner way to handle baseImage conditionality. 😄 |
fd6e51f
to
6bcd58b
Compare
cmd/opm/generate/cmd.go
Outdated
@@ -27,7 +27,8 @@ func NewCmd() *cobra.Command { | |||
|
|||
func newDockerfileCmd() *cobra.Command { | |||
var ( | |||
baseImage string | |||
binaryImage 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.
You know, I actually prefer baseImage
because it makes more sense in the context of using "scratch", but the flag name is binary-image
, so I understand this change.
Another option that crossed my mind (which is more complex code, but better end-user UX):
- Deprecate/hide
--binary-image
- Add
--base-image
(and let it take over the shortened-i
) - Make
--base-image
and--binary-image
mutually exclusive.
But then I also thought to myself: "But long-term I still want better tooling that doesn't require users to have to do their own docker builds, so maybe we minimize work and complexity here because [the above suggested changes] don't actually matter all that much."
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.
I mean ... me too on the base-image
thing, because that's what it is. In this case, it was exposed as binary-image
so I just aligned things.
And I had already played with the same kind of thinking w.r.t. mutual-exclusivity and renaming to base-image
and it's not much code, so let me push up what I think that looks like.
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.
./bin/opm generate dockerfile --binary-image scratch --base-image scratch foo
Flag --binary-image has been deprecated, use --base-image instead
Error: if any flags in the group [binary-image base-image] are set none of the others can be; [base-image binary-image] were all set
Usage:
opm generate dockerfile <dcRootDir> [flags]
fbe4162
to
f3c930f
Compare
Updated in last so that old calling patterns are preserved, for e.g. if caller only uses deprecated |
cmd.Flags().StringSliceVarP(&extraLabelStrs, "extra-labels", "l", []string{}, "Extra labels to include in the generated Dockerfile. Labels should be of the form 'key=value'.") | ||
cmd.Flags().MarkDeprecated("binary-image", "use --base-image instead") | ||
cmd.MarkFlagsMutuallyExclusive("binary-image", "base-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.
Where did we land on adding this?
cmd.MarkFlagsMutuallyExclusive("binary-image", "builder-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.
I thought we said that we'd allow mixing them, while complaining.
So someone gives us binary-file and we go "that's deprecated", but we also use it appropriately.
The only special handling is if they use binary-image
and nothing else, where we use that value for builder AND base.
But I'm not strongly opinionated on this, so let me know if you are.
Signed-off-by: Jordan Keister <jordan@nimblewidget.com>
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 LGTM
/lgtm
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: everettraven, grokspawn The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
4c106e2
into
operator-framework:master
* generate binary-less dockerfiles Signed-off-by: Jordan Keister <jordan@nimblewidget.com> * two-flag approach (with cleanup of old dockerfile) Signed-off-by: Jordan Keister <jordan@nimblewidget.com> --------- Signed-off-by: Jordan Keister <jordan@nimblewidget.com>
* add bingo for managing tool deps Signed-off-by: Joe Lanford <joe.lanford@gmail.com> * Bump google.golang.org/grpc/cmd/protoc-gen-go-grpc from 1.3.0 to 1.4.0 (#1340) Bumps [google.golang.org/grpc/cmd/protoc-gen-go-grpc](https://github.com/grpc/grpc-go) from 1.3.0 to 1.4.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](grpc/grpc-go@v1.3.0...v1.4.0) --- updated-dependencies: - dependency-name: google.golang.org/grpc/cmd/protoc-gen-go-grpc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump golang.org/x/sys from 0.20.0 to 0.21.0 (#1345) Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.20.0 to 0.21.0. - [Commits](golang/sys@v0.20.0...v0.21.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump github.com/containerd/containerd from 1.7.17 to 1.7.18 (#1343) Bumps [github.com/containerd/containerd](https://github.com/containerd/containerd) from 1.7.17 to 1.7.18. - [Release notes](https://github.com/containerd/containerd/releases) - [Changelog](https://github.com/containerd/containerd/blob/main/RELEASES.md) - [Commits](containerd/containerd@v1.7.17...v1.7.18) --- updated-dependencies: - dependency-name: github.com/containerd/containerd dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump golang.org/x/text from 0.15.0 to 0.16.0 (#1341) Bumps [golang.org/x/text](https://github.com/golang/text) from 0.15.0 to 0.16.0. - [Release notes](https://github.com/golang/text/releases) - [Commits](golang/text@v0.15.0...v0.16.0) --- updated-dependencies: - dependency-name: golang.org/x/text dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump github.com/containers/common from 0.59.0 to 0.59.1 (#1342) Bumps [github.com/containers/common](https://github.com/containers/common) from 0.59.0 to 0.59.1. - [Release notes](https://github.com/containers/common/releases) - [Commits](containers/common@v0.59.0...v0.59.1) --- updated-dependencies: - dependency-name: github.com/containers/common dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump golang.org/x/net from 0.25.0 to 0.26.0 (#1344) Bumps [golang.org/x/net](https://github.com/golang/net) from 0.25.0 to 0.26.0. - [Commits](golang/net@v0.25.0...v0.26.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump sigs.k8s.io/controller-runtime from 0.18.3 to 0.18.4 (#1346) Bumps [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) from 0.18.3 to 0.18.4. - [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases) - [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md) - [Commits](kubernetes-sigs/controller-runtime@v0.18.3...v0.18.4) --- updated-dependencies: - dependency-name: sigs.k8s.io/controller-runtime dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump github.com/docker/cli (#1348) Bumps [github.com/docker/cli](https://github.com/docker/cli) from 26.1.3+incompatible to 26.1.4+incompatible. - [Commits](docker/cli@v26.1.3...v26.1.4) --- updated-dependencies: - dependency-name: github.com/docker/cli dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump golang.org/x/mod from 0.17.0 to 0.18.0 (#1347) Bumps [golang.org/x/mod](https://github.com/golang/mod) from 0.17.0 to 0.18.0. - [Commits](golang/mod@v0.17.0...v0.18.0) --- updated-dependencies: - dependency-name: golang.org/x/mod dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * deprecate composite template (#1339) Signed-off-by: Jordan Keister <jordan@nimblewidget.com> * Bump google.golang.org/protobuf from 1.34.1 to 1.34.2 (#1353) Bumps google.golang.org/protobuf from 1.34.1 to 1.34.2. --- updated-dependencies: - dependency-name: google.golang.org/protobuf dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump github.com/grpc-ecosystem/grpc-health-probe from 0.4.26 to 0.4.29 (#1352) Bumps [github.com/grpc-ecosystem/grpc-health-probe](https://github.com/grpc-ecosystem/grpc-health-probe) from 0.4.26 to 0.4.29. - [Release notes](https://github.com/grpc-ecosystem/grpc-health-probe/releases) - [Changelog](https://github.com/grpc-ecosystem/grpc-health-probe/blob/master/.goreleaser.yml) - [Commits](grpc-ecosystem/grpc-health-probe@v0.4.26...v0.4.29) --- updated-dependencies: - dependency-name: github.com/grpc-ecosystem/grpc-health-probe dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump k8s.io/apiextensions-apiserver from 0.30.1 to 0.30.2 (#1355) Bumps [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) from 0.30.1 to 0.30.2. - [Release notes](https://github.com/kubernetes/apiextensions-apiserver/releases) - [Commits](kubernetes/apiextensions-apiserver@v0.30.1...v0.30.2) --- updated-dependencies: - dependency-name: k8s.io/apiextensions-apiserver dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump github.com/operator-framework/api from 0.25.0 to 0.26.0 (#1358) Bumps [github.com/operator-framework/api](https://github.com/operator-framework/api) from 0.25.0 to 0.26.0. - [Release notes](https://github.com/operator-framework/api/releases) - [Changelog](https://github.com/operator-framework/api/blob/master/RELEASE.md) - [Commits](operator-framework/api@v0.25.0...v0.26.0) --- updated-dependencies: - dependency-name: github.com/operator-framework/api dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump github.com/spf13/cobra from 1.8.0 to 1.8.1 (#1359) Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.8.0 to 1.8.1. - [Release notes](https://github.com/spf13/cobra/releases) - [Commits](spf13/cobra@v1.8.0...v1.8.1) --- updated-dependencies: - dependency-name: github.com/spf13/cobra dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fix codecov-action params (#1361) * `functionalities` param is no longer exist. It was used to enable file fixes to ignore common lines from coverage. This feature is now seems to be on by default. * Adding `disable_search` because we do not need for the codecov action to search for coverage files: we explicitly provide files. Signed-off-by: Mikalai Radchuk <mradchuk@redhat.com> * Bump github.com/containers/image/v5 from 5.31.0 to 5.31.1 (#1363) Bumps [github.com/containers/image/v5](https://github.com/containers/image) from 5.31.0 to 5.31.1. - [Release notes](https://github.com/containers/image/releases) - [Commits](containers/image@v5.31.0...v5.31.1) --- updated-dependencies: - dependency-name: github.com/containers/image/v5 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * generate binary-less dockerfiles (#1338) * generate binary-less dockerfiles Signed-off-by: Jordan Keister <jordan@nimblewidget.com> * two-flag approach (with cleanup of old dockerfile) Signed-off-by: Jordan Keister <jordan@nimblewidget.com> --------- Signed-off-by: Jordan Keister <jordan@nimblewidget.com> * Bump github.com/docker/cli (#1365) Bumps [github.com/docker/cli](https://github.com/docker/cli) from 26.1.4+incompatible to 27.0.1+incompatible. - [Commits](docker/cli@v26.1.4...v27.0.1) --- updated-dependencies: - dependency-name: github.com/docker/cli dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump github.com/docker/cli (#1366) Bumps [github.com/docker/cli](https://github.com/docker/cli) from 27.0.1+incompatible to 27.0.2+incompatible. - [Commits](docker/cli@v27.0.1...v27.0.2) --- updated-dependencies: - dependency-name: github.com/docker/cli dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * provide required schema for basic template and fbc conversion (#1335) * Bump github.com/docker/cli (#1367) Bumps [github.com/docker/cli](https://github.com/docker/cli) from 27.0.2+incompatible to 27.0.3+incompatible. - [Commits](docker/cli@v27.0.2...v27.0.3) --- updated-dependencies: - dependency-name: github.com/docker/cli dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump google.golang.org/grpc from 1.64.0 to 1.65.0 (#1369) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.64.0 to 1.65.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](grpc/grpc-go@v1.64.0...v1.65.0) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump golang.org/x/sys from 0.21.0 to 0.22.0 (#1371) Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.21.0 to 0.22.0. - [Commits](golang/sys@v0.21.0...v0.22.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump github.com/containerd/containerd from 1.7.18 to 1.7.19 (#1368) Bumps [github.com/containerd/containerd](https://github.com/containerd/containerd) from 1.7.18 to 1.7.19. - [Release notes](https://github.com/containerd/containerd/releases) - [Changelog](https://github.com/containerd/containerd/blob/main/RELEASES.md) - [Commits](containerd/containerd@v1.7.18...v1.7.19) --- updated-dependencies: - dependency-name: github.com/containerd/containerd dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump golang.org/x/net from 0.26.0 to 0.27.0 (#1372) Bumps [golang.org/x/net](https://github.com/golang/net) from 0.26.0 to 0.27.0. - [Commits](golang/net@v0.26.0...v0.27.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump golang.org/x/mod from 0.18.0 to 0.19.0 (#1370) Bumps [golang.org/x/mod](https://github.com/golang/mod) from 0.18.0 to 0.19.0. - [Commits](golang/mod@v0.18.0...v0.19.0) --- updated-dependencies: - dependency-name: golang.org/x/mod dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * serve: add logging of grpc requests (#1373) Signed-off-by: Joe Lanford <joe.lanford@gmail.com> * Bump github.com/containers/common from 0.59.1 to 0.59.2 (#1375) Bumps [github.com/containers/common](https://github.com/containers/common) from 0.59.1 to 0.59.2. - [Release notes](https://github.com/containers/common/releases) - [Commits](containers/common@v0.59.1...v0.59.2) --- updated-dependencies: - dependency-name: github.com/containers/common dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump k8s.io/client-go from 0.30.2 to 0.30.3 (#1377) Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.30.2 to 0.30.3. - [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md) - [Commits](kubernetes/client-go@v0.30.2...v0.30.3) --- updated-dependencies: - dependency-name: k8s.io/client-go dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * bump distribution to v3.0-beta-1 (#1380) Signed-off-by: Jordan Keister <jordan@nimblewidget.com> * Bump k8s.io/apiextensions-apiserver from 0.30.2 to 0.30.3 (#1379) Bumps [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) from 0.30.2 to 0.30.3. - [Release notes](https://github.com/kubernetes/apiextensions-apiserver/releases) - [Commits](kubernetes/apiextensions-apiserver@v0.30.2...v0.30.3) --- updated-dependencies: - dependency-name: k8s.io/apiextensions-apiserver dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump github.com/containerd/containerd from 1.7.19 to 1.7.20 (#1382) Bumps [github.com/containerd/containerd](https://github.com/containerd/containerd) from 1.7.19 to 1.7.20. - [Release notes](https://github.com/containerd/containerd/releases) - [Changelog](https://github.com/containerd/containerd/blob/main/RELEASES.md) - [Commits](containerd/containerd@v1.7.19...v1.7.20) --- updated-dependencies: - dependency-name: github.com/containerd/containerd dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump github.com/docker/cli (#1383) Bumps [github.com/docker/cli](https://github.com/docker/cli) from 27.0.3+incompatible to 27.1.0+incompatible. - [Commits](docker/cli@v27.0.3...v27.1.0) --- updated-dependencies: - dependency-name: github.com/docker/cli dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump github.com/docker/cli (#1385) Bumps [github.com/docker/cli](https://github.com/docker/cli) from 27.1.0+incompatible to 27.1.1+incompatible. - [Commits](docker/cli@v27.1.0...v27.1.1) --- updated-dependencies: - dependency-name: github.com/docker/cli dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump github.com/grpc-ecosystem/grpc-health-probe from 0.4.29 to 0.4.30 (#1374) Bumps [github.com/grpc-ecosystem/grpc-health-probe](https://github.com/grpc-ecosystem/grpc-health-probe) from 0.4.29 to 0.4.30. - [Release notes](https://github.com/grpc-ecosystem/grpc-health-probe/releases) - [Changelog](https://github.com/grpc-ecosystem/grpc-health-probe/blob/master/.goreleaser.yml) - [Commits](grpc-ecosystem/grpc-health-probe@v0.4.29...v0.4.30) --- updated-dependencies: - dependency-name: github.com/grpc-ecosystem/grpc-health-probe dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump github.com/onsi/ginkgo/v2 from 2.19.0 to 2.19.1 (#1388) Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.19.0 to 2.19.1. - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](onsi/ginkgo@v2.19.0...v2.19.1) --- updated-dependencies: - dependency-name: github.com/onsi/ginkgo/v2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump github.com/containers/common from 0.59.2 to 0.60.0 (#1389) Bumps [github.com/containers/common](https://github.com/containers/common) from 0.59.2 to 0.60.0. - [Release notes](https://github.com/containers/common/releases) - [Commits](containers/common@v0.59.2...v0.60.0) --- updated-dependencies: - dependency-name: github.com/containers/common dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump github.com/onsi/gomega from 1.34.0 to 1.34.1 (#1391) Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.34.0 to 1.34.1. - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](onsi/gomega@v1.34.0...v1.34.1) --- updated-dependencies: - dependency-name: github.com/onsi/gomega dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump google.golang.org/grpc/cmd/protoc-gen-go-grpc from 1.4.0 to 1.5.1 (#1390) Bumps [google.golang.org/grpc/cmd/protoc-gen-go-grpc](https://github.com/grpc/grpc-go) from 1.4.0 to 1.5.1. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](grpc/grpc-go@v1.4.0...v1.5.1) --- updated-dependencies: - dependency-name: google.golang.org/grpc/cmd/protoc-gen-go-grpc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --------- Signed-off-by: Joe Lanford <joe.lanford@gmail.com> Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Jordan Keister <jordan@nimblewidget.com> Signed-off-by: Mikalai Radchuk <mradchuk@redhat.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jordan Keister <jordan@nimblewidget.com> Co-authored-by: Mikalai Radchuk <509198+m1kola@users.noreply.github.com>
Description of the change:
provide the capability for
opm generate dockerfiles
to generate Dockerfiles which build a binary-less catalog image based on scratch.We expose a new
builder-image
flag, allowing users to specify a new image to be used as a builder in the multi-stage dockerfile generated. This may not bescratch
.builder-image
andbinary-image
flags both default toquay.io/operator-framework/opm:latest
In order to generate a binary-less catalog image dockerfile, users just need to specify
binary-image
ofscratch
.Users who previously set
binary-image
may need to check if they need to also specifybuilder-image
to preserve existing behaviorMotivation for the change:
binary-less catalogs can be built on scratch to make tiny, platform-less catalog sources which can leverage the
.spec.grpcPodConfig.extractContent
fields to allow for on-cluster unpacking.Reviewer Checklist
/docs