{"id":"6a0a53abe29488c374780534","title":"2026 05 17 Issue 260","path":"how-to/committee/release-notes/2026-05-17-issue-260","contentMarkdown":"# 17-May-2026 — self-heal missing AUTH_SECRET when resuming a pre-[#258](https://github.com/nbarrett/ngx-ramblers/issues/258) environment [ref: #260](https://github.com/nbarrett/ngx-ramblers/issues/260)\n\n## [build 647](https://github.com/nbarrett/ngx-ramblers/actions/runs/26005601269) — [commit 33d25ff](https://github.com/nbarrett/ngx-ramblers/commit/33d25fffbcc6d35afbf57751cf531df0e15bde23)\n\n_____\n\n### **env-setup**: self-heal missing AUTH_SECRET when resuming a pre-[#258](https://github.com/nbarrett/ngx-ramblers/issues/258) environment ([#260](https://github.com/nbarrett/ngx-ramblers/issues/260))\n\nEnvironments whose DB record was written before #258 can lack AUTH_SECRET\nin envConfig.secrets - the wizard generated it in memory and wrote it to a\nnow-defunct non-vcs/secrets/ file but never persisted it. Resuming such an\nenvironment failed at the deployToFlyio pre-flight check with\n\"missing required secrets [AUTH_SECRET]\", forcing a destroy/recreate or a\nhand-backfill into the DB document.\n\nresumeEnvironment now classifies missing REQUIRED_SECRETS before deploy:\n- AUTH_SECRET is auto-generated, persisted back to the environment record,\nand reported on the wizard progress stream, then the deploy proceeds.\n- Any other missing required secret (AWS_*, MONGODB_URI, NODE_ENV) throws\nfast with a message naming exactly what is missing and where to supply it.\n\n- secrets.ts: classifyMissingRequiredSecrets splits missing required\nsecrets into autoGeneratable vs unrecoverable.\n- environments-config.ts: persistEnvironmentSecret deep-merges a single\nsecret into one environment's secrets without touching the rest.\n- environment.ts: healMissingRequiredSecrets orchestrates the recovery.\n- secrets.spec.ts: unit tests for the classifier.","contentHtml":"<h1>17-May-2026 — self-heal missing AUTH_SECRET when resuming a pre-<a href=\"https://github.com/nbarrett/ngx-ramblers/issues/258\">#258</a> environment <a href=\"https://github.com/nbarrett/ngx-ramblers/issues/260\">ref: #260</a></h1>\n<h2><a href=\"https://github.com/nbarrett/ngx-ramblers/actions/runs/26005601269\">build 647</a> — <a href=\"https://github.com/nbarrett/ngx-ramblers/commit/33d25fffbcc6d35afbf57751cf531df0e15bde23\">commit 33d25ff</a></h2>\n<hr>\n<h3><strong>env-setup</strong>: self-heal missing AUTH_SECRET when resuming a pre-<a href=\"https://github.com/nbarrett/ngx-ramblers/issues/258\">#258</a> environment (<a href=\"https://github.com/nbarrett/ngx-ramblers/issues/260\">#260</a>)</h3>\n<p>Environments whose DB record was written before #258 can lack AUTH_SECRET\nin envConfig.secrets - the wizard generated it in memory and wrote it to a\nnow-defunct non-vcs/secrets/ file but never persisted it. Resuming such an\nenvironment failed at the deployToFlyio pre-flight check with\n&quot;missing required secrets [AUTH_SECRET]&quot;, forcing a destroy/recreate or a\nhand-backfill into the DB document.</p>\n<p>resumeEnvironment now classifies missing REQUIRED_SECRETS before deploy:</p>\n<ul>\n<li><p>AUTH_SECRET is auto-generated, persisted back to the environment record,\nand reported on the wizard progress stream, then the deploy proceeds.</p>\n</li>\n<li><p>Any other missing required secret (AWS_*, MONGODB_URI, NODE_ENV) throws\nfast with a message naming exactly what is missing and where to supply it.</p>\n</li>\n<li><p>secrets.ts: classifyMissingRequiredSecrets splits missing required\nsecrets into autoGeneratable vs unrecoverable.</p>\n</li>\n<li><p>environments-config.ts: persistEnvironmentSecret deep-merges a single\nsecret into one environment&#39;s secrets without touching the rest.</p>\n</li>\n<li><p>environment.ts: healMissingRequiredSecrets orchestrates the recovery.</p>\n</li>\n<li><p>secrets.spec.ts: unit tests for the classifier.</p>\n</li>\n</ul>\n"}