Skip to content

Create fleet and assign Apple Business and Volume Purchasing program in one PR #39886

Description

@jakestenger

Interpretation (optional)

Customer: customer-easterwood

What's Fleet missing?
When creating a new team via GitOps that includes VPP apps, software, and other resources, the configuration cannot be applied atomically in a single fleetctl gitops run. Instead, users must run GitOps multiple times (e.g., once to create the team, again to add VPP apps, again for other items) because dependent resources fail when the team doesn't yet exist during the same run.

Current behavior:

  1. User defines a new team in their GitOps YAML with VPP apps, software, profiles, etc.
  2. Runs fleetctl gitops
  3. The team is created, but VPP app assignments and some other resources fail because they reference a team that was just created in the same run
  4. User must re-run fleetctl gitops 2-3 more times to get everything applied
  5. This is compounded by GitOps runs already taking 20-25 minutes for environments with 20+ teams

Ideal workflow:

  1. User declares the full desired state for a new team in YAML (team settings, VPP apps, software, profiles, scripts — everything)
  2. Runs fleetctl gitops once
  3. Fleet handles the ordering internally (create team → assign resources) within a single run
  4. The team is fully configured after one pass

Why this matters:
Customer has 20+ teams organized by region and business entity. Each GitOps run already takes 20-25 minutes. Requiring 3 separate runs to onboard a new team means ~1 hour of pipeline time for what should be a single declarative operation. This undermines the "declare desired state" promise of GitOps.

Context from Gong (Jan 22, 2026):
Former CSA Jason Lewis noted he wanted to investigate whether this is a bug or intentional. Customer (Jarryd Stanbrook, Easygo) described wanting to "declare their ideal state, even if it means creating a team and adding all apps and VPP stuff in one go, rather than in three separate iterations."

Related issues:

Metadata

Metadata

Assignees

No one assigned

    Labels

    customer-coelestinacustomer-easterwood~coreFeature contributes to the core purpose of Fleet: guide people out of the thicket through openness.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions