diff --git a/client/src/App.vue b/client/src/App.vue
index cacbc08..94dd394 100644
--- a/client/src/App.vue
+++ b/client/src/App.vue
@@ -11,6 +11,7 @@ import ISNAT from '~icons/mdi/arrow-expand-right';
import IDNAT from '~icons/mdi/arrow-collapse-right';
import IConfig from '~icons/grommet-icons/document-config';
import IStaticRoutes from '~icons/material-symbols/drive-folder-upload-outline-sharp';
+import IDNSServer from '~icons/carbon/server-dns';
import ITimeServer from '~icons/carbon/server-time';
enum NavState { Open, Reduced, Collapsed };
@@ -26,6 +27,7 @@ const navRoutes = {
"/object/addresses": { icon: IAddress, caption: "Addresses" },
"/object/services": { icon: IService, caption: "Services" },
"/service/dhcpv4servers": { icon: IService, caption: "DHCP v4" },
+ "/service/dnsservers": { icon: IDNSServer, caption: "DNS Server" },
"/service/ntpservers": { icon: ITimeServer, caption: "NTP Server" },
"/config/config": { icon: IConfig, caption: "Config" },
};
diff --git a/client/src/definitions.ts b/client/src/definitions.ts
index a02d27e..8c532ea 100644
--- a/client/src/definitions.ts
+++ b/client/src/definitions.ts
@@ -192,5 +192,20 @@ export const editTypes: { [key: string]: { [key: string]: any } } = {
},
],
},
+ "dnsservers": {
+ name: "DNSServer",
+ validationSchema: toFormValidator(
+ zod.object({
+ }),
+ ),
+ sections: [
+ {
+ fields: [
+ { key: "interface", label: "Interface", as: "SingleSelect", props: { searchProvider: GetInterfaces } },
+ { key: "comment", label: "Comment", as: "MultilineTextBox" },
+ ],
+ },
+ ],
+ },
},
};
\ No newline at end of file
diff --git a/client/src/pages/service/DNSServers.vue b/client/src/pages/service/DNSServers.vue
new file mode 100644
index 0000000..2b42bd6
--- /dev/null
+++ b/client/src/pages/service/DNSServers.vue
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+ Create
+ Edit
+
+
+
+
\ No newline at end of file