Authorize Pacemaker actions with SO_PEERCRED

This commit is contained in:
Lyncoln
2026-09-17 12:45:46 -04:00
parent 773e046d42
commit 5a128fea36
4 changed files with 321 additions and 14 deletions
+24 -10
View File
@@ -95,6 +95,14 @@ print("valid_binding accepted")
server.registry = registry
server.pacemaker_resource_id = binding
server.pacemaker_peer_uid = 65534
server.pacemaker_peer_gid = 65534
authorized_peer = {
"pid": 1234,
"uid": 65534,
"gid": 65534,
}
ping = server.handle_request({
"protocol_version": 1,
@@ -113,11 +121,14 @@ require(
print("ping_binding reported")
response = server.handle_request({
"protocol_version": 1,
"resource": "postgresql-ha",
"action": "monitor",
})
response = server.handle_request(
{
"protocol_version": 1,
"resource": "postgresql-ha",
"action": "monitor",
},
authorized_peer,
)
require(
response["ok"] is True,
@@ -131,11 +142,14 @@ require(
print("matching_resource executed")
response = server.handle_request({
"protocol_version": 1,
"resource": "different-resource",
"action": "monitor",
})
response = server.handle_request(
{
"protocol_version": 1,
"resource": "different-resource",
"action": "monitor",
},
authorized_peer,
)
require(
response["ok"] is False,