Skip to content

Releases: anyscale/terraform-kubernetes-anyscale-foundation-modules

v0.6.9

27 Mar 19:19
b3e1428

Choose a tag to compare

📚 Documentation/Examples

Revert "Merge pull request #50 from alimaazamat/improve-terraform-outputs" @sys13 (#62)

Summary

  • Reverts PR #50 (alimaazamat/improve-terraform-outputs) which added extra outputs to examples/azure/aks-new_cluster/outputs.tf
  • Removes the 15 lines of outputs that were added in that PR

Test plan

  • Verify examples/azure/aks-new_cluster/outputs.tf no longer contains the outputs added in #50
  • Run terraform validate in examples/azure/aks-new_cluster/ to confirm no issues

Made with Cursor

v0.6.8

18 Mar 01:17
31d2d07

Choose a tag to compare

📚 Documentation/Examples

EKS node groups: unify subnet, security groups and allow all outbound traffic to itself @hongchaodeng (#60)

This is what looks like after apply:

Node Groups

All 3 node groups share the same subnets and same security groups.

┌──────────────┬────────────────────────┬───────────┬─────────────────┬──────────────────────────────────────────────────────┐
│  Node Group  │     Instance Types     │ Capacity  │ Min/Max/Desired │                        Taints                        │
├──────────────┼────────────────────────┼───────────┼─────────────────┼──────────────────────────────────────────────────────┤
│ default      │ t3.medium              │ ON_DEMAND │ 1/10/2          │ none                                                 │
├──────────────┼────────────────────────┼───────────┼─────────────────┼──────────────────────────────────────────────────────┤
│ ondemand_cpu │ m5.8xlarge, m5.4xlarge │ ON_DEMAND │ 0/10/0          │ node.anyscale.com/capacity-type=ON_DEMAND:NoSchedule │
├──────────────┼────────────────────────┼───────────┼─────────────────┼──────────────────────────────────────────────────────┤
│ spot_cpu     │ m5.8xlarge, m5.4xlarge │ SPOT      │ 0/10/0          │ node.anyscale.com/capacity-type=SPOT:NoSchedule      │
└──────────────┴────────────────────────┴───────────┴─────────────────┴──────────────────────────────────────────────────────┘

---
Subnets (shared by all node groups)

┌─────────────────────┬───────────────────────────────────────────┬────────────────┬────────────┬───────────┐
│      Subnet ID      │                   Name                    │      CIDR      │     AZ     │ Public IP │
├─────────────────────┼───────────────────────────────────────────┼────────────────┼────────────┼───────────┤
│ subnet-<SUBNET_A>   │ example-cluster-private-us-west-1a        │ 172.24.20.0/24 │ us-west-1a │ No        │
├─────────────────────┼───────────────────────────────────────────┼────────────────┼────────────┼───────────┤
│ subnet-<SUBNET_B>   │ example-cluster-private-us-west-1b        │ 172.24.21.0/24 │ us-west-1b │ No        │
└─────────────────────┴───────────────────────────────────────────┴────────────────┴────────────┴───────────┘

---
Security Groups

1. Node SG — sg-<NODE_SG> (example-node-sg)

EKS node shared security group, attached to all node groups.

Ingress:

┌──────────────────────────────┬──────────┬────────────┬────────────────────────────────────┐
│            Source            │ Protocol │   Ports    │            Description             │
├──────────────────────────────┼──────────┼────────────┼────────────────────────────────────┤
│ Self (node SG)               │ All      │ All        │ Node to node ingress - all traffic │
├──────────────────────────────┼──────────┼────────────┼────────────────────────────────────┤
│ Self (node SG)               │ TCP      │ 53         │ Node to node CoreDNS               │
├──────────────────────────────┼──────────┼────────────┼────────────────────────────────────┤
│ Self (node SG)               │ UDP      │ 53         │ Node to node CoreDNS UDP           │
├──────────────────────────────┼──────────┼────────────┼────────────────────────────────────┤
│ Self (node SG)               │ TCP      │ 1025-65535 │ Node to node ephemeral ports       │
├──────────────────────────────┼──────────┼────────────┼────────────────────────────────────┤
│ Cluster SG (sg-<CLUSTER_SG>) │ TCP      │ 443        │ Cluster API to node groups         │
├──────────────────────────────┼──────────┼────────────┼────────────────────────────────────┤
│ Cluster SG                   │ TCP      │ 4443       │ Cluster API to node webhook        │
├──────────────────────────────┼──────────┼────────────┼────────────────────────────────────┤
│ Cluster SG                   │ TCP      │ 6443       │ Cluster API to node webhook        │
├──────────────────────────────┼──────────┼────────────┼────────────────────────────────────┤
│ Cluster SG                   │ TCP      │ 8443       │ Cluster API to node webhook        │
├──────────────────────────────┼──────────┼────────────┼────────────────────────────────────┤
│ Cluster SG                   │ TCP      │ 9443       │ Cluster API to node webhook        │
├──────────────────────────────┼──────────┼────────────┼────────────────────────────────────┤
│ Cluster SG                   │ TCP      │ 10250      │ Cluster API to node kubelets       │
└──────────────────────────────┴──────────┴────────────┴────────────────────────────────────┘

Egress:

┌────────────────┬──────────┬───────┬───────────────────────────────────┐
│  Destination   │ Protocol │ Ports │            Description            │
├────────────────┼──────────┼───────┼───────────────────────────────────┤
│ 0.0.0.0/0      │ All      │ All   │ Allow all egress                  │
├────────────────┼──────────┼───────┼───────────────────────────────────┤
│ Self (node SG) │ All      │ All   │ Node to node egress - all traffic │
└────────────────┴──────────┴───────┴───────────────────────────────────┘

2. Cluster SG — sg-<CLUSTER_SG> (example-cluster-sg)

Attached to the EKS control plane.

Ingress:

┌──────────────────────────┬──────────┬───────┬────────────────────────────┐
│          Source          │ Protocol │ Ports │        Description         │
├──────────────────────────┼──────────┼───────┼────────────────────────────┤
│ Node SG (sg-<NODE_SG>)   │ TCP      │ 443   │ Node groups to cluster API │
└──────────────────────────┴──────────┴───────┴────────────────────────────┘

Egress: None explicit.

3. EKS-managed Cluster SG — sg-<EKS_MANAGED_SG>

Auto-created by EKS, applied to control plane ENIs and managed workloads.

Ingress:

┌────────┬──────────┬───────┬──────────────────┐
│ Source │ Protocol │ Ports │   Description    │
├────────┼──────────┼───────┼──────────────────┤
│ Self   │ All      │ All   │ Self-referencing │
└────────┴──────────┴───────┴──────────────────┘

Egress:

┌─────────────┬──────────┬───────┬──────────────────┐
│ Destination │ Protocol │ Ports │   Description    │
├─────────────┼──────────┼───────┼──────────────────┤
│ 0.0.0.0/0   │ All      │ All   │ Allow all egress │

Pull request checklist

Please check if your PR fulfills the following requirements:

  • pre-commit has been run
  • Tests for the changes have been added (for bug fixes / features)
  • All tests passing
  • Docs have been reviewed and added / updated if needed (for bug fixes / features)

Pull Request Type

  • Bugfix
  • New feature
  • Refactoring (no functional changes)
  • Documentation change
  • Other (please describe):

Does this introduce a breaking change?

  • Yes
  • No

Other information

chore: more descriptive outputs for easier use in portal @alimaazamat (#50)

Pull request checklist

Please check if your PR fulfills the following requirements:

  • pre-commit has been run
  • Tests for the changes have been added (for bug fixes / features)
  • All tests passing
  • Docs have been reviewed and added / updated if needed (for bug fixes / features)

Pull Request Type

  • Bugfix
  • New feature
  • Refactoring (no functional changes)
  • Documentation change
  • Other (please describe):

Does this introduce a breaking change?

  • Yes
  • No

Other information

v0.6.7

11 Mar 15:56
d4d375e

Choose a tag to compare

📚 Documentation/Examples

fix: add var for azure provider auth @chrisfellowes-anyscale (#59)

Pull request checklist

Please check if your PR fulfills the following requirements:

  • pre-commit has been run
  • Tests for the changes have been added (for bug fixes / features)
  • All tests passing
  • Docs have been reviewed and added / updated if needed (for bug fixes / features)

Pull Request Type

  • Bugfix
  • New feature
  • Refactoring (no functional changes)
  • Documentation change
  • Other (please describe):

Does this introduce a breaking change?

  • Yes
  • No

add variable so users can configure whether the provider will use Shared Key or AzureAD for auth, this is required for some environments where SharedKey is disabled

Other information

v0.6.6

09 Mar 20:10
2624907

Choose a tag to compare

📚 Documentation/Examples

add claude skills to deploy eks/gke/aks @hongchaodeng (#58)
  • Add Claude Code skills (/deploy-aws-eks, /deploy-gcp-gke, /deploy-azure-aks) that provide interactive, step-by-step deployment guidance for each cloud provider's Kubernetes example
  • Update READMEs for all three examples (examples/aws/eks-public/, examples/gcp/gke-new_cluster/, examples/azure/aks-new_cluster/) with a Claude Code Guided Deployment section

Pull request checklist

Please check if your PR fulfills the following requirements:

  • pre-commit has been run
  • Tests for the changes have been added (for bug fixes / features)
  • All tests passing
  • Docs have been reviewed and added / updated if needed (for bug fixes / features)

Pull Request Type

  • Bugfix
  • New feature
  • Refactoring (no functional changes)
  • Documentation change
  • Other (please describe):

Does this introduce a breaking change?

  • Yes
  • No

Other information

v0.6.5

25 Feb 00:24
5d66501

Choose a tag to compare

📚 Documentation/Examples

make vm_sizes input vars @chrisfellowes-anyscale (#57)

Pull request checklist

Please check if your PR fulfills the following requirements:

  • pre-commit has been run
  • Tests for the changes have been added (for bug fixes / features)
  • All tests passing
  • Docs have been reviewed and added / updated if needed (for bug fixes / features)

Pull Request Type

  • Bugfix
  • New feature
  • Refactoring (no functional changes)
  • Documentation change
  • Other (please describe):

Does this introduce a breaking change?

  • Yes
  • [] No

If user had configured node_group_gpu_types to be non-default they will now need to edit gpu_pool_configs since the former has been removed.

if this value was left to default no change is required, t4 and a100 are provisioned by default

Other information

  • add validations on gpu pool inputs to prevent user errors

attempted to run with my cluster provisioned by this PR, and got no changes. I updated the input var file to go from

variable "node_group_gpu_types" {
  description = "GPU types to deploy"
  type        = list(string)
  default     = ["T4"]
}

to

variable "gpu_pool_configs" {
  description = "GPU pool configurations"
  type        = map(object({
    name = string
    vm_size = string
    product_name = string
    gpu_count = string
  }))
  default     = {
    T4 = {
      name = "gput4"
      vm_size = "Standard_NC16as_T4_v3"
      product_name = "NVIDIA-T4"
      gpu_count = "1"
    }
  }
}

v0.6.4

24 Feb 19:59
c799986

Choose a tag to compare

📚 Documentation/Examples

refactor + update azure module @chrisfellowes-anyscale (#56)

Pull request checklist

Please check if your PR fulfills the following requirements:

  • pre-commit has been run
  • Tests for the changes have been added (for bug fixes / features)
  • All tests passing
  • Docs have been reviewed and added / updated if needed (for bug fixes / features)

Pull Request Type

  • Bugfix
  • New feature
  • Refactoring (no functional changes)
  • Documentation change
  • Other (please describe):

Does this introduce a breaking change?

  • Yes
  • No

The module will now skip provisioning infrastructure required for the operator if enable_operator_infrastructure is set to false. By default this is currently set to true but may be changed in a future update. I have used moved blocks to allow for this to be backwards compatible

The module will also now add additional Azure spot annotations to spot node pools, which will trigger node pool restarts.

Other information

  • change hard-coded network CIDRs to be variables
  • add optional logic to provision NFS
  • add optional logic to provision blob-driver for AKS
  • make operator infrastructure optional and disabled by default, this is not required when using the Anyscale on Azure since the resource provider will use ARM templates to provision these
  • add azure spot taints to spot pools
  • add additional outputs, misc other small fixes

with enable_operator_infrastructure = false the new Azure ARM templates successfully provision the operator automatically
Screenshot 2026-02-19 at 5 01 54 PM

v0.6.3

09 Feb 23:21
7402d3e

Choose a tag to compare

📚 Documentation/Examples

update azure outputs (helm commands) and readme @hongchaodeng (#53)

Pull request checklist

Please check if your PR fulfills the following requirements:

  • pre-commit has been run
  • Tests for the changes have been added (for bug fixes / features)
  • All tests passing
  • Docs have been reviewed and added / updated if needed (for bug fixes / features)

Pull Request Type

  • Bugfix
  • New feature
  • Refactoring (no functional changes)
  • Documentation change
  • Other (please describe):

Does this introduce a breaking change?

  • Yes
  • No

Other information

v0.6.2

22 Jan 08:50
e6104f0

Choose a tag to compare

📚 Documentation/Examples

Add CORS to Azure bucket storage @brycehuang30 (#52)

Changes

This PR adds blob storage CORS config for Azure cloud, to codify the existing CORS + required CORS for enabling partial read from blob object (to support Optimized File Viewer).

S3 config is updated here: anyscale/terraform-aws-anyscale-cloudfoundation-modules#86
GCS config already has it; doesn't require update: https://github.com/anyscale/terraform-google-anyscale-cloudfoundation-modules/blob/main/modules/google-anyscale-cloudstorage/variables.tf#L233-L240

Test

$ terraform plan
...

      + blob_properties {
          + change_feed_enabled      = false
          + default_service_version  = (known after apply)
          + last_access_time_enabled = false
          + versioning_enabled       = false

          + cors_rule {
              + allowed_headers    = [
                  + "*",
                ]
              + allowed_methods    = [
                  + "GET",
                  + "POST",
                  + "PUT",
                  + "HEAD",
                  + "DELETE",
                ]
              + allowed_origins    = [
                  + "https://*.anyscale.com",
                ]
              + exposed_headers    = [
                  + "Accept-Ranges",
                  + "Content-Range",
                  + "Content-Length",
                ]
              + max_age_in_seconds = 0
            }
        }
...

Pull request checklist

Please check if your PR fulfills the following requirements:

  • pre-commit has been run
  • Tests for the changes have been added (for bug fixes / features)
  • All tests passing
  • Docs have been reviewed and added / updated if needed (for bug fixes / features)

Pull Request Type

  • Bugfix
  • New feature
  • Refactoring (no functional changes)
  • Documentation change
  • Other (please describe):

Does this introduce a breaking change?

  • Yes
  • No

Other information

v0.6.1

07 Jan 21:03
ae7d438

Choose a tag to compare

📚 Documentation/Examples

Added Azure on Variable.tf and Readme.MD for Terraform configuration @bobmital (#49)

Pull request checklist

Please check if your PR fulfills the following requirements:

  • pre-commit has been run
  • Tests for the changes have been added (for bug fixes / features)
  • All tests passing
  • Docs have been reviewed and added / updated if needed (for bug fixes / features)

Pull Request Type

  • Bugfix
  • New feature
  • Refactoring (no functional changes)
  • Documentation change
  • Other (please describe):

Does this introduce a breaking change?

  • Yes
  • No

Other information

v0.6.0

09 Dec 23:33
362c1ae

Choose a tag to compare

🚀 Enhancements

Update EKS examples to use new AMI and Variable for Disk Size @brent-anyscale (#48)

Pull request checklist

Please check if your PR fulfills the following requirements:

  • pre-commit has been run
  • Tests for the changes have been added (for bug fixes / features)
  • All tests passing
  • Docs have been reviewed and added / updated if needed (for bug fixes / features)

Pull Request Type

  • Bugfix
  • New feature
  • Refactoring (no functional changes)
  • Documentation change
  • Other (please describe):

Does this introduce a breaking change?

  • Yes
  • No

This will upgrade the node pool disk size and the AMI in use by GPU node pools. Terraform will replace existing node pools.

📚 Documentation/Examples

Update EKS examples to use new AMI and Variable for Disk Size @brent-anyscale (#48)

Pull request checklist

Please check if your PR fulfills the following requirements:

  • pre-commit has been run
  • Tests for the changes have been added (for bug fixes / features)
  • All tests passing
  • Docs have been reviewed and added / updated if needed (for bug fixes / features)

Pull Request Type

  • Bugfix
  • New feature
  • Refactoring (no functional changes)
  • Documentation change
  • Other (please describe):

Does this introduce a breaking change?

  • Yes
  • No

This will upgrade the node pool disk size and the AMI in use by GPU node pools. Terraform will replace existing node pools.