Skip to content

spotinst/terraform-ocean-kubernetes-controller

Repository files navigation

Spot Ocean Kubernetes Controller Terraform Module

A Terraform module to install the Ocean Controller on Kubernetes.

Usage

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
}

Examples

Inputs

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.55" 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
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

Providers

Name Version
helm >= 2.12.1

Requirements

Name Version
terraform >= 0.13.0
helm >= 2.12.1

Documentation

If you're new to Spot and want to get started, please checkout our Getting Started guide, available on the Spot Documentation website.

Getting Help

We use GitHub issues for tracking bugs and feature requests. Please use these community resources for getting help:

Community

Contributing

Please see the contribution guidelines.

License

Code is licensed under the Apache License 2.0.