Author SHA1 Message Date
NuklearRabbit a42012d9c0 hygiene: prepare MobilityOps for public release
MobilityOps acceptance / acceptance (pull_request) Failing after 10m16s
2026-09-02 23:44:03 +02:00
Jens 0de9177e7c Merge pull request 'Use Gitea-compatible canary evidence upload' (#3) from codex/resolve-projectbrain-findings-20260828 into master
Unraid autoredeploy / Deploy mobilityops (push) Failing after 1m11s
Reviewed-on: #3
2026-09-01 20:09:22 +00:00
7 changed files with 15 additions and 3 deletions
+4
View File
@@ -86,6 +86,10 @@ N8N_ENCRYPTION_KEY=replace-me
N8N_BASIC_AUTH_ACTIVE=true N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=change-me N8N_BASIC_AUTH_PASSWORD=change-me
# Recipient and sender used by the importable alert workflow. Configure real,
# monitored addresses in the deployment environment; repository defaults stay synthetic.
MOBILITYOPS_ALERT_RECIPIENT=alerts@example.test
MOBILITYOPS_ALERT_SENDER=n8n@example.test
MOBILITYOPS_CALLBACK_TOKEN=replace-me-n8n-callback-token MOBILITYOPS_CALLBACK_TOKEN=replace-me-n8n-callback-token
# Sent as the X-Fleet-Ops-Trigger-Token header when Fleet Ops calls the n8n return- # Sent as the X-Fleet-Ops-Trigger-Token header when Fleet Ops calls the n8n return-
# processing webhook, so the webhook trigger can require Header Auth instead of being # processing webhook, so the webhook trigger can require Header Auth instead of being
+2
View File
@@ -12,6 +12,8 @@ permissions:
jobs: jobs:
acceptance: acceptance:
# Never execute code from an untrusted public fork on the private runner.
if: ${{ gitea.event.pull_request.head.repo.full_name == gitea.repository }}
runs-on: ubuntu-latest runs-on: ubuntu-latest
timeout-minutes: 60 timeout-minutes: 60
steps: steps:
+4
View File
@@ -0,0 +1,4 @@
81e3fd63bdbcb2e9c4ae1d709ea46f40537b6f62:backend/tests/test_data_quality.py:generic-api-key:869
0091c57c7fd82ffda16da1edfe5fa5589c8f1e13:backend/tests/test_return.py:generic-api-key:93
0091c57c7fd82ffda16da1edfe5fa5589c8f1e13:backend/tests/test_return.py:generic-api-key:122
0091c57c7fd82ffda16da1edfe5fa5589c8f1e13:backend/tests/test_return.py:generic-api-key:127
+1 -1
View File
@@ -15,7 +15,7 @@ release line only.
Do not disclose suspected vulnerabilities through a public issue. Do not disclose suspected vulnerabilities through a public issue.
Report them privately to `jens@itworx.tech` with: Report them privately to `security@itworx.tech` with:
- the affected revision, endpoint or component; - the affected revision, endpoint or component;
- reproduction steps and prerequisites; - reproduction steps and prerequisites;
+2
View File
@@ -107,6 +107,8 @@ services:
N8N_BASIC_AUTH_PASSWORD: ${N8N_BASIC_AUTH_PASSWORD:-change-me} N8N_BASIC_AUTH_PASSWORD: ${N8N_BASIC_AUTH_PASSWORD:-change-me}
N8N_SECURE_COOKIE: "false" N8N_SECURE_COOKIE: "false"
N8N_BLOCK_ENV_ACCESS_IN_NODE: "false" N8N_BLOCK_ENV_ACCESS_IN_NODE: "false"
MOBILITYOPS_ALERT_RECIPIENT: ${MOBILITYOPS_ALERT_RECIPIENT:-alerts@example.test}
MOBILITYOPS_ALERT_SENDER: ${MOBILITYOPS_ALERT_SENDER:-n8n@example.test}
MOBILITYOPS_CALLBACK_TOKEN: ${MOBILITYOPS_CALLBACK_TOKEN:-replace-me-n8n-callback-token} MOBILITYOPS_CALLBACK_TOKEN: ${MOBILITYOPS_CALLBACK_TOKEN:-replace-me-n8n-callback-token}
ports: ports:
- "5678:5678" - "5678:5678"
+1 -1
View File
@@ -121,4 +121,4 @@ this handler was not observed live.
| Active status | Imported inactive by default; production deployment must publish it before enabling Alertmanager. | | Active status | Imported inactive by default; production deployment must publish it before enabling Alertmanager. |
| Error Workflow | `Fleet Ops — Workflow Error Handler` (wired) | | Error Workflow | `Fleet Ops — Workflow Error Handler` (wired) |
| Safety | Strict Alertmanager payload shape, bounded to 25 alerts and bounded text fields. | | Safety | Strict Alertmanager payload shape, bounded to 25 alerts and bounded text fields. |
| Checksum (sha256) | `3672ad3d14b65c603c8c3f2067197cc50372e9d4c2fc314d1c9b6aaf3ecef444` | | Checksum (sha256) | `4eb1ae41c4e675a9bb51a43722a507da8a6eae8a6ce8649b7e3a57417911a418` |
+1 -1
View File
@@ -17,7 +17,7 @@
"id": "accept", "name": "Accept alert", "type": "n8n-nodes-base.respondToWebhook", "typeVersion": 1.4, "position": [740, 300] "id": "accept", "name": "Accept alert", "type": "n8n-nodes-base.respondToWebhook", "typeVersion": 1.4, "position": [740, 300]
}, },
{ {
"parameters": {"toRecipients": "jens@itworx.tech", "subject": "={{ $('Validate and format').item.json.subject }}", "bodyContent": "={{ $('Validate and format').item.json.html }}", "additionalFields": {"from": "n8n@itworx.tech", "bodyContentType": "html"}}, "parameters": {"toRecipients": "={{ $env.MOBILITYOPS_ALERT_RECIPIENT || 'alerts@example.test' }}", "subject": "={{ $('Validate and format').item.json.subject }}", "bodyContent": "={{ $('Validate and format').item.json.html }}", "additionalFields": {"from": "={{ $env.MOBILITYOPS_ALERT_SENDER || 'n8n@example.test' }}", "bodyContentType": "html"}},
"id": "email", "name": "Send owner email", "type": "n8n-nodes-base.microsoftOutlook", "typeVersion": 2, "position": [980, 300], "id": "email", "name": "Send owner email", "type": "n8n-nodes-base.microsoftOutlook", "typeVersion": 2, "position": [980, 300],
"credentials": {"microsoftOutlookOAuth2Api": {"id": "EDTj3sOsganaoDVL", "name": "M365 n8n Shared Mailbox"}}, "credentials": {"microsoftOutlookOAuth2Api": {"id": "EDTj3sOsganaoDVL", "name": "M365 n8n Shared Mailbox"}},
"retryOnFail": true, "maxTries": 3, "waitBetweenTries": 1000 "retryOnFail": true, "maxTries": 3, "waitBetweenTries": 1000