Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DDM: add an activation for each declaration #17410

Closed
3 tasks
roperzh opened this issue Mar 6, 2024 · 3 comments
Closed
3 tasks

DDM: add an activation for each declaration #17410

roperzh opened this issue Mar 6, 2024 · 3 comments
Assignees
Labels
~backend Backend-related issue. #g-mdm MDM product group P2 Prioritize as urgent :release Ready to write code. Scheduled in a release. See "Making changes" in handbook. ~sub-task A technical sub-task that is part of a story. (Not QA'd. Not estimated.)
Milestone

Comments

@roperzh
Copy link
Member

roperzh commented Mar 6, 2024

Context

From Apple's Documentation

If at least one activation that references a configuration is active, the system applies the policies defined by the configuration.

So we need at least one activation. Note that:

Activations have a many-to-many relationship with configurations: one activation can reference many configurations, and many activations can reference the same configuration.

But we still want to do one activation per declaration because of:

Activations contain a set of configurations that the system applies atomically to the device, such that the system applies all referenced configurations together, or none.

So if each declaration is independent from the others.

Implementation

  • After a configuration is uploaded via the UI or the CLI, create a new activation that references it, and it doesn't contain any conditional values (ie: always evaluates to true)
{
  "Identifier": "com.fleet.activation.${identifier}",
  "Payload": {
    "StandardConfigurations": [
      "${configuration_identifier}"
    ]
  },
  "ServerToken": "",
  "Type": "com.apple.activation.simple"
}
  • For ServerToken, start with a random UUID, refine if necessary
  • Insert this activation in the mdm_apple_declarations table
@roperzh roperzh added #g-mdm MDM product group :release Ready to write code. Scheduled in a release. See "Making changes" in handbook. :product Product Design department (shows up on 🦢 Drafting board) and removed :release Ready to write code. Scheduled in a release. See "Making changes" in handbook. labels Mar 6, 2024
@georgekarrv
Copy link
Member

@georgekarrv
Copy link
Member

declaration configuration activition obliteration

@georgekarrv georgekarrv added :release Ready to write code. Scheduled in a release. See "Making changes" in handbook. ~sub-task A technical sub-task that is part of a story. (Not QA'd. Not estimated.) ~backend Backend-related issue. and removed :product Product Design department (shows up on 🦢 Drafting board) labels Mar 11, 2024
@lukeheath lukeheath added this to the 4.48.0-tentative milestone Mar 11, 2024
@georgekarrv georgekarrv added the P2 Prioritize as urgent label Mar 14, 2024
@fleet-release
Copy link
Contributor

Activation per declaration,
Ease and control in the equation.
A breeze through configurations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
~backend Backend-related issue. #g-mdm MDM product group P2 Prioritize as urgent :release Ready to write code. Scheduled in a release. See "Making changes" in handbook. ~sub-task A technical sub-task that is part of a story. (Not QA'd. Not estimated.)
Development

No branches or pull requests

4 participants