diff --git a/README.md b/README.md index 4f2418b8..022b308c 100644 --- a/README.md +++ b/README.md @@ -127,12 +127,11 @@ Users can update the EKS cluster version to the latest version offered by AWS. T Upgrades must be executed in step-wise fashion from one version to the next. You cannot skip versions when upgrading EKS. - ## Requirements | Name | Version | |------|---------| -| [terraform](#requirement\_terraform) | ~> 1.0 | +| [terraform](#requirement\_terraform) | ~> 1.9 | | [aws](#requirement\_aws) | ~> 4.0 | | [kubernetes](#requirement\_kubernetes) | ~> 2.23 | @@ -140,7 +139,7 @@ Upgrades must be executed in step-wise fashion from one version to the next. You | Name | Version | |------|---------| -| [aws](#provider\_aws) | 4.67.0 | +| [aws](#provider\_aws) | ~> 4.0 | ## Modules @@ -157,7 +156,7 @@ Upgrades must be executed in step-wise fashion from one version to the next. You | [private\_link](#module\_private\_link) | ./modules/private_link | n/a | | [redis](#module\_redis) | ./modules/redis | n/a | | [s3\_endpoint](#module\_s3\_endpoint) | ./modules/endpoint | n/a | -| [wandb](#module\_wandb) | wandb/wandb/helm | 1.2.0 | +| [wandb](#module\_wandb) | wandb/wandb/helm | 2.0.0 | ## Resources @@ -175,7 +174,6 @@ Upgrades must be executed in step-wise fashion from one version to the next. You | [allowed\_inbound\_cidr](#input\_allowed\_inbound\_cidr) | CIDRs allowed to access wandb-server. | `list(string)` | n/a | yes | | [allowed\_inbound\_ipv6\_cidr](#input\_allowed\_inbound\_ipv6\_cidr) | CIDRs allowed to access wandb-server. | `list(string)` | n/a | yes | | [allowed\_private\_endpoint\_cidr](#input\_allowed\_private\_endpoint\_cidr) | Private CIDRs allowed to access wandb-server. | `list(string)` | `[]` | no | -| [app\_wandb\_env](#input\_app\_wandb\_env) | Extra environment variables for W&B | `map(string)` | `{}` | no | | [aws\_loadbalancer\_controller\_tags](#input\_aws\_loadbalancer\_controller\_tags) | (Optional) A map of AWS tags to apply to all resources managed by the load balancer controller | `map(string)` | `{}` | no | | [bucket\_kms\_key\_arn](#input\_bucket\_kms\_key\_arn) | n/a | `string` | `""` | no | | [bucket\_name](#input\_bucket\_name) | n/a | `string` | `""` | no | @@ -186,10 +184,8 @@ Upgrades must be executed in step-wise fashion from one version to the next. You | [create\_elasticache](#input\_create\_elasticache) | Boolean indicating whether to provision an elasticache instance (true) or not (false). | `bool` | `true` | no | | [create\_vpc](#input\_create\_vpc) | Boolean indicating whether to deploy a VPC (true) or not (false). | `bool` | `true` | no | | [custom\_domain\_filter](#input\_custom\_domain\_filter) | A custom domain filter to be used by external-dns instead of the default FQDN. If not set, the local FQDN is used. | `string` | `null` | no | -| [database\_binlog\_format](#input\_database\_binlog\_format) | Specifies the binlog\_format value to set for the database | `string` | `"ROW"` | no | | [database\_engine\_version](#input\_database\_engine\_version) | Version for MySQL Aurora | `string` | `"8.0.mysql_aurora.3.07.1"` | no | -| [database\_innodb\_lru\_scan\_depth](#input\_database\_innodb\_lru\_scan\_depth) | Specifies the innodb\_lru\_scan\_depth value to set for the database | `number` | `128` | no | -| [database\_instance\_class](#input\_database\_instance\_class) | Instance type to use by database master instance. | `string` | `"db.r5.large"` | no | +| [database\_instance\_class](#input\_database\_instance\_class) | Instance type to use by database master instance. Defaults to null and value from deployment-size.tf is used | `string` | `null` | no | | [database\_kms\_key\_arn](#input\_database\_kms\_key\_arn) | n/a | `string` | `""` | no | | [database\_master\_username](#input\_database\_master\_username) | Specifies the master\_username value to set for the database | `string` | `"wandb"` | no | | [database\_name](#input\_database\_name) | Specifies the name of the database | `string` | `"wandb_local"` | no | @@ -198,10 +194,16 @@ Upgrades must be executed in step-wise fashion from one version to the next. You | [database\_sort\_buffer\_size](#input\_database\_sort\_buffer\_size) | Specifies the sort\_buffer\_size value to set for the database | `number` | `67108864` | no | | [deletion\_protection](#input\_deletion\_protection) | If the instance should have deletion protection enabled. The database / S3 can't be deleted when this value is set to `true`. | `bool` | `true` | no | | [domain\_name](#input\_domain\_name) | Domain for accessing the Weights & Biases UI. | `string` | n/a | yes | +| [eks\_addon\_coredns\_version](#input\_eks\_addon\_coredns\_version) | The version of the CoreDNS addon to install. Check the docs for more information about the compatibility https://docs.aws.amazon.com/eks/latest/userguide/vpc-add-on-update.html. | `string` | `"v1.11.3-eksbuild.1"` | no | +| [eks\_addon\_ebs\_csi\_driver\_version](#input\_eks\_addon\_ebs\_csi\_driver\_version) | The version of the EBS CSI driver to install. Check the docs for more information about the compatibility https://docs.aws.amazon.com/eks/latest/userguide/vpc-add-on-update.html. | `string` | `"v1.35.0-eksbuild.1"` | no | +| [eks\_addon\_efs\_csi\_driver\_version](#input\_eks\_addon\_efs\_csi\_driver\_version) | The version of the EFS CSI driver to install. Check the docs for more information about the compatibility https://docs.aws.amazon.com/eks/latest/userguide/vpc-add-on-update.html. | `string` | `"v2.0.7-eksbuild.1"` | no | +| [eks\_addon\_kube\_proxy\_version](#input\_eks\_addon\_kube\_proxy\_version) | The version of the kube-proxy addon to install. Check the docs for more information about the compatibility https://docs.aws.amazon.com/eks/latest/userguide/vpc-add-on-update.html. | `string` | `"v1.29.7-eksbuild.9"` | no | +| [eks\_addon\_vpc\_cni\_version](#input\_eks\_addon\_vpc\_cni\_version) | The version of the VPC CNI addon to install. Check the docs for more information about the compatibility https://docs.aws.amazon.com/eks/latest/userguide/vpc-add-on-update.html.s | `string` | `"v1.18.3-eksbuild.3"` | no | | [eks\_cluster\_version](#input\_eks\_cluster\_version) | EKS cluster kubernetes version | `string` | n/a | yes | | [eks\_policy\_arns](#input\_eks\_policy\_arns) | Additional IAM policy to apply to the EKS cluster | `list(string)` | `[]` | no | -| [elasticache\_node\_type](#input\_elasticache\_node\_type) | The type of the redis cache node to deploy | `string` | `"cache.t2.medium"` | no | +| [elasticache\_node\_type](#input\_elasticache\_node\_type) | The type of the redis cache node to deploy. Defaults to null and value from deployment-size.tf is used | `string` | `null` | no | | [enable\_clickhouse](#input\_enable\_clickhouse) | Provision clickhouse resources | `bool` | `false` | no | +| [enable\_helm\_release](#input\_enable\_helm\_release) | Enable or disable applying and releasing Helm chart | `bool` | `true` | no | | [enable\_yace](#input\_enable\_yace) | deploy yet another cloudwatch exporter to fetch aws resources metrics | `bool` | `true` | no | | [external\_dns](#input\_external\_dns) | Using external DNS. A `subdomain` must also be specified if this value is true. | `bool` | `false` | no | | [extra\_fqdn](#input\_extra\_fqdn) | Additional fqdn's must be in the same hosted zone as `domain_name`. | `list(string)` | `[]` | no | @@ -213,33 +215,33 @@ Upgrades must be executed in step-wise fashion from one version to the next. You | [kms\_key\_policy\_administrator\_arn](#input\_kms\_key\_policy\_administrator\_arn) | The principal that will be allowed to manage the kms key. | `string` | `""` | no | | [kubernetes\_alb\_internet\_facing](#input\_kubernetes\_alb\_internet\_facing) | Indicates whether or not the ALB controlled by the Amazon ALB ingress controller is internet-facing or internal. | `bool` | `true` | no | | [kubernetes\_alb\_subnets](#input\_kubernetes\_alb\_subnets) | List of subnet ID's the ALB will use for ingress traffic. | `list(string)` | `[]` | no | -| [kubernetes\_instance\_types](#input\_kubernetes\_instance\_types) | EC2 Instance type for primary node group. | `list(string)` |
[
"m5.large"
]
| no | +| [kubernetes\_cluster\_oidc\_issuer\_url](#input\_kubernetes\_cluster\_oidc\_issuer\_url) | OIDC issuer URL for the Kubernetes cluster. Can be determined using `kubectl get --raw /.well-known/openid-configuration` | `string` | `""` | no | +| [kubernetes\_instance\_types](#input\_kubernetes\_instance\_types) | EC2 Instance type for primary node group. Defaults to null and value from deployment-size.tf is used | `list(string)` | `null` | no | | [kubernetes\_map\_accounts](#input\_kubernetes\_map\_accounts) | Additional AWS account numbers to add to the aws-auth configmap. | `list(string)` | `[]` | no | -| [kubernetes\_map\_roles](#input\_kubernetes\_map\_roles) | Additional IAM roles to add to the aws-auth configmap. |
list(object({
rolearn = string
username = string
groups = list(string)
}))
| `[]` | no | -| [kubernetes\_map\_users](#input\_kubernetes\_map\_users) | Additional IAM users to add to the aws-auth configmap. |
list(object({
userarn = string
username = string
groups = list(string)
}))
| `[]` | no | -| [kubernetes\_node\_count](#input\_kubernetes\_node\_count) | Number of nodes | `number` | `2` | no | +| [kubernetes\_map\_roles](#input\_kubernetes\_map\_roles) | Additional IAM roles to add to the aws-auth configmap. |
list(object({
rolearn = string
username = string
groups = list(string)
}))
| `[]` | no | +| [kubernetes\_map\_users](#input\_kubernetes\_map\_users) | Additional IAM users to add to the aws-auth configmap. |
list(object({
userarn = string
username = string
groups = list(string)
}))
| `[]` | no | +| [kubernetes\_max\_nodes\_per\_az](#input\_kubernetes\_max\_nodes\_per\_az) | Maximum number of nodes for the EKS cluster. Defaults to null and value from deployment-size.tf is used | `number` | `null` | no | +| [kubernetes\_min\_nodes\_per\_az](#input\_kubernetes\_min\_nodes\_per\_az) | Minimum number of nodes for the EKS cluster. Defaults to null and value from deployment-size.tf is used | `number` | `null` | no | | [kubernetes\_public\_access](#input\_kubernetes\_public\_access) | Indicates whether or not the Amazon EKS public API server endpoint is enabled. | `bool` | `false` | no | | [kubernetes\_public\_access\_cidrs](#input\_kubernetes\_public\_access\_cidrs) | List of CIDR blocks which can access the Amazon EKS public API server endpoint. | `list(string)` | `[]` | no | | [license](#input\_license) | Weights & Biases license key. | `string` | n/a | yes | | [namespace](#input\_namespace) | String used for prefix resources. | `string` | n/a | yes | | [network\_cidr](#input\_network\_cidr) | CIDR block for VPC. | `string` | `"10.10.0.0/16"` | no | -| [network\_database\_subnet\_cidrs](#input\_network\_database\_subnet\_cidrs) | List of private subnet CIDR ranges to create in VPC. | `list(string)` |
[
"10.10.20.0/24",
"10.10.21.0/24"
]
| no | +| [network\_database\_subnet\_cidrs](#input\_network\_database\_subnet\_cidrs) | List of private subnet CIDR ranges to create in VPC. | `list(string)` |
[
"10.10.20.0/24",
"10.10.21.0/24"
]
| no | | [network\_database\_subnets](#input\_network\_database\_subnets) | A list of the identities of the database subnetworks in which resources will be deployed. | `list(string)` | `[]` | no | -| [network\_elasticache\_subnet\_cidrs](#input\_network\_elasticache\_subnet\_cidrs) | List of private subnet CIDR ranges to create in VPC. | `list(string)` |
[
"10.10.30.0/24",
"10.10.31.0/24"
]
| no | +| [network\_elasticache\_subnet\_cidrs](#input\_network\_elasticache\_subnet\_cidrs) | List of private subnet CIDR ranges to create in VPC. | `list(string)` |
[
"10.10.30.0/24",
"10.10.31.0/24"
]
| no | | [network\_elasticache\_subnets](#input\_network\_elasticache\_subnets) | A list of the identities of the subnetworks in which elasticache resources will be deployed. | `list(string)` | `[]` | no | | [network\_id](#input\_network\_id) | The identity of the VPC in which resources will be deployed. | `string` | `""` | no | -| [network\_private\_subnet\_cidrs](#input\_network\_private\_subnet\_cidrs) | List of private subnet CIDR ranges to create in VPC. | `list(string)` |
[
"10.10.10.0/24",
"10.10.11.0/24"
]
| no | +| [network\_private\_subnet\_cidrs](#input\_network\_private\_subnet\_cidrs) | List of private subnet CIDR ranges to create in VPC. | `list(string)` |
[
"10.10.10.0/24",
"10.10.11.0/24"
]
| no | | [network\_private\_subnets](#input\_network\_private\_subnets) | A list of the identities of the private subnetworks in which resources will be deployed. | `list(string)` | `[]` | no | -| [network\_public\_subnet\_cidrs](#input\_network\_public\_subnet\_cidrs) | List of private subnet CIDR ranges to create in VPC. | `list(string)` |
[
"10.10.0.0/24",
"10.10.1.0/24"
]
| no | -| [network\_public\_subnets](#input\_network\_public\_subnets) | A list of the identities of the public subnetworks in which resources will be deployed. | `list(string)` | `[]` | no | +| [network\_public\_subnet\_cidrs](#input\_network\_public\_subnet\_cidrs) | List of private subnet CIDR ranges to create in VPC. | `list(string)` |
[
"10.10.0.0/24",
"10.10.1.0/24"
]
| no | | [operator\_chart\_version](#input\_operator\_chart\_version) | Version of the operator chart to deploy | `string` | `"1.3.4"` | no | | [other\_wandb\_env](#input\_other\_wandb\_env) | Extra environment variables for W&B | `map(any)` | `{}` | no | | [parquet\_wandb\_env](#input\_parquet\_wandb\_env) | Extra environment variables for W&B | `map(string)` | `{}` | no | | [private\_link\_allowed\_account\_ids](#input\_private\_link\_allowed\_account\_ids) | List of AWS account IDs allowed to access the VPC Endpoint Service | `list(string)` | `[]` | no | | [private\_only\_traffic](#input\_private\_only\_traffic) | Enable private only traffic from customer private network | `bool` | `false` | no | | [public\_access](#input\_public\_access) | Is this instance accessable a public domain. | `bool` | `false` | no | -| [size](#input\_size) | Deployment size | `string` | `null` | no | -| [ssl\_policy](#input\_ssl\_policy) | SSL policy to use on ALB listener | `string` | `"ELBSecurityPolicy-FS-1-2-Res-2020-10"` | no | +| [size](#input\_size) | Deployment size for the instance | `string` | `"small"` | no | | [subdomain](#input\_subdomain) | Subdomain for accessing the Weights & Biases UI. Default creates record at Route53 Route. | `string` | `null` | no | | [system\_reserved\_cpu\_millicores](#input\_system\_reserved\_cpu\_millicores) | (Optional) The amount of 'system-reserved' CPU millicores to pass to the kubelet. For example: 100. A value of -1 disables the flag. | `number` | `70` | no | | [system\_reserved\_ephemeral\_megabytes](#input\_system\_reserved\_ephemeral\_megabytes) | (Optional) The amount of 'system-reserved' ephemeral storage in megabytes to pass to the kubelet. For example: 1000. A value of -1 disables the flag. | `number` | `750` | no | @@ -258,13 +260,14 @@ Upgrades must be executed in step-wise fashion from one version to the next. You | [bucket\_path](#output\_bucket\_path) | n/a | | [bucket\_queue\_name](#output\_bucket\_queue\_name) | n/a | | [bucket\_region](#output\_bucket\_region) | n/a | -| [cluster\_id](#output\_cluster\_id) | n/a | +| [cluster\_name](#output\_cluster\_name) | n/a | | [cluster\_node\_role](#output\_cluster\_node\_role) | n/a | | [database\_connection\_string](#output\_database\_connection\_string) | n/a | | [database\_instance\_type](#output\_database\_instance\_type) | n/a | | [database\_password](#output\_database\_password) | n/a | | [database\_username](#output\_database\_username) | n/a | -| [eks\_node\_count](#output\_eks\_node\_count) | n/a | +| [eks\_max\_nodes\_per\_az](#output\_eks\_max\_nodes\_per\_az) | n/a | +| [eks\_min\_nodes\_per\_az](#output\_eks\_min\_nodes\_per\_az) | n/a | | [eks\_node\_instance\_type](#output\_eks\_node\_instance\_type) | n/a | | [elasticache\_connection\_string](#output\_elasticache\_connection\_string) | n/a | | [kms\_clickhouse\_key\_arn](#output\_kms\_clickhouse\_key\_arn) | The Amazon Resource Name of the KMS key used to encrypt Weave data at rest in Clickhouse. | @@ -275,7 +278,6 @@ Upgrades must be executed in step-wise fashion from one version to the next. You | [redis\_instance\_type](#output\_redis\_instance\_type) | n/a | | [standardized\_size](#output\_standardized\_size) | n/a | | [url](#output\_url) | The URL to the W&B application | - ## Migrations