Printer assignment end to end, and a container that keeps a site's files
Assign printers to a MACHINE and let whichever PC controls it install them, with the observed half kept strictly apart from the assigned half: a collector report can never write an assignment row. Adoption is explicit. Adds a singular relationship type so defaultprinter can mean exactly one, client scripts that converge a bay's queues and correct a drifted one in place, and a wave gate so a fleet-wide driver rollout cannot stampede its own share. On the container side: the compose stack never persisted the instance directory, so a rebuild discarded plugins.json and every upload. It is a volume now, the image ships instance/ owned by the app user so the mountpoint is writable, and the database moves to MySQL 8.4 LTS, which the Windows runbook has recommended since 8.0 went end of life. The image also could not build at all: the frontend stage never copied the plugin staging script it runs. Adds a topology migration guide covering IIS to Docker and back.
This commit is contained in:
@@ -162,6 +162,25 @@ class ComputersPlugin(BasePlugin):
|
||||
},
|
||||
}
|
||||
|
||||
def get_settings_cards(self) -> List[dict]:
|
||||
"""The asset reporter's own settings page.
|
||||
|
||||
It is a settings card rather than a docs page because it does two things
|
||||
an operator needs at the same moment: name this site's routable ranges,
|
||||
and download the reporter that carries them.
|
||||
"""
|
||||
return [
|
||||
{
|
||||
'group': 'Computers',
|
||||
'to': '/settings/collector',
|
||||
'icon': 'download',
|
||||
'title': 'Asset reporter',
|
||||
'description': 'Download the collector script stamped with this '
|
||||
'site\'s URL and ranges',
|
||||
'position': 26,
|
||||
},
|
||||
]
|
||||
|
||||
def get_settings_defaults(self) -> List[dict]:
|
||||
"""Settings this plugin owns.
|
||||
|
||||
@@ -178,6 +197,19 @@ class ComputersPlugin(BasePlugin):
|
||||
'description': 'Hours without a collector report before a PC '
|
||||
'is listed as not reporting on the dashboard.',
|
||||
},
|
||||
{
|
||||
'key': 'computers_routableranges',
|
||||
'value': '',
|
||||
'valuetype': 'string',
|
||||
'category': 'computers',
|
||||
'description': 'Comma-separated CIDRs naming this site\'s '
|
||||
'routable ranges, e.g. 10.20.0.0/23,10.21.4.0/26. '
|
||||
'Stamped into the collector script this server '
|
||||
'generates, so a bay with a controller NIC and a '
|
||||
'corporate NIC reports the right one. Blank uses '
|
||||
'the NIC carrying the default route, which needs '
|
||||
'no knowledge of a site\'s addressing.',
|
||||
},
|
||||
{
|
||||
'key': 'computers_machinelink_alerts',
|
||||
'value': 'false',
|
||||
|
||||
Reference in New Issue
Block a user