68684892d8
The Hub config-apply handler wrote controller.yaml 0644; it holds cf_api_token, cf_tunnel_token and hub api_key in plaintext. New writeConfig0600 helper writes 0600 atomically (tmp+rename, bind-mount fallback) and chmods to enforce 0600 even when the file pre-existed 0644 (os.WriteFile doesn't chmod existing files). Test asserts mode 0600 (Linux; skipped on Windows). Setup path already used 0600.