mirror of
https://github.com/status-im/sshfp-generator.git
synced 2025-01-31 06:44:53 +00:00
Jakub Sokołowski
16bc968e21
cloudflare: handle init failures properly
Otherwise the process explodes with: ``` panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x28 pc=0x656b1b] goroutine 1 [running]: infra-sshfp-cf/cloudflare.(*service).FindHostByName(0xc000436600, {0xc00030c510, 0x18}) /home/admin/sshfp-generator/cloudflare/service.go:25 +0x15b main.main() /home/admin/sshfp-generator/main.go:89 +0x8d0 exit status 2 ``` Due to inability to find the configured zone. Signed-off-by: Jakub Sokołowski <jakub@status.im>
Description
SSHFP Tool is a tool created in Golang to glue Consul DB and Cloudflare.
Main purpose is creating SSHFP records to get rid of "host key verification failed".
Building
go mod -vendor
go build -mod vendor
Usage
Supported env variables:
DOMAIN_NAME
- Domain name which will be working on
CF_TOKEN
- CloudFlare Token with write access to above domain
HOST_LIVENESS_TIMEOUT
- number in seconds after which host is
considered as removed and dns records can be deleted
It's possible to create json formatted config file (example in testcfg
)
As it has been designed to work with consul watches
passing proper .json file
to STDIN is required. Ex:
cat watches.dump | ./infra-sshfp-cf
Current state
- CloudFlare integration is fully implemented
- SSHFP Record creation based on tag in Consul form.
- Implemented Consul watches integration
- Implemented logic to manipulate states (merging config, etc)
TODO:
- A few major changes
Description
Languages
Go
93%
Makefile
5.1%
Dockerfile
1.9%