mirror of
https://github.com/gravitl/netmaker.git
synced 2026-01-15 23:34:07 +08:00
* feat(go): define flow events; * feat(go): improve structure; * feat(go): improve structure; * feat(go): remove old flow definitions; * feat(sql): add clickhouse init scripts; * feat(sql): add protobuf spec; * fix(sql): store ip as string; * feat(go): move proto def to grpc dir; * feat(go): use node instead of host as type; optimize protobuf defs; * feat(go): add clickhouse db support; add endpoint to query flows; * fix(go): fix clickhouse config; * fix(go): use error response structure to report error; * feat(go): pass flow logging status to netclient; * feat(go): add peer ip identity map to host peer info; * feat(go): remove prefix from participant obj fields; * feat(go): add flow logs enabled field to host; * feat(go): add filtering to get flow api; * feat(go): fix record struct; * feat(go): add exporter url to server config; * feat(go): add exporter url to server config; * feat(go): enable flow logs by default; * feat(go): update nm-quick.sh; * feat(go): update nm-quick.sh; * feat(go): update nm-quick.sh; * feat(go): update nm-quick.sh; * feat(go): add db initialization logic; * feat(go): filter by network id; * fix(go): connection issue; * fix(go): connection issue; * fix(go): golang builder version; * feat(go): add server settings for flow logs; * feat(go): initialize clickhouse in pro; check for retention; * feat(go): add exporter feature flags; * feat(go): add grpc behind caddy; * feat(go): expose ports correctly; * fix(go): grpc caddyfile config; * fix(go): publish exporter feature flags on license validation; * fix(go): set server name for netmaker exporter; * fix(go): set server name for netmaker exporter; * fix(go): check for nil cancel func; * fix(go): add flow logs field to api host; * fix(go): add flow logs field to api host; * fix(go): remove port from grpc setting; * chore(go): tabs; * feat(go): introduce egress range participant type;. * feat(go): rename egress range to egress route for uniform language; * feat(go): rename egress range to egress route for uniform language; * feat: add peer addr identity map to host peer update; * feat: add address identity map to host peer update; * feat: add address identity map to host peer update; * feat: set correct from and to args; * feat: add support for filtering by node; * feat: use corresponding base image; * feat: update dockerfile base image version; * fix: disable flow logs for all host when global settings are changed;
62 lines
2.9 KiB
Go
62 lines
2.9 KiB
Go
package models
|
|
|
|
type Theme string
|
|
|
|
const (
|
|
Dark Theme = "dark"
|
|
Light Theme = "light"
|
|
System Theme = "system"
|
|
)
|
|
|
|
type ServerSettings struct {
|
|
NetclientAutoUpdate bool `json:"netclientautoupdate"`
|
|
Verbosity int32 `json:"verbosity"`
|
|
AuthProvider string `json:"authprovider"`
|
|
OIDCIssuer string `json:"oidcissuer"`
|
|
ClientID string `json:"client_id"`
|
|
ClientSecret string `json:"client_secret"`
|
|
SyncEnabled bool `json:"sync_enabled"`
|
|
GoogleAdminEmail string `json:"google_admin_email"`
|
|
GoogleSACredsJson string `json:"google_sa_creds_json"`
|
|
AzureTenant string `json:"azure_tenant"`
|
|
OktaOrgURL string `json:"okta_org_url"`
|
|
OktaAPIToken string `json:"okta_api_token"`
|
|
UserFilters []string `json:"user_filters"`
|
|
GroupFilters []string `json:"group_filters"`
|
|
IDPSyncInterval string `json:"idp_sync_interval"`
|
|
Telemetry string `json:"telemetry"`
|
|
BasicAuth bool `json:"basic_auth"`
|
|
// JwtValidityDuration is the validity duration of auth tokens for users
|
|
// on the dashboard (NMUI).
|
|
JwtValidityDuration int `json:"jwt_validity_duration"`
|
|
// JwtValidityDurationClients is the validity duration of auth tokens for
|
|
// users on the clients (NetDesk).
|
|
JwtValidityDurationClients int `json:"jwt_validity_duration_clients"`
|
|
MFAEnforced bool `json:"mfa_enforced"`
|
|
RacRestrictToSingleNetwork bool `json:"rac_restrict_to_single_network"`
|
|
EndpointDetection bool `json:"endpoint_detection"`
|
|
AllowedEmailDomains string `json:"allowed_email_domains"`
|
|
EmailSenderAddr string `json:"email_sender_addr"`
|
|
EmailSenderUser string `json:"email_sender_user"`
|
|
EmailSenderPassword string `json:"email_sender_password"`
|
|
SmtpHost string `json:"smtp_host"`
|
|
SmtpPort int `json:"smtp_port"`
|
|
MetricInterval string `json:"metric_interval"`
|
|
MetricsPort int `json:"metrics_port"`
|
|
ManageDNS bool `json:"manage_dns"`
|
|
DefaultDomain string `json:"default_domain"`
|
|
Stun bool `json:"stun"`
|
|
StunServers string `json:"stun_servers"`
|
|
AuditLogsRetentionPeriodInDays int `json:"audit_logs_retention_period"`
|
|
OldAClsSupport bool `json:"old_acl_support"`
|
|
PeerConnectionCheckInterval string `json:"peer_connection_check_interval"`
|
|
PostureCheckInterval string `json:"posture_check_interval"` // in minutes
|
|
CleanUpInterval int `json:"clean_up_interval_in_mins"`
|
|
EnableFlowLogs bool `json:"enable_flow_logs"`
|
|
}
|
|
|
|
type UserSettings struct {
|
|
Theme Theme `json:"theme"`
|
|
TextSize string `json:"text_size"`
|
|
ReducedMotion bool `json:"reduced_motion"`
|
|
}
|