Estimate the packaged .tgz size of a Helm chart including all subcharts.
`helm package` bundles Chart.yaml, the templates/ directory, values.yaml, and any crds/ into a single gzip-compressed tarball. Because all of these are text (YAML, JSON, Go templates), gzip typically compresses the archive down to roughly 25–35% of its uncompressed size, so estimating final .tgz size means summing the raw component sizes and then applying that compression ratio.
tgzSize = (chartYaml + templates + values + crds) × compressionRatio
CustomResourceDefinitions embed a full OpenAPI v3 schema for validation, which for complex CRDs (e.g. operators with many configurable fields) can run to hundreds of KB per CRD — far larger than a typical Deployment or Service template.
No — everything in the chart directory (crds/, templates/, values.yaml, Chart.yaml) is bundled into the same tar stream and gzip-compressed together as one .tgz.
Trim unused fields from CRD schemas where you control them, remove verbose comments from templates before packaging, and avoid embedding large binary or base64 blobs directly in values.yaml.