{"id":13824979,"url":"https://github.com/seanknox/aztack","last_synced_at":"2025-09-13T05:41:08.811Z","repository":{"id":72143248,"uuid":"126659909","full_name":"seanknox/aztack","owner":"seanknox","description":" Terraform module for creating Kubernetes clusters running on Azure","archived":false,"fork":false,"pushed_at":"2020-09-02T19:49:07.000Z","size":286,"stargazers_count":68,"open_issues_count":1,"forks_count":7,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-08-22T07:45:06.651Z","etag":null,"topics":["azure","docker","infrastructure-as-code","kubernetes","packer","terraform"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/seanknox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-03-25T03:06:09.000Z","updated_at":"2023-12-04T16:34:52.000Z","dependencies_parsed_at":"2023-06-29T20:45:06.295Z","dependency_job_id":null,"html_url":"https://github.com/seanknox/aztack","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/seanknox/aztack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seanknox%2Faztack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seanknox%2Faztack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seanknox%2Faztack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seanknox%2Faztack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seanknox","download_url":"https://codeload.github.com/seanknox/aztack/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seanknox%2Faztack/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274921251,"owners_count":25374231,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-13T02:00:10.085Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure","docker","infrastructure-as-code","kubernetes","packer","terraform"],"created_at":"2024-08-04T09:01:12.986Z","updated_at":"2025-09-13T05:41:08.764Z","avatar_url":"https://github.com/seanknox.png","language":"HCL","funding_links":[],"categories":["HCL"],"sub_categories":[],"readme":"# aztack\n\nProvision a Kubernetes cluster with [Packer](https://packer.io) and [Terraform](https://www.terraform.io) on Azure Resource Manager. Inspired by Kelsey Hightower's [kubestack](https://github.com/kelseyhightower/kubestack) and the [tack](https://github.com/kz8s/tack) project.\n\nCreates a Kubernetes cluster on Azure with\n\n- 3x Controllers\n- 3x etcd\n- 1x node (by default)\n\n**Software**|**Version**\n-----|-----\nUbuntu|16.04\ncri-containerd|1.0.0.0\ncontainerd|v1.0.0-6\nrunc|1.0.0-rc4+dev\netcd|v3.3.7\nKubernetes|v1.10.4\nCalico|v3.1.3\n\nMore details of the cluster specs can be found in [STATUS.md](STATUS.md)\n\n## Terraform\n\nTerraform is used to declare and provision a Kubernetes cluster. Terraform runs entirely in a Docker container. The following generates Azure credentials and other required configuration and builds infra on Terraform.\n\n```shell\n$ CLUSTER_NAME=\u003cNAME OF CLUSTER\u003e make build post-terraform\nterraform get\n- module.rg\n- module.vnet\n- module.dns\n- module.storage_account\n- module.image\n- module.load_balancer\n- module.bastion\nterraform init\nInitializing modules...\n- module.rg\n- module.vnet\n- module.dns\n- module.storage_account\n- module.image\n- module.load_balancer\n- module.bastion\n\nInitializing provider plugins...\n```\n\n### Resize the number of worker nodes\n\nEdit `terraform/build/$(CLUSTER_NAME)/terraform.tfvars`. Set `node_count` to the desired value, e.g.\n\n```shell\nnode_count = 5\n```\n\nApply the changes:\n\n```shell\n$ CLUSTER_NAME=\u003cNAME OF CLUSTER\u003e make apply\n```\n\n```shell\nApply complete! Resources: 4 added, 0 changed, 0 destroyed.\n\nThe state of your infrastructure has been saved to the path\nbelow. This state is required to modify and destroy your\ninfrastructure, so keep it safe. To inspect the complete state\nuse the `terraform show` command.\n\nState path: terraform.tfstate\n\n```\n\n## Packer Images\n\nWe use Packer to create an immutable image based on a source image based on Ubuntu 16.04. A prebuilt image is already provided for you, but if you wish to build yourself or change the image:\n\n### Create resource group\n\nDuring the build process, Packer creates temporary Azure resources as it builds the source VM. To capture that source VM for use as an image, you must define a resource group. The output from the Packer build process is stored in this resource group.\n\n### Initialize settings\n\n```shell\n$ cd packer\n$ make init\n\nstorage name: aztack1528763526\n{\n  \"subscription_id\":  \"e766d9ee-d3d9-4b63-a912-8963dcfdf655\",\n  \"client_id\": \"...\",\n  \"client_secret\": \"...\",\n  \"tenant_id\":      \"72f988bf-86f1-41af-91ab-2d7cd011db47\",\n  \"resource_group_name\": \"ACStackImages\",\n  \"location\": \"West US 2\",\n  \"storage_account_name\": \"aztack1528763526\",\n  \"vm_size\": \"Standard_D2_v2\"\n}\n```\n\n### Build VHD image\n\n```shell\n$ make build\nBuild 'azure-arm' finished.\n\n==\u003e Builds finished. The artifacts of successful builds are:\n--\u003e azure-arm: Azure.ResourceManagement.VMImage:\n\nStorageAccountLocation: westus2\nOSDiskUri: https://aztack1528763526.blob.core.windows.net/system/Microsoft.Compute/Images/aztack-vhds/aztack-1528763664-osDisk.1f8be1f6-22ad-4b18-b3b3-3fe27dcfada0.vhd\nOSDiskUriReadOnlySas: https://aztack1528763526.blob.core.windows.net/system/Microsoft.Compute/Images/aztack-vhds/aztack-1528763664-osDisk.1f8be1f6-22ad-4b18-b3b3-3fe27dcfada0.vhd?se=2018-07-12T00%3A46%3A43Z\u0026sig=oSl%2BNkAEl%2FYEENeIy1Ckd9%2FgAqdAtV%2FktrdbHx3bXJ8%3D\u0026sp=r\u0026spr=https%2Chttp\u0026sr=b\u0026sv=2016-05-31\nTemplateUri: https://aztack1528763526.blob.core.windows.net/system/Microsoft.Compute/Images/aztack-vhds/aztack-1528763664-vmTemplate.1f8be1f6-22ad-4b18-b3b3-3fe27dcfada0.json\nTemplateUriReadOnlySas: https://aztack1528763526.blob.core.windows.net/system/Microsoft.Compute/Images/aztack-vhds/aztack-1528763664-vmTemplate.1f8be1f6-22ad-4b18-b3b3-3fe27dcfada0.json?se=2018-07-12T00%3A46%3A43Z\u0026sig=ctdIO2s0GvBA9cA7zt6OAjQU9OY4YuVKBZIpf%2BhK0%2Bg%3D\u0026sp=r\u0026spr=https%2Chttp\u0026sr=b\u0026sv=2016-05-31\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseanknox%2Faztack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseanknox%2Faztack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseanknox%2Faztack/lists"}