{
 "flight": {
  "id": 907569,
  "agent": "devin",
  "state": "open",
  "title": "pageserver, safekeeper: make authentication mandatory without dev mode",
  "number": 11696,
  "source": "aidev",
  "commits": 9,
  "debrief": null,
  "outcome": "stale",
  "signals": [
   "aidev:Devin"
  ],
  "index_ok": false,
  "additions": 14695,
  "closed_at": null,
  "deletions": 8240,
  "merged_at": null,
  "opened_at": "2025-04-24T11:04:29+00:00",
  "task_type": "feat",
  "body_chars": 391,
  "confidence": "dataset",
  "updated_at": "2026-11-03T17:53:33.703657+00:00",
  "enriched_at": null,
  "body_excerpt": "# Problem\n\nIf someone forgets to configure certificates etc, storage services would too easily run in an insecure state.\n\nFixes #11237\n\n# Solution\n\n- #11526 added a CLI flag for the safekeeper and a config for the pageserver to set \"development mode\".\n- In this PR, authentication on network interfac",
  "review_count": 6,
  "files_changed": 364,
  "hours_to_merge": null,
  "metrics_source": "aidev_commit_sum",
  "change_requests": 0,
  "og_generated_at": null,
  "reviewer_excerpt": "The control plane generates `pageserver.toml` config somewhere in control_plane/src/pageserver.rs. You also need to include dev_mode there, so tests will start with no error",
  "review_comment_count": 5,
  "reviewer_excerpt_url": "https://github.com/neondatabase/neon/pull/11696#issuecomment-2829492712"
 },
 "repo": {
  "name": "neon",
  "owner": "neondatabase",
  "stars": 23309,
  "license": "Apache-2.0",
  "full_name": "neondatabase/neon",
  "primary_language": "Rust"
 },
 "author": {
  "login": "devin-ai-integration[bot]",
  "name": null,
  "github_profile": "https://github.com/devin-ai-integration[bot]",
  "page": null
 },
 "claim": null,
 "events": [
  {
   "at": null,
   "url": null,
   "kind": "reviewed",
   "actor_login": null
  },
  {
   "at": null,
   "url": null,
   "kind": "reviewed",
   "actor_login": null
  },
  {
   "at": null,
   "url": null,
   "kind": "reviewed",
   "actor_login": null
  },
  {
   "at": null,
   "url": null,
   "kind": "reviewed",
   "actor_login": null
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "John Spray"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "John Spray"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "John Spray"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "John Spray"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "John Spray"
  },
  {
   "at": null,
   "url": null,
   "kind": "reviewed",
   "actor_login": null
  },
  {
   "at": null,
   "url": null,
   "kind": "reviewed",
   "actor_login": null
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Dmitrii Kovalkov"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Dmitrii Kovalkov"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "John Spray"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "John Spray"
  },
  {
   "at": "2025-04-24T11:05:08+00:00",
   "url": null,
   "kind": "labeled",
   "actor_login": "github-actions[bot]"
  }
 ],
 "related": [
  {
   "agent": "devin",
   "state": "merged",
   "title": "storcon: skip offline nodes in get_top_tenant_shards",
   "number": 12057,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 4,
   "deletions": 2,
   "merged_at": "2025-05-29T11:17:51+00:00",
   "opened_at": "2025-05-29T10:04:12+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": 1.23
  },
  {
   "agent": "devin",
   "state": "closed",
   "title": "Make `set_len` a tokio-epoll-uring operation",
   "number": 11865,
   "outcome": "burn",
   "index_ok": true,
   "additions": 50,
   "deletions": 33,
   "merged_at": null,
   "opened_at": "2025-05-08T12:24:26+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": null
  },
  {
   "agent": "devin",
   "state": "closed",
   "title": "Replace anyhow::Result with typed BlobWriterError in BlobWriter error path",
   "number": 11835,
   "outcome": "burn",
   "index_ok": true,
   "additions": 564,
   "deletions": 331,
   "merged_at": null,
   "opened_at": "2025-05-06T09:57:22+00:00",
   "task_type": "refactor",
   "files_changed": 11,
   "hours_to_merge": null
  }
 ],
 "pr_url": "https://github.com/neondatabase/neon/pull/11696",
 "page": "https://agentriders.com/logs/neondatabase/neon/11696/"
}