feat: add MDM managed app configuration support for iOS#105
feat: add MDM managed app configuration support for iOS#105dbrieck wants to merge 2 commits intonetbirdio:mainfrom
Conversation
Integrate Apple Managed App Configuration to allow MDM solutions to push NetBird configuration to managed iOS devices. - Add ManagedConfigReader to read from com.apple.configuration.managed - Apply MDM config in NetworkExtensionAdapter.start() - Apply MDM config in PacketTunnelProvider.startTunnel() - Auto-login with setup key when provided by MDM Related to netbirdio/netbird#1918
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 47 minutes and 11 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
|
Only users with a collaborator, contributor, member, or owner role can interact with CodeRabbit. |
Use config.getManagementURL() so NewAuth connects to the correct MDM-specified server instead of passing an empty string which defaults to api.netbird.io.
Summary
Add Apple Managed App Configuration support, allowing MDM solutions (Jamf, Intune, Mosyle, etc.) to push NetBird configuration to managed iOS devices for zero-touch deployment.
Related to netbirdio/netbird#1918
Changes
NetbirdKit/ManagedConfigReader.swift— Reads MDM config fromUserDefaults(suiteName: "com.apple.configuration.managed"), populates Go SDKManagedConfig, and handles setup key auto-loginNetbirdKit/NetworkExtensionAdapter.swift— CallsapplyManagedConfig()instart()before login check (iOS only)NetbirdNetworkExtension/PacketTunnelProvider.swift— Applies MDM config instartTunnel()before VPN connection (iOS only)Supported MDM Keys
managementUrlsetupKeyadminUrlpreSharedKeyrosenpassEnabledrosenpassPermissivedisableAutoConnectHow It Works
ManagedConfigReaderreads from managed UserDefaultsDependencies