A Terraform module to install the Ocean Controller on Kubernetes.
module "kubernetes-controller" {
source = "spotinst/kubernetes-controller/ocean"
# Credentials.
spotinst_token = var.spotinst_token
spotinst_account = var.spotinst_account
# Configuration.
cluster_identifier = var.cluster_identifier
}
Name | Description | Type | Default | Required |
---|---|---|---|---|
base_url | Specifies the base URL to be used by the HTTP client | string |
null |
no |
ca_bundle_secret_name | Overrides the default secret name for custom CA bundle | string |
null |
no |
chart_version | Specifies the version of the Helm chart to be installed | string |
"0.1.57" |
no |
cluster_identifier | Specifies the cluster identifier | string |
null |
no |
config_map_name | Overrides the default configmap name | string |
null |
no |
controller_image | Specifies the Docker image name for the Ocean Controller that should be deployed | string |
null |
no |
controller_version | Specifies the Docker version for the Ocean Controller that should be deployed | string |
null |
no |
create_controller | Controls whether the Ocean Controller should be deployed (it affects all resources) | bool |
true |
no |
create_namespace | Controls whether the namespace should be created if it does not exist | bool |
true |
no |
deploy_metrics_server | Controls whether the metrics server should be deployed | bool |
false |
no |
disable_auto_update | Controls whether the auto-update feature should be disabled | bool |
true |
no |
disable_rightsizing | Controls whether the rightsizing feature should be disabled | bool |
false |
no |
enable_csr_approval | Controls whether the CSR approval feature should be enabled | bool |
true |
no |
image_pull_policy | Specifies the image pull policy (one of: Always, Never, IfNotPresent) | string |
"Always" |
no |
image_pull_secrets | Specifies a list of references to secrets in the same namespace to use for pulling the image | list(string) |
[] |
no |
namespace | Specifies the namespace where the Ocean Controller should be deployed | string |
"spot-system" |
no |
node_selector | Specifies the node selector which must match a node's labels for the Ocean Controller resources to be scheduled on that node | map(string) |
null |
no |
proxy_url | Specifies the proxy server URL to communicate through | string |
null |
no |
release_name | Specifies the name of the Helm release | string |
"ocean-controller" |
no |
replicas | Controls number of replicas | number |
null |
no |
resources_limits | Specifies the definition of the maximum amount of compute resources allowed | map(any) |
null |
no |
resources_requests | Specifies the definition of the minimum amount of compute resources required | map(any) |
null |
no |
secret_name | Overrides the default secret name | string |
null |
no |
service_account_name | Overrides the default service account name | string |
"controller-service-account-name" |
no |
spotinst_account | Specifies the Spot account ID | string |
null |
no |
spotinst_token | Specifies the Spot Personal Access token | string |
null |
no |
tolerations | Specifies a list of additional toleration objects |
list(any) |
null |
no |
values_file | values.yaml file to be used for the Ocean Controller | string |
null |
no |
wait | Controls whether to wait for Helm release to deploy | bool |
false |
no |
Name | Version |
---|---|
helm | >= 2.12.1 |
Name | Version |
---|---|
terraform | >= 0.13.0 |
helm | >= 2.12.1 |
If you're new to Spot and want to get started, please checkout our Getting Started guide, available on the Spot Documentation website.
We use GitHub issues for tracking bugs and feature requests. Please use these community resources for getting help:
- Ask a question on Stack Overflow and tag it with terraform-spotinst.
- Join our Spot community on Slack.
- Open an issue.
Please see the contribution guidelines.
Code is licensed under the Apache License 2.0.