Merge pull request 'Hetzner-DNS-Token über eindeutigen Vaultalias auflösen' (#31) from fix/hetzner-dns-vault-alias-20260814 into main
This commit is contained in:
commit
517669be55
2 changed files with 10 additions and 0 deletions
3
app.py
3
app.py
|
|
@ -984,6 +984,9 @@ def _get_hetzner_dns_token() -> str:
|
||||||
token = _read("HETZNER_DNS_TOKEN")
|
token = _read("HETZNER_DNS_TOKEN")
|
||||||
if token:
|
if token:
|
||||||
return token
|
return token
|
||||||
|
aliases = [value for key, value in _vault_cache.items() if "hetzner" in key.lower() and "dns" in key.lower() and value.strip()]
|
||||||
|
if len(aliases) == 1:
|
||||||
|
return aliases[0].strip()
|
||||||
rc, _out, err = _ssh(
|
rc, _out, err = _ssh(
|
||||||
"sascha@10.4.1.116",
|
"sascha@10.4.1.116",
|
||||||
"sudo bash /data/stacks/homelab-butler/vault-sync.sh",
|
"sudo bash /data/stacks/homelab-butler/vault-sync.sh",
|
||||||
|
|
|
||||||
|
|
@ -277,6 +277,13 @@ def test_dns_rrset_dry_run_returns_only_selected_records(monkeypatch):
|
||||||
assert body["deleted"] == []
|
assert body["deleted"] == []
|
||||||
|
|
||||||
|
|
||||||
|
def test_hetzner_dns_token_accepts_single_sanitized_vault_alias(monkeypatch):
|
||||||
|
monkeypatch.setattr(app, "_vault_cache", {"hetzner-dns-api": "secret-value", "other": "ignored"})
|
||||||
|
monkeypatch.setattr(app, "_read", lambda _name: None)
|
||||||
|
monkeypatch.setattr(app, "_ssh", lambda *_args, **_kwargs: (_ for _ in ()).throw(AssertionError("must not sync vault")))
|
||||||
|
assert app._get_hetzner_dns_token() == "secret-value"
|
||||||
|
|
||||||
|
|
||||||
def test_invalid_log_target_is_rejected_before_ssh():
|
def test_invalid_log_target_is_rejected_before_ssh():
|
||||||
with TestClient(app.app) as client:
|
with TestClient(app.app) as client:
|
||||||
response = client.get(
|
response = client.get(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue