Skip to content

Commit b883d6a

Browse files
camilamacedo86jmrodribparees
authored
[doc]: add info over how to keep the bundle smaller (#5563)
* [doc]: add info over how to keep CRD smaller * update doc for clarity * Apply suggestions from code review * Update website/content/en/docs/faqs/_index.md Co-authored-by: Jesus Rodriguez <[email protected]> * Update website/content/en/docs/faqs/_index.md Co-authored-by: Jesus Rodriguez <[email protected]> * Update website/content/en/docs/faqs/_index.md Co-authored-by: Jesus Rodriguez <[email protected]> * Update website/content/en/docs/faqs/_index.md Co-authored-by: Jesus Rodriguez <[email protected]> * Apply suggestions from code review Co-authored-by: Ben Parees <[email protected]> * Apply suggestions from code review * Update website/content/en/docs/faqs/_index.md Co-authored-by: Jesus Rodriguez <[email protected]> Co-authored-by: Ben Parees <[email protected]>
1 parent e06cc19 commit b883d6a

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

website/content/en/docs/faqs/_index.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,21 @@ Though this is a bug with controller-gen which is used by Operator SDK to genera
234234
## What is the bundle limit size? Was this amount increased?
235235

236236
Bundles have a size limitation because their manifests are used to create a configMap, and the Kubernetes API does not
237-
allow configMaps larger than `~1MB`. However, from [OLM](https://github.com/operator-framework/operator-lifecycle-manager) version `v0.19.0` and [OPM](https://github.com/operator-framework/operator-registry) `1.17.5`, these values were increased to `~4MB` because we are compressing them. ([More info](https://github.com/operator-framework/operator-registry/pull/685)).
237+
allow configMaps larger than `~1MB`. Beginning with [OLM](https://github.com/operator-framework/operator-lifecycle-manager) version `v0.19.0`
238+
and [OPM](https://github.com/operator-framework/operator-registry) `1.17.5`,
239+
these values are now compressed accommodating larger bundles. ([More info](https://github.com/operator-framework/operator-registry/pull/685)).
238240

239241
The change to allow bigger bundles from [OLM](https://github.com/operator-framework/operator-lifecycle-manager) version `v0.19.0` only impacts the full bundle size amount.
240242
Any single manifest within the bundle such as the CRD will still make the bundle uninstallable if it exceeds the default file size limit on clusters (`~1MB`).
243+
244+
## The size of my Operator bundle is too big. What can I do?
245+
246+
If your bundle is too large, there are a few things you can try:
247+
248+
* Reducing the number of [CRD versions][k8s-crd-versions] supported in your Operator by deprecating and then removing older API versions. It is a good idea to have a clear plan for deprecation and removal of old CRDs versions when new ones get added, see [Kubernetes API change practices][k8s-api-change]. Also, refer to the [Kubernetes API conventions][k8s-api-convention].
249+
* Reduce the verbosity of your API documentation. (We do not recommend eliminating documenting the APIs)
250+
251+
252+
[k8s-crd-versions]: https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/#specify-multiple-versions
253+
[k8s-api-change]: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api_changes.md
254+
[k8s-api-convention]: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md

0 commit comments

Comments
 (0)