prvng_kcl/docs/provisioning.md
2025-10-07 11:17:54 +01:00

590 lines
16 KiB
Markdown

# provisioning
## Index
- [Cluster](#cluster)
- [ClusterDef](#clusterdef)
- [K8sAffinity](#k8saffinity)
- [K8sAffinityLabelSelector](#k8saffinitylabelselector)
- [K8sAffinityMatch](#k8saffinitymatch)
- [K8sAntyAffinityLabelSelector](#k8santyaffinitylabelselector)
- [K8sBackup](#k8sbackup)
- [K8sConfigMap](#k8sconfigmap)
- [K8sContainers](#k8scontainers)
- [K8sDefs](#k8sdefs)
- [K8sDeploy](#k8sdeploy)
- [K8sDeploySpec](#k8sdeployspec)
- [K8sKeyPath](#k8skeypath)
- [K8sKeyVal](#k8skeyval)
- [K8sPort](#k8sport)
- [K8sPrxyGatewayServer](#k8sprxygatewayserver)
- [K8sPrxyPort](#k8sprxyport)
- [K8sPrxyTLS](#k8sprxytls)
- [K8sPrxyVirtualService](#k8sprxyvirtualservice)
- [K8sPrxyVirtualServiceMatch](#k8sprxyvirtualservicematch)
- [K8sPrxyVirtualServiceMatchURL](#k8sprxyvirtualservicematchurl)
- [K8sPrxyVirtualServiceRoute](#k8sprxyvirtualserviceroute)
- [K8sResources](#k8sresources)
- [K8sSecret](#k8ssecret)
- [K8sService](#k8sservice)
- [K8sVolume](#k8svolume)
- [K8sVolumeClaim](#k8svolumeclaim)
- [K8sVolumeMount](#k8svolumemount)
- [RunSet](#runset)
- [ScaleData](#scaledata)
- [ScaleResource](#scaleresource)
- [Server](#server)
- [ServerDefaults](#serverdefaults)
- [Settings](#settings)
- [Storage](#storage)
- [StorageVol](#storagevol)
- [TaskServDef](#taskservdef)
## Schemas
### Cluster
cluster settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**admin_host**|str|||
|**admin_port**|int|||
|**admin_user**|str|||
|**clusters_save_path**|str|||
|**def** `required`|"K8sDeploy" | ""||""|
|**local_def_path** `required`|str||"./clusters/${name}"|
|**name** `required`|str|||
|**not_use** `required`|bool||False|
|**profile**|str|||
|**scale**|[ScaleResource](#scaleresource)|||
|**ssh_key_path**|str|||
|**template**|"k8s-deploy" | ""|||
|**version** `required`|str|||
### ClusterDef
ClusterDef settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**name** `required`|str|||
|**profile** `required`|str||"default"|
### K8sAffinity
K8S Deployment Affinity settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**affinity**|[K8sAffinityLabelSelector](#k8saffinitylabelselector)|||
|**antiAffinity**|[K8sAntyAffinityLabelSelector](#k8santyaffinitylabelselector)|||
### K8sAffinityLabelSelector
K8S Deployment Affinity Label Selector settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**labelSelector** `required`|[[K8sAffinityMatch](#k8saffinitymatch)]|||
|**matchLabelKeys**|[str]|||
|**topologyKey**|str|||
|**typ** `required`|"requiredDuringSchedulingIgnoredDuringExecution" | "preferredDuringSchedulingIgnoredDuringExecution"||"requiredDuringSchedulingIgnoredDuringExecution"|
### K8sAffinityMatch
K8S Deployment Affinity Match settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**key** `required`|str|||
|**operator** `required`|"In" | "NotIn" | "Exists" | "DoesNotExist"|||
|**values** `required`|[str]|||
### K8sAntyAffinityLabelSelector
K8S Deployment AntyAffinity Label Selector settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**labelSelector** `required`|[[K8sAffinityMatch](#k8saffinitymatch)]|||
|**matchLabelKeys**|[str]|||
|**topologyKey**|str|||
|**typ** `required`|"requiredDuringSchedulingIgnoredDuringExecution" | "preferredDuringSchedulingIgnoredDuringExecution"||"requiredDuringSchedulingIgnoredDuringExecution"|
|**weight** `required`|int||100|
### K8sBackup
K8S Backup settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**mount_path** `required`|str|||
|**name** `required`|str|||
|**typ** `required`|str|||
### K8sConfigMap
K8S Volume ConfigMap settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**name** `required`|str|||
### K8sContainers
K8S Container settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**cmd**|str|||
|**env**|[[K8sKeyVal](#k8skeyval)]|||
|**image** `required`|str|||
|**imagePull** `required`|"IfNotPresent" | "Always" | "Never"||"IfNotPresent"|
|**name** `required`|str||"main"|
|**ports**|[[K8sPort](#k8sport)]|||
|**resources_limits**|[K8sResources](#k8sresources)|||
|**resources_requests**|[K8sResources](#k8sresources)|||
|**volumeMounts**|[[K8sVolumeMount](#k8svolumemount)]|||
### K8sDefs
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**cluster_domain** `required`|str|||
|**domain** `required`|str|||
|**full_domain** `required`|str|||
|**name** `required`|str|||
|**ns** `required`|str|||
|**primary_dom** `required`|str|||
### K8sDeploy
K8S Deployment settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**backups**|[[K8sBackup](#k8sbackup)]|||
|**bin_apply** `required`|bool||True|
|**create_ns** `required`|bool||False|
|**full_domain**|str|||
|**labels** `required`|[[K8sKeyVal](#k8skeyval)]||[K8sKeyVal {key: "${name}", value: "${name}"}]|
|**name** `required`|str|||
|**name_in_files** `required`|str||"${name}"|
|**namespace** `required`|str | "default"|||
|**prxy** `readOnly`|"istio"||"istio"|
|**prxyGatewayServers**|[[K8sPrxyGatewayServer](#k8sprxygatewayserver)]|||
|**prxyVirtualService**|[K8sPrxyVirtualService](#k8sprxyvirtualservice)|||
|**prxy_ns**|str||"istio-system"|
|**sel_labels** `required`|[[K8sKeyVal](#k8skeyval)]||labels|
|**service**|[K8sService](#k8sservice)|||
|**spec** `required`|[K8sDeploySpec](#k8sdeployspec)|||
|**tls_path**|str||"ssl"|
|**tpl_labels** `required`|[[K8sKeyVal](#k8skeyval)]||labels|
### K8sDeploySpec
K8S Deployment Spec settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**affinity**|[K8sAffinity](#k8saffinity)|||
|**containers** `required`|[[K8sContainers](#k8scontainers)]|||
|**hostUsers**|bool||True|
|**imagePullSecret**|str|||
|**nodeName**|str|||
|**nodeSelector**|[[K8sKeyVal](#k8skeyval)]|||
|**replicas** `required`|int||1|
|**secrets**|[[K8sSecret](#k8ssecret)]|||
|**volumes**|[[K8sVolume](#k8svolume)]|||
### K8sKeyPath
K8S key,path settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**key** `required`|str|||
|**path** `required`|str|||
### K8sKeyVal
K8S label,selector,env settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**key** `required`|str|||
|**value** `required`|str|||
### K8sPort
K8S Port settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**container**|int|||
|**name** `required`|str|||
|**nodePort**|int|||
|**target**|int|||
|**typ**|str||"TCP"|
### K8sPrxyGatewayServer
K8S Deployment Proxy Gateway Server settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**hosts**|[str]|||
|**port** `required`|[K8sPrxyPort](#k8sprxyport)|||
|**tls**|[K8sPrxyTLS](#k8sprxytls)|||
### K8sPrxyPort
K8S Proxy Port settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**name** `required`|str|||
|**number**|int|||
|**proto** `required`|"HTTP" | "HTTPS" | "TCP"||"HTTPS"|
### K8sPrxyTLS
K8S Deployment Proxy TLS settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**credentialName**|str|||
|**httpsRedirect**|bool||False|
|**mode**|"SIMPLE" | "PASSTHROUGH" | "MULTI" | ""||"SIMPLE"|
### K8sPrxyVirtualService
K8S Deployment Proxy Virtual Service settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**gateways** `required`|[str]|||
|**hosts** `required`|[str]|||
|**matches**|[[K8sPrxyVirtualServiceMatch](#k8sprxyvirtualservicematch)]|||
### K8sPrxyVirtualServiceMatch
K8S Deployment Proxy Virtual Service Match settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**location**|[[K8sPrxyVirtualServiceMatchURL](#k8sprxyvirtualservicematchurl)]|||
|**route_destination**|[[K8sPrxyVirtualServiceRoute](#k8sprxyvirtualserviceroute)]|||
|**typ** `required`|"tcp" | "http" | "tls"|||
### K8sPrxyVirtualServiceMatchURL
K8S Deployment Proxy Virtual Service Match URL settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**port**|int|||
|**sniHost**|[str]|||
### K8sPrxyVirtualServiceRoute
K8S Deployment Proxy Virtual Service Route settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**host** `required`|str|||
|**port_number** `required`|int|||
### K8sResources
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**cpu** `required`|str|||
|**memory** `required`|str|||
### K8sSecret
K8S Volume Secret settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**items** `required`|[[K8sKeyPath](#k8skeypath)]|||
|**name** `required`|str|||
### K8sService
K8S Service settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**externaIPs**|[str]|||
|**externalName**|str|||
|**name** `required`|str|||
|**ports** `required`|[[K8sPort](#k8sport)]|||
|**proto** `required` `readOnly`|"TCP"||"TCP"|
|**selector**|[[K8sKeyVal](#k8skeyval)]|||
|**typ** `required`|"ClusterIP" | "NodePort" | "LoadBalancer" | "ExternalName" | "Headless" | "None"||"ClusterIP"|
### K8sVolume
K8S Volume settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**configMap**|[K8sConfigMap](#k8sconfigmap)|||
|**items**|[[K8sKeyPath](#k8skeypath)]|||
|**name** `required`|str|||
|**persitentVolumeClaim**|[K8sVolumeClaim](#k8svolumeclaim)|||
|**secret**|[K8sSecret](#k8ssecret)|||
|**typ** `required`|"volumeClaim" | "configMap" | "secret"||"volumeClaim"|
### K8sVolumeClaim
K8S VolumeClaim settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**abbrev_mode**|["RWO" | "ROX" | "RWX" | "RWOP"]||["RWO"]|
|**hostPath**|str|||
|**modes** `required`|["ReadWriteOnce" | "ReadOnlyMain" | "ReadWriteMany" | "ReadWriteOncePod"]||["ReadWriteOnce"]|
|**name** `required`|str|||
|**pvMode**|"unspecified" | "Filesystem" | "Block"|||
|**pvcMode**|"unspecified" | "Filesystem" | "Block"|||
|**reclaimPolicy**|"Recycle" | "Retain" | "Delete"||"Retain"|
|**storage**|str|||
|**storageClassName** `required`|"manual" | "nfs-client" | "rook-cephfs"||"manual"|
|**typ** `required`|"volumeClaim" | "configMap" | "secret" | ""||""|
### K8sVolumeMount
K8S VolumeMounts settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**mountPath** `required`|str|||
|**name** `required`|str|||
|**readOnly** `required`|bool||False|
|**subPath**|str|||
### RunSet
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**inventory_file** `required`|str||"./inventory.yaml"|
|**output_format** `required`|"human" | "yaml" | "json"||"human"|
|**output_path** `required`|str||"tmp/NOW-deploy"|
|**use_time** `required`|bool||True|
|**wait** `required`|bool||True|
### ScaleData
scale data
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**def** `required`|str|||
|**disabled** `required`|bool||False|
|**expire**|str|||
|**from**|str|||
|**mode** `required`|"auto" | "manual" | "ondemand"||"manual"|
|**to**|str|||
### ScaleResource
scale server settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**default** `required`|[ScaleData](#scaledata)|||
|**down**|[ScaleData](#scaledata)|||
|**fallback**|[ScaleData](#scaledata)|||
|**max**|[ScaleData](#scaledata)|||
|**min**|[ScaleData](#scaledata)|||
|**path** `required`|str||"/etc/scale_provisioning"|
|**up**|[ScaleData](#scaledata)|||
### Server
server settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**cluster**|[[ClusterDef](#clusterdef)]|||
|**delete_lock** `required`|bool||False|
|**domains_search**|str|||
|**extra_hostnames**|[str]|||
|**fix_local_hosts** `required`|bool||True|
|**hostname** `required`|str|||
|**installer_user**|str||"${user}"|
|**labels** `required`|str|||
|**lock** `required`|bool||False|
|**main_domain**|str|||
|**network_private_id**|str|||
|**network_private_name**|str|||
|**network_public_ip**|str|||
|**network_public_ipv4**|bool||True|
|**network_public_ipv6**|bool||False|
|**network_utility_ipv4** `required`|bool||True|
|**network_utility_ipv6** `required`|bool||False|
|**not_use** `required`|bool||False|
|**primary_dns**|str|||
|**priv_cidr_block**|str|||
|**running_timeout** `required`|int||200|
|**running_wait** `required`|int||10|
|**scale**|[ScaleResource](#scaleresource)|||
|**secondary_dns**|str|||
|**ssh_key_name**|str|||
|**ssh_key_path**|str|||
|**storage_os**|str|||
|**storage_os_find** `required`|str||"name: debian-12 \| arch: x86_64"|
|**taskservs**|[[TaskServDef](#taskservdef)]|||
|**time_zone** `required`|str||"UTC"|
|**title** `required`|str|||
|**user** `required`|str|||
|**user_home**|str||"/home/${user}"|
|**user_ssh_key_path**|str|||
|**user_ssh_port**|int||22|
|**zone**|str|||
### ServerDefaults
Server Defaults settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**domains_search**|str|||
|**fix_local_hosts** `required`|bool||True|
|**installer_user**|str||"${user}"|
|**labels** `required`|str|||
|**lock** `required`|bool||False|
|**main_domain**|str|||
|**network_private_id**|str|||
|**network_private_name**|str|||
|**network_public_ip**|str|||
|**network_public_ipv4**|bool||True|
|**network_public_ipv6**|bool||False|
|**network_utility_ipv4** `required`|bool||True|
|**network_utility_ipv6** `required`|bool||False|
|**primary_dns**|str|||
|**priv_cidr_block**|str|||
|**running_timeout** `required`|int||200|
|**running_wait** `required`|int||10|
|**scale**|[ScaleResource](#scaleresource)|||
|**secondary_dns**|str|||
|**ssh_key_name**|str|||
|**ssh_key_path**|str|||
|**storage_os**|str|||
|**storage_os_find** `required`|str||"name: debian-12 \| arch: x86_64"|
|**time_zone** `required`|str||"UTC"|
|**user** `required`|str|||
|**user_home**|str||"/home/${user}"|
|**user_ssh_key_path**|str|||
|**user_ssh_port**|int||22|
|**zone**|str|||
### Settings
Settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**cluster_admin_host** `required`|str|||
|**cluster_admin_port** `required`|int||22|
|**cluster_admin_user** `required`|str||"root"|
|**clusters_paths** `required`|[str]||["clusters"]|
|**clusters_save_path** `required`|str||"/${main_name}/clusters"|
|**created_clusters_dirpath** `required`|str||"./tmp/NOW_clusters"|
|**created_taskservs_dirpath** `required`|str||"./tmp/NOW_deployment"|
|**defaults_provs_dirpath** `required`|str||"./defs"|
|**defaults_provs_suffix** `required`|str||"_defaults.k"|
|**main_name** `required`|str|||
|**main_title** `required`|str||main_name|
|**prov_clusters_path** `required`|str||"./clusters"|
|**prov_data_dirpath** `required`|str||"./data"|
|**prov_data_suffix** `required`|str||"_settings.k"|
|**prov_local_bin_path** `required`|str||"./bin"|
|**prov_resources_path** `required`|str||"./resources"|
|**runset** `required`|[RunSet](#runset)|||
|**servers_paths** `required`|[str]||["servers"]|
|**servers_wait_started** `required`|int||27|
|**settings_path** `required`|str||"./settings.yaml"|
### Storage
Storage settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**fstab** `required`|bool||True|
|**mount** `required`|bool||True|
|**mount_path**|str|||
|**name** `required`|str|||
|**parts**|[[StorageVol](#storagevol)]||[]|
|**size** `required`|int||0|
|**total** `required`|int||size|
|**type** `required`|"ext4" | "xfs" | "btrfs" | "raw" | "zfs"||"ext4"|
### StorageVol
StorageVol settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**fstab** `required`|bool||True|
|**mount** `required`|bool||True|
|**mount_path**|str|||
|**name** `required`|str|||
|**size** `required`|int||0|
|**total** `required`|int||size|
|**type** `required`|"ext4" | "xfs" | "btrfs" | "raw" | "zfs"||"ext4"|
### TaskServDef
TaskServDef settings
#### Attributes
| name | type | description | default value |
| --- | --- | --- | --- |
|**install_mode** `required`|"getfile" | "library" | "server" | "library-server" | "server-library"||"library"|
|**name** `required`|str|||
|**profile** `required`|str||"default"|
<!-- Auto generated by kcl-doc tool, please do not edit. -->