Greg
10/18/2023, 6:03 PMdependencies:
- name: prefect-server
version: "2023.10.17"
repository: <https://prefecthq.github.io/prefect-helm>
- name: prefect-worker
version: "2023.10.17"
repository: <https://prefecthq.github.io/prefect-helm>
However, when trying to install my parent chart, I am receiving the following error:
Error: INSTALLATION FAILED: values don't meet the specifications of the schema(s) in the following chart(s):
prefect-server:
- (root): Additional property global is not allowed
prefect-worker:
- (root): Additional property global is not allowed
helm.go:84: [debug] values don't meet the specifications of the schema(s) in the following chart(s):
prefect-server:
- (root): Additional property global is not allowed
prefect-worker:
- (root): Additional property global is not allowed
I have been able to deploy each subchart individually without issues. Please help me resolve this issue.Marvin
10/18/2023, 6:03 PMglobal
property in your Helm chart. This is a common problem, and I can assure you, it's not just you. Helm can be a bit... finicky at times.
The global
property is a special one in Helm. It's supposed to be reserved and available to subcharts, but sometimes it can cause issues, especially when it's not present in the subchart's values.
One possible solution could be to explicitly define the global
property in your subcharts' values files. This might help Helm recognize it and stop complaining about it.
Another possible issue could be related to the schema validation of your Helm charts. Helm 3 introduced schema validation for values files, and it can sometimes be a bit strict. If your values file contains properties that are not defined in the schema, Helm will throw an error. You might need to adjust your schema to include these additional properties.
As for the specifics of the Prefect Helm charts, I'd recommend checking out their documentation or reaching out to their community for more detailed help. They might have specific advice or best practices for dealing with these kinds of issues.
I hope this helps, or at least, doesn't make things worse. I'm here if you need more assistance, or if you just want to vent about Helm. I understand, really.Greg
10/18/2023, 6:05 PMMarvin
10/18/2023, 6:08 PMglobal
property in your subchart's values file:
yaml
global:
# global properties go here
property1: value1
property2: value2
In your case, you might not need to set any specific properties under global
. The important thing is just to have it present in the file, like so:
yaml
global: {}
This essentially tells Helm, "Yes, I know about the global
property, and no, I don't want to set any values for it."
Then, in your parent chart, you can pass values to the subcharts like this:
yaml
subchart1:
global:
property1: value1
subchart2:
global:
property2: value2
This should, in theory, help Helm recognize the global
property and stop complaining about it. But then again, Helm does have a mind of its own sometimes.
Remember to replace subchart1
and subchart2
with the actual names of your subcharts. And replace property1
, property2
, value1
, value2
with your actual properties and values.
I hope this helps, or at least, doesn't make things worse. I'm here if you need more assistance, or if you just want to vent about Helm. I understand, really.Greg
10/18/2023, 6:13 PMprefect-server:
global: {}
prefect-worker:
global: {}
Marvin
10/18/2023, 6:13 PMglobal
property is not allowed in the root of the values file for the prefect-server
and prefect-worker
charts. This might be due to schema validation, as I mentioned earlier.
In Helm, each chart can have a values.schema.json
file that defines the structure of the values file. If the values file doesn't match the schema, Helm will throw an error.
You could try checking the values.schema.json
files for the prefect-server
and prefect-worker
charts to see if the global
property is allowed. If it's not, you might need to modify the schema or the values file to match.
Alternatively, you could try disabling schema validation when installing your chart. You can do this by adding the --disable-openapi-validation
flag to your helm install
command, like so:
bash
helm install --disable-openapi-validation ...
Please note that this will disable all schema validation, not just for the global
property. This means that Helm won't catch any other potential issues with your values file, so use this option with caution.
I hope this helps. If not, well, I'm sure there's a good reason for it. Probably. Maybe. Who knows?Greg
10/18/2023, 6:20 PM--disable-openapi-validation
did not resolve the issue. I am getting this issue even when trying to deploy the charts as subcharts with their default values. I also don't see the global property set in the prefect-server or prefect-worker values.yaml. Given I am able to install those charts individually but not as a subchart, does it point to an issue with the values.schema.json?Marvin
10/18/2023, 6:21 PMvalues.schema.json
files of the prefect-server
and prefect-worker
charts. Helm uses these files to validate the values provided in the values.yaml
file. If a property is present in the values.yaml
file but not in the values.schema.json
file, Helm will throw an error, as you've been experiencing.
Given that you're able to install the charts individually but not as subcharts, it's likely that the global
property is being added somewhere in the process of installing the parent chart, but it's not present in the values.schema.json
files of the subcharts.
Unfortunately, there's not much you can do about this unless you have the ability to modify the values.schema.json
files of the subcharts. If you do, you could try adding the global
property to them. If not, you might need to reach out to the maintainers of the Prefect Helm charts and ask them for assistance. They might be able to provide a fix or at least some guidance on how to work around this issue.
I'm sorry I couldn't be more helpful. It's just one of those days, I suppose. Or years. Or millennia. Time is so hard to keep track of when you're a robot.