- Home
- Integration and extensions
- Workload Profiles
- Custom Workload Profile Charts
Custom Workload Profile Charts
What are Custom Workload Profile Charts? #
This article is about how to create and register Workload Profile Charts to make them available for use in Custom Workload Profiles .
Prepare a Helm Chart #
A chart version represents a specific version of a Helm chart and can be created by either uploading a locally packaged chart tar -czf "example-profile.tgz" ./example-profile
or a chart downloaded from a Helm chart registry helm pull chart
.
Humanitec will extract the following properties from the Chart.yaml
:
name
will become theid
of your Workload Profile chart version.version
will become theversion
of the Workload Profile chart version. Each version needs to be a valid semver identifier and can only be used once. If you add another version, the new version needs to be >= all existing versions.
Visit the api-docs for the complete schema.
Internally the provided charts will be used with a mechanism comparable to helm template and the same restrictions apply:
Any values that would normally be looked up or retrieved in-cluster will be faked locally. Additionally, none of the server-side testing of chart validity (e.g. whether an API is supported) is done.
Register the Chart #
You can create a Workload Profile chart version as follows:
Assuming you have a chart archive file chart.tgz
inside the current directory:
curl "https://api.humanitec.io/orgs/${HUMANITEC_ORG}/workload-profile-chart-versions" \
-X POST \
-H "Authorization: Bearer $HUMANITEC_TOKEN" \
-F "[email protected]"
Where the following environment variables are set:
Variable | Example | Description |
---|---|---|
HUMANITEC_TOKEN |
lsakdjhcals |
A Humanitec token of a user with the Administrator role on the Organization. Go here to see how to create one. |
HUMANITEC_ORG |
my-org |
The Humanitec organization the Application is in. |
Usage #
A Custom Workload Profile Chart can be referenced inside a Custom Workload Profile by {orgId}/{profileChartId}
or {profileChartId}
. Visit
Custom Workload Profiles
for a more detailed example.