45 lines
2.0 KiB
Markdown
45 lines
2.0 KiB
Markdown
# packer-hcloud
|
|
|
|
[![Build Status](https://ci.rknet.org/api/badges/infra/packer-hcloud/status.svg)](https://ci.rknet.org/repos/infra/packer-hcloud)
|
|
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?label=license)](LICENSE)
|
|
|
|
This repository provides infrastructure-as-code examples to automate the creation of virtual machine images on Hetzner Cloud using [HashiCorp Packer](https://www.packer.io) and the [Packer Plugin for Hetzner Cloud](https://developer.hashicorp.com/packer/integrations/hetznercloud/hcloud). All examples are written in the HashiCorp Configuration Language `HCL2`.
|
|
|
|
This project is inspired by [jktr/hcloud-packer-templates](https://github.com/jktr/hcloud-packer-templates).
|
|
|
|
## Requirements
|
|
|
|
**Packer**:
|
|
|
|
- HashiCorp [Packer](https://developer.hashicorp.com/packer/tutorials/docker-get-started/get-started-install-cli)
|
|
- HashiCorp [Packer Plugin for Hetzner Cloud](https://developer.hashicorp.com/packer/integrations/hetznercloud/hcloud) (`hcloud`)
|
|
|
|
Required plugins are automatically downloaded during the `packer init` phase. These plugins are placed in the same directory as your Packer executable `/usr/local/bin` or `$HOME/.packer.d/plugins`.
|
|
|
|
## Configuration
|
|
|
|
### Download the release
|
|
|
|
Download the **latest** release.
|
|
|
|
### Configure the Variables
|
|
|
|
All available [variables](https://developer.hashicorp.com/packer/docs/templates/hcl_templates/variables) are defined in the `variables.pkr.hcl` files. They can be overwritten using environment variables or in the `server.auto.pkrvars.hcl` file.
|
|
|
|
### Modify the Configurations and Scripts (Optional)
|
|
|
|
If required, modify the configuration and scripts files.
|
|
|
|
## Build
|
|
|
|
> **Info:** Using the force flag will automatically remove existing _templates_ with a matching name or VMID.
|
|
|
|
```Shell
|
|
packer init rocky-9/
|
|
packer build -force rocky-9/
|
|
```
|
|
|
|
## License
|
|
|
|
This project is licensed under the MIT License - see the [LICENSE](https://gitea.rknet.org/infra/packer-hcloud/src/branch/main/LICENSE) file for details.
|