Documentation Advanced topics Deployment resolution
ADVANCED TOPICS

Deployment resolution

When more than one deployment covers the same item on the same computer, Overseer follows one of them. This page explains how the winner is chosen and how to use that to make exceptions.

What deployment resolution is

A deployment is a standing declaration: this should be true here. Deployments overlap on purpose. You set a standard for every client, vary it for one client, and make an exception for one computer or one person.

For any one item on any one computer, Overseer can follow only one declaration. An item is a piece of software or a task. A computer cannot have the same application both Installed and Uninstalled.

Deployment resolution is how Overseer settles this. Out of every deployment that covers the item on that computer, it picks one, the winning deployment, and follows it. The others are set aside for that item on that computer. They still apply everywhere else they are aimed.

The rule: the more specific target wins

Overseer compares the targets of the competing deployments. The deployment aimed at the more specific target wins.

Target What it covers Gives way to
Every client Every computer you manage A deployment for one client, for a tag, or for a single computer or person
One client That client's computers A deployment for a tag, or for a single computer or person
A tag The computers that carry the tag A deployment for a single computer or person
A single computer or a person One computer, or the computers one person uses Nothing. This is the most specific target.

The desired state plays no part in the choice. A specific deployment that says Uninstalled beats a broad one that says Installed, and the reverse is equally true.

Resolution works item by item. The winner is chosen separately for each piece of software and each task. One computer can follow your every-client deployment for one item and a single-computer deployment for another.

Making an exception

Suppose a client wants its time-recording application on all of its computers, apart from the shared computer at the front desk. You do not narrow the first deployment. You add a second.

  • The standard. A deployment for the application with the desired state Installed, targeted at the one client.
  • The exception. A deployment for the same application with the desired state Uninstalled, targeted at the front-desk computer.

Both deployments cover the front-desk computer. The second is more specific, so it wins there. The application is installed across the client and removed from the front desk. With both deployments enforced as Required, every maintenance session keeps it that way.

An exception can follow a person instead of a computer. Target the exception at the person, and it applies to the computers that person uses.

If you want Overseer to leave the item alone on the front-desk computer, set the exception to Ignored. Overseer then neither installs the application there nor removes it.

Swapping one item for another

An exception can replace one item with another. Suppose a deployment for every client installs your standard video-meeting application, and one client uses a different one.

Because resolution works item by item, the swap takes two deployments, both targeted at that client.

  • Stand the standard down. A deployment for the standard application with the desired state Uninstalled.
  • Bring in the replacement. A deployment for the client's own application with the desired state Installed.

At the next maintenance session on that client's computers, the standard application is removed and the client's own is installed. Your every-client deployment is unchanged and still applies to all your other clients.

Working with the rule

  • Set each standard as broadly as it is true. If something holds for all your clients, declare it for every client once.
  • Add exceptions; do not bend the standard. The one computer with a special need gets its own deployment. The standard stays whole for the rest.
  • Keep an exception as narrow as its reason. An exception for one person belongs on that person, not on the whole client.

Next steps

Targets and targetingWho a deployment applies to, and how overlaps are settled. DeploymentsStanding declarations of what should be true, and where. Creating and managing deploymentsDeclare what should be true, where, and how strictly it is enforced.
Was this article helpful?
← Command reference Common issues →

In development. Launch inquiries welcome.

This documentation describes Overseer as it is being built. If you would like to hear when it launches, get in touch.

Ask about launch