forked from cerc-io/stack-orchestrator
The previous approach of mounting cri-base.json into kind nodes failed because we didn't tell containerd to use it via containerdConfigPatches. RuntimeClass allows different stacks to have different rlimit profiles, which is essential since kind only supports one cluster per host and multiple stacks share the same cluster. Changes: - Add containerdConfigPatches to kind-config.yml to define runtime handlers - Create RuntimeClass resources after cluster creation - Add runtimeClassName to pod specs based on stack's security settings - Rename cri-base.json to high-memlock-spec.json for clarity - Add get_runtime_class() method to Spec that auto-derives from unlimited-memlock setting Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
47 lines
1.7 KiB
Python
47 lines
1.7 KiB
Python
# Copyright © 2023 Vulcanize
|
|
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU Affero General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU Affero General Public License for more details.
|
|
|
|
# You should have received a copy of the GNU Affero General Public License
|
|
# along with this program. If not, see <http:#www.gnu.org/licenses/>.
|
|
|
|
cluster_name_prefix = "laconic-"
|
|
stack_file_name = "stack.yml"
|
|
spec_file_name = "spec.yml"
|
|
config_file_name = "config.env"
|
|
deployment_file_name = "deployment.yml"
|
|
compose_dir_name = "compose"
|
|
compose_deploy_type = "compose"
|
|
k8s_kind_deploy_type = "k8s-kind"
|
|
k8s_deploy_type = "k8s"
|
|
cluster_id_key = "cluster-id"
|
|
kube_config_key = "kube-config"
|
|
deploy_to_key = "deploy-to"
|
|
network_key = "network"
|
|
http_proxy_key = "http-proxy"
|
|
image_registry_key = "image-registry"
|
|
configmaps_key = "configmaps"
|
|
resources_key = "resources"
|
|
volumes_key = "volumes"
|
|
security_key = "security"
|
|
annotations_key = "annotations"
|
|
labels_key = "labels"
|
|
replicas_key = "replicas"
|
|
node_affinities_key = "node-affinities"
|
|
node_tolerations_key = "node-tolerations"
|
|
kind_config_filename = "kind-config.yml"
|
|
kube_config_filename = "kubeconfig.yml"
|
|
cri_base_filename = "cri-base.json"
|
|
unlimited_memlock_key = "unlimited-memlock"
|
|
runtime_class_key = "runtime-class"
|
|
high_memlock_runtime = "high-memlock"
|
|
high_memlock_spec_filename = "high-memlock-spec.json"
|