1
0
Fork 0
mirror of https://github.com/ansible-collections/hetzner.hcloud.git synced 2026-02-03 23:51:48 +00:00
hetzner.hcloud/examples/server-with-user_data.yml
Jonas L. 1c84cd30e8
docs: add example with cloud-init user-data and custom host ssh keys (#770)
##### SUMMARY

Document how to user user data with cloud-init, and configure custom
host ssh keys.
2025-12-12 12:56:02 +01:00

40 lines
1.2 KiB
YAML

---
- name: Demonstrate the usage of 'user_data'
hosts: localhost
connection: local
tasks:
- name: Create host ssh keys
community.crypto.openssh_keypair:
path: "ssh_host_{{ item }}_key"
type: "{{ item }}"
loop: [ed25519, ecdsa, rsa]
register: host_ssh_keys
- name: Print host ssh keys fingerprint
ansible.builtin.debug:
msg: "{{ item.fingerprint }}"
loop: "{{ host_ssh_keys.results }}"
loop_control:
label: "{{ item.type }}"
- name: Create server
hetzner.hcloud.server:
name: my-server
server_type: cx23
image: debian-13
user_data: |
#cloud-config
ssh_deletekeys: true
ssh_keys:
ed25519_private: |
{{ lookup('file', 'ssh_host_ed25519_key') | indent(4) }}
ed25519_public: "{{ lookup('file', 'ssh_host_ed25519_key.pub') }}"
ecdsa_private: |
{{ lookup('file', 'ssh_host_ecdsa_key') | indent(4) }}
ecdsa_public: "{{ lookup('file', 'ssh_host_ecdsa_key.pub') }}"
rsa_private: |
{{ lookup('file', 'ssh_host_rsa_key') | indent(4) }}
rsa_public: "{{ lookup('file', 'ssh_host_rsa_key.pub') }}"