Skip to content

Move Local Runtime Credentials to the Repo-Scoped .secrets/ Convention - #227

Merged
ptr727 merged 3 commits into
developfrom
fix/dot-secrets
Oct 31, 2026
Merged

ptr727 merged 3 commits into
developfrom
fix/dot-secrets

Conversation

@ptr727

@ptr727 ptr727 commented Oct 31, 2026 •

Copy link
Copy Markdown
Owner

Summary

Brings the local runtime credential directory in line with GOVERNANCE.md "Repo-Scoped Secrets". The fleet audit does not detect this, since the directory is untracked, so the maintainer found it by reading the tree.

  • .gitignore: the bare secrets/ ignore is replaced by the convention's three-line .secrets/ pattern.
  • .secrets/immich_api_key.example and a .secrets/README.md catalog are tracked.
  • .vscode/launch.json "Trash DB" reads ${workspaceFolder}/.secrets/immich_api_key, extensionless per the rule.
  • OPERATIONS.md "Configuration Layout" and GOVERNANCE.md "Repository Layout" list the directory.

Local step for any other checkout: move secrets/immich_api_key.txt to .secrets/immich_api_key, then delete secrets/. After this merges the old path is no longer ignored. The maintainer's primary checkout has already been moved.

Verification

  • git check-ignore confirms a real .secrets/<name> is ignored while the .example and catalog stay tracked.
  • Hub prose gate, markdownlint and cspell are clean locally.
  • A local strict review (agent-skill, frontier tier) ran two rounds. It fixed two wording errors in the catalog. It moved the legacy-path risk into the step above rather than keep a bare secrets/ ignore.

🤖 Generated with Claude Code

ptr727 and others added 2 commits October 31, 2026 10:35
GOVERNANCE.md "Repo-Scoped Secrets" names the directory .secrets/,
dotted, with extensionless single-value files, a tracked .example beside
each, and a README.md catalog as the only other tracked file.

Replace the bare secrets/ ignore with the convention's three-line pattern,
add the immich_api_key placeholder and catalog, point the Trash DB debug
configuration at .secrets/immich_api_key, and list the directory in
OPERATIONS.md "Configuration Layout" and GOVERNANCE.md "Repository Layout".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
/secrets/ in the usage examples is an example host path, not a container
mount, and /run/secrets/ is a Docker secret in a compose example.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings October 31, 2026 17:39
@coderabbitai

coderabbitai Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

Important

  • Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 0b820a49-a72b-4f0c-ac5b-54443a9f46fe
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@ptr727

ptr727 commented Oct 31, 2026

Copy link
Copy Markdown
Owner Author

A recorded local strict-review pass covers head 843bc71db26257b011bcbe2c4dc02801d3e8a6e2, the content this pull request carries at that commit against develop, and it recorded 3 findings.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ptr727

ptr727 commented Oct 31, 2026

Copy link
Copy Markdown
Owner Author

A recorded local strict-review pass covers head d7eb23bc4d1117abec5b3ab58174538200b102c3, the content this pull request carries at that commit against develop, and it recorded 0 findings.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

A critical security gap remains because .secrets is not excluded from Docker build contexts, with an additional README ambiguity about secret paths.

1 open issue
What changed in this PR

This pull request moves local Immich runtime credentials from the legacy secrets/ path to the repo-scoped .secrets/ convention, updating configuration, ignore rules, and documentation.

Changes:

  • Replaces the broad secrets/ ignore rule with standardized .secrets/ patterns.
  • Updates the VS Code Trash DB configuration to use .secrets/immich_api_key.
  • Adds a tracked credential example and catalog.
  • Documents the new layout in OPERATIONS.md and GOVERNANCE.md.
  • Requires excluding .secrets/ from Docker build contexts and clarifying the README’s /run/secrets/ reference.

This pull request requires changes.

File Summary
OPERATIONS.md Documents the repo-scoped secrets directory and tracked-file policy.
GOVERNANCE.md Adds .secrets/ to the repository layout.
.vscode/​launch.json Points the Trash DB configuration to .secrets/immich_api_key.
.secrets/​README.md Catalogs the local credential and requires clarification between host and container secret paths.
.secrets/​immich_api_key.example Provides the tracked placeholder credential file.
.gitignore Ignores real .secrets/ files while allowing examples and the catalog.

Review effort: Lite

Comment thread .secrets/README.md Resolved
@ptr727
ptr727 merged commit 225a7d5 into develop Oct 31, 2026
12 checks passed
@ptr727
ptr727 deleted the fix/dot-secrets branch October 31, 2026 18:14
@ptr727 ptr727 mentioned this pull request Oct 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants