feat: add DNS credential management with Web UI

- New config/credential_store.go: persistent credential storage (credentials.json)
- New API: CRUD for DNS credentials + credential-types endpoint
- Certificate model now supports credential_id reference
- Create certificate auto-resolves credential_id to DNS config
- New Vue page: Credentials.vue for managing saved DNS keys
- CertCreate.vue: select existing credential or manual input + save as new
- Secrets masked in API responses, never exposed in list
This commit is contained in:
2026-07-24 18:56:03 +08:00
parent adebf82aaa
commit bdb3ca856f
16 changed files with 1032 additions and 139 deletions
+7
View File
@@ -3,6 +3,7 @@ import Dashboard from '../views/Dashboard.vue'
import CertList from '../views/CertList.vue'
import CertCreate from '../views/CertCreate.vue'
import NotifyConfig from '../views/NotifyConfig.vue'
import Credentials from '../views/Credentials.vue'
import Login from '../views/Login.vue'
import { isLoggedIn } from '../api'
@@ -39,6 +40,12 @@ const router = createRouter({
component: NotifyConfig,
meta: { requiresAuth: true },
},
{
path: '/credentials',
name: 'Credentials',
component: Credentials,
meta: { requiresAuth: true },
},
],
})