Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/qbart/ohowl
Hetzner Cloud utils
https://github.com/qbart/ohowl
acme-dns configuration consul go hcloud hetzner hetzner-cloud hetzner-cloud-utils templates tls
Last synced: 13 days ago
JSON representation
Hetzner Cloud utils
- Host: GitHub
- URL: https://github.com/qbart/ohowl
- Owner: qbart
- License: apache-2.0
- Created: 2020-09-04T00:25:31.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-01-28T16:46:52.000Z (almost 2 years ago)
- Last Synced: 2024-11-29T14:50:28.722Z (23 days ago)
- Topics: acme-dns, configuration, consul, go, hcloud, hetzner, hetzner-cloud, hetzner-cloud-utils, templates, tls
- Language: Go
- Homepage:
- Size: 170 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
⚠ Since Hetzner Cloud supports some features out of the box, this project no longer make sense - unmaintained
TODO:
- Consul/Vault storage
- cert revocation# Oh, Owl!
**Hetzner** Cloud utils
## Usage
Get metadata
```
owl hcloud metadata # => {"id":"12345","hostname":"name","ip":"10.0.1.11","public_ip":"X.Y.Z.W"}
```Wait for private IP to be assigned (30x every 10s)
```
owl hcloud wait
```## Template rendering (generic)
```
owl tpl render /tmp/consul.json \
ip=$(owl hcloud metadata | jq -r .ip) \
node_name=$(owl hcloud metadata | jq -r .hostname) \
> /opt/consul/config/default.json
```## TLS
Issues, renews and lists certificates using Let's Encrypt (based on [lego](https://github.com/go-acme/lego/) library :star:).
Uses pluggable storage system.Issue/Renew certificate (when testing use `debug=true`)
```
owl hcloud tls issue
token=$HCLOUD_DNS_TOKEN
[email protected]
domains=*.ohowl.dev,ohowl.dev
cert-path=/tmp
cert-storage=fs|consul|vault
account-path=/tmp
account-storage=fs|consul|vault
debug=trueowl hcloud tls renew
... # same params
```List certificates
```
owl hcloud tls list cert-path=/tmp cert-storage=fs|consul|vault
```