You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+32-37Lines changed: 32 additions & 37 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -83,40 +83,35 @@ brew install python@3.12
83
83
84
84
## Configuration
85
85
86
-
- Create a local `config.yaml` in your working directory. It is gitignored and not included in the repo.
87
-
- Any CLI flag overrides values from `config.yaml`.
88
-
- If neither config nor flags provide a value, the tool falls back to environment variables (for emulator detection) or sensible defaults.
86
+
Create an optional `config.yaml` in your working directory to customize behavior. **By default, all commands iterate over all namespaces and all kinds** unless you specify filters.
89
87
90
-
Example `config.yaml` (full example with comments):
88
+
### Minimal Example
91
89
92
90
```yaml
93
-
# Project / environment
94
-
project_id: "my-project"# (string) GCP project id. If omitted, ADC or DATASTORE_PROJECT_ID env var will be used.
95
-
emulator_host: "localhost:8010"# (string) Datastore emulator host (host:port). If set, the emulator path is used.
91
+
# Optional: specify project and emulator
92
+
project_id: "my-project"
93
+
emulator_host: "localhost:8010"
94
+
```
96
95
97
-
# Explicit filters (empty -> iterate all)
98
-
namespaces: [""] # (list) Namespaces to include. [""] means include default namespace and allow discovery of others.
99
-
kinds: [] # (list) Kinds to include. Empty/omit means discover all kinds per namespace.
96
+
### Common Options
100
97
101
-
# Defaults used by some commands (optional)
102
-
kind: ""# (string) Default kind used by analyze-fields when CLI --kind is not provided.
103
-
namespace: ""# (string) Default namespace used when CLI --namespace is omitted.
98
+
```yaml
99
+
# Optional filters (omit to process all namespaces and kinds)
100
+
namespaces: ["custom-ns"] # List specific namespaces, or omit to process all
101
+
kinds: ["MyKind"] # List specific kinds, or omit to process all
104
102
105
103
# Cleanup settings
106
-
ttl_field: "expireAt"# (string) Property name that contains the TTL/expiry timestamp.
107
-
delete_missing_ttl: true # (bool) If true, entities missing the TTL field will be deleted by cleanup.
108
-
batch_size: 500# (int) Number of keys to delete per batch when running cleanup (tunable).
104
+
ttl_field: "expireAt"# Field name containing expiry timestamp
105
+
batch_size: 500# Delete batch size
109
106
110
107
# Analysis settings
111
-
group_by_field: null # (string|null) Field name to group analysis by (e.g., batchId). Null means no grouping.
112
-
sample_size: 500# (int) Max entities to sample per-kind/per-group to bound analysis work. Set 0 or null to disable sampling.
113
-
enable_parallel: true # (bool) Enable multi-threaded processing for analysis and deletion. Set false to force single-threaded.
0 commit comments