ccluster-py 0.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ccluster/__init__.py +19 -0
- ccluster/catalogs/__init__.py +65 -0
- ccluster/catalogs/cluster_base/__init__.py +41 -0
- ccluster/catalogs/cluster_base/argo_rollouts/__init__.py +37 -0
- ccluster/catalogs/cluster_base/argo_rollouts/values.py +79 -0
- ccluster/catalogs/cluster_base/cert_manager/__init__.py +37 -0
- ccluster/catalogs/cluster_base/cert_manager/values.py +85 -0
- ccluster/catalogs/cluster_base/external_dns/__init__.py +39 -0
- ccluster/catalogs/cluster_base/external_dns/values.py +115 -0
- ccluster/catalogs/cluster_base/final_stack/__init__.py +31 -0
- ccluster/catalogs/cluster_base/final_stack/values.py +41 -0
- ccluster/catalogs/cluster_base/fluent_bit/__init__.py +37 -0
- ccluster/catalogs/cluster_base/fluent_bit/values.py +85 -0
- ccluster/catalogs/cluster_base/gpu_operator/__init__.py +39 -0
- ccluster/catalogs/cluster_base/gpu_operator/values.py +118 -0
- ccluster/catalogs/cluster_base/ingress_nginx/__init__.py +41 -0
- ccluster/catalogs/cluster_base/ingress_nginx/values.py +115 -0
- ccluster/catalogs/cluster_base/istio/__init__.py +45 -0
- ccluster/catalogs/cluster_base/istio/values.py +158 -0
- ccluster/catalogs/cluster_base/keda/__init__.py +37 -0
- ccluster/catalogs/cluster_base/keda/values.py +74 -0
- ccluster/catalogs/cluster_base/kube_prometheus_stack/__init__.py +41 -0
- ccluster/catalogs/cluster_base/kube_prometheus_stack/values.py +124 -0
- ccluster/catalogs/cluster_base/longhorn/__init__.py +33 -0
- ccluster/catalogs/cluster_base/longhorn/values.py +46 -0
- ccluster/catalogs/cluster_base/metrics_server/__init__.py +33 -0
- ccluster/catalogs/cluster_base/metrics_server/values.py +50 -0
- ccluster/catalogs/cluster_base/network_operator/__init__.py +33 -0
- ccluster/catalogs/cluster_base/network_operator/values.py +50 -0
- ccluster/catalogs/cluster_base/opentelemetry_collector/__init__.py +35 -0
- ccluster/catalogs/cluster_base/opentelemetry_collector/values.py +78 -0
- ccluster/catalogs/cluster_base/prometheus_adapter/__init__.py +37 -0
- ccluster/catalogs/cluster_base/prometheus_adapter/values.py +75 -0
- ccluster/catalogs/cluster_base/spire/__init__.py +45 -0
- ccluster/catalogs/cluster_base/spire/values.py +155 -0
- ccluster/catalogs/cluster_base/spire_crds/__init__.py +33 -0
- ccluster/catalogs/cluster_base/spire_crds/values.py +50 -0
- ccluster/catalogs/cluster_base/teleport_kube_agent/__init__.py +37 -0
- ccluster/catalogs/cluster_base/teleport_kube_agent/values.py +125 -0
- ccluster/py.typed +0 -0
- ccluster/v1alpha1/__init__.py +47 -0
- ccluster/v1alpha1/cclcomponentset.py +269 -0
- ccluster/v1alpha1/cclinfraplane.py +222 -0
- ccluster_py-0.0.1.dist-info/METADATA +84 -0
- ccluster_py-0.0.1.dist-info/RECORD +46 -0
- ccluster_py-0.0.1.dist-info/WHEEL +4 -0
ccluster/__init__.py
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Copyright 2026 NVIDIA CORPORATION & AFFILIATES.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
"""Pydantic models for the ccluster.nvidia.com API and the catalog's chart values.
|
|
16
|
+
|
|
17
|
+
Everything under ccluster.v1alpha1 and ccluster.catalogs.cluster_base is generated by
|
|
18
|
+
`make python-generate` from the CRDs and the catalog's Go packages; see python/README.md.
|
|
19
|
+
"""
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Copyright 2026 NVIDIA CORPORATION & AFFILIATES.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
"""The Helm chart catalog, as typed values.
|
|
16
|
+
|
|
17
|
+
Each chart under ccluster.catalogs.cluster_base has a Values model and a CHART path,
|
|
18
|
+
generated from the Go package beside the chart. entry() turns one of those into the
|
|
19
|
+
ComponentEntry fields of a CCLComponentSet component, as catalogs.Entry does in Go.
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
from typing import Any
|
|
23
|
+
|
|
24
|
+
from pydantic import BaseModel
|
|
25
|
+
|
|
26
|
+
from ccluster.v1alpha1 import ComponentSpec, LocalObjectReference
|
|
27
|
+
|
|
28
|
+
__all__ = ["component", "entry"]
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def entry(chart: str, namespace: str, values: BaseModel | None) -> dict[str, Any]:
|
|
32
|
+
"""Return the chart, namespace and values fields of a component.
|
|
33
|
+
|
|
34
|
+
values is dumped by alias with None fields left out, which is the shape Helm
|
|
35
|
+
expects and the shape the Go catalog produces. An empty result is dropped rather
|
|
36
|
+
than stored: the operator omits the Application's helm block when values is unset,
|
|
37
|
+
and an empty object would defeat that. The required values of a chart (only
|
|
38
|
+
teleport-kube-agent has any) are checked when its Values is constructed.
|
|
39
|
+
"""
|
|
40
|
+
out: dict[str, Any] = {"chart": chart, "namespace": namespace}
|
|
41
|
+
if values is not None:
|
|
42
|
+
dumped = values.model_dump(by_alias=True, exclude_none=True)
|
|
43
|
+
if dumped:
|
|
44
|
+
out["values"] = dumped
|
|
45
|
+
return out
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def component(
|
|
49
|
+
name: str,
|
|
50
|
+
infra_plane: str,
|
|
51
|
+
chart: str,
|
|
52
|
+
namespace: str,
|
|
53
|
+
values: BaseModel | None = None,
|
|
54
|
+
) -> ComponentSpec:
|
|
55
|
+
"""Build one CCLComponentSet component from a chart's typed values.
|
|
56
|
+
|
|
57
|
+
chart is the module's CHART constant. The component's name and the infra plane it
|
|
58
|
+
is deployed to are the caller's, as is the namespace it installs into: none of
|
|
59
|
+
those are facts about the chart.
|
|
60
|
+
"""
|
|
61
|
+
return ComponentSpec(
|
|
62
|
+
name=name,
|
|
63
|
+
infra_plane_ref=LocalObjectReference(name=infra_plane),
|
|
64
|
+
**entry(chart, namespace, values),
|
|
65
|
+
)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Copyright 2026 NVIDIA CORPORATION & AFFILIATES.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
# Code generated by `make python-generate`. DO NOT EDIT.
|
|
16
|
+
|
|
17
|
+
"""The cluster_base catalog: one subpackage per chart, each with a Values
|
|
18
|
+
model and its CHART path."""
|
|
19
|
+
|
|
20
|
+
from . import argo_rollouts, cert_manager, external_dns, final_stack, fluent_bit, gpu_operator, ingress_nginx, istio, keda, kube_prometheus_stack, longhorn, metrics_server, network_operator, opentelemetry_collector, prometheus_adapter, spire, spire_crds, teleport_kube_agent
|
|
21
|
+
|
|
22
|
+
__all__ = [
|
|
23
|
+
"argo_rollouts",
|
|
24
|
+
"cert_manager",
|
|
25
|
+
"external_dns",
|
|
26
|
+
"final_stack",
|
|
27
|
+
"fluent_bit",
|
|
28
|
+
"gpu_operator",
|
|
29
|
+
"ingress_nginx",
|
|
30
|
+
"istio",
|
|
31
|
+
"keda",
|
|
32
|
+
"kube_prometheus_stack",
|
|
33
|
+
"longhorn",
|
|
34
|
+
"metrics_server",
|
|
35
|
+
"network_operator",
|
|
36
|
+
"opentelemetry_collector",
|
|
37
|
+
"prometheus_adapter",
|
|
38
|
+
"spire",
|
|
39
|
+
"spire_crds",
|
|
40
|
+
"teleport_kube_agent",
|
|
41
|
+
]
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Copyright 2026 NVIDIA CORPORATION & AFFILIATES.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
# Code generated by `make python-generate`. DO NOT EDIT.
|
|
16
|
+
|
|
17
|
+
"""Values of the catalogs/cluster_base/argo_rollouts chart, generated from its Go package."""
|
|
18
|
+
|
|
19
|
+
from typing import Final
|
|
20
|
+
|
|
21
|
+
from .values import (
|
|
22
|
+
ChartValues,
|
|
23
|
+
Controller,
|
|
24
|
+
Dashboard,
|
|
25
|
+
Values,
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
__all__ = [
|
|
29
|
+
"CHART",
|
|
30
|
+
"ChartValues",
|
|
31
|
+
"Controller",
|
|
32
|
+
"Dashboard",
|
|
33
|
+
"Values",
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
# CHART is the chart's directory, relative to the root of the catalog repository.
|
|
37
|
+
CHART: Final = "catalogs/cluster_base/argo_rollouts"
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Copyright 2026 NVIDIA CORPORATION & AFFILIATES.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
# Code generated by `make python-generate`. DO NOT EDIT.
|
|
16
|
+
|
|
17
|
+
from __future__ import annotations
|
|
18
|
+
|
|
19
|
+
from typing import Annotated
|
|
20
|
+
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class Controller(BaseModel):
|
|
25
|
+
"""
|
|
26
|
+
Controller configures the rollouts controller.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
model_config = ConfigDict(
|
|
30
|
+
extra="forbid",
|
|
31
|
+
populate_by_name=True,
|
|
32
|
+
)
|
|
33
|
+
replicas: int | None = None
|
|
34
|
+
"""
|
|
35
|
+
Replicas is the controller replica count. The chart ships 2.
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class Dashboard(BaseModel):
|
|
40
|
+
"""
|
|
41
|
+
Dashboard configures the rollouts dashboard.
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
model_config = ConfigDict(
|
|
45
|
+
extra="forbid",
|
|
46
|
+
populate_by_name=True,
|
|
47
|
+
)
|
|
48
|
+
enabled: bool | None = None
|
|
49
|
+
"""
|
|
50
|
+
Enabled turns the dashboard on. The chart ships it off.
|
|
51
|
+
"""
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
class ChartValues(BaseModel):
|
|
55
|
+
"""
|
|
56
|
+
ChartValues are the upstream argo-rollouts values worth setting per cluster.
|
|
57
|
+
Anything not set here comes from catalogs/cluster_base/argo_rollouts/values.yaml.
|
|
58
|
+
"""
|
|
59
|
+
|
|
60
|
+
model_config = ConfigDict(
|
|
61
|
+
extra="forbid",
|
|
62
|
+
populate_by_name=True,
|
|
63
|
+
)
|
|
64
|
+
controller: Controller | None = None
|
|
65
|
+
dashboard: Dashboard | None = None
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
class Values(BaseModel):
|
|
69
|
+
"""
|
|
70
|
+
Values is the top-level values document for catalogs/cluster_base/argo_rollouts.
|
|
71
|
+
Its single key is the upstream chart's alias, because this chart wraps it as a
|
|
72
|
+
dependency — which is the only reason the nesting exists.
|
|
73
|
+
"""
|
|
74
|
+
|
|
75
|
+
model_config = ConfigDict(
|
|
76
|
+
extra="forbid",
|
|
77
|
+
populate_by_name=True,
|
|
78
|
+
)
|
|
79
|
+
argo_rollouts: Annotated[ChartValues | None, Field(alias="argo-rollouts")] = None
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Copyright 2026 NVIDIA CORPORATION & AFFILIATES.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
# Code generated by `make python-generate`. DO NOT EDIT.
|
|
16
|
+
|
|
17
|
+
"""Values of the catalogs/cluster_base/cert_manager chart, generated from its Go package."""
|
|
18
|
+
|
|
19
|
+
from typing import Final
|
|
20
|
+
|
|
21
|
+
from .values import (
|
|
22
|
+
ChartValues,
|
|
23
|
+
PrometheusValues,
|
|
24
|
+
Toggle,
|
|
25
|
+
Values,
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
__all__ = [
|
|
29
|
+
"CHART",
|
|
30
|
+
"ChartValues",
|
|
31
|
+
"PrometheusValues",
|
|
32
|
+
"Toggle",
|
|
33
|
+
"Values",
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
# CHART is the chart's directory, relative to the root of the catalog repository.
|
|
37
|
+
CHART: Final = "catalogs/cluster_base/cert_manager"
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Copyright 2026 NVIDIA CORPORATION & AFFILIATES.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
# Code generated by `make python-generate`. DO NOT EDIT.
|
|
16
|
+
|
|
17
|
+
from __future__ import annotations
|
|
18
|
+
|
|
19
|
+
from typing import Annotated
|
|
20
|
+
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class Toggle(BaseModel):
|
|
25
|
+
"""
|
|
26
|
+
Toggle is a subchart's enable flag.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
model_config = ConfigDict(
|
|
30
|
+
extra="forbid",
|
|
31
|
+
populate_by_name=True,
|
|
32
|
+
)
|
|
33
|
+
enabled: bool | None = None
|
|
34
|
+
"""
|
|
35
|
+
Enabled turns the feature on.
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class PrometheusValues(BaseModel):
|
|
40
|
+
"""
|
|
41
|
+
PrometheusValues configures cert-manager's metrics scraping.
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
model_config = ConfigDict(
|
|
45
|
+
extra="forbid",
|
|
46
|
+
populate_by_name=True,
|
|
47
|
+
)
|
|
48
|
+
enabled: bool | None = None
|
|
49
|
+
servicemonitor: Toggle | None = None
|
|
50
|
+
"""
|
|
51
|
+
ServiceMonitor is spelled lower-case in this chart, unlike every other
|
|
52
|
+
chart in the catalog.
|
|
53
|
+
"""
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
class ChartValues(BaseModel):
|
|
57
|
+
"""
|
|
58
|
+
ChartValues are the upstream cert-manager values worth setting per cluster.
|
|
59
|
+
"""
|
|
60
|
+
|
|
61
|
+
model_config = ConfigDict(
|
|
62
|
+
extra="forbid",
|
|
63
|
+
populate_by_name=True,
|
|
64
|
+
)
|
|
65
|
+
replica_count: Annotated[int | None, Field(alias="replicaCount")] = None
|
|
66
|
+
"""
|
|
67
|
+
ReplicaCount is the controller replica count. The chart ships 2.
|
|
68
|
+
"""
|
|
69
|
+
prometheus: PrometheusValues | None = None
|
|
70
|
+
"""
|
|
71
|
+
Prometheus scraping is shipped off, because the ServiceMonitor CRD only
|
|
72
|
+
exists once kube-prometheus-stack is deployed. Enable it after that.
|
|
73
|
+
"""
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
class Values(BaseModel):
|
|
77
|
+
"""
|
|
78
|
+
Values is the top-level values document for catalogs/cluster_base/cert_manager.
|
|
79
|
+
"""
|
|
80
|
+
|
|
81
|
+
model_config = ConfigDict(
|
|
82
|
+
extra="forbid",
|
|
83
|
+
populate_by_name=True,
|
|
84
|
+
)
|
|
85
|
+
cert_manager: Annotated[ChartValues | None, Field(alias="cert-manager")] = None
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Copyright 2026 NVIDIA CORPORATION & AFFILIATES.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
# Code generated by `make python-generate`. DO NOT EDIT.
|
|
16
|
+
|
|
17
|
+
"""Values of the catalogs/cluster_base/external_dns chart, generated from its Go package."""
|
|
18
|
+
|
|
19
|
+
from typing import Final
|
|
20
|
+
|
|
21
|
+
from .values import (
|
|
22
|
+
ChartValues,
|
|
23
|
+
Provider,
|
|
24
|
+
ServiceAccount,
|
|
25
|
+
Toggle,
|
|
26
|
+
Values,
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
__all__ = [
|
|
30
|
+
"CHART",
|
|
31
|
+
"ChartValues",
|
|
32
|
+
"Provider",
|
|
33
|
+
"ServiceAccount",
|
|
34
|
+
"Toggle",
|
|
35
|
+
"Values",
|
|
36
|
+
]
|
|
37
|
+
|
|
38
|
+
# CHART is the chart's directory, relative to the root of the catalog repository.
|
|
39
|
+
CHART: Final = "catalogs/cluster_base/external_dns"
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# Copyright 2026 NVIDIA CORPORATION & AFFILIATES.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
# Code generated by `make python-generate`. DO NOT EDIT.
|
|
16
|
+
|
|
17
|
+
from __future__ import annotations
|
|
18
|
+
|
|
19
|
+
from typing import Annotated
|
|
20
|
+
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class Provider(BaseModel):
|
|
25
|
+
"""
|
|
26
|
+
Provider is the DNS provider external-dns talks to.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
model_config = ConfigDict(
|
|
30
|
+
extra="forbid",
|
|
31
|
+
populate_by_name=True,
|
|
32
|
+
)
|
|
33
|
+
name: str | None = None
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class ServiceAccount(BaseModel):
|
|
37
|
+
"""
|
|
38
|
+
ServiceAccount configures the identity external-dns runs as.
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
model_config = ConfigDict(
|
|
42
|
+
extra="forbid",
|
|
43
|
+
populate_by_name=True,
|
|
44
|
+
)
|
|
45
|
+
create: bool | None = None
|
|
46
|
+
"""
|
|
47
|
+
Create is shipped true for standalone testing. Set it false and
|
|
48
|
+
pre-create the account, with IRSA for instance, in production.
|
|
49
|
+
"""
|
|
50
|
+
name: str | None = None
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
class Toggle(BaseModel):
|
|
54
|
+
"""
|
|
55
|
+
Toggle is a subchart's enable flag.
|
|
56
|
+
"""
|
|
57
|
+
|
|
58
|
+
model_config = ConfigDict(
|
|
59
|
+
extra="forbid",
|
|
60
|
+
populate_by_name=True,
|
|
61
|
+
)
|
|
62
|
+
enabled: bool | None = None
|
|
63
|
+
"""
|
|
64
|
+
Enabled turns the feature on.
|
|
65
|
+
"""
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
class ChartValues(BaseModel):
|
|
69
|
+
"""
|
|
70
|
+
ChartValues are the upstream external-dns values worth setting per cluster.
|
|
71
|
+
"""
|
|
72
|
+
|
|
73
|
+
model_config = ConfigDict(
|
|
74
|
+
extra="forbid",
|
|
75
|
+
populate_by_name=True,
|
|
76
|
+
)
|
|
77
|
+
provider: Provider | None = None
|
|
78
|
+
"""
|
|
79
|
+
Provider is the DNS provider. The chart ships aws; switch it and supply
|
|
80
|
+
the matching credentials through the service account.
|
|
81
|
+
"""
|
|
82
|
+
domain_filters: Annotated[list[str] | None, Field(alias="domainFilters")] = None
|
|
83
|
+
"""
|
|
84
|
+
DomainFilters constrains external-dns to these zones. Unset, it manages
|
|
85
|
+
every zone the credentials can reach.
|
|
86
|
+
"""
|
|
87
|
+
txt_owner_id: Annotated[str | None, Field(alias="txtOwnerId")] = None
|
|
88
|
+
"""
|
|
89
|
+
TxtOwnerID identifies this instance's TXT ownership records. Two
|
|
90
|
+
clusters sharing a zone must not share it.
|
|
91
|
+
"""
|
|
92
|
+
extra_args: Annotated[list[str] | None, Field(alias="extraArgs")] = None
|
|
93
|
+
"""
|
|
94
|
+
ExtraArgs is where --zone-id-filter goes to constrain Route53 changes
|
|
95
|
+
to a single hosted zone.
|
|
96
|
+
"""
|
|
97
|
+
service_account: Annotated[ServiceAccount | None, Field(alias="serviceAccount")] = (
|
|
98
|
+
None
|
|
99
|
+
)
|
|
100
|
+
service_monitor: Annotated[Toggle | None, Field(alias="serviceMonitor")] = None
|
|
101
|
+
"""
|
|
102
|
+
ServiceMonitor requires the kube-prometheus-stack CRDs.
|
|
103
|
+
"""
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
class Values(BaseModel):
|
|
107
|
+
"""
|
|
108
|
+
Values is the top-level values document for catalogs/cluster_base/external_dns.
|
|
109
|
+
"""
|
|
110
|
+
|
|
111
|
+
model_config = ConfigDict(
|
|
112
|
+
extra="forbid",
|
|
113
|
+
populate_by_name=True,
|
|
114
|
+
)
|
|
115
|
+
external_dns: Annotated[ChartValues | None, Field(alias="external-dns")] = None
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Copyright 2026 NVIDIA CORPORATION & AFFILIATES.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
# Code generated by `make python-generate`. DO NOT EDIT.
|
|
16
|
+
|
|
17
|
+
"""Values of the catalogs/cluster_base/final_stack chart, generated from its Go package."""
|
|
18
|
+
|
|
19
|
+
from typing import Final
|
|
20
|
+
|
|
21
|
+
from .values import (
|
|
22
|
+
Values,
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
__all__ = [
|
|
26
|
+
"CHART",
|
|
27
|
+
"Values",
|
|
28
|
+
]
|
|
29
|
+
|
|
30
|
+
# CHART is the chart's directory, relative to the root of the catalog repository.
|
|
31
|
+
CHART: Final = "catalogs/cluster_base/final_stack"
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Copyright 2026 NVIDIA CORPORATION & AFFILIATES.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
# Code generated by `make python-generate`. DO NOT EDIT.
|
|
16
|
+
|
|
17
|
+
from __future__ import annotations
|
|
18
|
+
|
|
19
|
+
from pydantic import BaseModel, ConfigDict
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class Values(BaseModel):
|
|
23
|
+
"""
|
|
24
|
+
Values is the top-level values document for catalogs/cluster_base/final_stack.
|
|
25
|
+
|
|
26
|
+
It is empty, and that is a known gap rather than a chart with nothing to configure.
|
|
27
|
+
This chart wraps no upstream dependency and has no chart-level values: its templates
|
|
28
|
+
consume only .Values.global.cluster.domain, which every one of its five resources
|
|
29
|
+
interpolates — the cluster issuers, the OIDC discovery Ingress, and the four
|
|
30
|
+
ClusterSPIFFEIDs.
|
|
31
|
+
|
|
32
|
+
Global values are not modelled by this catalog yet. Until they are, this component
|
|
33
|
+
renders against the chart's own defaults and the resources it produces will carry
|
|
34
|
+
the placeholder domain, so a caller that needs a real one has to set
|
|
35
|
+
global.cluster.domain on the CCLComponentSet component's values by hand.
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
model_config = ConfigDict(
|
|
39
|
+
extra="forbid",
|
|
40
|
+
populate_by_name=True,
|
|
41
|
+
)
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Copyright 2026 NVIDIA CORPORATION & AFFILIATES.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
# Code generated by `make python-generate`. DO NOT EDIT.
|
|
16
|
+
|
|
17
|
+
"""Values of the catalogs/cluster_base/fluent_bit chart, generated from its Go package."""
|
|
18
|
+
|
|
19
|
+
from typing import Final
|
|
20
|
+
|
|
21
|
+
from .values import (
|
|
22
|
+
ChartValues,
|
|
23
|
+
Config,
|
|
24
|
+
ServiceAccount,
|
|
25
|
+
Values,
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
__all__ = [
|
|
29
|
+
"CHART",
|
|
30
|
+
"ChartValues",
|
|
31
|
+
"Config",
|
|
32
|
+
"ServiceAccount",
|
|
33
|
+
"Values",
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
# CHART is the chart's directory, relative to the root of the catalog repository.
|
|
37
|
+
CHART: Final = "catalogs/cluster_base/fluent_bit"
|