helm_chart
A Helm chart.
Backend: pants.backend.experimental.helm
chart
str | None
'Chart.yaml'
The chart definition file.
dependencies
Iterable[str] | None
None
Addresses to other targets that this target depends on, e.g. ['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django'].
This augments any dependencies inferred by Pants, such as by analyzing your imports. Use /home/josh/work/scie-pants/dist/pants dependencies
or /home/josh/work/scie-pants/dist/pants peek
on this target to get the final result.
See https://www.pantsbuild.org/v2.12/docs/targets#target-addresses and https://www.pantsbuild.org/v2.12/docs/targets#target-generation for more about how addresses are formed, including for generated targets. You can also run /home/josh/work/scie-pants/dist/pants list ::
to find all addresses in your project, or /home/josh/work/scie-pants/dist/pants list dir:
to find all addresses defined in that directory.
If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. :tgt
instead of helloworld/subdir:tgt
. For generated first-party addresses, use ./
for the file path, e.g. ./main.py:tgt
; for all other generated targets, use :tgt#generated_name
.
You may exclude dependencies by prefixing with !
, e.g. ['!helloworld/subdir:lib', '!./sibling.txt']
. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.
description
str | None
None
A human-readable description of the target.
Use /home/josh/work/scie-pants/dist/pants list --documented ::
to see all targets with descriptions.
lint_strict
bool | None
None
If set to true, enables strict linting of this Helm chart.
output_path
str | None
None
Where the built directory tree should be located.
If undefined, this will use the path to the BUILD file, For example, src/charts/mychart:tgt_name
would be src.charts.mychart/tgt_name/
.
Regardless of whether you use the default or set this field, the path will end with Helms's file format of <chart_name>-<chart_version>.tgz
, where chart_name
and chart_version
are the values extracted from the Chart.yaml file. So, using the default for this field, the target src/charts/mychart:tgt_name
might have a final path like src.charts.mychart/tgt_name/mychart-0.1.0.tgz
.
When running /home/josh/work/scie-pants/dist/pants package
, this path will be prefixed by --distdir
(e.g. dist/
).
Warning: setting this value risks naming collisions with other package targets you may have.
registries
Iterable[str] | None
('<ALL DEFAULT HELM REGISTRIES>',)
List of addresses or configured aliases to any OCI registries to use for the built chart.
The address is an oci://
prefixed domain name with optional port for your registry, and any registry aliases are prefixed with @
for addresses in the [helm].registries configuration section.
By default, all configured registries with default = true
are used.
Example:
# pants.toml
[helm.registries.my-registry-alias]
address = "oci://myregistrydomain:port"
default = false # optional
# example/BUILD
helm_chart(
registries = [
"@my-registry-alias",
"oci://myregistrydomain:port",
],
)
The above example shows two valid registry
options: using an alias to a configured registry and the address to a registry verbatim in the BUILD file.
repository
str | None
None
Repository to use in the Helm registry where this chart is going to be published.
If no value is given and [helm].default-registry-repository
is undefined too, then the chart will be pushed to the root of the OCI registry.
skip_push
bool
False
If set to true, do not push this helm chart to registries when running /home/josh/work/scie-pants/dist/pants publish
.
sources
Iterable[str] | None
('values.yaml', 'templates/*.yaml', 'templates/*.tpl')
A list of files and globs that belong to this target.
Paths are relative to the BUILD file's directory. You can ignore files/globs by prefixing them with !
.
Example: sources=['example.ext', 'test_*.ext', '!test_ignore.ext']
.
tags
Iterable[str] | None
None
Arbitrary strings to describe a target.
For example, you may tag some test targets with 'integration_test' so that you could run /home/josh/work/scie-pants/dist/pants --tag='integration_test' test ::
to only run on targets with that tag.