space-architect 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +24 -0
- data/lib/space_core/templates/oci/dockerfile.erb +7 -0
- data/lib/space_core/templates/oci/entrypoint.sh.erb +6 -0
- data/lib/space_core/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4ded62e199397e162bba1ff6ee37a5c6a9c7ee83a446d154107036aa4d628768
|
|
4
|
+
data.tar.gz: 592a6bb0c3b10b2773873e7fc3fd79cf7197bad78ada5520c5c9dc77e60aae2f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 91b5a865cb40557085399853e723e7763c2a54cb183d95b9744f9886753579aa841309f3f2dc490d28a3ad10d4693db06cfb615a9716b2b13fe68ded86b932f6
|
|
7
|
+
data.tar.gz: 6ebb0c24e6e603252aab77da49ff2b904d22084e0c840f7d46d5ac0eb66ec7c315ec04816d6446dc537cac5b3dbc58c7663d8bbbb563443566cd6e84de5ee05a
|
data/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,29 @@ All notable changes to this project are documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.0.1] - 2026-07-01
|
|
9
|
+
|
|
10
|
+
Fast-follow completing the `pack.persist:` story from 2.0.0.
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **Seed-on-empty for `pack.persist:`.** Content baked at a persisted path now
|
|
15
|
+
survives a first-run empty bind mount. `space pack` snapshots each persisted
|
|
16
|
+
dir to a `/opt/space-seed<path>` sidecar after provisioning, and the entrypoint
|
|
17
|
+
restores an empty mount from its seed on first run only (a non-empty mount
|
|
18
|
+
keeps its evolving state). Previously the empty host mount shadowed the baked
|
|
19
|
+
content — e.g. a provisioned `~/.hermes/config.yaml` was hidden once
|
|
20
|
+
`/root/.hermes` was persisted. Template-only; a space with no `pack.persist:`
|
|
21
|
+
renders an identical Dockerfile and entrypoint.
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
|
|
25
|
+
- **First-run boot on bind-mount-root-restricted runtimes.** The seed restore
|
|
26
|
+
tolerates a benign copy failure (`2>/dev/null || true`) so that on runtimes
|
|
27
|
+
where the persisted path is a bind mount whose root rejects utime updates
|
|
28
|
+
(virtiofs under Apple `container`), the entrypoint's `set -e` no longer turns a
|
|
29
|
+
cosmetic `cp` EPERM into a fatal abort before the payload execs.
|
|
30
|
+
|
|
8
31
|
## [2.0.0] - 2026-07-01
|
|
9
32
|
|
|
10
33
|
A ground-up release across four fronts:
|
|
@@ -293,6 +316,7 @@ the **BREAKING** items under Changed. The repository is now a monorepo; the
|
|
|
293
316
|
lanes, worktrees, and headless `claude -p` dispatch, with variant sets and the
|
|
294
317
|
claude-code and opencode harnesses.
|
|
295
318
|
|
|
319
|
+
[2.0.1]: https://github.com/jetpks/space-architect/compare/v2.0.0...v2.0.1
|
|
296
320
|
[2.0.0]: https://github.com/jetpks/space-architect/compare/v1.3.0...v2.0.0
|
|
297
321
|
[1.3.0]: https://github.com/jetpks/space-architect/compare/v1.2.0...v1.3.0
|
|
298
322
|
[1.2.0]: https://github.com/jetpks/space-architect/compare/v1.1.0...v1.2.0
|
|
@@ -56,6 +56,13 @@ RUN printf 'export PATH="/usr/local/bundle/bin:/root/.local/bin:$PATH"\n' \
|
|
|
56
56
|
RUN /space/<%= script %>
|
|
57
57
|
<% end -%>
|
|
58
58
|
<% end -%>
|
|
59
|
+
<% if persist_paths.any? -%>
|
|
60
|
+
|
|
61
|
+
# Seed snapshot: capture baked content of persisted dirs so a first-run (empty) mount is seeded from it
|
|
62
|
+
<% persist_paths.each do |guest_path| -%>
|
|
63
|
+
RUN mkdir -p "/opt/space-seed<%= guest_path %>" && cp -a "<%= guest_path %>/." "/opt/space-seed<%= guest_path %>/" 2>/dev/null || true
|
|
64
|
+
<% end -%>
|
|
65
|
+
<% end -%>
|
|
59
66
|
|
|
60
67
|
WORKDIR /space
|
|
61
68
|
|
|
@@ -3,6 +3,12 @@ set -e
|
|
|
3
3
|
git config --global --add safe.directory '*'
|
|
4
4
|
git config --global --get user.name >/dev/null 2>&1 || git config --global user.name 'space-architect'
|
|
5
5
|
git config --global --get user.email >/dev/null 2>&1 || git config --global user.email 'architect@localhost'
|
|
6
|
+
<% persist_paths.each do |guest_path| -%>
|
|
7
|
+
if [ -d "/opt/space-seed<%= guest_path %>" ] && [ -z "$(ls -A "<%= guest_path %>" 2>/dev/null)" ]; then
|
|
8
|
+
mkdir -p "<%= guest_path %>"
|
|
9
|
+
cp -a "/opt/space-seed<%= guest_path %>/." "<%= guest_path %>/" 2>/dev/null || true
|
|
10
|
+
fi
|
|
11
|
+
<% end -%>
|
|
6
12
|
if [ "$#" -eq 0 ]; then
|
|
7
13
|
exec bash --login
|
|
8
14
|
else
|
data/lib/space_core/version.rb
CHANGED