{"id":21131003,"url":"https://github.com/workloads/packer-templates","last_synced_at":"2026-03-27T02:35:31.483Z","repository":{"id":44933330,"uuid":"349373272","full_name":"workloads/packer-templates","owner":"workloads","description":"Packer Templates for commonly used Providers","archived":false,"fork":false,"pushed_at":"2024-07-29T10:27:44.000Z","size":380,"stargazers_count":19,"open_issues_count":6,"forks_count":3,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-11-10T02:31:00.569Z","etag":null,"topics":["aws","azure","digital-ocean","google-cloud","packer"],"latest_commit_sha":null,"homepage":"https://app.terraform.io/app/workloads/workspaces/packer-images","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/workloads.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-03-19T09:48:30.000Z","updated_at":"2025-11-04T23:29:41.000Z","dependencies_parsed_at":"2024-05-13T20:26:36.078Z","dependency_job_id":"1bf90b48-23ad-4609-972e-d641a878e53a","html_url":"https://github.com/workloads/packer-templates","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/workloads/packer-templates","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workloads%2Fpacker-templates","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workloads%2Fpacker-templates/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workloads%2Fpacker-templates/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workloads%2Fpacker-templates/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/workloads","download_url":"https://codeload.github.com/workloads/packer-templates/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workloads%2Fpacker-templates/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31010621,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-27T02:33:22.146Z","status":"ssl_error","status_checked_at":"2026-03-27T02:33:21.763Z","response_time":164,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["aws","azure","digital-ocean","google-cloud","packer"],"created_at":"2024-11-20T05:43:03.299Z","updated_at":"2026-03-27T02:35:31.444Z","avatar_url":"https://github.com/workloads.png","language":"HCL","readme":"# Packer Templates: HashiCorp Products\n\n\u003e Packer Templates for HashiCorp products for multiple (Cloud) Platforms\n\n## Table of Contents\n\n- [Packer Templates: HashiCorp Products](#packer-templates-hashicorp-products)\n  - [Table of Contents](#table-of-contents)\n  - [Requirements](#requirements)\n  - [Usage](#usage)\n    - [Helpers](#helpers)\n    - [Workflow](#workflow)\n    - [Build Options](#build-options)\n    - [Supported Providers](#supported-providers)\n  - [Notes](#notes)\n  - [Author Information](#author-information)\n  - [License](#license)\n\n## Requirements\n\n- Packer `1.7.8` or newer\n- Terraform `1.1.3` or newer\n- Ansible `2.12.1` or newer\n- direnv `2.30.3` or newer\n\nAnsible is used for system-level operations (e.g.: installing and removing packages).\n\nTerraform is used as a helper, only. It is possible (though not advised) to manually create the resources needed.\n\nDirenv is used as a helper to programmatically load environment variables.\n\n## Usage\n\nThis repository contains Packer templates for multiple providers.\n\nThe primary way of interacting with this repository is `make` via the included [Makefile](Makefile).\n\nThis allows for a consistent execution of the underlying workflows.\n\nThe currently supported options are:\n\n```text\nPACKER TEMPLATES\n\nhelp               Displays this help text\nenv-info           Prints Version Information\nbuild              Builds an Image with Packer\ninit               Installs and upgrades Packer Plugins\nlint               Formats and validates Packer Template\nterraform-plan     Plans prerequisite resources with Terraform\nterraform-apply    Creates prerequisite resources with Terraform\nterraform-destroy  Destroys prerequisite resources with Terraform\nterraform-init     Initializes Terraform\n```\n\n### Helpers\n\nThe [Makefile](Makefile) includes several unsupported helper targets that _may_ be useful when developing in this repository.\n\n| target                  | description                                            |\n|-------------------------|--------------------------------------------------------|\n| `_clean`                | (Forcefully) Removes the `generated` directory         |\n| `_gen`                  | Opens the `generated` directory (macOS only)           |\n| `_install_ansible_reqs` | Fetch and Install Ansible Galaxy Collections and Roles |\n| `_lint_ansible`         | Lints Ansible Playbooks using `ansible-lint`           |\n| `_lint_yaml`            | Lints YAML files using `yamllint`                      |\n| `_lint`                 | Executes `_lint_yaml`, followed by `_lint_ansible`     |\n| `_ssh`                  | Executes `vagrant ssh`                                 |\n| `_up`                   | Executes `vagrant up`                                  |\n| `_vb`                   | Opens \"VirtualBox.app\" (macOS only)                    |\n\nUnsupported targets are prefixed by an underscore (`_`).\n\n### Workflow\n\nThe workflow for (most) targets is as follows:\n\n- log in to provider's CLI interface\n- create prerequisite resources\n  - initialize Terraform (using `make terraform-init target=target`)\n  - create Terraform-managed resources (using `make terraform-apply target=target`)\n- create image(s)\n  - initialize Packer (using `make init target=target`)\n  - build Packer-managed image(s) (using `make build target=target`)\n- optionally: delete prerequisite resources\n  - delete Terraform-managed resources (using `make terraform-destroy target=target`)\n\nUsage differs slightly for each provider and is therefore broken out into separate sections.\n\nSee the `packer/` (and `terraform/`) sub-directories for more information.\n\n\u003e All workflows _can_ be executed manually, though this is not advisable. See the [Makefile](Makefile) for more information.\n\n### Build Options\n\nThe following generic build options are available:\n\n#### `debug`\n\nDisables parallelization and enables debug mode.\nSee [here](https://www.packer.io/docs/commands/build#debug) for more information.\n\n### `enable-envconsul`\n\nEnables transparent support for [envconsul](https://github.com/hashicorp/envconsul).\nSee [here](#envconsul) for more information.\n\n#### `enable-inspec`\n\nEnable the InSpec Provisioner and image validation against included baselines.\nSee [here](https://www.packer.io/docs/provisioners/inspec) for more information.\n\n#### `except`\n\nRun all builds, provisioners and post-processors except those with the given comma-separated names.\nSee [here](https://www.packer.io/docs/commands/build#except-foo-bar-baz) for more information.\n\n#### `force`\n\nForces a builder to run when artifacts from a previous build prevent a build from running.\nSee [here](https://www.packer.io/docs/commands/build#force) for more information.\n\n#### `machine-readable`\n\nEnable a fully machine-readable output setting, allowing you to use Packer in automated environments.\nSee [here](https://www.packer.io/docs/commands#machine-readable-output) for more information.\n\n#### `only`\n\nOnly run the builds with the given comma-separated names.\nSee [here](https://www.packer.io/docs/commands/build#only-foo-bar-baz) for more information.\n\n#### `on-error`\n\nSelects what to do when the build fails during provisioning.\nSee [here](https://www.packer.io/docs/commands/build#on-error-cleanup) for more information.\n\n#### `parallel-builds`\n\nLimit the number of builds to run in parallel.\nSee [here](https://www.packer.io/docs/commands/build#parallel-builds-n) for more information.\n\n#### `timestamp-ui`\n\nEnable prefixing of each ui output with an RFC3339 timestamp.\nSee [here](https://www.packer.io/docs/commands/build#timestamp-ui) for more information.\n\n#### `var-file`\n\nSet template variables from a file.\nSee [here](https://www.packer.io/docs/commands/build#var-file) for more information.\n\nAdditional Build Options may be available, depending on the target.\n\n### Supported Providers\n\nThis repository supports the following providers:\n\n| target    | local documentation                                  | Packer Builder  | Terraform Provider |\n|-----------|------------------------------------------------------|-----------------|--------------------|\n| `aws`     | [packer/aws/README.md](packer/aws/README.md)         | `amazon-ebs`    | n/a                |\n| `azure`   | [packer/azure/README.md](packer/azure/README.md)     | `azure-arm`     | `azurerm`          |\n| `google`  | [packer/google/README.md](packer/google/README.md)   | `googlecompute` | `google`           |\n| `vagrant` | [packer/vagrant/README.md](packer/vagrant/README.md) | `vagrant`       | n/a                |\n\n## Notes\n\nThis repository takes input and inspiration from a handful of community projects.\n\nThe authors would like to thank the following parties for their inspiration and contributions:\n\n* [@ansible-community](https://github.com/ansible-community?q=hashicorp)\n* [Mark Lewis](https://github.com/ml4/base)\n* [Mike Nomitch](https://github.com/glenngillen/nomatic-stack)\n\n### envconsul\n\nTo dynamically retrieve environment variables such as provider authentication credentials and region information, [envconsul](https://github.com/hashicorp/envconsul) may be used.\n\nEnvconsul expects configuration to be available at [./envconsul.hcl](./envconsul.hcl) and is configured with sane defaults.\n\nTo provide connection information and credentials to (HCP) Consul and (HCP) Vault, [direnv](https://direnv.net) may be used. See [./.envrc.sample](./.envrc.sample) for a sample configuration.\n\n## Author Information\n\nThis repository is maintained by the contributors listed on [GitHub](https://github.com/operatehappy/packer-hashicorp/graphs/contributors).\n\n## License\n\nLicensed under the Apache License, Version 2.0 (the \"License\").\n\nYou may obtain a copy of the License at [apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0).\n\nUnless required by applicable law or agreed to in writing, software distributed under the License is distributed on an _\"AS IS\"_ basis, without WARRANTIES or conditions of any kind, either express or implied.\n\nSee the License for the specific language governing permissions and limitations under the License.\n\n\u003c!-- BEGIN_TF_DOCS --\u003e\n### Inputs\n\nNo inputs.\n\n### Outputs\n\nNo outputs.\n\u003c!-- END_TF_DOCS --\u003e","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fworkloads%2Fpacker-templates","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fworkloads%2Fpacker-templates","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fworkloads%2Fpacker-templates/lists"}