Commit Graph

80 Commits

Author SHA1 Message Date
542d704da4 docgen iter 2 2026-09-12 06:42:49 -03:00
966f8fc821 attemp to develop rig in spr without an actual use case 2026-08-26 07:27:12 -03:00
83b6cbebe3 init rig 2026-08-20 11:24:42 -03:00
a65c92257d Stop build.py sweeping secrets and bytecode into gen/
gen/<room>/ is the docker build context and soleprint/Dockerfile is `COPY . .`,
so anything reaching gen/ reaches an image layer — and registry.mcrn.ar is
public-read. station/tools/tester/.env has been gitignored since the last
incident, but .gitignore does not bind shutil: copy_path() called
shutil.copytree() with no ignore=, so the key was copied into every built room.
Verified extractable from soleprint_localtest-soleprint:latest (built 8 days
ago) at /app/station/tools/tester/.env.

ctrl/deploy.sh's --exclude='.env' is why this looked handled; it only covers the
rsync path, not the build-and-push path.

Two layers now:
  - copy_path()/merge_into() filter .env, __pycache__, *.pyc, .git, node_modules
    and virtualenvs out of bulk directory copies. Single-file copies named by a
    caller are untouched, so cfg/<room>/.env.example still ships.
  - soleprint/.dockerignore repeats the rule at the docker boundary and is
    copied into the context beside the Dockerfile. Follows the convention
    soleprint/atlas/.dockerignore already set (.env, .env.*, !.env.example).

Runtime is unaffected: no Dockerfile COPYs a .env, and the room compose files
supply it with `env_file: - .env`, read from the host at run time.

The key itself still needs rotating — it remains in git history.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 02:59:26 -03:00
78595f1bd9 Declare pass-through words PHONY in the Makefile
`make build ctrl` ran the build and then printed "make: 'ctrl' is up to date."
The empty rule from $(eval $(ARGS):;@:) is not enough when the word names a real
directory — and cfg, ctrl, docs, gen and init all exist at this level. Only
.PHONY stops make consulting the filesystem.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 02:55:06 -03:00
9bcd439266 Normalise line endings to LF
spr had no .gitattributes at all, despite shipping ctrl/*.sh and generating
gen/<room>/ctrl/*.sh. A checkout on Windows/WSL rewrites those to CRLF, and a
shell script with CRLF fails as `bad interpreter: /usr/bin/env bash^M` — which
reads as a broken installer rather than a line-ending problem.

Copied verbatim from rig/.gitattributes and deliberately duplicated rather than
shared: rig/ has to carry its own so it survives being handed over alone.

No tracked file in either repo currently has CRLF, so `git add --renormalize .`
rewrote nothing. Landing it now, while that is true, keeps it off the diff of
whatever lands next.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 02:55:06 -03:00
74f03566f1 Ignore client rigs at the repo root, before rig's tree lands
A rig is a copy of rig/ renamed after the environment it models, so its k8s
files spell out a real architecture — the one thing that must not be committed
here. rig/.gitignore already refuses them, but only within rig/: a copy is a
SIBLING of rig/, where that file has no reach. spr had no rule at all, so the
first `git add -A` after the fold would have committed one.

Anchored at the root, and the negation names the full path because `*-rig/` is
unanchored and would otherwise match rig/sample-rig too.

Verified both ways: a file under client-rig/ is ignored, one under
rig/sample-rig/ is not.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 02:54:45 -03:00
2d9bc9289c updates 33.2 112 2026-08-11 07:30:27 -03:00
910927993e updates 33.1 139 2026-08-10 09:19:19 -03:00
9a6337e493 updates 33.1 84 2026-08-10 05:36:32 -03:00
0b04516cbb updates 33.1 56 2026-08-10 03:44:50 -03:00
ef63b02554 update 33.1 50 2026-08-10 03:23:30 -03:00
33f0559268 updates 33.1 23 2026-08-10 01:35:13 -03:00
dfb1991ae3 updates 33.1 8 2026-08-10 00:32:47 -03:00
9fc4c23143 update docs 2026-05-06 12:04:19 -03:00
973f0a01c9 update sample app 2026-05-06 11:59:42 -03:00
38c2cfe50f untrack sample .env files, add .env.example placeholders
Live .env files (with real OAuth secrets) were tracked. Replaced with .env.example
templates. Existing .env files kept on disk so the sample still runs.

NOTE: prior history (8c5deb7, 88c2860) on gitea/main still contains the leaked
GOOGLE_CLIENT_SECRET. Rotate the credential in Google Cloud Console and decide
whether to rewrite history.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 05:33:34 -03:00
5f9cac1947 add fixture-invoicing example, sample-room wrap, kind cluster support
- examples/fixture-invoicing/: FastAPI + Vue + Postgres demo (4-entity invoice fixture)
- cfg/sample/: wraps the fixture (managed.repos points at examples/)
- ctrl/kind-{up,down,status}.sh + per-room k8s render in soleprint/ctrl/k8s/
- build.py: relative repo paths, resilient rmtree, optional k8s render hook
- cfg/.gitignore: stop ignoring sample/ and standalone/ template rooms

Manifests render cleanly but kind cluster has not been run end-to-end yet.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 05:30:52 -03:00
b886455431 untrack cfg/amar/ (already gitignored, has its own repo)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 05:06:48 -03:00
ec3391fe72 bootstrap datagen and graphgen 2026-04-16 18:59:30 -03:00
a80b72a9b1 updated docs 2026-04-14 10:32:05 -03:00
2e5a304181 wizard 2026-04-12 12:34:25 -03:00
54e7cfebd9 proper bootstrap script 2026-04-12 09:26:57 -03:00
def1b95bab remove local cfgs 2026-04-12 05:52:46 -03:00
3e625c2a27 tester fully decoupled 2026-04-12 05:50:08 -03:00
85a856b7ac updated modelgen, decoupling tester 2026-04-12 03:07:25 -03:00
af06309dad ai vein 2026-02-23 04:20:22 -03:00
a1141759a5 modelgen update 2026-02-09 17:55:07 -03:00
b2bd2245cb update gen script 2026-02-04 09:17:33 -03:00
0d2862c633 modelgen completed 2026-02-04 09:04:13 -03:00
buenosairesam
b233cd049a updated docs 2026-01-27 09:51:42 -03:00
buenosairesam
d783bb3a61 updated docs 2026-01-27 09:50:03 -03:00
buenosairesam
9eb720f90b fix: jinja2 template syntax in artery index 2026-01-27 09:38:56 -03:00
buenosairesam
fbe10a96d3 fix: rename VNC to VPN vein 2026-01-27 09:24:20 -03:00
buenosairesam
69121eb0c1 fix: pass rooms and depots to artery template to fix 500 error 2026-01-27 09:24:05 -03:00
buenosairesam
55d68ed371 Improve soleprint docs: bilingual EN/ES, system pages, architecture cleanup 2026-01-27 09:24:05 -03:00
buenosairesam
88c286029c Add /spr/ route for soleprint index, fix sidebar system labels 2026-01-27 09:24:05 -03:00
buenosairesam
5603979d5c Add session cookie for browser-isolated OAuth sessions 2026-01-27 09:24:05 -03:00
buenosairesam
2babd47835 homogeineze sidebar conf 2026-01-27 09:24:05 -03:00
buenosairesam
027f73794d added sample both local docker and system ngins options 2026-01-27 09:24:05 -03:00
buenosairesam
8c5deb74e8 fixed network issue with multiple managed rooms 2026-01-27 09:24:05 -03:00
buenosairesam
dd47f9c66f env merge fix 2026-01-27 09:24:05 -03:00
buenosairesam
e1f81889fc tuning the sidebar 2026-01-27 09:24:05 -03:00
buenosairesam
fecb978a5f updated sidebar 2026-01-27 09:24:05 -03:00
buenosairesam
cae5a913ca removed cfgs from repo 2026-01-27 09:24:05 -03:00
buenosairesam
c4e702eae3 refactor: unified google vein, prefixed module loading, cfg separation
- Unified google vein with OAuth + Sheets API
- Prefixed vein module loading (vein_google) to avoid pip package shadowing
- Preload pip packages before vein loading
- Added common/auth framework
- Rebranded sbwrapper from Pawprint to Soleprint
- Removed cfg/ from history (now separate repo)
- Keep cfg/standalone/ as sample configuration
- gitignore cfg/amar/ and cfg/dlt/ (private configs)
2026-01-27 09:24:05 -03:00
buenosairesam
6e18324a43 generate outside generated
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-01-21 23:26:47 -03:00
buenosairesam
423909d391 update readme 2026-01-20 10:01:58 -03:00
buenosairesam
d7d3c90152 more decoupling 2026-01-20 09:53:11 -03:00
buenosairesam
6b9a228d9a last tidying up 2026-01-20 06:15:59 -03:00