mirror of
https://github.com/Dvorinka/Containr.git
synced 2026-10-28 07:41:27 +00:00
feat(scheduling): node tags + service placement_tags affinity (#58)
Operator-set node labels (node_agents.tags) gate which nodes a service may schedule onto: services.placement_tags requires every listed tag. auto and spread filter eligible agents by tags; tags are re-evaluated each reconcile so retagging a node re-spreads replicas. Pin + tags and local + tags rejected; empty array clears the requirement. Surfaces: --placement-tags on services create/update, nodes update --tags, MCP args, OpenAPI, node-detail tag editor, service-detail placement-tags input. Generated with [Devin](https://devin.ai) Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
1 parent
9de586f177
commit
4458de56b0
23 files changed
+475
-37
No files matched your search
@@ -68,7 +68,8 @@ CREATE TABLE services (
|
||||
static_build_cmd VARCHAR(255) NOT NULL DEFAULT '',
|
||||
static_dir VARCHAR(255) NOT NULL DEFAULT '',
|
||||
node_id VARCHAR(255),
|
||||
spread BOOLEAN NOT NULL DEFAULT false
|
||||
spread BOOLEAN NOT NULL DEFAULT false,
|
||||
placement_tags JSONB NOT NULL DEFAULT '[]'
|
||||
);
|
||||
|
||||
CREATE TABLE registries (
|
||||
@@ -196,7 +197,8 @@ CREATE TABLE node_agents (
|
||||
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
|
||||
metadata JSONB,
|
||||
auto_prune BOOLEAN NOT NULL DEFAULT false,
|
||||
schedulable BOOLEAN NOT NULL DEFAULT true
|
||||
schedulable BOOLEAN NOT NULL DEFAULT true,
|
||||
tags JSONB NOT NULL DEFAULT '[]'
|
||||
);
|
||||
|
||||
CREATE TABLE container_instances (
|
||||
|
||||
Reference in new issue
Block a user