{"id":24233470,"url":"https://github.com/memes/google-multi-nic-scaling","last_synced_at":"2025-06-12T05:08:04.961Z","repository":{"id":56201042,"uuid":"269520786","full_name":"memes/google-multi-nic-scaling","owner":"memes","description":"Demonstrate MIG and autoscaling for GCE images with multiple NICs","archived":false,"fork":false,"pushed_at":"2020-11-20T20:46:30.000Z","size":25,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-04T13:29:01.326Z","etag":null,"topics":["autoscaling","gcp","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/memes.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}},"created_at":"2020-06-05T03:19:57.000Z","updated_at":"2023-04-24T23:42:10.000Z","dependencies_parsed_at":"2022-08-15T14:31:42.642Z","dependency_job_id":null,"html_url":"https://github.com/memes/google-multi-nic-scaling","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/memes/google-multi-nic-scaling","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/memes%2Fgoogle-multi-nic-scaling","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/memes%2Fgoogle-multi-nic-scaling/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/memes%2Fgoogle-multi-nic-scaling/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/memes%2Fgoogle-multi-nic-scaling/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/memes","download_url":"https://codeload.github.com/memes/google-multi-nic-scaling/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/memes%2Fgoogle-multi-nic-scaling/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259402144,"owners_count":22851877,"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","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":["autoscaling","gcp","terraform"],"created_at":"2025-01-14T16:01:17.693Z","updated_at":"2025-06-12T05:08:04.922Z","avatar_url":"https://github.com/memes.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Multi-nic\n\n![pre-commit](https://github.com/memes/f5-google-automation-factory/workflows/pre-commit/badge.svg)\n\nExample showing scaling/MIG with multi-nic instances.\n\n\u003c!-- markdownlint-disable no-inline-html --\u003e\n\u003c!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n## Requirements\n\n| Name | Version |\n|------|---------|\n| terraform | ~\u003e 0.12 |\n| google | ~\u003e 3.24 |\n| google | ~\u003e 3.24 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| google | ~\u003e 3.24 ~\u003e 3.24 |\n| google.executor | ~\u003e 3.24 ~\u003e 3.24 |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| auto\\_healing\\_initial\\_delay\\_sec | The initial delay in seconds before taking any auto healing actions. Default is\u003cbr\u003e60. | `number` | `60` | no |\n| autoscaling\\_cooldown\\_period | The number of seconds to use for autoscaling cooldown, default to 60s. | `number` | `60` | no |\n| autoscaling\\_max\\_replicas | The maximum number of autoscaling instances in the Regional MIG. Default value is 5. | `number` | `5` | no |\n| autoscaling\\_metric\\_name | The fully-qualified metric to use for autoscaling.\u003cbr\u003eE.g. custom.googleapis.com/my-metric | `string` | n/a | yes |\n| autoscaling\\_metric\\_target | The amount of work to assign to a single instance; this will be compared to the\u003cbr\u003emetric value and the number of instances will change to keep the work per instance\u003cbr\u003eto below or equal to this value. | `number` | `3` | no |\n| autoscaling\\_metric\\_type | The type of the target metric; must be one of 'GAUGE', 'DELTA\\_PER\\_SECOND', or\u003cbr\u003e'DELTA\\_PER\\_MINUTE'. Default is 'GAUGE'. | `string` | `\"GAUGE\"` | no |\n| autoscaling\\_min\\_replicas | The minimum number of autoscaling instances in the Regional MIG. Default value is 5. | `number` | `1` | no |\n| disk\\_size\\_gb | The boot disk size, in Gb. Default is 10. | `number` | `10` | no |\n| disk\\_type | The disk type to use for webapp VMs. Default is 'pd-standard'. | `string` | `\"pd-standard\"` | no |\n| enable\\_os\\_login | Set to true to enable OS Login on the VMs. Default value is true.\u003cbr\u003eNOTE: this value will override an 'enable-oslogin' key in `metadata` map. | `bool` | `true` | no |\n| labels | An optional map of label pairs to apply to the VMs. | `map(string)` | `{}` | no |\n| machine\\_type | The machine type to use for webapps. Default is 'n1-standard-4' | `string` | `\"n1-standard-4\"` | no |\n| metadata | An optional map of metadata value that will be applied to the VMs. | `map(string)` | `{}` | no |\n| preemptible | Instructs the VM to be preemptible, default is false. | `bool` | `false` | no |\n| project\\_id | The existing project id that will be used for an F5 automation factory. | `string` | n/a | yes |\n| source\\_image | The source image to use for webapp VMs. Default is 'ubuntu-os-cloud/ubuntu-1804-lts'\u003cbr\u003eto use latest Ubuntu 18.04 LTS image at apply time. | `string` | `\"ubuntu-os-cloud/ubuntu-1804-lts\"` | no |\n| subnets | A list of subnetwork self-links to use with the instance. | `list(string)` | n/a | yes |\n| synthetic\\_metric\\_ceiling | The ceiling value that will be generated by synthetic metrics. Default is 5. | `number` | `5` | no |\n| synthetic\\_metric\\_floor | The floor value that will be generated by synthetic metrics. Default is 0. | `number` | `0` | no |\n| synthetic\\_metric\\_period | The period over which the synthetic metrics will perform a single wave cycle.\u003cbr\u003eDefault value is \"20m\". Must be a valid Go duration specifier. | `string` | `\"20m\"` | no |\n| synthetic\\_metric\\_sample\\_period | The interval between reporting synthetic metrics. Default value is \"60s\". Must\u003cbr\u003ebe a valid Go duration specifier. | `string` | `\"60s\"` | no |\n| synthetic\\_metric\\_shape | The shape of the synthetic metric to generate; can be one of 'sawtooth', 'sine',\u003cbr\u003e'square', or 'triangle' (default). | `string` | `\"triangle\"` | no |\n| tags | An optional list of network tags to apply to the VMs. | `list(string)` | `[]` | no |\n| tf\\_sa\\_email | The fully-qualified email address of the Terraform service account to use for\u003cbr\u003eproject creation. E.g.\u003cbr\u003etf\\_sa\\_email = \"org-terraform@[BOOTSTRAP\\_PROJECT].iam.gserviceaccount.com\" | `string` | n/a | yes |\n| tf\\_sa\\_token\\_lifetime\\_secs | The expiration duration for the service account token, in seconds. This value\u003cbr\u003eshould be high enough to prevent token timeout issues during resource creation,\u003cbr\u003ebut short enough that the token is useless replayed later. Default value is 1200. | `number` | `1200` | no |\n| update\\_policy\\_max\\_surge\\_fixed | The maximum number of instances that can be created beyond the scaling count\u003cbr\u003ebefore destroying old instances. Default value is 3.\u003cbr\u003e\u003cbr\u003eNOTE: the value may be higher if required by the deployed region. | `number` | `3` | no |\n| update\\_policy\\_max\\_unavailable\\_fixed | The maximum number of instances that can become unavailable during an update\u003cbr\u003eevent. Default value is 3.\u003cbr\u003e\u003cbr\u003eNOTE: the value may be higher if required by the deployed region. | `number` | `3` | no |\n| update\\_policy\\_min\\_ready\\_sec | The timeout duration after a update event before the health checking results are\u003cbr\u003econsidered. | `number` | `10` | no |\n| update\\_policy\\_minimal\\_action | The minimal update policy action that is permitted as part of an update; default\u003cbr\u003eis 'REPLACE' to support aggressive update. | `string` | `\"REPLACE\"` | no |\n| update\\_policy\\_type | The update policy type to assign to the managed instance group; default is\u003cbr\u003e'PROACTIVE' to support aggressive update. | `string` | `\"PROACTIVE\"` | no |\n\n## Outputs\n\nNo output.\n\n\u003c!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n\u003c!-- markdownlint-enable no-inline-html --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmemes%2Fgoogle-multi-nic-scaling","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmemes%2Fgoogle-multi-nic-scaling","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmemes%2Fgoogle-multi-nic-scaling/lists"}