feat: add S3 and SQS permissions to service accounts and capability groups
- New capability groups: s3-users, s3-writers, sqs-users, sqs-writers - portfolio-agent: add s3:read, sqs:read - memory-agent: add s3:read, s3:write, sqs:read, sqs:write - Enables portfolio and memory services to access MinIO S3 and message queues via JWT
This commit is contained in:
@@ -185,6 +185,10 @@ GROUP_PERMISSIONS = {
|
|||||||
"llm-users": ["llm:inference"],
|
"llm-users": ["llm:inference"],
|
||||||
"memory-users": ["memory:read"],
|
"memory-users": ["memory:read"],
|
||||||
"memory-writers": ["memory:read", "memory:write"],
|
"memory-writers": ["memory:read", "memory:write"],
|
||||||
|
"s3-users": ["s3:read"],
|
||||||
|
"s3-writers": ["s3:read", "s3:write"],
|
||||||
|
"sqs-users": ["sqs:read"],
|
||||||
|
"sqs-writers": ["sqs:read", "sqs:write"],
|
||||||
}
|
}
|
||||||
perms = set()
|
perms = set()
|
||||||
for group in request.user.groups.all():
|
for group in request.user.groups.all():
|
||||||
@@ -806,7 +810,7 @@ print("\n[SERVICE ACCOUNTS] Creating service accounts for API access...")
|
|||||||
# Format: "<api>:<action>" e.g. "llm:inference", "memory:write"
|
# Format: "<api>:<action>" e.g. "llm:inference", "memory:write"
|
||||||
SERVICE_ACCOUNTS = {
|
SERVICE_ACCOUNTS = {
|
||||||
"portfolio-agent": {
|
"portfolio-agent": {
|
||||||
"roles": ["llm:inference", "memory:read"],
|
"roles": ["llm:inference", "memory:read", "s3:read", "sqs:read"],
|
||||||
"attributes": {
|
"attributes": {
|
||||||
"memory_projects": ["homelab", "portfolio"],
|
"memory_projects": ["homelab", "portfolio"],
|
||||||
"memory_visibility": "public",
|
"memory_visibility": "public",
|
||||||
@@ -815,7 +819,7 @@ SERVICE_ACCOUNTS = {
|
|||||||
"secret_name": "portfolio-agent-oidc",
|
"secret_name": "portfolio-agent-oidc",
|
||||||
},
|
},
|
||||||
"memory-agent": {
|
"memory-agent": {
|
||||||
"roles": ["llm:inference", "memory:read", "memory:write"],
|
"roles": ["llm:inference", "memory:read", "memory:write", "s3:read", "s3:write", "sqs:read", "sqs:write"],
|
||||||
"attributes": {
|
"attributes": {
|
||||||
"memory_projects": ["*"],
|
"memory_projects": ["*"],
|
||||||
"memory_visibility": "private",
|
"memory_visibility": "private",
|
||||||
|
|||||||
Reference in New Issue
Block a user