micromdm / nanodep

NanoDEP is a set of tools and a Go library powering them for communicating with Apple's Device Enrollment Program (DEP) API servers.
MIT License
33 stars 12 forks source link

depsyncer specifies whether there is a quantity limit for DEP, and what is the impact of a large quantity? #40

Closed Gaoxichao closed 9 months ago

Gaoxichao commented 9 months ago

depsyncer specifies whether there is a quantity limit for DEP, and what is the impact of a large quantity?

jessepeterson commented 9 months ago

Basically: the code will decode the larger JSON response in memory (up to the 1000 maximum API limit for Apple). Check out the Ops Guide:

https://github.com/micromdm/nanodep/blob/main/docs/operations-guide.md#-limit-int

  • limit fetch and sync calls to this many devices (0 for server default) The limit flag specifies how many devices to fetch at a time from the Apple DEP API. Apple's documentation says there is a server-side default of 100 an upper limit of 1000.
Gaoxichao commented 9 months ago

@jessepeterson Not the number of devices, but the number of DEPNAME (ABM)

jessepeterson commented 9 months ago

Ah, are you asking what the limit on the number of "DEP names" is? Answer is: it depends on the storage backend, but effectively: no real "limit." For MySQL there is one-row-per-dep-name, so however many DB rows you want. For the file backend each DEP name is a set of 6 or so files in the single DB directory. So: however big it is practical for filesystem directories to be.

Gaoxichao commented 9 months ago

@jessepeterson I'm asking about "depsyncer", that is, how many DEPs can be monitored at the same time

jessepeterson commented 9 months ago

Ahh, I see now, apologies. The real answer: I don't know. We don't have any limitations built-in so you should be able to stack them up. I've only tested it with about 5 at a time. I'd be curious how many you can get going! :)