<persisted-output>
Output too large (35.3KB). Full output saved to: /Users/misha/.REDACTED.txt

Preview (first 2KB):
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-399-}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-400-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-401-// DeleteHashedPAT2TokenIDIndex indicates an expected call of DeleteHashedPAT2TokenIDIndex.
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-402-func (mr *MockStoreMockRecorder) DeleteHashedPAT2TokenIDIndex(hashedToken interface{}) *gomock.Call {
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-403-	mr.mock.ctrl.T.Helper()
management/server/store/store_mock.go:404:	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteHashedPAT2TokenIDIndex", reflect.TypeOf((*MockStore)(nil).DeleteHashedPAT2TokenIDIndex), hashedToken)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-405-}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-406-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-407-// DeleteNameServerGroup mocks base method.
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-408-func (m *MockStore) DeleteNameServerGroup(ctx context.Context, accountID, nameServerGroupID string) error {
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-409-	m.ctrl.T.Helper()
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-582-}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-583-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-584-// DeleteTokenID2UserIDIndex indicates an expected call of DeleteTokenID2UserIDIndex.
...
</persisted-output>

/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-399-}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-400-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-401-// DeleteHashedPAT2TokenIDIndex indicates an expected call of DeleteHashedPAT2TokenIDIndex.
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-402-func (mr *MockStoreMockRecorder) DeleteHashedPAT2TokenIDIndex(hashedToken interface{}) *gomock.Call {
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-403-	mr.mock.ctrl.T.Helper()
management/server/store/store_mock.go:404:	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteHashedPAT2TokenIDIndex", reflect.TypeOf((*MockStore)(nil).DeleteHashedPAT2TokenIDIndex), hashedToken)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-405-}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-406-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-407-// DeleteNameServerGroup mocks base method.
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-408-func (m *MockStore) DeleteNameServerGroup(ctx context.Context, accountID, nameServerGroupID string) error {
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-409-	m.ctrl.T.Helper()
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-582-}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-583-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-584-// DeleteTokenID2UserIDIndex indicates an expected call of DeleteTokenID2UserIDIndex.
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-585-func (mr *MockStoreMockRecorder) DeleteTokenID2UserIDIndex(tokenID interface{}) *gomock.Call {
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-586-	mr.mock.ctrl.T.Helper()
management/server/store/store_mock.go:587:	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteTokenID2UserIDIndex", reflect.TypeOf((*MockStore)(nil).DeleteTokenID2UserIDIndex), tokenID)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-588-}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-589-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-590-// DeleteUser mocks base method.
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-591-func (m *MockStore) DeleteUser(ctx context.Context, accountID, userID string) error {
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/store_mock.go-592-	m.ctrl.T.Helper()
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/sql_store.go-634-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/sql_store.go-635-		return nil
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/sql_store.go-636-	})
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/sql_store.go-637-}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/sql_store.go-638-
management/server/store/sql_store.go:639:// DeleteHashedPAT2TokenIDIndex is noop in SqlStore
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/sql_store.go-640-func (s *SqlStore) DeleteHashedPAT2TokenIDIndex(hashedToken string) error {
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/sql_store.go-641-	return nil
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/sql_store.go-642-}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/sql_store.go-643-
management/server/store/sql_store.go:644:// DeleteTokenID2UserIDIndex is noop in SqlStore
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/sql_store.go-645-func (s *SqlStore) DeleteTokenID2UserIDIndex(tokenID string) error {
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/sql_store.go-646-	return nil
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/sql_store.go-647-}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/sql_store.go-648-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/store/sql_store.go-649-func (s *SqlStore) GetAccountByPrivateDomain(ctx context.Context, domain string) (*types.Account, error) {
--
combined/cmd/config.go-607-	embeddedIdP := &idp.EmbeddedIdPConfig{
combined/cmd/config.go-608-		Enabled:               true,
combined/cmd/config.go-609-		Issuer:                mgmt.Auth.Issuer,
combined/cmd/config.go-610-		LocalAuthDisabled:     mgmt.Auth.LocalAuthDisabled,
combined/cmd/config.go-611-		SignKeyRefreshEnabled: mgmt.Auth.SignKeyRefreshEnabled,
combined/cmd/config.go:612:		Storage: idp.EmbeddedStorageConfig{
combined/cmd/config.go-613-			Type: mgmt.Auth.Storage.Type,
combined/cmd/config.go:614:			Config: idp.EmbeddedStorageTypeConfig{
combined/cmd/config.go-615-				File: storageFile,
/Users/misha/Documents/GolandProjects/netbird/netbird/combined/cmd/config.go-616-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/combined/cmd/config.go-617-		},
combined/cmd/config.go-618-		DashboardRedirectURIs: mgmt.Auth.DashboardRedirectURIs,
combined/cmd/config.go-619-		CLIRedirectURIs:       mgmt.Auth.CLIRedirectURIs,
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/user_invite_test.go-47-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/user_invite_test.go-48-	// Create embedded IDP config
management/server/user_invite_test.go-49-	embeddedIdPConfig := &idp.EmbeddedIdPConfig{
management/server/user_invite_test.go-50-		Enabled: true,
management/server/user_invite_test.go-51-		Issuer:  "http://localhost:5556/dex",
management/server/user_invite_test.go:52:		Storage: idp.EmbeddedStorageConfig{
management/server/user_invite_test.go-53-			Type: "sqlite3",
management/server/user_invite_test.go:54:			Config: idp.EmbeddedStorageTypeConfig{
management/server/user_invite_test.go-55-				File: dexDataDir + "/dex.db",
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/user_invite_test.go-56-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/user_invite_test.go-57-		},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/user_invite_test.go-58-	}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/user_invite_test.go-59-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/user_test.go-1896-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/user_test.go-1897-	// Create embedded IDP config
management/server/user_test.go-1898-	embeddedIdPConfig := &idp.EmbeddedIdPConfig{
management/server/user_test.go-1899-		Enabled: true,
management/server/user_test.go-1900-		Issuer:  "http://localhost:5556/dex",
management/server/user_test.go:1901:		Storage: idp.EmbeddedStorageConfig{
management/server/user_test.go-1902-			Type: "sqlite3",
management/server/user_test.go:1903:			Config: idp.EmbeddedStorageTypeConfig{
management/server/user_test.go-1904-				File: dexDataDir + "/dex.db",
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/user_test.go-1905-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/user_test.go-1906-		},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/user_test.go-1907-	}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/user_test.go-1908-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/proxy/web/dist/assets/index.js-3-[Omitted long context line]
/Users/misha/Documents/GolandProjects/netbird/netbird/proxy/web/dist/assets/index.js-4-`),h=c.split(`
/Users/misha/Documents/GolandProjects/netbird/netbird/proxy/web/dist/assets/index.js-5-`);for(u=a=0;a<o.length&&!o[a].includes("DetermineComponentFrameRoot");)a++;for(;u<h.length&&!h[u].includes("DetermineComponentFrameRoot");)u++;if(a===o.length||u===h.length)for(a=o.length-1,u=h.length-1;1<=a&&0<=u&&o[a]!==h[u];)u--;for(;1<=a&&0<=u;a--,u--)if(o[a]!==h[u]){if(a!==1||u!==1)do if(a--,u--,0>u||o[a]!==h[u]){var z=`
/Users/misha/Documents/GolandProjects/netbird/netbird/proxy/web/dist/assets/index.js-6-[Omitted long context line]
proxy/web/dist/assets/index.js-7-Error generating stack: `+a.message+`
proxy/web/dist/assets/index.js:8:[Omitted long matching line]
/Users/misha/Documents/GolandProjects/netbird/netbird/proxy/web/dist/assets/index.js-9-[Omitted long context line]
--
client/internal/dns/systemd_linux.go-70-		return nil, fmt.Errorf("get dbus resolved dest: %w", err)
/Users/misha/Documents/GolandProjects/netbird/netbird/client/internal/dns/systemd_linux.go-71-	}
/Users/misha/Documents/GolandProjects/netbird/netbird/client/internal/dns/systemd_linux.go-72-	defer closeConn()
/Users/misha/Documents/GolandProjects/netbird/netbird/client/internal/dns/systemd_linux.go-73-
/Users/misha/Documents/GolandProjects/netbird/netbird/client/internal/dns/systemd_linux.go-74-	var s string
client/internal/dns/systemd_linux.go:75:	err = obj.Call(systemdDbusGetLinkMethod, dbusDefaultFlag, iface.Index).Store(&s)
/Users/misha/Documents/GolandProjects/netbird/netbird/client/internal/dns/systemd_linux.go-76-	if err != nil {
client/internal/dns/systemd_linux.go-77-		return nil, fmt.Errorf("get dbus link method: %w", err)
/Users/misha/Documents/GolandProjects/netbird/netbird/client/internal/dns/systemd_linux.go-78-	}
/Users/misha/Documents/GolandProjects/netbird/netbird/client/internal/dns/systemd_linux.go-79-
client/internal/dns/systemd_linux.go-80-	log.Debugf("got dbus Link interface: %s from net interface %s and index %d", s, iface.Name, iface.Index)
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/dex.go-331-	}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/dex.go-332-
management/server/idp/dex.go-333-	users := make([]*UserData, 0)
management/server/idp/dex.go-334-	for _, p := range resp.Passwords {
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/dex.go-335-		if strings.EqualFold(p.Email, email) {
management/server/idp/dex.go:336:			// Encode the user ID in Dex's composite format to match stored IDs
management/server/idp/dex.go-337-			encodedID := encodeDexUserID(p.UserId, "local")
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/dex.go-338-			users = append(users, &UserData{
management/server/idp/dex.go-339-				Email: p.Email,
management/server/idp/dex.go-340-				Name:  p.Username,
management/server/idp/dex.go-341-				ID:    encodedID,
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-22-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-23-	// Create the embedded IDP config
management/server/idp/embedded_test.go-24-	config := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-25-		Enabled: true,
management/server/idp/embedded_test.go-26-		Issuer:  "http://localhost:5556/dex",
management/server/idp/embedded_test.go:27:		Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-28-			Type: "sqlite3",
management/server/idp/embedded_test.go:29:			Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-30-				File: filepath.Join(tmpDir, "dex.db"),
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-31-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-32-		},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-33-	}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-34-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-92-	defer os.RemoveAll(tmpDir)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-93-
management/server/idp/embedded_test.go-94-	config := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-95-		Enabled: true,
management/server/idp/embedded_test.go-96-		Issuer:  "http://localhost:5556/dex",
management/server/idp/embedded_test.go:97:		Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-98-			Type: "sqlite3",
management/server/idp/embedded_test.go:99:			Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-100-				File: filepath.Join(tmpDir, "dex.db"),
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-101-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-102-		},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-103-	}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-104-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-128-	defer os.RemoveAll(tmpDir)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-129-
management/server/idp/embedded_test.go-130-	config := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-131-		Enabled: true,
management/server/idp/embedded_test.go-132-		Issuer:  "http://localhost:5556/dex",
management/server/idp/embedded_test.go:133:		Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-134-			Type: "sqlite3",
management/server/idp/embedded_test.go:135:			Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-136-				File: filepath.Join(tmpDir, "dex.db"),
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-137-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-138-		},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-139-	}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-140-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-163-	defer os.RemoveAll(tmpDir)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-164-
management/server/idp/embedded_test.go-165-	config := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-166-		Enabled: true,
management/server/idp/embedded_test.go-167-		Issuer:  "http://localhost:5556/dex",
management/server/idp/embedded_test.go:168:		Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-169-			Type: "sqlite3",
management/server/idp/embedded_test.go:170:			Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-171-				File: filepath.Join(tmpDir, "dex.db"),
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-172-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-173-		},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-174-	}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-175-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-207-	defer os.RemoveAll(tmpDir)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-208-
management/server/idp/embedded_test.go-209-	config := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-210-		Enabled: true,
management/server/idp/embedded_test.go-211-		Issuer:  "http://localhost:5556/dex",
management/server/idp/embedded_test.go:212:		Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-213-			Type: "sqlite3",
management/server/idp/embedded_test.go:214:			Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-215-				File: filepath.Join(tmpDir, "dex.db"),
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-216-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-217-		},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-218-	}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-219-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-256-	defer os.RemoveAll(tmpDir)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-257-
management/server/idp/embedded_test.go-258-	config := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-259-		Enabled: true,
management/server/idp/embedded_test.go-260-		Issuer:  "http://localhost:5556/dex",
management/server/idp/embedded_test.go:261:		Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-262-			Type: "sqlite3",
management/server/idp/embedded_test.go:263:			Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-264-				File: filepath.Join(tmpDir, "dex.db"),
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-265-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-266-		},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-267-	}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-268-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-351-		t.Run(tt.name, func(t *testing.T) {
management/server/idp/embedded_test.go-352-			config := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-353-				Enabled:      true,
management/server/idp/embedded_test.go-354-				Issuer:       "http://localhost:5556/dex",
management/server/idp/embedded_test.go-355-				LocalAddress: tt.localAddress,
management/server/idp/embedded_test.go:356:				Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-357-					Type: "sqlite3",
management/server/idp/embedded_test.go:358:					Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-359-						File: filepath.Join(tmpDir, "dex-"+tt.name+".db"),
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-360-					},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-361-				},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-362-			}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-363-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-381-
management/server/idp/embedded_test.go-382-		config := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-383-			Enabled:           true,
management/server/idp/embedded_test.go-384-			Issuer:            "http://localhost:5556/dex",
management/server/idp/embedded_test.go-385-			LocalAuthDisabled: true,
management/server/idp/embedded_test.go:386:			Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-387-				Type: "sqlite3",
management/server/idp/embedded_test.go:388:				Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-389-					File: filepath.Join(tmpDir, "dex.db"),
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-390-				},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-391-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-392-		}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-393-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-402-		defer os.RemoveAll(tmpDir)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-403-
management/server/idp/embedded_test.go-404-		config := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-405-			Enabled: true,
management/server/idp/embedded_test.go-406-			Issuer:  "http://localhost:5556/dex",
management/server/idp/embedded_test.go:407:			Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-408-				Type: "sqlite3",
management/server/idp/embedded_test.go:409:				Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-410-					File: filepath.Join(tmpDir, "dex.db"),
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-411-				},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-412-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-413-		}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-414-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-429-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-430-		// First, create a manager with local auth enabled and add a connector
management/server/idp/embedded_test.go-431-		config1 := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-432-			Enabled: true,
management/server/idp/embedded_test.go-433-			Issuer:  "http://localhost:5556/dex",
management/server/idp/embedded_test.go:434:			Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-435-				Type: "sqlite3",
management/server/idp/embedded_test.go:436:				Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-437-					File: dbFile,
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-438-				},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-439-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-440-		}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-441-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-464-		// Now create a new manager with local auth disabled
management/server/idp/embedded_test.go-465-		config2 := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-466-			Enabled:           true,
management/server/idp/embedded_test.go-467-			Issuer:            "http://localhost:5556/dex",
management/server/idp/embedded_test.go-468-			LocalAuthDisabled: true,
management/server/idp/embedded_test.go:469:			Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-470-				Type: "sqlite3",
management/server/idp/embedded_test.go:471:				Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-472-					File: dbFile,
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-473-				},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-474-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-475-		}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-476-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-496-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-497-		// First, create a manager and add an external connector
management/server/idp/embedded_test.go-498-		config1 := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-499-			Enabled: true,
management/server/idp/embedded_test.go-500-			Issuer:  "http://localhost:5556/dex",
management/server/idp/embedded_test.go:501:			Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-502-				Type: "sqlite3",
management/server/idp/embedded_test.go:503:				Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-504-					File: dbFile,
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-505-				},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-506-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-507-		}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-508-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-524-		// Create manager with local auth disabled
management/server/idp/embedded_test.go-525-		config2 := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-526-			Enabled:           true,
management/server/idp/embedded_test.go-527-			Issuer:            "http://localhost:5556/dex",
management/server/idp/embedded_test.go-528-			LocalAuthDisabled: true,
management/server/idp/embedded_test.go:529:			Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-530-				Type: "sqlite3",
management/server/idp/embedded_test.go:531:				Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-532-					File: dbFile,
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-533-				},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-534-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-535-		}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-536-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-553-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-554-		// First, create a manager and add an external connector
management/server/idp/embedded_test.go-555-		config1 := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-556-			Enabled: true,
management/server/idp/embedded_test.go-557-			Issuer:  "http://localhost:5556/dex",
management/server/idp/embedded_test.go:558:			Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-559-				Type: "sqlite3",
management/server/idp/embedded_test.go:560:				Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-561-					File: dbFile,
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-562-				},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-563-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-564-		}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-565-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-581-		// Create manager with local auth disabled
management/server/idp/embedded_test.go-582-		config2 := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-583-			Enabled:           true,
management/server/idp/embedded_test.go-584-			Issuer:            "http://localhost:5556/dex",
management/server/idp/embedded_test.go-585-			LocalAuthDisabled: true,
management/server/idp/embedded_test.go:586:			Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-587-				Type: "sqlite3",
management/server/idp/embedded_test.go:588:				Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-589-					File: dbFile,
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-590-				},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-591-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-592-		}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-593-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-32-	Issuer string
management/server/idp/embedded.go-33-	/ LocalAddress is the management server's local listen address (e.g., ":8080" or "localhost:8080")
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-34-	// Used for internal JWT validation to avoid external network calls
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-35-	LocalAddress string
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-36-	// Storage configuration for the IdP database
management/server/idp/embedded.go:37:	Storage EmbeddedStorageConfig
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-38-	// DashboardRedirectURIs are the OAuth2 redirect URIs for the dashboard client
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-39-	DashboardRedirectURIs []string
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-40-	// DashboardRedirectURIs are the OAuth2 redirect URIs for the dashboard client
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-41-	CLIRedirectURIs []string
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-42-	// Owner is the initial owner/admin user (optional, can be nil)
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-48-	// Existing local users are preserved and will be able to login again if re-enabled.
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-49-	// Cannot be enabled if no external identity provider connectors are configured.
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-50-	LocalAuthDisabled bool
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-51-}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-52-
management/server/idp/embedded.go:53:// EmbeddedStorageConfig holds storage configuration for the embedded IdP.
management/server/idp/embedded.go:54:type EmbeddedStorageConfig struct {
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-55-	// Type is the storage type (currently only "sqlite3" is supported)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-56-	Type string
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-57-	// Config contains type-specific configuration
management/server/idp/embedded.go:58:	Config EmbeddedStorageTypeConfig
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-59-}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-60-
management/server/idp/embedded.go:61:// EmbeddedStorageTypeConfig contains type-specific storage configuration.
management/server/idp/embedded.go:62:type EmbeddedStorageTypeConfig struct {
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-63-	// File is the path to the SQLite database file (for sqlite3 type)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-64-	File string
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-65-}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-66-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-67-// OwnerConfig represents the initial owner/admin user for the embedded IdP.
--
management/server/idp/embedded.go-273-		AppMetadata: appMetadata,
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-274-	}, nil
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-275-}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-276-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-277-// GetAccount returns all the users for a given account.
management/server/idp/embedded.go:278:// Note: Embedded dex doesn't store account metadata, so this returns all users.
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-279-func (m *EmbeddedIdPManager) GetAccount(ctx context.Context, accountID string) ([]*UserData, error) {
management/server/idp/embedded.go-280-	users, err := m.provider.ListUsers(ctx)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-281-	if err != nil {
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-282-		if m.appMetrics != nil {
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-283-			m.appMetrics.IDPMetrics().CountRequestError()
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-299-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-300-	return result, nil
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-301-}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-302-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-303-// GetAllAccounts gets all registered accounts with corresponding user data.
management/server/idp/embedded.go:304:// Note: Embedded dex doesn't store account metadata, so all users are indexed under UnsetAccountID.
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-305-func (m *EmbeddedIdPManager) GetAllAccounts(ctx context.Context) (map[string][]*UserData, error) {
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-306-	if m.appMetrics != nil {
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-307-		m.appMetrics.IDPMetrics().CountGetAllAccounts()
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-308-	}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-309-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/identity_provider_test.go-44-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/identity_provider_test.go-45-	// Create embedded IdP manager
management/server/identity_provider_test.go-46-	embeddedConfig := &idp.EmbeddedIdPConfig{
management/server/identity_provider_test.go-47-		Enabled: true,
management/server/identity_provider_test.go-48-		Issuer:  "http://localhost:5556/dex",
management/server/identity_provider_test.go:49:		Storage: idp.EmbeddedStorageConfig{
management/server/identity_provider_test.go-50-			Type: "sqlite3",
management/server/identity_provider_test.go:51:			Config: idp.EmbeddedStorageTypeConfig{
management/server/identity_provider_test.go-52-				File: filepath.Join(dataDir, "dex.db"),
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/identity_provider_test.go-53-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/identity_provider_test.go-54-		},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/identity_provider_test.go-55-	}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/identity_provider_test.go-56-


<persisted-output>
Output too large (20.6KB). Full output saved to: /Users/misha/.REDACTED.txt

Preview (first 2KB):
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-22-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-23-	// Create the embedded IDP config
management/server/idp/embedded_test.go-24-	config := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-25-		Enabled: true,
management/server/idp/embedded_test.go-26-		Issuer:  "http://localhost:5556/dex",
management/server/idp/embedded_test.go:27:		Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-28-			Type: "sqlite3",
management/server/idp/embedded_test.go:29:			Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-30-				File: filepath.Join(tmpDir, "dex.db"),
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-31-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-32-		},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-33-	}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-34-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-92-	defer os.RemoveAll(tmpDir)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-93-
management/server/idp/embedded_test.go-94-	config := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-95-		Enabled: true,
management/server/idp/embedded_test.go-96-		Issuer:  "http://localhost:5556/dex",
management/server/idp/embedded_test.go:97:		Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-98-			Type: "sqlite3",
management/server/idp/embedded_test.go:99:			Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-100-				File: filepath.Join(tmpDir, "dex.db"),
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-101-			},
...
</persisted-output>

/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-22-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-23-	// Create the embedded IDP config
management/server/idp/embedded_test.go-24-	config := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-25-		Enabled: true,
management/server/idp/embedded_test.go-26-		Issuer:  "http://localhost:5556/dex",
management/server/idp/embedded_test.go:27:		Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-28-			Type: "sqlite3",
management/server/idp/embedded_test.go:29:			Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-30-				File: filepath.Join(tmpDir, "dex.db"),
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-31-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-32-		},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-33-	}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-34-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-92-	defer os.RemoveAll(tmpDir)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-93-
management/server/idp/embedded_test.go-94-	config := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-95-		Enabled: true,
management/server/idp/embedded_test.go-96-		Issuer:  "http://localhost:5556/dex",
management/server/idp/embedded_test.go:97:		Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-98-			Type: "sqlite3",
management/server/idp/embedded_test.go:99:			Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-100-				File: filepath.Join(tmpDir, "dex.db"),
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-101-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-102-		},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-103-	}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-104-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-128-	defer os.RemoveAll(tmpDir)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-129-
management/server/idp/embedded_test.go-130-	config := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-131-		Enabled: true,
management/server/idp/embedded_test.go-132-		Issuer:  "http://localhost:5556/dex",
management/server/idp/embedded_test.go:133:		Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-134-			Type: "sqlite3",
management/server/idp/embedded_test.go:135:			Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-136-				File: filepath.Join(tmpDir, "dex.db"),
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-137-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-138-		},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-139-	}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-140-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-163-	defer os.RemoveAll(tmpDir)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-164-
management/server/idp/embedded_test.go-165-	config := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-166-		Enabled: true,
management/server/idp/embedded_test.go-167-		Issuer:  "http://localhost:5556/dex",
management/server/idp/embedded_test.go:168:		Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-169-			Type: "sqlite3",
management/server/idp/embedded_test.go:170:			Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-171-				File: filepath.Join(tmpDir, "dex.db"),
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-172-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-173-		},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-174-	}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-175-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-207-	defer os.RemoveAll(tmpDir)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-208-
management/server/idp/embedded_test.go-209-	config := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-210-		Enabled: true,
management/server/idp/embedded_test.go-211-		Issuer:  "http://localhost:5556/dex",
management/server/idp/embedded_test.go:212:		Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-213-			Type: "sqlite3",
management/server/idp/embedded_test.go:214:			Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-215-				File: filepath.Join(tmpDir, "dex.db"),
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-216-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-217-		},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-218-	}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-219-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-256-	defer os.RemoveAll(tmpDir)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-257-
management/server/idp/embedded_test.go-258-	config := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-259-		Enabled: true,
management/server/idp/embedded_test.go-260-		Issuer:  "http://localhost:5556/dex",
management/server/idp/embedded_test.go:261:		Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-262-			Type: "sqlite3",
management/server/idp/embedded_test.go:263:			Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-264-				File: filepath.Join(tmpDir, "dex.db"),
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-265-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-266-		},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-267-	}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-268-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-351-		t.Run(tt.name, func(t *testing.T) {
management/server/idp/embedded_test.go-352-			config := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-353-				Enabled:      true,
management/server/idp/embedded_test.go-354-				Issuer:       "http://localhost:5556/dex",
management/server/idp/embedded_test.go-355-				LocalAddress: tt.localAddress,
management/server/idp/embedded_test.go:356:				Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-357-					Type: "sqlite3",
management/server/idp/embedded_test.go:358:					Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-359-						File: filepath.Join(tmpDir, "dex-"+tt.name+".db"),
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-360-					},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-361-				},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-362-			}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-363-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-381-
management/server/idp/embedded_test.go-382-		config := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-383-			Enabled:           true,
management/server/idp/embedded_test.go-384-			Issuer:            "http://localhost:5556/dex",
management/server/idp/embedded_test.go-385-			LocalAuthDisabled: true,
management/server/idp/embedded_test.go:386:			Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-387-				Type: "sqlite3",
management/server/idp/embedded_test.go:388:				Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-389-					File: filepath.Join(tmpDir, "dex.db"),
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-390-				},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-391-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-392-		}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-393-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-402-		defer os.RemoveAll(tmpDir)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-403-
management/server/idp/embedded_test.go-404-		config := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-405-			Enabled: true,
management/server/idp/embedded_test.go-406-			Issuer:  "http://localhost:5556/dex",
management/server/idp/embedded_test.go:407:			Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-408-				Type: "sqlite3",
management/server/idp/embedded_test.go:409:				Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-410-					File: filepath.Join(tmpDir, "dex.db"),
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-411-				},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-412-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-413-		}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-414-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-429-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-430-		// First, create a manager with local auth enabled and add a connector
management/server/idp/embedded_test.go-431-		config1 := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-432-			Enabled: true,
management/server/idp/embedded_test.go-433-			Issuer:  "http://localhost:5556/dex",
management/server/idp/embedded_test.go:434:			Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-435-				Type: "sqlite3",
management/server/idp/embedded_test.go:436:				Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-437-					File: dbFile,
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-438-				},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-439-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-440-		}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-441-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-464-		// Now create a new manager with local auth disabled
management/server/idp/embedded_test.go-465-		config2 := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-466-			Enabled:           true,
management/server/idp/embedded_test.go-467-			Issuer:            "http://localhost:5556/dex",
management/server/idp/embedded_test.go-468-			LocalAuthDisabled: true,
management/server/idp/embedded_test.go:469:			Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-470-				Type: "sqlite3",
management/server/idp/embedded_test.go:471:				Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-472-					File: dbFile,
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-473-				},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-474-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-475-		}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-476-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-496-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-497-		// First, create a manager and add an external connector
management/server/idp/embedded_test.go-498-		config1 := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-499-			Enabled: true,
management/server/idp/embedded_test.go-500-			Issuer:  "http://localhost:5556/dex",
management/server/idp/embedded_test.go:501:			Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-502-				Type: "sqlite3",
management/server/idp/embedded_test.go:503:				Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-504-					File: dbFile,
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-505-				},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-506-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-507-		}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-508-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-524-		// Create manager with local auth disabled
management/server/idp/embedded_test.go-525-		config2 := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-526-			Enabled:           true,
management/server/idp/embedded_test.go-527-			Issuer:            "http://localhost:5556/dex",
management/server/idp/embedded_test.go-528-			LocalAuthDisabled: true,
management/server/idp/embedded_test.go:529:			Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-530-				Type: "sqlite3",
management/server/idp/embedded_test.go:531:				Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-532-					File: dbFile,
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-533-				},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-534-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-535-		}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-536-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-553-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-554-		// First, create a manager and add an external connector
management/server/idp/embedded_test.go-555-		config1 := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-556-			Enabled: true,
management/server/idp/embedded_test.go-557-			Issuer:  "http://localhost:5556/dex",
management/server/idp/embedded_test.go:558:			Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-559-				Type: "sqlite3",
management/server/idp/embedded_test.go:560:				Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-561-					File: dbFile,
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-562-				},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-563-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-564-		}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-565-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-581-		// Create manager with local auth disabled
management/server/idp/embedded_test.go-582-		config2 := &EmbeddedIdPConfig{
management/server/idp/embedded_test.go-583-			Enabled:           true,
management/server/idp/embedded_test.go-584-			Issuer:            "http://localhost:5556/dex",
management/server/idp/embedded_test.go-585-			LocalAuthDisabled: true,
management/server/idp/embedded_test.go:586:			Storage: EmbeddedStorageConfig{
management/server/idp/embedded_test.go-587-				Type: "sqlite3",
management/server/idp/embedded_test.go:588:				Config: EmbeddedStorageTypeConfig{
management/server/idp/embedded_test.go-589-					File: dbFile,
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-590-				},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-591-			},
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-592-		}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded_test.go-593-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-32-	Issuer string
management/server/idp/embedded.go-33-	/ LocalAddress is the management server's local listen address (e.g., ":8080" or "localhost:8080")
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-34-	// Used for internal JWT validation to avoid external network calls
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-35-	LocalAddress string
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-36-	// Storage configuration for the IdP database
management/server/idp/embedded.go:37:	Storage EmbeddedStorageConfig
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-38-	// DashboardRedirectURIs are the OAuth2 redirect URIs for the dashboard client
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-39-	DashboardRedirectURIs []string
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-40-	// DashboardRedirectURIs are the OAuth2 redirect URIs for the dashboard client
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-41-	CLIRedirectURIs []string
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-42-	// Owner is the initial owner/admin user (optional, can be nil)
--
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-48-	// Existing local users are preserved and will be able to login again if re-enabled.
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-49-	// Cannot be enabled if no external identity provider connectors are configured.
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-50-	LocalAuthDisabled bool
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-51-}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-52-
management/server/idp/embedded.go:53:// EmbeddedStorageConfig holds storage configuration for the embedded IdP.
management/server/idp/embedded.go:54:type EmbeddedStorageConfig struct {
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-55-	// Type is the storage type (currently only "sqlite3" is supported)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-56-	Type string
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-57-	// Config contains type-specific configuration
management/server/idp/embedded.go:58:	Config EmbeddedStorageTypeConfig
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-59-}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-60-
management/server/idp/embedded.go:61:// EmbeddedStorageTypeConfig contains type-specific storage configuration.
management/server/idp/embedded.go:62:type EmbeddedStorageTypeConfig struct {
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-63-	// File is the path to the SQLite database file (for sqlite3 type)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-64-	File string
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-65-}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-66-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-67-// OwnerConfig represents the initial owner/admin user for the embedded IdP.


Grep

type EmbeddedStorageConfig|type EmbeddedStorageTypeConfig|type EmbeddedIdPConfig


/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-13-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-14-	"github.com/netbirdio/netbird/idp/dex"
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-15-	"github.com/netbirdio/netbird/management/server/telemetry"
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-16-)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-17-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-18-const (
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-19-	staticClientDashboard  = "netbird-dashboard"
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-20-	staticClientCLI        = "netbird-cli"
management/server/idp/embedded.go-21-	defaultCLIRedirectURL1 = "http://localhost:53000/"
management/server/idp/embedded.go-22-	defaultCLIRedirectURL2 = "http://localhost:54000/"
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-23-	defaultScopes          = "openid profile email groups"
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-24-	defaultUserIDClaim     = "sub"
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-25-)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-26-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-27-// EmbeddedIdPConfig contains configuration for the embedded Dex OIDC identity provider
management/server/idp/embedded.go:28:type EmbeddedIdPConfig struct {
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-29-	// Enabled indicates whether the embedded IDP is enabled
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-30-	Enabled bool
management/server/idp/embedded.go-31-	/ Issuer is the OIDC issuer URL (e.g., "https://management.netbird.io/oauth2")
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-32-	Issuer string
management/server/idp/embedded.go-33-	/ LocalAddress is the management server's local listen address (e.g., ":8080" or "localhost:8080")
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-34-	// Used for internal JWT validation to avoid external network calls
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-35-	LocalAddress string
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-36-	// Storage configuration for the IdP database
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-37-	Storage EmbeddedStorageConfig
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-38-	// DashboardRedirectURIs are the OAuth2 redirect URIs for the dashboard client
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-39-	DashboardRedirectURIs []string
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-40-	// DashboardRedirectURIs are the OAuth2 redirect URIs for the dashboard client
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-41-	CLIRedirectURIs []string
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-42-	// Owner is the initial owner/admin user (optional, can be nil)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-43-	Owner *OwnerConfig
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-44-	// SignKeyRefreshEnabled enables automatic key rotation for signing keys
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-45-	SignKeyRefreshEnabled bool
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-46-	// LocalAuthDisabled disables the local (email/password) authentication connector.
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-47-	// When true, users cannot authenticate via email/password, only via external identity providers.
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-48-	// Existing local users are preserved and will be able to login again if re-enabled.
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-49-	// Cannot be enabled if no external identity provider connectors are configured.
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-50-	LocalAuthDisabled bool
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-51-}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-52-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-53-// EmbeddedStorageConfig holds storage configuration for the embedded IdP.
management/server/idp/embedded.go:54:type EmbeddedStorageConfig struct {
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-55-	// Type is the storage type (currently only "sqlite3" is supported)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-56-	Type string
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-57-	// Config contains type-specific configuration
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-58-	Config EmbeddedStorageTypeConfig
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-59-}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-60-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-61-// EmbeddedStorageTypeConfig contains type-specific storage configuration.
management/server/idp/embedded.go:62:type EmbeddedStorageTypeConfig struct {
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-63-	// File is the path to the SQLite database file (for sqlite3 type)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-64-	File string
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-65-}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-66-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-67-// OwnerConfig represents the initial owner/admin user for the embedded IdP.
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-68-type OwnerConfig struct {
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-69-	// Email is the user's email address (required)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-70-	Email string
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-71-	// Hash is the bcrypt hash of the user's password (required)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-72-	Hash string
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-73-	// Username is the display name for the user (optional, defaults to email)
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-74-	Username string
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-75-}
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-76-
/Users/misha/Documents/GolandProjects/netbird/netbird/management/server/idp/embedded.go-77-// ToYAMLConfig converts EmbeddedIdPConfig to dex.YAMLConfig.


Now let me check how the Dex storage is initialized — does it support postgres or only sqlite3?


idp/dex/provider_test.go-153-	yamlContent := `
idp/dex/provider_test.go-154-issuer: http://localhost:5556/dex
idp/dex/provider_test.go-155-storage:
idp/dex/provider_test.go:156:  type: sqlite3
idp/dex/provider_test.go-157-  config:
idp/dex/provider_test.go-158-    file: ` + filepath.Join(tmpDir, "dex.db") + `
idp/dex/provider_test.go-159-web:
--
idp/dex/provider_test.go-229-	yamlContent := `
idp/dex/provider_test.go-230-issuer: http://localhost:5556/dex
idp/dex/provider_test.go-231-storage:
idp/dex/provider_test.go:232:  type: sqlite3
idp/dex/provider_test.go-233-  config:
idp/dex/provider_test.go-234-    file: ` + filepath.Join(tmpDir, "dex.db") + `
idp/dex/provider_test.go-235-web:
--
idp/dex/config.go-166-	Config map[string]interface{} `yaml:"config" json:"config"`
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/config.go-167-}
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/config.go-168-
idp/dex/config.go:169:// ToStorageConnector converts a Connector to storage.Connector type.
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/config.go-170-func (c *Connector) ToStorageConnector() (storage.Connector, error) {
idp/dex/config.go-171-	data, err := json.Marshal(c.Config)
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/config.go-172-	if err != nil {
--
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/config.go-189-// OpenStorage opens a storage based on the config
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/config.go-190-func (s *Storage) OpenStorage(logger *slog.Logger) (storage.Storage, error) {
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/config.go-191-	switch s.Type {
idp/dex/config.go:192:	case "sqlite3":
idp/dex/config.go-193-		file, _ := s.Config["file"].(string)
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/config.go-194-		if file == "" {
idp/dex/config.go:195:			return nil, fmt.Errorf("sqlite3 storage requires 'file' config")
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/config.go-196-		}
idp/dex/config.go-197-		return (&sql.SQLite3{File: file}).Open(logger)
idp/dex/config.go-198-	default:
idp/dex/config.go:199:		return nil, fmt.Errorf("unsupported storage type: %s", s.Type)
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/config.go-200-	}
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/config.go-201-}
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/config.go-202-
--
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/config.go-206-		return fmt.Errorf("no issuer specified in config file")
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/config.go-207-	}
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/config.go-208-	if c.Storage.Type == "" {
idp/dex/config.go:209:		return fmt.Errorf("no storage type specified in config file")
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/config.go-210-	}
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/config.go-211-	if c.Web.HTTP == "" && c.Web.HTTPS == "" {
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/config.go-212-		return fmt.Errorf("must supply a HTTP/HTTPS address to listen on")
--
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/connector.go-178-		dexType = "microsoft"
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/connector.go-179-		configData, err = buildOAuth2ConnectorConfig(cfg, redirectURI)
idp/dex/connector.go-180-	default:
idp/dex/connector.go:181:		return storage.Connector{}, fmt.Errorf("unsupported connector type: %s", cfg.Type)
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/connector.go-182-	}
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/connector.go-183-	if err != nil {
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/connector.go-184-		return storage.Connector{}, err
--
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/connector.go-336-
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/connector.go-337-	p.logger.Info("checking for non-local connectors", "total_connectors", len(connectors))
idp/dex/connector.go-338-	for _, conn := range connectors {
idp/dex/connector.go:339:		p.logger.Info("found connector in storage", "id", conn.ID, "type", conn.Type, "name", conn.Name)
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/connector.go-340-		if conn.ID != "local" || conn.Type != "local" {
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/connector.go-341-			p.logger.Info("found non-local connector", "id", conn.ID)
/Users/misha/Documents/GolandProjects/netbird/netbird/idp/dex/connector.go-342-			return true, nil


The Dex storage currently only supports `sqlite3` (`idp/dex/config.go:192`). But the user wants to add support for postgres in the combined config so it can be extended. Let me now check how `ToManagementConfig` builds the embedded IdP config, and how the combined config currently sets it up.


   598→	// Build HTTP config (required, even if empty)
   599→	httpConfig := &nbconfig.HttpServerConfig{}
   600→
   601→	// Build embedded IDP config (always enabled in combined server)
   602→	storageFile := mgmt.Auth.Storage.File
   603→	if storageFile == "" {
   604→		storageFile = path.Join(mgmt.DataDir, "idp.db")
   605→	}
   606→
   607→	embeddedIdP := &idp.EmbeddedIdPConfig{
   608→		Enabled:               true,
   609→		Issuer:                mgmt.Auth.Issuer,
   610→		LocalAuthDisabled:     mgmt.Auth.LocalAuthDisabled,
   611→		SignKeyRefreshEnabled: mgmt.Auth.SignKeyRefreshEnabled,
   612→		Storage: idp.EmbeddedStorageConfig{
   613→			Type: mgmt.Auth.Storage.Type,
   614→			Config: idp.EmbeddedStorageTypeConfig{
   615→				File: storageFile,
   616→			},
   617→		},
   618→		DashboardRedirectURIs: mgmt.Auth.DashboardRedirectURIs,
   619→		CLIRedirectURIs:       mgmt.Auth.CLIRedirectURIs,
   620→	}
   621→
   622→	if mgmt.Auth.Owner != nil && mgmt.Auth.Owner.Email != "" {
   623→		embeddedIdP.Owner = &idp.OwnerConfig{
   624→			Email: mgmt.Auth.Owner.Email,
   625→			Hash:  mgmt.Auth.Owner.Password, // Will be hashed if plain text
   626→		}
   627→	}

	// Build HTTP config (required, even if empty)
	httpConfig := &nbconfig.HttpServerConfig{}

	// Build embedded IDP config (always enabled in combined server)
	storageFile := mgmt.Auth.Storage.File
	if storageFile == "" {
		storageFile = path.Join(mgmt.DataDir, "idp.db")
	}

	embeddedIdP := &idp.EmbeddedIdPConfig{
		Enabled:               true,
		Issuer:                mgmt.Auth.Issuer,
		LocalAuthDisabled:     mgmt.Auth.LocalAuthDisabled,
		SignKeyRefreshEnabled: mgmt.Auth.SignKeyRefreshEnabled,
		Storage: idp.EmbeddedStorageConfig{
			Type: mgmt.Auth.Storage.Type,
			Config: idp.EmbeddedStorageTypeConfig{
				File: storageFile,
			},
		},
		DashboardRedirectURIs: mgmt.Auth.DashboardRedirectURIs,
		CLIRedirectURIs:       mgmt.Auth.CLIRedirectURIs,
	}

	if mgmt.Auth.Owner != nil && mgmt.Auth.Owner.Email != "" {
		embeddedIdP.Owner = &idp.OwnerConfig{
			Email: mgmt.Auth.Owner.Email,
			Hash:  mgmt.Auth.Owner.Password, // Will be hashed if plain text
		}
	}


Now let me look at the current `AuthConfig` and `AuthStorageConfig`:


   131→
   132→// AuthConfig contains authentication/identity provider settings
   133→type AuthConfig struct {
   134→	Issuer                string            `yaml:"issuer"`
   135→	LocalAuthDisabled     bool              `yaml:"localAuthDisabled"`
   136→	SignKeyRefreshEnabled bool              `yaml:"signKeyRefreshEnabled"`
   137→	Storage               AuthStorageConfig `yaml:"storage"`
   138→	DashboardRedirectURIs []string          `yaml:"dashboardRedirectURIs"`
   139→	CLIRedirectURIs       []string          `yaml:"cliRedirectURIs"`
   140→	Owner                 *AuthOwnerConfig  `yaml:"owner,omitempty"`
   141→}
   142→
   143→// AuthStorageConfig contains auth storage settings
   144→type AuthStorageConfig struct {
   145→	Type string `yaml:"type"`
   146→	File string `yaml:"file"`
   147→}
   148→
   149→// AuthOwnerConfig contains initial admin user settings
   150→type AuthOwnerConfig struct {
   151→	Email    string `yaml:"email"`
   152→	Password string `yaml:"password"`
   153→}
   154→
   155→// HostConfig represents a STUN/TURN/Signal host

// AuthConfig contains authentication/identity provider settings
type AuthConfig struct {
	Issuer                string            `yaml:"issuer"`
	LocalAuthDisabled     bool              `yaml:"localAuthDisabled"`
	SignKeyRefreshEnabled bool              `yaml:"signKeyRefreshEnabled"`
	Storage               AuthStorageConfig `yaml:"storage"`
	DashboardRedirectURIs []string          `yaml:"dashboardRedirectURIs"`
	CLIRedirectURIs       []string          `yaml:"cliRedirectURIs"`
	Owner                 *AuthOwnerConfig  `yaml:"owner,omitempty"`
}

// AuthStorageConfig contains auth storage settings
type AuthStorageConfig struct {
	Type string `yaml:"type"`
	File string `yaml:"file"`
}

// AuthOwnerConfig contains initial admin user settings
type AuthOwnerConfig struct {
	Email    string `yaml:"email"`
	Password string `yaml:"password"`
}

// HostConfig represents a STUN/TURN/Signal host


Now let me read the current `ServerConfig` to see where to add the new field:


    47→type ServerConfig struct {
    48→	ListenAddress      string    `yaml:"listenAddress"`
    49→	MetricsPort        int       `yaml:"metricsPort"`
    50→	HealthcheckAddress string    `yaml:"healthcheckAddress"`
    51→	LogLevel           string    `yaml:"logLevel"`
    52→	LogFile            string    `yaml:"logFile"`
    53→	TLS                TLSConfig `yaml:"tls"`
    54→
    55→	// Simplified config fields (used when relay/signal/management sections are omitted)
    56→	ExposedAddress string `yaml:"exposedAddress"` // Public address with protocol (e.g., "https://example.com:443")
    57→	StunPorts      []int  `yaml:"stunPorts"`      // STUN ports (empty to disable local STUN)
    58→	AuthSecret     string `yaml:"authSecret"`     // Shared secret for relay authentication
    59→	DataDir        string `yaml:"dataDir"`        // Data directory for all services
    60→
    61→	// External service overrides (simplified mode)
    62→	// When these are set, the corresponding local service is NOT started
    63→	// and these values are used for client configuration instead
    64→	Stuns     []HostConfig `yaml:"stuns"`     // External STUN servers (disables local STUN)
    65→	Relays    RelaysConfig `yaml:"relays"`    // External relay servers (disables local relay)
    66→	SignalURI string       `yaml:"signalUri"` // External signal server (disables local signal)
    67→
    68→	// Management settings (simplified mode)
    69→	DisableAnonymousMetrics bool               `yaml:"disableAnonymousMetrics"`
    70→	DisableGeoliteUpdate    bool               `yaml:"disableGeoliteUpdate"`
    71→	Auth                    AuthConfig         `yaml:"auth"`
    72→	Store                   StoreConfig        `yaml:"store"`
    73→	ActivityStore           StoreConfig        `yaml:"activityStore"`
    74→	ReverseProxy            ReverseProxyConfig `yaml:"reverseProxy"`
    75→}
    76→

type ServerConfig struct {
	ListenAddress      string    `yaml:"listenAddress"`
	MetricsPort        int       `yaml:"metricsPort"`
	HealthcheckAddress string    `yaml:"healthcheckAddress"`
	LogLevel           string    `yaml:"logLevel"`
	LogFile            string    `yaml:"logFile"`
	TLS                TLSConfig `yaml:"tls"`

	// Simplified config fields (used when relay/signal/management sections are omitted)
	ExposedAddress string `yaml:"exposedAddress"` // Public address with protocol (e.g., "https://example.com:443")
	StunPorts      []int  `yaml:"stunPorts"`      // STUN ports (empty to disable local STUN)
	AuthSecret     string `yaml:"authSecret"`     // Shared secret for relay authentication
	DataDir        string `yaml:"dataDir"`        // Data directory for all services

	// External service overrides (simplified mode)
	// When these are set, the corresponding local service is NOT started
	// and these values are used for client configuration instead
	Stuns     []HostConfig `yaml:"stuns"`     // External STUN servers (disables local STUN)
	Relays    RelaysConfig `yaml:"relays"`    // External relay servers (disables local relay)
	SignalURI string       `yaml:"signalUri"` // External signal server (disables local signal)

	// Management settings (simplified mode)
	DisableAnonymousMetrics bool               `yaml:"disableAnonymousMetrics"`
	DisableGeoliteUpdate    bool               `yaml:"disableGeoliteUpdate"`
	Auth                    AuthConfig         `yaml:"auth"`
	Store                   StoreConfig        `yaml:"store"`
	ActivityStore           StoreConfig        `yaml:"activityStore"`
	ReverseProxy            ReverseProxyConfig `yaml:"reverseProxy"`
}


Now I see the full picture. The IdP store currently only supports sqlite3, and the config is nested inside `auth.storage`. I'll add a top-level `idpStore` field to `ServerConfig` that, when set, overrides the auth storage config. This keeps it consistent with `store` and `activityStore`.


Edit

	Store                   StoreConfig        `yaml:"store"`
	ActivityStore           StoreConfig        `yaml:"activityStore"`
	ReverseProxy            ReverseProxyConfig `yaml:"reverseProxy"`

	Store                   StoreConfig        `yaml:"store"`
	ActivityStore           StoreConfig        `yaml:"activityStore"`
	IdpStore                IdpStoreConfig     `yaml:"idpStore"`
	ReverseProxy            ReverseProxyConfig `yaml:"reverseProxy"`