-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy path.dockerignore
More file actions
91 lines (78 loc) · 2.76 KB
/
Copy path.dockerignore
File metadata and controls
91 lines (78 loc) · 2.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# This file applies to the whole build context and therefore to EVERY stage in
# docker/Dockerfile, including the `dev` stage that backs the devcontainer.
#
# Two rules keep it honest:
# 1. Only list paths that NO stage needs at build time. Paths that runtime
# images should skip but the dev stage requires (.github, archived_notes,
# .gitignore, docker/Dockerfile, ...) belong in a per-stage
# `COPY --exclude=` on the runtime/test stages instead. Excluding them here
# silently strips them from the devcontainer and makes `git status` report
# them as deleted.
# 2. Anything start-dev.sh clobber-mounts over /app at runtime should be
# excluded here — copying it in is waste. Safe only because every such path
# is gitignored, so its absence cannot surface as a phantom deletion.
# Python artifacts
__pycache__
**/__pycache__
*.py[cod]
*$py.class
*.egg-info
vultron.egg-info
.eggs
# Virtual environments
.venv
**/.venv
# Build and test caches
.pytest_cache
**/.pytest_cache
.mypy_cache
**/.mypy_cache
.ruff_cache
.coverage
coverage.xml
htmlcov
# MkDocs build output
site
# Node.js
node_modules
package-lock.json
# IDE / editor metadata
.idea
.vscode
# Database files (runtime data, not source)
*.db
*.sqlite
# Log files
*.log
devlogs
diosts.log
# macOS metadata
.DS_Store
**/.DS_Store
# Local agent/assistant state — unknown contents, may hold tokens
.copilot
# Runtime-mounted paths (rule 2 above). start-dev.sh mounts each of these over
# /app when it creates the container, so the copied-in version is never read.
wip_notes
wip_outputs
graphify-out
# NOTE: .devcontainer is deliberately NOT excluded here. Its files are TRACKED,
# so rule 1 applies: withholding them left /app/.devcontainer empty, which
# start-dev.sh had to paper over by bind-mounting the host directory back in.
# That made one host directory the working tree for every slot container AND the
# host repo at once, each with its own HEAD — so whichever git wrote last decided
# the bytes and every other repo reported phantom modifications. Only the secret
# is withheld now (see below); the rest is baked in.
# Secrets — must not be baked into any image layer, the dev stage included.
# NOTE: .dockerignore is independent of .gitignore. A git-ignored secret is
# still part of the build context and still lands in the image unless it is
# listed HERE. Never rely on .gitignore to keep credentials out of a layer.
#
# devcontainer.env (AWS credentials, written by .devcontainer/setup.sh) is the
# ONLY path under .devcontainer/ withheld from the build. It is gitignored, so
# its absence cannot surface as a phantom deletion. start-dev.sh supplies it at
# runtime via `docker run --env-file`.
# .env.example files are intentionally NOT matched by these patterns.
.env
**/.env
.devcontainer/*.env