cpln.Mk8s
Explore with Pulumi AI
Manages a Mk8s’s Mk8s.
Declaration
Required
- name (String) Name of the Mk8s.
- version (String)
Note Only one of the providers listed below can be included in a resource.
- generic_provider (Block List, Max: 1) (see below)
- hetzner_provider (Block List, Max: 1) (see below)
- aws_provider (Block List, Max: 1) (see below)
Optional
- description (String) Description of the Mk8s.
- tags (Map of String) Key-value map of resource tags.
- firewall (Block List, Max: 1) (see below)
- add_ons (Block List, Max: 1) (see below)
generic_provider
Required:
- location (String) Control Plane location that will host the K8S components. Prefer one that is closest to where the nodes are running.
Optional:
- networking (Block List, Max: 1) (see below)
- node_pool (Block List) (see below)
generic_provider.networking
Optional:
- service_network (String) The CIDR of the service network.
- pod_network (String) The CIDR of the pod network.
generic_provider.node_pool
List of node pools.
Required:
- name (String)
Optional:
- labels (Map of String) Labels to attach to nodes of a node pool.
- taint (Block List) (see below)
generic_provider.node_pool.taint
Taint for the nodes of a pool.
Optional:
- key (String)
- value (String)
- effect (String)
hetzner_provider
Required:
- region (String) Hetzner region to deploy nodes to.
- token_secret_link (String) Link to a secret holding Hetzner access key.
- network_id (String) ID of the Hetzner network to deploy nodes to.
Optional:
- hetzner_labels (Map of String) Extra labels to attach to servers.
- networking (Block List, Max: 1) (see below)
- pre_install_script (String) Optional shell script that will be run before K8S is installed.
- firewall_id (String) Optional firewall rule to attach to all nodes.
- node_pool (Block List) (see below)
- dedicated_server_node_pool (Block List) (see below)
- image (String) Default image for all nodes.
- ssh_key (String) SSH key name for accessing deployed nodes.
- autoscaler (Block List, Max: 1) (see below)
hetzner_provider.node_pool
List of node pools.
Required:
- name (String)
- server_type (String)
Optional:
- labels (Map of String) Labels to attach to nodes of a node pool.
- taint (Block List) (see below)
- override_image (String)
- min_size (Number)
- max_size (Number)
hetzner_provider.dedicated_server_node_pool
Node pool that can configure dedicated Hetzner servers.
Required:
- name (String)
Optional:
- labels (Map of String) Labels to attach to nodes of a node pool.
- taint (Block List) (see below)
aws_provider
Required:
- region (String) Region where the cluster nodes will live.
- skip_create_roles (Boolean) If true, Control Plane will not create any roles.
- image (Block List, Max: 1) (see below)
- deploy_role_arn (String) Control Plane will set up the cluster by assuming this role.
- vpc_id (String) The vpc where nodes will be deployed. Supports SSM.
Optional:
- aws_tags (Map of String) Extra tags to attach to all created objects.
- networking (Block List, Max: 1) (see below)
- pre_install_script (String) Optional shell script that will be run before K8S is installed. Supports SSM.
- key_pair (String) Name of keyPair. Supports SSM
- disk_encryption_key_arn (String) KMS key used to encrypt volumes. Supports SSM.
- security_group_ids (List of String) Security groups to deploy nodes to. Security groups control if the cluster is multi-zone or single-zon.
- node_pool (Block List) (see below)
- autoscaler (Block List, Max: 1) (see below)
aws_provider.node_pool
List of node pools.
Required:
- name (String)
- instance_types (List of String)
- override_image (Block List, Max: 1) (see below)
- subnet_ids (List of String)
Optional:
- labels (Map of String) Labels to attach to nodes of a node pool.
- taint (Block List) (see below)
- boot_disk_size (Number) Size in GB.
- min_size (Number)
- max_size (Number)
- on_demand_base_capacity (Number)
- on_demand_percentage_above_base_capacity (Number)
- spot_allocation_strategy (String)
- extra_security_group_ids (List of String)
ami
Default image for all nodes.
Required:
Note Only one of the following listed below can be included.
- recommended (String)
- exact (String) Support SSM.
autoscaler
Optional:
- expander (List of String)
- unneeded_time (String)
- unready_time (String)
- utilization_threshold (Float64)
firewall
Allow-list.
Required:
- source_cidr (String)
Optional:
- description (String)
add_ons
Optional:
- dashboard (Boolean)
- azure_workload_identity (Block List, Max: 1) (see below)
- aws_workload_identity (Boolean)
- local_path_storage (Boolean)
- metrics (Block List, Max: 1) (see below)
- logs (Block List, Max: 1) (see below)
- nvidia (Block List, Max: 1) (see below)
- aws_efs (Block List, Max: 1) (see below)
- aws_ecr (Block List, Max: 1) (see below)
- aws_elb (Block List, Max: 1) (see below)
- azure_acr (Block List, Max: 1) (see below)
- sysbox (Boolean)
add_ons.azure_workload_identity
Required:
- tenant_id (String) Tenant ID to use for workload identity.
add_ons.metrics
Optional:
- kube_state (Boolean) Enable kube-state metrics.
- core_dns (Boolean) Enable scraping of core-dns service.
- kubelet (Boolean) Enable scraping kubelet stats.
- api_server (Boolean) Enable scraping apiserver stats.
- node_exporter (Boolean) Enable collecting node-level stats (disk, network, filesystem, etc).
- cadvisor (Boolean) Enable CNI-level container stats.
- scrape_annotated (Block List, Max: 1) (see below)
add_ons.metrics.scrape-annotated
Scrape pods annotated with prometheus.io/scrape=true.
Optional:
- interval_seconds (Number)
- include_namespaces (String)
- exclude_namespaces (String)
- retain_labels (String)
add_ons.logs
Optional:
- audit_enabled (Boolean) Collect k8s audit log as log events.
- include_namespaces (String)
- exclude_namespaces (String)
add_ons.nvidia
Required:
- taint_gpu_nodes (Boolean)
add_ons.aws_efs
Required:
- role_arn (String) Use this role for EFS interaction.
add_ons.aws_ecr
Required:
- role_arn (String) Role to use when authorizing ECR pulls. Optional on AWS, in which case it will use the instance role to pull.
add_ons.aws_elb
Required:
- role_arn (String) Role to use when authorizing calls to EC2 ELB. Optional on AWS, when not provided it will create the recommended role.
add_ons.azure_acr
Required:
- client_id (String)
Outputs
The following attributes are exported:
- cpln_id (String) The ID, in GUID format, of the Mk8s.
- alias (String) The alias name of the Mk8s.
- self_link (String) Full link to this resource. Can be referenced by other resources.
- status (Block List, Max: 1) (see below).
status
Status of the mk8s.
Read-Only:
- oidc_provider_url (String)
- server_url (String)
- home_location (String)
- add_ons (Block List, Max: 1) (see below)
status.add_ons
Read-Only:
- dashboard (Block List, Max: 1) (see below)
- aws_workload_identity (Block List, Max: 1) (see below)
- metrics (Block List, Max: 1) (see below)
- logs (Block List, Max: 1) (see below)
- aws_ecr (Block List, Max: 1) (see below)
- aws_efs (Block List, Max: 1) (see below)
- aws_elb (Block List, Max: 1) (see below)
status.add_ons.dashboard
Read-Only:
- url (String) Access to dashboard.
status.add_ons.aws_workload_identity
Read-Only:
- oidc_provider_config (Block List, Max: 1) (see below)
- trust_policy (String)
status.add_ons.aws_workload_identity.oidc_provider_config
Read-Only:
- provider_url (String)
- audience (String)
status.add_ons.metrics
Read-Only:
- prometheus_endpoint (String)
- remote_write_config (String)
status.add_ons.logs
Read-Only:
- loki_address (String) Loki endpoint to query logs from.
status.add_ons.aws
Read-Only:
- trust_policy (String)
Example Usage
Generic Provider
Coming soon!
Coming soon!
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.cpln.Mk8s;
import com.pulumi.cpln.Mk8sArgs;
import com.pulumi.cpln.inputs.Mk8sAddOnsArgs;
import com.pulumi.cpln.inputs.Mk8sAddOnsAzureAcrArgs;
import com.pulumi.cpln.inputs.Mk8sAddOnsAzureWorkloadIdentityArgs;
import com.pulumi.cpln.inputs.Mk8sAddOnsLogsArgs;
import com.pulumi.cpln.inputs.Mk8sAddOnsMetricsArgs;
import com.pulumi.cpln.inputs.Mk8sAddOnsMetricsScrapeAnnotatedArgs;
import com.pulumi.cpln.inputs.Mk8sAddOnsNvidiaArgs;
import com.pulumi.cpln.inputs.Mk8sFirewallArgs;
import com.pulumi.cpln.inputs.Mk8sGenericProviderArgs;
import com.pulumi.cpln.inputs.Mk8sGenericProviderNetworkingArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var generic = new Mk8s("generic", Mk8sArgs.builder()
.addOns(Mk8sAddOnsArgs.builder()
.awsWorkloadIdentity(true)
.azureAcr(Mk8sAddOnsAzureAcrArgs.builder()
.clientId("4e25b134-160b-4a9d-b392-13b381ced5ef")
.build())
.azureWorkloadIdentity(Mk8sAddOnsAzureWorkloadIdentityArgs.builder()
.tenantId("7f43458a-a34e-4bfa-9e56-e2289e49c4ec")
.build())
.dashboard(true)
.localPathStorage(true)
.logs(Mk8sAddOnsLogsArgs.builder()
.auditEnabled(true)
.excludeNamespaces("^[a-z]$")
.includeNamespaces("^\\d+$")
.build())
.metrics(Mk8sAddOnsMetricsArgs.builder()
.apiServer(true)
.cadvisor(true)
.coreDns(true)
.kubeState(true)
.kubelet(true)
.nodeExporter(true)
.scrapeAnnotated(Mk8sAddOnsMetricsScrapeAnnotatedArgs.builder()
.excludeNamespaces("^[a-z]$")
.includeNamespaces("^\\d+$")
.intervalSeconds(30)
.retainLabels("^\\w+$")
.build())
.build())
.nvidia(Mk8sAddOnsNvidiaArgs.builder()
.taintGpuNodes(true)
.build())
.sysbox(true)
.build())
.description("demo-mk8s-generic-provider")
.firewalls(Mk8sFirewallArgs.builder()
.description("hello world")
.sourceCidr("192.168.1.255")
.build())
.genericProvider(Mk8sGenericProviderArgs.builder()
.location("aws-eu-central-1")
.networking(Mk8sGenericProviderNetworkingArgs.builder()
.podNetwork("10.42.0.0/16")
.serviceNetwork("10.43.0.0/16")
.build())
.nodePools(Mk8sGenericProviderNodePoolArgs.builder()
.labels(Map.of("hello", "world"))
.name("my-node-pool")
.taint(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
.build())
.build())
.tags(Map.ofEntries(
Map.entry("acceptance_test", "true"),
Map.entry("terraform_generated", "true")
))
.version("1.28.4")
.build());
}
}
Coming soon!
Coming soon!
resources:
generic:
type: cpln:Mk8s
properties:
addOns:
awsWorkloadIdentity: true
azureAcr:
clientId: 4e25b134-160b-4a9d-b392-13b381ced5ef
azureWorkloadIdentity:
tenantId: 7f43458a-a34e-4bfa-9e56-e2289e49c4ec
dashboard: true
localPathStorage: true
logs:
auditEnabled: true
excludeNamespaces: ^[a-z]$
includeNamespaces: ^\d+$
metrics:
apiServer: true
cadvisor: true
coreDns: true
kubeState: true
kubelet: true
nodeExporter: true
scrapeAnnotated:
excludeNamespaces: ^[a-z]$
includeNamespaces: ^\d+$
intervalSeconds: 30
retainLabels: ^\w+$
nvidia:
taintGpuNodes: true
sysbox: true
description: demo-mk8s-generic-provider
firewalls:
- description: hello world
sourceCidr: 192.168.1.255
genericProvider:
location: aws-eu-central-1
networking:
podNetwork: 10.42.0.0/16
serviceNetwork: 10.43.0.0/16
nodePools:
- labels:
hello: world
name: my-node-pool
taint:
- effect: NoSchedule
key: hello
value: world
tags:
acceptance_test: 'true'
terraform_generated: 'true'
version: 1.28.4
Hetzner Provider
Coming soon!
Coming soon!
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.cpln.Mk8s;
import com.pulumi.cpln.Mk8sArgs;
import com.pulumi.cpln.inputs.Mk8sAddOnsArgs;
import com.pulumi.cpln.inputs.Mk8sAddOnsAzureAcrArgs;
import com.pulumi.cpln.inputs.Mk8sAddOnsAzureWorkloadIdentityArgs;
import com.pulumi.cpln.inputs.Mk8sAddOnsLogsArgs;
import com.pulumi.cpln.inputs.Mk8sAddOnsMetricsArgs;
import com.pulumi.cpln.inputs.Mk8sAddOnsMetricsScrapeAnnotatedArgs;
import com.pulumi.cpln.inputs.Mk8sAddOnsNvidiaArgs;
import com.pulumi.cpln.inputs.Mk8sFirewallArgs;
import com.pulumi.cpln.inputs.Mk8sHetznerProviderArgs;
import com.pulumi.cpln.inputs.Mk8sHetznerProviderAutoscalerArgs;
import com.pulumi.cpln.inputs.Mk8sHetznerProviderNetworkingArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var hetzner = new Mk8s("hetzner", Mk8sArgs.builder()
.addOns(Mk8sAddOnsArgs.builder()
.awsWorkloadIdentity(true)
.azureAcr(Mk8sAddOnsAzureAcrArgs.builder()
.clientId("4e25b134-160b-4a9d-b392-13b381ced5ef")
.build())
.azureWorkloadIdentity(Mk8sAddOnsAzureWorkloadIdentityArgs.builder()
.tenantId("7f43458a-a34e-4bfa-9e56-e2289e49c4ec")
.build())
.dashboard(true)
.localPathStorage(true)
.logs(Mk8sAddOnsLogsArgs.builder()
.auditEnabled(true)
.excludeNamespaces("^[a-z]$")
.includeNamespaces("^\\d+$")
.build())
.metrics(Mk8sAddOnsMetricsArgs.builder()
.apiServer(true)
.cadvisor(true)
.coreDns(true)
.kubeState(true)
.kubelet(true)
.nodeExporter(true)
.scrapeAnnotated(Mk8sAddOnsMetricsScrapeAnnotatedArgs.builder()
.excludeNamespaces("^[a-z]$")
.includeNamespaces("^\\d+$")
.intervalSeconds(30)
.retainLabels("^\\w+$")
.build())
.build())
.nvidia(Mk8sAddOnsNvidiaArgs.builder()
.taintGpuNodes(true)
.build())
.sysbox(true)
.build())
.description("demo-mk8s-hetzner-provider")
.firewalls(Mk8sFirewallArgs.builder()
.description("hello world")
.sourceCidr("192.168.1.255")
.build())
.hetznerProvider(Mk8sHetznerProviderArgs.builder()
.autoscaler(Mk8sHetznerProviderAutoscalerArgs.builder()
.expander("most-pods")
.unneededTime("10m")
.unreadyTime("20m")
.utilizationThreshold(0.7)
.build())
.dedicatedServerNodePools(Mk8sHetznerProviderDedicatedServerNodePoolArgs.builder()
.labels(Map.of("hello", "world"))
.name("my-node-pool")
.taint(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
.build())
.hetznerLabels(Map.of("hello", "world"))
.image("centos-7")
.networkId("2808575")
.networking(Mk8sHetznerProviderNetworkingArgs.builder()
.podNetwork("10.42.0.0/16")
.serviceNetwork("10.43.0.0/16")
.build())
.nodePools(Mk8sHetznerProviderNodePoolArgs.builder()
.labels(Map.of("hello", "world"))
.maxSize(0)
.minSize(0)
.name("my-hetzner-node-pool")
.overrideImage("debian-11")
.serverType("cx11")
.taint(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
.build())
.preInstallScript("#! echo hello world")
.region("fsn1")
.sshKey("10925607")
.tokenSecretLink("/org/terraform-test-org/secret/hetzner")
.build())
.tags(Map.ofEntries(
Map.entry("acceptance_test", "true"),
Map.entry("terraform_generated", "true")
))
.version("1.28.4")
.build());
}
}
Coming soon!
Coming soon!
resources:
hetzner:
type: cpln:Mk8s
properties:
addOns:
awsWorkloadIdentity: true
azureAcr:
clientId: 4e25b134-160b-4a9d-b392-13b381ced5ef
azureWorkloadIdentity:
tenantId: 7f43458a-a34e-4bfa-9e56-e2289e49c4ec
dashboard: true
localPathStorage: true
logs:
auditEnabled: true
excludeNamespaces: ^[a-z]$
includeNamespaces: ^\d+$
metrics:
apiServer: true
cadvisor: true
coreDns: true
kubeState: true
kubelet: true
nodeExporter: true
scrapeAnnotated:
excludeNamespaces: ^[a-z]$
includeNamespaces: ^\d+$
intervalSeconds: 30
retainLabels: ^\w+$
nvidia:
taintGpuNodes: true
sysbox: true
description: demo-mk8s-hetzner-provider
firewalls:
- description: hello world
sourceCidr: 192.168.1.255
hetznerProvider:
autoscaler:
expander:
- most-pods
unneededTime: 10m
unreadyTime: 20m
utilizationThreshold: 0.7
dedicatedServerNodePools:
- labels:
hello: world
name: my-node-pool
taint:
- effect: NoSchedule
key: hello
value: world
hetznerLabels:
hello: world
image: centos-7
networkId: '2808575'
networking:
podNetwork: 10.42.0.0/16
serviceNetwork: 10.43.0.0/16
nodePools:
- labels:
hello: world
maxSize: 0
minSize: 0
name: my-hetzner-node-pool
overrideImage: debian-11
serverType: cx11
taint:
- effect: NoSchedule
key: hello
value: world
preInstallScript: '#! echo hello world'
region: fsn1
sshKey: '10925607'
tokenSecretLink: /org/terraform-test-org/secret/hetzner
tags:
acceptance_test: 'true'
terraform_generated: 'true'
version: 1.28.4
AWS Provider
Coming soon!
Coming soon!
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.cpln.Mk8s;
import com.pulumi.cpln.Mk8sArgs;
import com.pulumi.cpln.inputs.Mk8sAddOnsArgs;
import com.pulumi.cpln.inputs.Mk8sAddOnsAwsEcrArgs;
import com.pulumi.cpln.inputs.Mk8sAddOnsAwsEfsArgs;
import com.pulumi.cpln.inputs.Mk8sAddOnsAwsElbArgs;
import com.pulumi.cpln.inputs.Mk8sAddOnsAzureAcrArgs;
import com.pulumi.cpln.inputs.Mk8sAddOnsAzureWorkloadIdentityArgs;
import com.pulumi.cpln.inputs.Mk8sAddOnsLogsArgs;
import com.pulumi.cpln.inputs.Mk8sAddOnsMetricsArgs;
import com.pulumi.cpln.inputs.Mk8sAddOnsMetricsScrapeAnnotatedArgs;
import com.pulumi.cpln.inputs.Mk8sAddOnsNvidiaArgs;
import com.pulumi.cpln.inputs.Mk8sAwsProviderArgs;
import com.pulumi.cpln.inputs.Mk8sAwsProviderAutoscalerArgs;
import com.pulumi.cpln.inputs.Mk8sAwsProviderImageArgs;
import com.pulumi.cpln.inputs.Mk8sAwsProviderNetworkingArgs;
import com.pulumi.cpln.inputs.Mk8sFirewallArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var aws = new Mk8s("aws", Mk8sArgs.builder()
.addOns(Mk8sAddOnsArgs.builder()
.awsEcr(Mk8sAddOnsAwsEcrArgs.builder()
.roleArn("arn:aws:iam::123456789012:role/aws-ecr-role")
.build())
.awsEfs(Mk8sAddOnsAwsEfsArgs.builder()
.roleArn("arn:aws:iam::123456789012:role/aws-efs-role")
.build())
.awsElb(Mk8sAddOnsAwsElbArgs.builder()
.roleArn("arn:aws:iam::123456789012:role/aws-elb-role")
.build())
.awsWorkloadIdentity(true)
.azureAcr(Mk8sAddOnsAzureAcrArgs.builder()
.clientId("4e25b134-160b-4a9d-b392-13b381ced5ef")
.build())
.azureWorkloadIdentity(Mk8sAddOnsAzureWorkloadIdentityArgs.builder()
.tenantId("7f43458a-a34e-4bfa-9e56-e2289e49c4ec")
.build())
.dashboard(true)
.localPathStorage(true)
.logs(Mk8sAddOnsLogsArgs.builder()
.auditEnabled(true)
.excludeNamespaces("^[a-z]$")
.includeNamespaces("^\\d+$")
.build())
.metrics(Mk8sAddOnsMetricsArgs.builder()
.apiServer(true)
.cadvisor(true)
.coreDns(true)
.kubeState(true)
.kubelet(true)
.nodeExporter(true)
.scrapeAnnotated(Mk8sAddOnsMetricsScrapeAnnotatedArgs.builder()
.excludeNamespaces("^[a-z]$")
.includeNamespaces("^\\d+$")
.intervalSeconds(30)
.retainLabels("^\\w+$")
.build())
.build())
.nvidia(Mk8sAddOnsNvidiaArgs.builder()
.taintGpuNodes(true)
.build())
.sysbox(true)
.build())
.awsProvider(Mk8sAwsProviderArgs.builder()
.autoscaler(Mk8sAwsProviderAutoscalerArgs.builder()
.expander("most-pods")
.unneededTime("10m")
.unreadyTime("20m")
.utilizationThreshold(0.7)
.build())
.awsTags(Map.of("hello", "world"))
.deployRoleArn("arn:aws:iam::12345678901:role/cpln")
.diskEncryptionKeyArn("arn:aws:kms:eu-central-1:12345678901:key/0a1bcd23-4567-8901-e2fg-3h4i5jk678lm")
.image(Mk8sAwsProviderImageArgs.builder()
.recommended("amazon/al2023")
.build())
.keyPair("cem_uzak")
.networking(Mk8sAwsProviderNetworkingArgs.builder()
.podNetwork("10.42.0.0/16")
.serviceNetwork("10.43.0.0/16")
.build())
.nodePools(Mk8sAwsProviderNodePoolArgs.builder()
.bootDiskSize(20)
.extraSecurityGroupIds("sg-031480aa7a1e6e38b")
.instanceTypes("t4g.nano")
.labels(Map.of("hello", "world"))
.maxSize(0)
.minSize(0)
.name("my-aws-node-pool")
.onDemandBaseCapacity(0)
.onDemandPercentageAboveBaseCapacity(0)
.overrideImage(Mk8sAwsProviderNodePoolOverrideImageArgs.builder()
.exact("ami-123")
.build())
.spotAllocationStrategy("lowest-price")
.subnetIds("subnet-0e564a042e2a45009")
.taint(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
.build())
.preInstallScript("#! echo hello world")
.region("eu-central-1")
.securityGroupIds("sg-031480aa7a1e6e38b")
.skipCreateRoles(false)
.vpcId("vpc-03105bd4dc058d3a8")
.build())
.description("demo-mk8s-aws-provider")
.firewalls(Mk8sFirewallArgs.builder()
.description("hello world")
.sourceCidr("192.168.1.255")
.build())
.tags(Map.ofEntries(
Map.entry("acceptance_test", "true"),
Map.entry("terraform_generated", "true")
))
.version("1.28.4")
.build());
}
}
Coming soon!
Coming soon!
resources:
aws:
type: cpln:Mk8s
properties:
addOns:
awsEcr:
roleArn: arn:aws:iam::123456789012:role/aws-ecr-role
awsEfs:
roleArn: arn:aws:iam::123456789012:role/aws-efs-role
awsElb:
roleArn: arn:aws:iam::123456789012:role/aws-elb-role
awsWorkloadIdentity: true
azureAcr:
clientId: 4e25b134-160b-4a9d-b392-13b381ced5ef
azureWorkloadIdentity:
tenantId: 7f43458a-a34e-4bfa-9e56-e2289e49c4ec
dashboard: true
localPathStorage: true
logs:
auditEnabled: true
excludeNamespaces: ^[a-z]$
includeNamespaces: ^\d+$
metrics:
apiServer: true
cadvisor: true
coreDns: true
kubeState: true
kubelet: true
nodeExporter: true
scrapeAnnotated:
excludeNamespaces: ^[a-z]$
includeNamespaces: ^\d+$
intervalSeconds: 30
retainLabels: ^\w+$
nvidia:
taintGpuNodes: true
sysbox: true
awsProvider:
autoscaler:
expander:
- most-pods
unneededTime: 10m
unreadyTime: 20m
utilizationThreshold: 0.7
awsTags:
hello: world
deployRoleArn: arn:aws:iam::12345678901:role/cpln
diskEncryptionKeyArn: arn:aws:kms:eu-central-1:12345678901:key/0a1bcd23-4567-8901-e2fg-3h4i5jk678lm
image:
recommended: amazon/al2023
keyPair: cem_uzak
networking:
podNetwork: 10.42.0.0/16
serviceNetwork: 10.43.0.0/16
nodePools:
- bootDiskSize: 20
extraSecurityGroupIds:
- sg-031480aa7a1e6e38b
instanceTypes:
- t4g.nano
labels:
hello: world
maxSize: 0
minSize: 0
name: my-aws-node-pool
onDemandBaseCapacity: 0
onDemandPercentageAboveBaseCapacity: 0
overrideImage:
exact: ami-123
spotAllocationStrategy: lowest-price
subnetIds:
- subnet-0e564a042e2a45009
taint:
- effect: NoSchedule
key: hello
value: world
preInstallScript: '#! echo hello world'
region: eu-central-1
securityGroupIds:
- sg-031480aa7a1e6e38b
skipCreateRoles: false
vpcId: vpc-03105bd4dc058d3a8
description: demo-mk8s-aws-provider
firewalls:
- description: hello world
sourceCidr: 192.168.1.255
tags:
acceptance_test: 'true'
terraform_generated: 'true'
version: 1.28.4
Create Mk8s Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Mk8s(name: string, args: Mk8sArgs, opts?: CustomResourceOptions);
@overload
def Mk8s(resource_name: str,
args: Mk8sArgs,
opts: Optional[ResourceOptions] = None)
@overload
def Mk8s(resource_name: str,
opts: Optional[ResourceOptions] = None,
version: Optional[str] = None,
add_ons: Optional[Mk8sAddOnsArgs] = None,
aws_provider: Optional[Mk8sAwsProviderArgs] = None,
description: Optional[str] = None,
firewalls: Optional[Sequence[Mk8sFirewallArgs]] = None,
generic_provider: Optional[Mk8sGenericProviderArgs] = None,
hetzner_provider: Optional[Mk8sHetznerProviderArgs] = None,
name: Optional[str] = None,
tags: Optional[Mapping[str, str]] = None)
func NewMk8s(ctx *Context, name string, args Mk8sArgs, opts ...ResourceOption) (*Mk8s, error)
public Mk8s(string name, Mk8sArgs args, CustomResourceOptions? opts = null)
type: cpln:Mk8s
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args Mk8sArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args Mk8sArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args Mk8sArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args Mk8sArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args Mk8sArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var mk8sResource = new Cpln.Mk8s("mk8sResource", new()
{
Version = "string",
AddOns = new Cpln.Inputs.Mk8sAddOnsArgs
{
AwsEcr = new Cpln.Inputs.Mk8sAddOnsAwsEcrArgs
{
RoleArn = "string",
},
AwsEfs = new Cpln.Inputs.Mk8sAddOnsAwsEfsArgs
{
RoleArn = "string",
},
AwsElb = new Cpln.Inputs.Mk8sAddOnsAwsElbArgs
{
RoleArn = "string",
},
AwsWorkloadIdentity = false,
AzureAcr = new Cpln.Inputs.Mk8sAddOnsAzureAcrArgs
{
ClientId = "string",
},
AzureWorkloadIdentity = new Cpln.Inputs.Mk8sAddOnsAzureWorkloadIdentityArgs
{
TenantId = "string",
},
Dashboard = false,
LocalPathStorage = false,
Logs = new Cpln.Inputs.Mk8sAddOnsLogsArgs
{
AuditEnabled = false,
ExcludeNamespaces = "string",
IncludeNamespaces = "string",
},
Metrics = new Cpln.Inputs.Mk8sAddOnsMetricsArgs
{
ApiServer = false,
Cadvisor = false,
CoreDns = false,
KubeState = false,
Kubelet = false,
NodeExporter = false,
ScrapeAnnotated = new Cpln.Inputs.Mk8sAddOnsMetricsScrapeAnnotatedArgs
{
ExcludeNamespaces = "string",
IncludeNamespaces = "string",
IntervalSeconds = 0,
RetainLabels = "string",
},
},
Nvidia = new Cpln.Inputs.Mk8sAddOnsNvidiaArgs
{
TaintGpuNodes = false,
},
Sysbox = false,
},
AwsProvider = new Cpln.Inputs.Mk8sAwsProviderArgs
{
Image = new Cpln.Inputs.Mk8sAwsProviderImageArgs
{
Exact = "string",
Recommended = "string",
},
VpcId = "string",
DeployRoleArn = "string",
Region = "string",
DiskEncryptionKeyArn = "string",
KeyPair = "string",
Networking = new Cpln.Inputs.Mk8sAwsProviderNetworkingArgs
{
PodNetwork = "string",
ServiceNetwork = "string",
},
NodePools = new[]
{
new Cpln.Inputs.Mk8sAwsProviderNodePoolArgs
{
OverrideImage = new Cpln.Inputs.Mk8sAwsProviderNodePoolOverrideImageArgs
{
Exact = "string",
Recommended = "string",
},
InstanceTypes = new[]
{
"string",
},
Name = "string",
SubnetIds = new[]
{
"string",
},
ExtraSecurityGroupIds = new[]
{
"string",
},
Labels =
{
{ "string", "string" },
},
MaxSize = 0,
MinSize = 0,
OnDemandBaseCapacity = 0,
OnDemandPercentageAboveBaseCapacity = 0,
BootDiskSize = 0,
SpotAllocationStrategy = "string",
Taints = new[]
{
new Cpln.Inputs.Mk8sAwsProviderNodePoolTaintArgs
{
Effect = "string",
Key = "string",
Value = "string",
},
},
},
},
PreInstallScript = "string",
Autoscaler = new Cpln.Inputs.Mk8sAwsProviderAutoscalerArgs
{
Expanders = new[]
{
"string",
},
UnneededTime = "string",
UnreadyTime = "string",
UtilizationThreshold = 0,
},
SecurityGroupIds = new[]
{
"string",
},
SkipCreateRoles = false,
AwsTags =
{
{ "string", "string" },
},
},
Description = "string",
Firewalls = new[]
{
new Cpln.Inputs.Mk8sFirewallArgs
{
SourceCidr = "string",
Description = "string",
},
},
GenericProvider = new Cpln.Inputs.Mk8sGenericProviderArgs
{
Location = "string",
Networking = new Cpln.Inputs.Mk8sGenericProviderNetworkingArgs
{
PodNetwork = "string",
ServiceNetwork = "string",
},
NodePools = new[]
{
new Cpln.Inputs.Mk8sGenericProviderNodePoolArgs
{
Name = "string",
Labels =
{
{ "string", "string" },
},
Taints = new[]
{
new Cpln.Inputs.Mk8sGenericProviderNodePoolTaintArgs
{
Effect = "string",
Key = "string",
Value = "string",
},
},
},
},
},
HetznerProvider = new Cpln.Inputs.Mk8sHetznerProviderArgs
{
NetworkId = "string",
Region = "string",
TokenSecretLink = "string",
Autoscaler = new Cpln.Inputs.Mk8sHetznerProviderAutoscalerArgs
{
Expanders = new[]
{
"string",
},
UnneededTime = "string",
UnreadyTime = "string",
UtilizationThreshold = 0,
},
DedicatedServerNodePools = new[]
{
new Cpln.Inputs.Mk8sHetznerProviderDedicatedServerNodePoolArgs
{
Name = "string",
Labels =
{
{ "string", "string" },
},
Taints = new[]
{
new Cpln.Inputs.Mk8sHetznerProviderDedicatedServerNodePoolTaintArgs
{
Effect = "string",
Key = "string",
Value = "string",
},
},
},
},
FirewallId = "string",
HetznerLabels =
{
{ "string", "string" },
},
Image = "string",
Networking = new Cpln.Inputs.Mk8sHetznerProviderNetworkingArgs
{
PodNetwork = "string",
ServiceNetwork = "string",
},
NodePools = new[]
{
new Cpln.Inputs.Mk8sHetznerProviderNodePoolArgs
{
Name = "string",
ServerType = "string",
Labels =
{
{ "string", "string" },
},
MaxSize = 0,
MinSize = 0,
OverrideImage = "string",
Taints = new[]
{
new Cpln.Inputs.Mk8sHetznerProviderNodePoolTaintArgs
{
Effect = "string",
Key = "string",
Value = "string",
},
},
},
},
PreInstallScript = "string",
SshKey = "string",
},
Name = "string",
Tags =
{
{ "string", "string" },
},
});
example, err := cpln.NewMk8s(ctx, "mk8sResource", &cpln.Mk8sArgs{
Version: pulumi.String("string"),
AddOns: &cpln.Mk8sAddOnsArgs{
AwsEcr: &cpln.Mk8sAddOnsAwsEcrArgs{
RoleArn: pulumi.String("string"),
},
AwsEfs: &cpln.Mk8sAddOnsAwsEfsArgs{
RoleArn: pulumi.String("string"),
},
AwsElb: &cpln.Mk8sAddOnsAwsElbArgs{
RoleArn: pulumi.String("string"),
},
AwsWorkloadIdentity: pulumi.Bool(false),
AzureAcr: &cpln.Mk8sAddOnsAzureAcrArgs{
ClientId: pulumi.String("string"),
},
AzureWorkloadIdentity: &cpln.Mk8sAddOnsAzureWorkloadIdentityArgs{
TenantId: pulumi.String("string"),
},
Dashboard: pulumi.Bool(false),
LocalPathStorage: pulumi.Bool(false),
Logs: &cpln.Mk8sAddOnsLogsArgs{
AuditEnabled: pulumi.Bool(false),
ExcludeNamespaces: pulumi.String("string"),
IncludeNamespaces: pulumi.String("string"),
},
Metrics: &cpln.Mk8sAddOnsMetricsArgs{
ApiServer: pulumi.Bool(false),
Cadvisor: pulumi.Bool(false),
CoreDns: pulumi.Bool(false),
KubeState: pulumi.Bool(false),
Kubelet: pulumi.Bool(false),
NodeExporter: pulumi.Bool(false),
ScrapeAnnotated: &cpln.Mk8sAddOnsMetricsScrapeAnnotatedArgs{
ExcludeNamespaces: pulumi.String("string"),
IncludeNamespaces: pulumi.String("string"),
IntervalSeconds: pulumi.Int(0),
RetainLabels: pulumi.String("string"),
},
},
Nvidia: &cpln.Mk8sAddOnsNvidiaArgs{
TaintGpuNodes: pulumi.Bool(false),
},
Sysbox: pulumi.Bool(false),
},
AwsProvider: &cpln.Mk8sAwsProviderArgs{
Image: &cpln.Mk8sAwsProviderImageArgs{
Exact: pulumi.String("string"),
Recommended: pulumi.String("string"),
},
VpcId: pulumi.String("string"),
DeployRoleArn: pulumi.String("string"),
Region: pulumi.String("string"),
DiskEncryptionKeyArn: pulumi.String("string"),
KeyPair: pulumi.String("string"),
Networking: &cpln.Mk8sAwsProviderNetworkingArgs{
PodNetwork: pulumi.String("string"),
ServiceNetwork: pulumi.String("string"),
},
NodePools: cpln.Mk8sAwsProviderNodePoolArray{
&cpln.Mk8sAwsProviderNodePoolArgs{
OverrideImage: &cpln.Mk8sAwsProviderNodePoolOverrideImageArgs{
Exact: pulumi.String("string"),
Recommended: pulumi.String("string"),
},
InstanceTypes: pulumi.StringArray{
pulumi.String("string"),
},
Name: pulumi.String("string"),
SubnetIds: pulumi.StringArray{
pulumi.String("string"),
},
ExtraSecurityGroupIds: pulumi.StringArray{
pulumi.String("string"),
},
Labels: pulumi.StringMap{
"string": pulumi.String("string"),
},
MaxSize: pulumi.Int(0),
MinSize: pulumi.Int(0),
OnDemandBaseCapacity: pulumi.Int(0),
OnDemandPercentageAboveBaseCapacity: pulumi.Int(0),
BootDiskSize: pulumi.Int(0),
SpotAllocationStrategy: pulumi.String("string"),
Taints: cpln.Mk8sAwsProviderNodePoolTaintArray{
&cpln.Mk8sAwsProviderNodePoolTaintArgs{
Effect: pulumi.String("string"),
Key: pulumi.String("string"),
Value: pulumi.String("string"),
},
},
},
},
PreInstallScript: pulumi.String("string"),
Autoscaler: &cpln.Mk8sAwsProviderAutoscalerArgs{
Expanders: pulumi.StringArray{
pulumi.String("string"),
},
UnneededTime: pulumi.String("string"),
UnreadyTime: pulumi.String("string"),
UtilizationThreshold: pulumi.Float64(0),
},
SecurityGroupIds: pulumi.StringArray{
pulumi.String("string"),
},
SkipCreateRoles: pulumi.Bool(false),
AwsTags: pulumi.StringMap{
"string": pulumi.String("string"),
},
},
Description: pulumi.String("string"),
Firewalls: cpln.Mk8sFirewallArray{
&cpln.Mk8sFirewallArgs{
SourceCidr: pulumi.String("string"),
Description: pulumi.String("string"),
},
},
GenericProvider: &cpln.Mk8sGenericProviderArgs{
Location: pulumi.String("string"),
Networking: &cpln.Mk8sGenericProviderNetworkingArgs{
PodNetwork: pulumi.String("string"),
ServiceNetwork: pulumi.String("string"),
},
NodePools: cpln.Mk8sGenericProviderNodePoolArray{
&cpln.Mk8sGenericProviderNodePoolArgs{
Name: pulumi.String("string"),
Labels: pulumi.StringMap{
"string": pulumi.String("string"),
},
Taints: cpln.Mk8sGenericProviderNodePoolTaintArray{
&cpln.Mk8sGenericProviderNodePoolTaintArgs{
Effect: pulumi.String("string"),
Key: pulumi.String("string"),
Value: pulumi.String("string"),
},
},
},
},
},
HetznerProvider: &cpln.Mk8sHetznerProviderArgs{
NetworkId: pulumi.String("string"),
Region: pulumi.String("string"),
TokenSecretLink: pulumi.String("string"),
Autoscaler: &cpln.Mk8sHetznerProviderAutoscalerArgs{
Expanders: pulumi.StringArray{
pulumi.String("string"),
},
UnneededTime: pulumi.String("string"),
UnreadyTime: pulumi.String("string"),
UtilizationThreshold: pulumi.Float64(0),
},
DedicatedServerNodePools: cpln.Mk8sHetznerProviderDedicatedServerNodePoolArray{
&cpln.Mk8sHetznerProviderDedicatedServerNodePoolArgs{
Name: pulumi.String("string"),
Labels: pulumi.StringMap{
"string": pulumi.String("string"),
},
Taints: cpln.Mk8sHetznerProviderDedicatedServerNodePoolTaintArray{
&cpln.Mk8sHetznerProviderDedicatedServerNodePoolTaintArgs{
Effect: pulumi.String("string"),
Key: pulumi.String("string"),
Value: pulumi.String("string"),
},
},
},
},
FirewallId: pulumi.String("string"),
HetznerLabels: pulumi.StringMap{
"string": pulumi.String("string"),
},
Image: pulumi.String("string"),
Networking: &cpln.Mk8sHetznerProviderNetworkingArgs{
PodNetwork: pulumi.String("string"),
ServiceNetwork: pulumi.String("string"),
},
NodePools: cpln.Mk8sHetznerProviderNodePoolArray{
&cpln.Mk8sHetznerProviderNodePoolArgs{
Name: pulumi.String("string"),
ServerType: pulumi.String("string"),
Labels: pulumi.StringMap{
"string": pulumi.String("string"),
},
MaxSize: pulumi.Int(0),
MinSize: pulumi.Int(0),
OverrideImage: pulumi.String("string"),
Taints: cpln.Mk8sHetznerProviderNodePoolTaintArray{
&cpln.Mk8sHetznerProviderNodePoolTaintArgs{
Effect: pulumi.String("string"),
Key: pulumi.String("string"),
Value: pulumi.String("string"),
},
},
},
},
PreInstallScript: pulumi.String("string"),
SshKey: pulumi.String("string"),
},
Name: pulumi.String("string"),
Tags: pulumi.StringMap{
"string": pulumi.String("string"),
},
})
var mk8sResource = new Mk8s("mk8sResource", Mk8sArgs.builder()
.version("string")
.addOns(Mk8sAddOnsArgs.builder()
.awsEcr(Mk8sAddOnsAwsEcrArgs.builder()
.roleArn("string")
.build())
.awsEfs(Mk8sAddOnsAwsEfsArgs.builder()
.roleArn("string")
.build())
.awsElb(Mk8sAddOnsAwsElbArgs.builder()
.roleArn("string")
.build())
.awsWorkloadIdentity(false)
.azureAcr(Mk8sAddOnsAzureAcrArgs.builder()
.clientId("string")
.build())
.azureWorkloadIdentity(Mk8sAddOnsAzureWorkloadIdentityArgs.builder()
.tenantId("string")
.build())
.dashboard(false)
.localPathStorage(false)
.logs(Mk8sAddOnsLogsArgs.builder()
.auditEnabled(false)
.excludeNamespaces("string")
.includeNamespaces("string")
.build())
.metrics(Mk8sAddOnsMetricsArgs.builder()
.apiServer(false)
.cadvisor(false)
.coreDns(false)
.kubeState(false)
.kubelet(false)
.nodeExporter(false)
.scrapeAnnotated(Mk8sAddOnsMetricsScrapeAnnotatedArgs.builder()
.excludeNamespaces("string")
.includeNamespaces("string")
.intervalSeconds(0)
.retainLabels("string")
.build())
.build())
.nvidia(Mk8sAddOnsNvidiaArgs.builder()
.taintGpuNodes(false)
.build())
.sysbox(false)
.build())
.awsProvider(Mk8sAwsProviderArgs.builder()
.image(Mk8sAwsProviderImageArgs.builder()
.exact("string")
.recommended("string")
.build())
.vpcId("string")
.deployRoleArn("string")
.region("string")
.diskEncryptionKeyArn("string")
.keyPair("string")
.networking(Mk8sAwsProviderNetworkingArgs.builder()
.podNetwork("string")
.serviceNetwork("string")
.build())
.nodePools(Mk8sAwsProviderNodePoolArgs.builder()
.overrideImage(Mk8sAwsProviderNodePoolOverrideImageArgs.builder()
.exact("string")
.recommended("string")
.build())
.instanceTypes("string")
.name("string")
.subnetIds("string")
.extraSecurityGroupIds("string")
.labels(Map.of("string", "string"))
.maxSize(0)
.minSize(0)
.onDemandBaseCapacity(0)
.onDemandPercentageAboveBaseCapacity(0)
.bootDiskSize(0)
.spotAllocationStrategy("string")
.taints(Mk8sAwsProviderNodePoolTaintArgs.builder()
.effect("string")
.key("string")
.value("string")
.build())
.build())
.preInstallScript("string")
.autoscaler(Mk8sAwsProviderAutoscalerArgs.builder()
.expanders("string")
.unneededTime("string")
.unreadyTime("string")
.utilizationThreshold(0)
.build())
.securityGroupIds("string")
.skipCreateRoles(false)
.awsTags(Map.of("string", "string"))
.build())
.description("string")
.firewalls(Mk8sFirewallArgs.builder()
.sourceCidr("string")
.description("string")
.build())
.genericProvider(Mk8sGenericProviderArgs.builder()
.location("string")
.networking(Mk8sGenericProviderNetworkingArgs.builder()
.podNetwork("string")
.serviceNetwork("string")
.build())
.nodePools(Mk8sGenericProviderNodePoolArgs.builder()
.name("string")
.labels(Map.of("string", "string"))
.taints(Mk8sGenericProviderNodePoolTaintArgs.builder()
.effect("string")
.key("string")
.value("string")
.build())
.build())
.build())
.hetznerProvider(Mk8sHetznerProviderArgs.builder()
.networkId("string")
.region("string")
.tokenSecretLink("string")
.autoscaler(Mk8sHetznerProviderAutoscalerArgs.builder()
.expanders("string")
.unneededTime("string")
.unreadyTime("string")
.utilizationThreshold(0)
.build())
.dedicatedServerNodePools(Mk8sHetznerProviderDedicatedServerNodePoolArgs.builder()
.name("string")
.labels(Map.of("string", "string"))
.taints(Mk8sHetznerProviderDedicatedServerNodePoolTaintArgs.builder()
.effect("string")
.key("string")
.value("string")
.build())
.build())
.firewallId("string")
.hetznerLabels(Map.of("string", "string"))
.image("string")
.networking(Mk8sHetznerProviderNetworkingArgs.builder()
.podNetwork("string")
.serviceNetwork("string")
.build())
.nodePools(Mk8sHetznerProviderNodePoolArgs.builder()
.name("string")
.serverType("string")
.labels(Map.of("string", "string"))
.maxSize(0)
.minSize(0)
.overrideImage("string")
.taints(Mk8sHetznerProviderNodePoolTaintArgs.builder()
.effect("string")
.key("string")
.value("string")
.build())
.build())
.preInstallScript("string")
.sshKey("string")
.build())
.name("string")
.tags(Map.of("string", "string"))
.build());
mk8s_resource = cpln.Mk8s("mk8sResource",
version="string",
add_ons=cpln.Mk8sAddOnsArgs(
aws_ecr=cpln.Mk8sAddOnsAwsEcrArgs(
role_arn="string",
),
aws_efs=cpln.Mk8sAddOnsAwsEfsArgs(
role_arn="string",
),
aws_elb=cpln.Mk8sAddOnsAwsElbArgs(
role_arn="string",
),
aws_workload_identity=False,
azure_acr=cpln.Mk8sAddOnsAzureAcrArgs(
client_id="string",
),
azure_workload_identity=cpln.Mk8sAddOnsAzureWorkloadIdentityArgs(
tenant_id="string",
),
dashboard=False,
local_path_storage=False,
logs=cpln.Mk8sAddOnsLogsArgs(
audit_enabled=False,
exclude_namespaces="string",
include_namespaces="string",
),
metrics=cpln.Mk8sAddOnsMetricsArgs(
api_server=False,
cadvisor=False,
core_dns=False,
kube_state=False,
kubelet=False,
node_exporter=False,
scrape_annotated=cpln.Mk8sAddOnsMetricsScrapeAnnotatedArgs(
exclude_namespaces="string",
include_namespaces="string",
interval_seconds=0,
retain_labels="string",
),
),
nvidia=cpln.Mk8sAddOnsNvidiaArgs(
taint_gpu_nodes=False,
),
sysbox=False,
),
aws_provider=cpln.Mk8sAwsProviderArgs(
image=cpln.Mk8sAwsProviderImageArgs(
exact="string",
recommended="string",
),
vpc_id="string",
deploy_role_arn="string",
region="string",
disk_encryption_key_arn="string",
key_pair="string",
networking=cpln.Mk8sAwsProviderNetworkingArgs(
pod_network="string",
service_network="string",
),
node_pools=[cpln.Mk8sAwsProviderNodePoolArgs(
override_image=cpln.Mk8sAwsProviderNodePoolOverrideImageArgs(
exact="string",
recommended="string",
),
instance_types=["string"],
name="string",
subnet_ids=["string"],
extra_security_group_ids=["string"],
labels={
"string": "string",
},
max_size=0,
min_size=0,
on_demand_base_capacity=0,
on_demand_percentage_above_base_capacity=0,
boot_disk_size=0,
spot_allocation_strategy="string",
taints=[cpln.Mk8sAwsProviderNodePoolTaintArgs(
effect="string",
key="string",
value="string",
)],
)],
pre_install_script="string",
autoscaler=cpln.Mk8sAwsProviderAutoscalerArgs(
expanders=["string"],
unneeded_time="string",
unready_time="string",
utilization_threshold=0,
),
security_group_ids=["string"],
skip_create_roles=False,
aws_tags={
"string": "string",
},
),
description="string",
firewalls=[cpln.Mk8sFirewallArgs(
source_cidr="string",
description="string",
)],
generic_provider=cpln.Mk8sGenericProviderArgs(
location="string",
networking=cpln.Mk8sGenericProviderNetworkingArgs(
pod_network="string",
service_network="string",
),
node_pools=[cpln.Mk8sGenericProviderNodePoolArgs(
name="string",
labels={
"string": "string",
},
taints=[cpln.Mk8sGenericProviderNodePoolTaintArgs(
effect="string",
key="string",
value="string",
)],
)],
),
hetzner_provider=cpln.Mk8sHetznerProviderArgs(
network_id="string",
region="string",
token_secret_link="string",
autoscaler=cpln.Mk8sHetznerProviderAutoscalerArgs(
expanders=["string"],
unneeded_time="string",
unready_time="string",
utilization_threshold=0,
),
dedicated_server_node_pools=[cpln.Mk8sHetznerProviderDedicatedServerNodePoolArgs(
name="string",
labels={
"string": "string",
},
taints=[cpln.Mk8sHetznerProviderDedicatedServerNodePoolTaintArgs(
effect="string",
key="string",
value="string",
)],
)],
firewall_id="string",
hetzner_labels={
"string": "string",
},
image="string",
networking=cpln.Mk8sHetznerProviderNetworkingArgs(
pod_network="string",
service_network="string",
),
node_pools=[cpln.Mk8sHetznerProviderNodePoolArgs(
name="string",
server_type="string",
labels={
"string": "string",
},
max_size=0,
min_size=0,
override_image="string",
taints=[cpln.Mk8sHetznerProviderNodePoolTaintArgs(
effect="string",
key="string",
value="string",
)],
)],
pre_install_script="string",
ssh_key="string",
),
name="string",
tags={
"string": "string",
})
const mk8sResource = new cpln.Mk8s("mk8sResource", {
version: "string",
addOns: {
awsEcr: {
roleArn: "string",
},
awsEfs: {
roleArn: "string",
},
awsElb: {
roleArn: "string",
},
awsWorkloadIdentity: false,
azureAcr: {
clientId: "string",
},
azureWorkloadIdentity: {
tenantId: "string",
},
dashboard: false,
localPathStorage: false,
logs: {
auditEnabled: false,
excludeNamespaces: "string",
includeNamespaces: "string",
},
metrics: {
apiServer: false,
cadvisor: false,
coreDns: false,
kubeState: false,
kubelet: false,
nodeExporter: false,
scrapeAnnotated: {
excludeNamespaces: "string",
includeNamespaces: "string",
intervalSeconds: 0,
retainLabels: "string",
},
},
nvidia: {
taintGpuNodes: false,
},
sysbox: false,
},
awsProvider: {
image: {
exact: "string",
recommended: "string",
},
vpcId: "string",
deployRoleArn: "string",
region: "string",
diskEncryptionKeyArn: "string",
keyPair: "string",
networking: {
podNetwork: "string",
serviceNetwork: "string",
},
nodePools: [{
overrideImage: {
exact: "string",
recommended: "string",
},
instanceTypes: ["string"],
name: "string",
subnetIds: ["string"],
extraSecurityGroupIds: ["string"],
labels: {
string: "string",
},
maxSize: 0,
minSize: 0,
onDemandBaseCapacity: 0,
onDemandPercentageAboveBaseCapacity: 0,
bootDiskSize: 0,
spotAllocationStrategy: "string",
taints: [{
effect: "string",
key: "string",
value: "string",
}],
}],
preInstallScript: "string",
autoscaler: {
expanders: ["string"],
unneededTime: "string",
unreadyTime: "string",
utilizationThreshold: 0,
},
securityGroupIds: ["string"],
skipCreateRoles: false,
awsTags: {
string: "string",
},
},
description: "string",
firewalls: [{
sourceCidr: "string",
description: "string",
}],
genericProvider: {
location: "string",
networking: {
podNetwork: "string",
serviceNetwork: "string",
},
nodePools: [{
name: "string",
labels: {
string: "string",
},
taints: [{
effect: "string",
key: "string",
value: "string",
}],
}],
},
hetznerProvider: {
networkId: "string",
region: "string",
tokenSecretLink: "string",
autoscaler: {
expanders: ["string"],
unneededTime: "string",
unreadyTime: "string",
utilizationThreshold: 0,
},
dedicatedServerNodePools: [{
name: "string",
labels: {
string: "string",
},
taints: [{
effect: "string",
key: "string",
value: "string",
}],
}],
firewallId: "string",
hetznerLabels: {
string: "string",
},
image: "string",
networking: {
podNetwork: "string",
serviceNetwork: "string",
},
nodePools: [{
name: "string",
serverType: "string",
labels: {
string: "string",
},
maxSize: 0,
minSize: 0,
overrideImage: "string",
taints: [{
effect: "string",
key: "string",
value: "string",
}],
}],
preInstallScript: "string",
sshKey: "string",
},
name: "string",
tags: {
string: "string",
},
});
type: cpln:Mk8s
properties:
addOns:
awsEcr:
roleArn: string
awsEfs:
roleArn: string
awsElb:
roleArn: string
awsWorkloadIdentity: false
azureAcr:
clientId: string
azureWorkloadIdentity:
tenantId: string
dashboard: false
localPathStorage: false
logs:
auditEnabled: false
excludeNamespaces: string
includeNamespaces: string
metrics:
apiServer: false
cadvisor: false
coreDns: false
kubeState: false
kubelet: false
nodeExporter: false
scrapeAnnotated:
excludeNamespaces: string
includeNamespaces: string
intervalSeconds: 0
retainLabels: string
nvidia:
taintGpuNodes: false
sysbox: false
awsProvider:
autoscaler:
expanders:
- string
unneededTime: string
unreadyTime: string
utilizationThreshold: 0
awsTags:
string: string
deployRoleArn: string
diskEncryptionKeyArn: string
image:
exact: string
recommended: string
keyPair: string
networking:
podNetwork: string
serviceNetwork: string
nodePools:
- bootDiskSize: 0
extraSecurityGroupIds:
- string
instanceTypes:
- string
labels:
string: string
maxSize: 0
minSize: 0
name: string
onDemandBaseCapacity: 0
onDemandPercentageAboveBaseCapacity: 0
overrideImage:
exact: string
recommended: string
spotAllocationStrategy: string
subnetIds:
- string
taints:
- effect: string
key: string
value: string
preInstallScript: string
region: string
securityGroupIds:
- string
skipCreateRoles: false
vpcId: string
description: string
firewalls:
- description: string
sourceCidr: string
genericProvider:
location: string
networking:
podNetwork: string
serviceNetwork: string
nodePools:
- labels:
string: string
name: string
taints:
- effect: string
key: string
value: string
hetznerProvider:
autoscaler:
expanders:
- string
unneededTime: string
unreadyTime: string
utilizationThreshold: 0
dedicatedServerNodePools:
- labels:
string: string
name: string
taints:
- effect: string
key: string
value: string
firewallId: string
hetznerLabels:
string: string
image: string
networkId: string
networking:
podNetwork: string
serviceNetwork: string
nodePools:
- labels:
string: string
maxSize: 0
minSize: 0
name: string
overrideImage: string
serverType: string
taints:
- effect: string
key: string
value: string
preInstallScript: string
region: string
sshKey: string
tokenSecretLink: string
name: string
tags:
string: string
version: string
Mk8s Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The Mk8s resource accepts the following input properties:
- Version string
- Add
Ons Pulumiverse.Cpln. Inputs. Mk8s Add Ons - Aws
Provider Pulumiverse.Cpln. Inputs. Mk8s Aws Provider - Description string
- Description of the Mk8s.
- Firewalls
List<Pulumiverse.
Cpln. Inputs. Mk8s Firewall> - Allow-list.
- Generic
Provider Pulumiverse.Cpln. Inputs. Mk8s Generic Provider - Hetzner
Provider Pulumiverse.Cpln. Inputs. Mk8s Hetzner Provider - Name string
- Name of the Mk8s.
- Dictionary<string, string>
- Key-value map of resource tags.
- Version string
- Add
Ons Mk8sAdd Ons Args - Aws
Provider Mk8sAws Provider Args - Description string
- Description of the Mk8s.
- Firewalls
[]Mk8s
Firewall Args - Allow-list.
- Generic
Provider Mk8sGeneric Provider Args - Hetzner
Provider Mk8sHetzner Provider Args - Name string
- Name of the Mk8s.
- map[string]string
- Key-value map of resource tags.
- version String
- add
Ons Mk8sAdd Ons - aws
Provider Mk8sAws Provider - description String
- Description of the Mk8s.
- firewalls
List<Mk8s
Firewall> - Allow-list.
- generic
Provider Mk8sGeneric Provider - hetzner
Provider Mk8sHetzner Provider - name String
- Name of the Mk8s.
- Map<String,String>
- Key-value map of resource tags.
- version string
- add
Ons Mk8sAdd Ons - aws
Provider Mk8sAws Provider - description string
- Description of the Mk8s.
- firewalls
Mk8s
Firewall[] - Allow-list.
- generic
Provider Mk8sGeneric Provider - hetzner
Provider Mk8sHetzner Provider - name string
- Name of the Mk8s.
- {[key: string]: string}
- Key-value map of resource tags.
- version str
- add_
ons Mk8sAdd Ons Args - aws_
provider Mk8sAws Provider Args - description str
- Description of the Mk8s.
- firewalls
Sequence[Mk8s
Firewall Args] - Allow-list.
- generic_
provider Mk8sGeneric Provider Args - hetzner_
provider Mk8sHetzner Provider Args - name str
- Name of the Mk8s.
- Mapping[str, str]
- Key-value map of resource tags.
- version String
- add
Ons Property Map - aws
Provider Property Map - description String
- Description of the Mk8s.
- firewalls List<Property Map>
- Allow-list.
- generic
Provider Property Map - hetzner
Provider Property Map - name String
- Name of the Mk8s.
- Map<String>
- Key-value map of resource tags.
Outputs
All input properties are implicitly available as output properties. Additionally, the Mk8s resource produces the following output properties:
- Alias string
- The alias name of the Mk8s.
- Cpln
Id string - The ID, in GUID format, of the Mk8s.
- Id string
- The provider-assigned unique ID for this managed resource.
- Self
Link string - Full link to this resource. Can be referenced by other resources.
- Statuses
List<Pulumiverse.
Cpln. Outputs. Mk8s Status> - Status of the mk8s.
Look up Existing Mk8s Resource
Get an existing Mk8s resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: Mk8sState, opts?: CustomResourceOptions): Mk8s
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
add_ons: Optional[Mk8sAddOnsArgs] = None,
alias: Optional[str] = None,
aws_provider: Optional[Mk8sAwsProviderArgs] = None,
cpln_id: Optional[str] = None,
description: Optional[str] = None,
firewalls: Optional[Sequence[Mk8sFirewallArgs]] = None,
generic_provider: Optional[Mk8sGenericProviderArgs] = None,
hetzner_provider: Optional[Mk8sHetznerProviderArgs] = None,
name: Optional[str] = None,
self_link: Optional[str] = None,
statuses: Optional[Sequence[Mk8sStatusArgs]] = None,
tags: Optional[Mapping[str, str]] = None,
version: Optional[str] = None) -> Mk8s
func GetMk8s(ctx *Context, name string, id IDInput, state *Mk8sState, opts ...ResourceOption) (*Mk8s, error)
public static Mk8s Get(string name, Input<string> id, Mk8sState? state, CustomResourceOptions? opts = null)
public static Mk8s get(String name, Output<String> id, Mk8sState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Add
Ons Pulumiverse.Cpln. Inputs. Mk8s Add Ons - Alias string
- The alias name of the Mk8s.
- Aws
Provider Pulumiverse.Cpln. Inputs. Mk8s Aws Provider - Cpln
Id string - The ID, in GUID format, of the Mk8s.
- Description string
- Description of the Mk8s.
- Firewalls
List<Pulumiverse.
Cpln. Inputs. Mk8s Firewall> - Allow-list.
- Generic
Provider Pulumiverse.Cpln. Inputs. Mk8s Generic Provider - Hetzner
Provider Pulumiverse.Cpln. Inputs. Mk8s Hetzner Provider - Name string
- Name of the Mk8s.
- Self
Link string - Full link to this resource. Can be referenced by other resources.
- Statuses
List<Pulumiverse.
Cpln. Inputs. Mk8s Status> - Status of the mk8s.
- Dictionary<string, string>
- Key-value map of resource tags.
- Version string
- Add
Ons Mk8sAdd Ons Args - Alias string
- The alias name of the Mk8s.
- Aws
Provider Mk8sAws Provider Args - Cpln
Id string - The ID, in GUID format, of the Mk8s.
- Description string
- Description of the Mk8s.
- Firewalls
[]Mk8s
Firewall Args - Allow-list.
- Generic
Provider Mk8sGeneric Provider Args - Hetzner
Provider Mk8sHetzner Provider Args - Name string
- Name of the Mk8s.
- Self
Link string - Full link to this resource. Can be referenced by other resources.
- Statuses
[]Mk8s
Status Args - Status of the mk8s.
- map[string]string
- Key-value map of resource tags.
- Version string
- add
Ons Mk8sAdd Ons - alias String
- The alias name of the Mk8s.
- aws
Provider Mk8sAws Provider - cpln
Id String - The ID, in GUID format, of the Mk8s.
- description String
- Description of the Mk8s.
- firewalls
List<Mk8s
Firewall> - Allow-list.
- generic
Provider Mk8sGeneric Provider - hetzner
Provider Mk8sHetzner Provider - name String
- Name of the Mk8s.
- self
Link String - Full link to this resource. Can be referenced by other resources.
- statuses
List<Mk8s
Status> - Status of the mk8s.
- Map<String,String>
- Key-value map of resource tags.
- version String
- add
Ons Mk8sAdd Ons - alias string
- The alias name of the Mk8s.
- aws
Provider Mk8sAws Provider - cpln
Id string - The ID, in GUID format, of the Mk8s.
- description string
- Description of the Mk8s.
- firewalls
Mk8s
Firewall[] - Allow-list.
- generic
Provider Mk8sGeneric Provider - hetzner
Provider Mk8sHetzner Provider - name string
- Name of the Mk8s.
- self
Link string - Full link to this resource. Can be referenced by other resources.
- statuses
Mk8s
Status[] - Status of the mk8s.
- {[key: string]: string}
- Key-value map of resource tags.
- version string
- add_
ons Mk8sAdd Ons Args - alias str
- The alias name of the Mk8s.
- aws_
provider Mk8sAws Provider Args - cpln_
id str - The ID, in GUID format, of the Mk8s.
- description str
- Description of the Mk8s.
- firewalls
Sequence[Mk8s
Firewall Args] - Allow-list.
- generic_
provider Mk8sGeneric Provider Args - hetzner_
provider Mk8sHetzner Provider Args - name str
- Name of the Mk8s.
- self_
link str - Full link to this resource. Can be referenced by other resources.
- statuses
Sequence[Mk8s
Status Args] - Status of the mk8s.
- Mapping[str, str]
- Key-value map of resource tags.
- version str
- add
Ons Property Map - alias String
- The alias name of the Mk8s.
- aws
Provider Property Map - cpln
Id String - The ID, in GUID format, of the Mk8s.
- description String
- Description of the Mk8s.
- firewalls List<Property Map>
- Allow-list.
- generic
Provider Property Map - hetzner
Provider Property Map - name String
- Name of the Mk8s.
- self
Link String - Full link to this resource. Can be referenced by other resources.
- statuses List<Property Map>
- Status of the mk8s.
- Map<String>
- Key-value map of resource tags.
- version String
Supporting Types
Mk8sAddOns, Mk8sAddOnsArgs
- Aws
Ecr Pulumiverse.Cpln. Inputs. Mk8s Add Ons Aws Ecr - Aws
Efs Pulumiverse.Cpln. Inputs. Mk8s Add Ons Aws Efs - Aws
Elb Pulumiverse.Cpln. Inputs. Mk8s Add Ons Aws Elb - Aws
Workload boolIdentity - Azure
Acr Pulumiverse.Cpln. Inputs. Mk8s Add Ons Azure Acr - Azure
Workload Pulumiverse.Identity Cpln. Inputs. Mk8s Add Ons Azure Workload Identity - Dashboard bool
- Local
Path boolStorage - Logs
Pulumiverse.
Cpln. Inputs. Mk8s Add Ons Logs - Metrics
Pulumiverse.
Cpln. Inputs. Mk8s Add Ons Metrics - Nvidia
Pulumiverse.
Cpln. Inputs. Mk8s Add Ons Nvidia - Sysbox bool
Mk8sAddOnsAwsEcr, Mk8sAddOnsAwsEcrArgs
- Role
Arn string
- Role
Arn string
- role
Arn String
- role
Arn string
- role_
arn str
- role
Arn String
Mk8sAddOnsAwsEfs, Mk8sAddOnsAwsEfsArgs
- Role
Arn string
- Role
Arn string
- role
Arn String
- role
Arn string
- role_
arn str
- role
Arn String
Mk8sAddOnsAwsElb, Mk8sAddOnsAwsElbArgs
- Role
Arn string
- Role
Arn string
- role
Arn String
- role
Arn string
- role_
arn str
- role
Arn String
Mk8sAddOnsAzureAcr, Mk8sAddOnsAzureAcrArgs
- Client
Id string
- Client
Id string
- client
Id String
- client
Id string
- client_
id str
- client
Id String
Mk8sAddOnsAzureWorkloadIdentity, Mk8sAddOnsAzureWorkloadIdentityArgs
- Tenant
Id string
- Tenant
Id string
- tenant
Id String
- tenant
Id string
- tenant_
id str
- tenant
Id String
Mk8sAddOnsLogs, Mk8sAddOnsLogsArgs
- Audit
Enabled bool - Exclude
Namespaces string - Include
Namespaces string
- Audit
Enabled bool - Exclude
Namespaces string - Include
Namespaces string
- audit
Enabled Boolean - exclude
Namespaces String - include
Namespaces String
- audit
Enabled boolean - exclude
Namespaces string - include
Namespaces string
- audit_
enabled bool - exclude_
namespaces str - include_
namespaces str
- audit
Enabled Boolean - exclude
Namespaces String - include
Namespaces String
Mk8sAddOnsMetrics, Mk8sAddOnsMetricsArgs
- Api
Server bool - Cadvisor bool
- Core
Dns bool - Kube
State bool - Kubelet bool
- Node
Exporter bool - Scrape
Annotated Pulumiverse.Cpln. Inputs. Mk8s Add Ons Metrics Scrape Annotated
- Api
Server bool - Cadvisor bool
- Core
Dns bool - Kube
State bool - Kubelet bool
- Node
Exporter bool - Scrape
Annotated Mk8sAdd Ons Metrics Scrape Annotated
- api
Server Boolean - cadvisor Boolean
- core
Dns Boolean - kube
State Boolean - kubelet Boolean
- node
Exporter Boolean - scrape
Annotated Mk8sAdd Ons Metrics Scrape Annotated
- api
Server boolean - cadvisor boolean
- core
Dns boolean - kube
State boolean - kubelet boolean
- node
Exporter boolean - scrape
Annotated Mk8sAdd Ons Metrics Scrape Annotated
- api_
server bool - cadvisor bool
- core_
dns bool - kube_
state bool - kubelet bool
- node_
exporter bool - scrape_
annotated Mk8sAdd Ons Metrics Scrape Annotated
- api
Server Boolean - cadvisor Boolean
- core
Dns Boolean - kube
State Boolean - kubelet Boolean
- node
Exporter Boolean - scrape
Annotated Property Map
Mk8sAddOnsMetricsScrapeAnnotated, Mk8sAddOnsMetricsScrapeAnnotatedArgs
- Exclude
Namespaces string - Include
Namespaces string - Interval
Seconds int - Retain
Labels string
- Exclude
Namespaces string - Include
Namespaces string - Interval
Seconds int - Retain
Labels string
- exclude
Namespaces String - include
Namespaces String - interval
Seconds Integer - retain
Labels String
- exclude
Namespaces string - include
Namespaces string - interval
Seconds number - retain
Labels string
- exclude
Namespaces String - include
Namespaces String - interval
Seconds Number - retain
Labels String
Mk8sAddOnsNvidia, Mk8sAddOnsNvidiaArgs
- Taint
Gpu boolNodes
- Taint
Gpu boolNodes
- taint
Gpu BooleanNodes
- taint
Gpu booleanNodes
- taint_
gpu_ boolnodes
- taint
Gpu BooleanNodes
Mk8sAwsProvider, Mk8sAwsProviderArgs
- Deploy
Role stringArn - Image
Pulumiverse.
Cpln. Inputs. Mk8s Aws Provider Image - Region string
- Vpc
Id string - Autoscaler
Pulumiverse.
Cpln. Inputs. Mk8s Aws Provider Autoscaler - Dictionary<string, string>
- Disk
Encryption stringKey Arn - Key
Pair string - Networking
Pulumiverse.
Cpln. Inputs. Mk8s Aws Provider Networking - Node
Pools List<Pulumiverse.Cpln. Inputs. Mk8s Aws Provider Node Pool> - Pre
Install stringScript - Security
Group List<string>Ids - Skip
Create boolRoles
- Deploy
Role stringArn - Image
Mk8s
Aws Provider Image - Region string
- Vpc
Id string - Autoscaler
Mk8s
Aws Provider Autoscaler - map[string]string
- Disk
Encryption stringKey Arn - Key
Pair string - Networking
Mk8s
Aws Provider Networking - Node
Pools []Mk8sAws Provider Node Pool - Pre
Install stringScript - Security
Group []stringIds - Skip
Create boolRoles
- deploy
Role StringArn - image
Mk8s
Aws Provider Image - region String
- vpc
Id String - autoscaler
Mk8s
Aws Provider Autoscaler - Map<String,String>
- disk
Encryption StringKey Arn - key
Pair String - networking
Mk8s
Aws Provider Networking - node
Pools List<Mk8sAws Provider Node Pool> - pre
Install StringScript - security
Group List<String>Ids - skip
Create BooleanRoles
- deploy
Role stringArn - image
Mk8s
Aws Provider Image - region string
- vpc
Id string - autoscaler
Mk8s
Aws Provider Autoscaler - {[key: string]: string}
- disk
Encryption stringKey Arn - key
Pair string - networking
Mk8s
Aws Provider Networking - node
Pools Mk8sAws Provider Node Pool[] - pre
Install stringScript - security
Group string[]Ids - skip
Create booleanRoles
- deploy_
role_ strarn - image
Mk8s
Aws Provider Image - region str
- vpc_
id str - autoscaler
Mk8s
Aws Provider Autoscaler - Mapping[str, str]
- disk_
encryption_ strkey_ arn - key_
pair str - networking
Mk8s
Aws Provider Networking - node_
pools Sequence[Mk8sAws Provider Node Pool] - pre_
install_ strscript - security_
group_ Sequence[str]ids - skip_
create_ boolroles
- deploy
Role StringArn - image Property Map
- region String
- vpc
Id String - autoscaler Property Map
- Map<String>
- disk
Encryption StringKey Arn - key
Pair String - networking Property Map
- node
Pools List<Property Map> - pre
Install StringScript - security
Group List<String>Ids - skip
Create BooleanRoles
Mk8sAwsProviderAutoscaler, Mk8sAwsProviderAutoscalerArgs
- Expanders List<string>
- Unneeded
Time string - Unready
Time string - Utilization
Threshold double
- Expanders []string
- Unneeded
Time string - Unready
Time string - Utilization
Threshold float64
- expanders List<String>
- unneeded
Time String - unready
Time String - utilization
Threshold Double
- expanders string[]
- unneeded
Time string - unready
Time string - utilization
Threshold number
- expanders Sequence[str]
- unneeded_
time str - unready_
time str - utilization_
threshold float
- expanders List<String>
- unneeded
Time String - unready
Time String - utilization
Threshold Number
Mk8sAwsProviderImage, Mk8sAwsProviderImageArgs
- Exact string
- Recommended string
- Exact string
- Recommended string
- exact String
- recommended String
- exact string
- recommended string
- exact str
- recommended str
- exact String
- recommended String
Mk8sAwsProviderNetworking, Mk8sAwsProviderNetworkingArgs
- Pod
Network string - Service
Network string
- Pod
Network string - Service
Network string
- pod
Network String - service
Network String
- pod
Network string - service
Network string
- pod_
network str - service_
network str
- pod
Network String - service
Network String
Mk8sAwsProviderNodePool, Mk8sAwsProviderNodePoolArgs
- Instance
Types List<string> - Name string
- Override
Image Pulumiverse.Cpln. Inputs. Mk8s Aws Provider Node Pool Override Image - Subnet
Ids List<string> - Boot
Disk intSize - Extra
Security List<string>Group Ids - Labels Dictionary<string, string>
- Max
Size int - Min
Size int - On
Demand intBase Capacity - On
Demand intPercentage Above Base Capacity - Spot
Allocation stringStrategy - Taints
List<Pulumiverse.
Cpln. Inputs. Mk8s Aws Provider Node Pool Taint>
- Instance
Types []string - Name string
- Override
Image Mk8sAws Provider Node Pool Override Image - Subnet
Ids []string - Boot
Disk intSize - Extra
Security []stringGroup Ids - Labels map[string]string
- Max
Size int - Min
Size int - On
Demand intBase Capacity - On
Demand intPercentage Above Base Capacity - Spot
Allocation stringStrategy - Taints
[]Mk8s
Aws Provider Node Pool Taint
- instance
Types List<String> - name String
- override
Image Mk8sAws Provider Node Pool Override Image - subnet
Ids List<String> - boot
Disk IntegerSize - extra
Security List<String>Group Ids - labels Map<String,String>
- max
Size Integer - min
Size Integer - on
Demand IntegerBase Capacity - on
Demand IntegerPercentage Above Base Capacity - spot
Allocation StringStrategy - taints
List<Mk8s
Aws Provider Node Pool Taint>
- instance
Types string[] - name string
- override
Image Mk8sAws Provider Node Pool Override Image - subnet
Ids string[] - boot
Disk numberSize - extra
Security string[]Group Ids - labels {[key: string]: string}
- max
Size number - min
Size number - on
Demand numberBase Capacity - on
Demand numberPercentage Above Base Capacity - spot
Allocation stringStrategy - taints
Mk8s
Aws Provider Node Pool Taint[]
- instance_
types Sequence[str] - name str
- override_
image Mk8sAws Provider Node Pool Override Image - subnet_
ids Sequence[str] - boot_
disk_ intsize - extra_
security_ Sequence[str]group_ ids - labels Mapping[str, str]
- max_
size int - min_
size int - on_
demand_ intbase_ capacity - on_
demand_ intpercentage_ above_ base_ capacity - spot_
allocation_ strstrategy - taints
Sequence[Mk8s
Aws Provider Node Pool Taint]
- instance
Types List<String> - name String
- override
Image Property Map - subnet
Ids List<String> - boot
Disk NumberSize - extra
Security List<String>Group Ids - labels Map<String>
- max
Size Number - min
Size Number - on
Demand NumberBase Capacity - on
Demand NumberPercentage Above Base Capacity - spot
Allocation StringStrategy - taints List<Property Map>
Mk8sAwsProviderNodePoolOverrideImage, Mk8sAwsProviderNodePoolOverrideImageArgs
- Exact string
- Recommended string
- Exact string
- Recommended string
- exact String
- recommended String
- exact string
- recommended string
- exact str
- recommended str
- exact String
- recommended String
Mk8sAwsProviderNodePoolTaint, Mk8sAwsProviderNodePoolTaintArgs
Mk8sFirewall, Mk8sFirewallArgs
- Source
Cidr string - Description string
- Source
Cidr string - Description string
- source
Cidr String - description String
- source
Cidr string - description string
- source_
cidr str - description str
- source
Cidr String - description String
Mk8sGenericProvider, Mk8sGenericProviderArgs
Mk8sGenericProviderNetworking, Mk8sGenericProviderNetworkingArgs
- Pod
Network string - Service
Network string
- Pod
Network string - Service
Network string
- pod
Network String - service
Network String
- pod
Network string - service
Network string
- pod_
network str - service_
network str
- pod
Network String - service
Network String
Mk8sGenericProviderNodePool, Mk8sGenericProviderNodePoolArgs
- Name string
- Labels Dictionary<string, string>
- Taints
List<Pulumiverse.
Cpln. Inputs. Mk8s Generic Provider Node Pool Taint>
- Name string
- Labels map[string]string
- Taints
[]Mk8s
Generic Provider Node Pool Taint
- name String
- labels Map<String,String>
- taints
List<Mk8s
Generic Provider Node Pool Taint>
- name string
- labels {[key: string]: string}
- taints
Mk8s
Generic Provider Node Pool Taint[]
- name str
- labels Mapping[str, str]
- taints
Sequence[Mk8s
Generic Provider Node Pool Taint]
- name String
- labels Map<String>
- taints List<Property Map>
Mk8sGenericProviderNodePoolTaint, Mk8sGenericProviderNodePoolTaintArgs
Mk8sHetznerProvider, Mk8sHetznerProviderArgs
- Network
Id string - Region string
- Token
Secret stringLink - Autoscaler
Pulumiverse.
Cpln. Inputs. Mk8s Hetzner Provider Autoscaler - Dedicated
Server List<Pulumiverse.Node Pools Cpln. Inputs. Mk8s Hetzner Provider Dedicated Server Node Pool> - Firewall
Id string - Hetzner
Labels Dictionary<string, string> - Image string
- Networking
Pulumiverse.
Cpln. Inputs. Mk8s Hetzner Provider Networking - Node
Pools List<Pulumiverse.Cpln. Inputs. Mk8s Hetzner Provider Node Pool> - Pre
Install stringScript - Ssh
Key string
- Network
Id string - Region string
- Token
Secret stringLink - Autoscaler
Mk8s
Hetzner Provider Autoscaler - Dedicated
Server []Mk8sNode Pools Hetzner Provider Dedicated Server Node Pool - Firewall
Id string - Hetzner
Labels map[string]string - Image string
- Networking
Mk8s
Hetzner Provider Networking - Node
Pools []Mk8sHetzner Provider Node Pool - Pre
Install stringScript - Ssh
Key string
- network
Id String - region String
- token
Secret StringLink - autoscaler
Mk8s
Hetzner Provider Autoscaler - dedicated
Server List<Mk8sNode Pools Hetzner Provider Dedicated Server Node Pool> - firewall
Id String - hetzner
Labels Map<String,String> - image String
- networking
Mk8s
Hetzner Provider Networking - node
Pools List<Mk8sHetzner Provider Node Pool> - pre
Install StringScript - ssh
Key String
- network
Id string - region string
- token
Secret stringLink - autoscaler
Mk8s
Hetzner Provider Autoscaler - dedicated
Server Mk8sNode Pools Hetzner Provider Dedicated Server Node Pool[] - firewall
Id string - hetzner
Labels {[key: string]: string} - image string
- networking
Mk8s
Hetzner Provider Networking - node
Pools Mk8sHetzner Provider Node Pool[] - pre
Install stringScript - ssh
Key string
- network_
id str - region str
- token_
secret_ strlink - autoscaler
Mk8s
Hetzner Provider Autoscaler - dedicated_
server_ Sequence[Mk8snode_ pools Hetzner Provider Dedicated Server Node Pool] - firewall_
id str - hetzner_
labels Mapping[str, str] - image str
- networking
Mk8s
Hetzner Provider Networking - node_
pools Sequence[Mk8sHetzner Provider Node Pool] - pre_
install_ strscript - ssh_
key str
- network
Id String - region String
- token
Secret StringLink - autoscaler Property Map
- dedicated
Server List<Property Map>Node Pools - firewall
Id String - hetzner
Labels Map<String> - image String
- networking Property Map
- node
Pools List<Property Map> - pre
Install StringScript - ssh
Key String
Mk8sHetznerProviderAutoscaler, Mk8sHetznerProviderAutoscalerArgs
- Expanders List<string>
- Unneeded
Time string - Unready
Time string - Utilization
Threshold double
- Expanders []string
- Unneeded
Time string - Unready
Time string - Utilization
Threshold float64
- expanders List<String>
- unneeded
Time String - unready
Time String - utilization
Threshold Double
- expanders string[]
- unneeded
Time string - unready
Time string - utilization
Threshold number
- expanders Sequence[str]
- unneeded_
time str - unready_
time str - utilization_
threshold float
- expanders List<String>
- unneeded
Time String - unready
Time String - utilization
Threshold Number
Mk8sHetznerProviderDedicatedServerNodePool, Mk8sHetznerProviderDedicatedServerNodePoolArgs
- Name string
- Labels Dictionary<string, string>
- Taints
List<Pulumiverse.
Cpln. Inputs. Mk8s Hetzner Provider Dedicated Server Node Pool Taint>
- Name string
- Labels map[string]string
- Taints
[]Mk8s
Hetzner Provider Dedicated Server Node Pool Taint
- name String
- labels Map<String,String>
- taints
List<Mk8s
Hetzner Provider Dedicated Server Node Pool Taint>
- name string
- labels {[key: string]: string}
- taints
Mk8s
Hetzner Provider Dedicated Server Node Pool Taint[]
- name str
- labels Mapping[str, str]
- taints
Sequence[Mk8s
Hetzner Provider Dedicated Server Node Pool Taint]
- name String
- labels Map<String>
- taints List<Property Map>
Mk8sHetznerProviderDedicatedServerNodePoolTaint, Mk8sHetznerProviderDedicatedServerNodePoolTaintArgs
Mk8sHetznerProviderNetworking, Mk8sHetznerProviderNetworkingArgs
- Pod
Network string - Service
Network string
- Pod
Network string - Service
Network string
- pod
Network String - service
Network String
- pod
Network string - service
Network string
- pod_
network str - service_
network str
- pod
Network String - service
Network String
Mk8sHetznerProviderNodePool, Mk8sHetznerProviderNodePoolArgs
- Name string
- Server
Type string - Labels Dictionary<string, string>
- Max
Size int - Min
Size int - Override
Image string - Taints
List<Pulumiverse.
Cpln. Inputs. Mk8s Hetzner Provider Node Pool Taint>
- Name string
- Server
Type string - Labels map[string]string
- Max
Size int - Min
Size int - Override
Image string - Taints
[]Mk8s
Hetzner Provider Node Pool Taint
- name String
- server
Type String - labels Map<String,String>
- max
Size Integer - min
Size Integer - override
Image String - taints
List<Mk8s
Hetzner Provider Node Pool Taint>
- name string
- server
Type string - labels {[key: string]: string}
- max
Size number - min
Size number - override
Image string - taints
Mk8s
Hetzner Provider Node Pool Taint[]
- name str
- server_
type str - labels Mapping[str, str]
- max_
size int - min_
size int - override_
image str - taints
Sequence[Mk8s
Hetzner Provider Node Pool Taint]
- name String
- server
Type String - labels Map<String>
- max
Size Number - min
Size Number - override
Image String - taints List<Property Map>
Mk8sHetznerProviderNodePoolTaint, Mk8sHetznerProviderNodePoolTaintArgs
Mk8sStatus, Mk8sStatusArgs
- Add
Ons List<Pulumiverse.Cpln. Inputs. Mk8s Status Add On> - Home
Location string - Oidc
Provider stringUrl - Server
Url string
- Add
Ons []Mk8sStatus Add On - Home
Location string - Oidc
Provider stringUrl - Server
Url string
- add
Ons List<Mk8sStatus Add On> - home
Location String - oidc
Provider StringUrl - server
Url String
- add
Ons Mk8sStatus Add On[] - home
Location string - oidc
Provider stringUrl - server
Url string
- add
Ons List<Property Map> - home
Location String - oidc
Provider StringUrl - server
Url String
Mk8sStatusAddOn, Mk8sStatusAddOnArgs
- Aws
Ecrs List<Pulumiverse.Cpln. Inputs. Mk8s Status Add On Aws Ecr> - Aws
Efs List<Pulumiverse.Cpln. Inputs. Mk8s Status Add On Aws Ef> - Aws
Elbs List<Pulumiverse.Cpln. Inputs. Mk8s Status Add On Aws Elb> - Aws
Workload List<Pulumiverse.Identities Cpln. Inputs. Mk8s Status Add On Aws Workload Identity> - Dashboards
List<Pulumiverse.
Cpln. Inputs. Mk8s Status Add On Dashboard> - Logs
List<Pulumiverse.
Cpln. Inputs. Mk8s Status Add On Log> - Metrics
List<Pulumiverse.
Cpln. Inputs. Mk8s Status Add On Metric>
- aws_
ecrs Sequence[Mk8sStatus Add On Aws Ecr] - aws_
efs Sequence[Mk8sStatus Add On Aws Ef] - aws_
elbs Sequence[Mk8sStatus Add On Aws Elb] - aws_
workload_ Sequence[Mk8sidentities Status Add On Aws Workload Identity] - dashboards
Sequence[Mk8s
Status Add On Dashboard] - logs
Sequence[Mk8s
Status Add On Log] - metrics
Sequence[Mk8s
Status Add On Metric]
Mk8sStatusAddOnAwsEcr, Mk8sStatusAddOnAwsEcrArgs
- Trust
Policy string
- Trust
Policy string
- trust
Policy String
- trust
Policy string
- trust_
policy str
- trust
Policy String
Mk8sStatusAddOnAwsEf, Mk8sStatusAddOnAwsEfArgs
- Trust
Policy string
- Trust
Policy string
- trust
Policy String
- trust
Policy string
- trust_
policy str
- trust
Policy String
Mk8sStatusAddOnAwsElb, Mk8sStatusAddOnAwsElbArgs
- Trust
Policy string
- Trust
Policy string
- trust
Policy String
- trust
Policy string
- trust_
policy str
- trust
Policy String
Mk8sStatusAddOnAwsWorkloadIdentity, Mk8sStatusAddOnAwsWorkloadIdentityArgs
Mk8sStatusAddOnAwsWorkloadIdentityOidcProviderConfig, Mk8sStatusAddOnAwsWorkloadIdentityOidcProviderConfigArgs
- Audience string
- Provider
Url string
- Audience string
- Provider
Url string
- audience String
- provider
Url String
- audience string
- provider
Url string
- audience str
- provider_
url str
- audience String
- provider
Url String
Mk8sStatusAddOnDashboard, Mk8sStatusAddOnDashboardArgs
- Url string
- Url string
- url String
- url string
- url str
- url String
Mk8sStatusAddOnLog, Mk8sStatusAddOnLogArgs
- Loki
Address string
- Loki
Address string
- loki
Address String
- loki
Address string
- loki_
address str
- loki
Address String
Mk8sStatusAddOnMetric, Mk8sStatusAddOnMetricArgs
- Prometheus
Endpoint string - Remote
Write stringConfig
- Prometheus
Endpoint string - Remote
Write stringConfig
- prometheus
Endpoint String - remote
Write StringConfig
- prometheus
Endpoint string - remote
Write stringConfig
- prometheus
Endpoint String - remote
Write StringConfig
Package Details
- Repository
- cpln pulumiverse/pulumi-cpln
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
cpln
Terraform Provider.