gioser

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1184Shell 71Rust 62Markdown 501503 Sutichaykuna

⎇ c7f122697c96500e98fc59ee11fc2e7c79c5a489 web/takana-os.net/README.md Markdown · 73 siq'ikuna · 3.0 KB Ñawpa willay ch'uya

sitio: el README de operación no se sirve — el matcher del vhost lo 404ea c7f122697 · Sergio ·

1# `takana-os.net` — el sitio del proyecto
2
3Una sola página, autocontenida, en dos idiomas y dos temas. **No le pide nada a terceros:** las
4tipografías de la marca (Chivo e IBM Plex, las dos SIL OFL) viajan acá en `fuentes/`, subconjuntos
5`latin` y `latin-ext`, 154 KB en total. Un sitio sobre no depender de binarios ajenos que cargara
6las fuentes de Google en cada visita sería una contradicción barata.
7
8| | |
9|---|---|
10| `index.html` | la página entera: CSS y JS adentro, el símbolo como `<symbol>` SVG inline |
11| `fuentes.css` + `fuentes/` | las ocho caras `@font-face`, servidas de acá |
12| `simbolo.svg` | el favicon — el martillo tocapu 7×7, derivado de `docs/marca/simbolo-fondo-claro.svg` |
13
14La paleta y la tipografía salen de **`docs/marca/README.md`** y no se inventan acá. La única
15desviación, deliberada: en tema claro el texto de acento usa un brasa oscurecido (`#9E3F16`), porque
16el `#DF6B2A` de la marca sobre alpaca da 2,9:1 y no se lee. Las combinaciones de la página están
17medidas: ninguna baja de 4,5:1.
18
19## Las dos direcciones que publica
20
21- **código** → `https://git.gioser.net/sergio/takana` (público; `git clone` por HTTPS)
22- **paquetes** → `https://takana-os.net/repo/`, que es el MISMO `/srv/repo` firmado que sirve
23  `repo.gioser.net`. Comprobado: `takana install age --repo https://repo.gioser.net --trust ./trust`
24  responde `release: trusted (by release)`.
25
26⚠ `takana repo list --repo <url>` **no habla HTTP** — sólo directorios locales — y ante una URL dice
27«repo vacío» con salida 0 en vez de decir que no sabe. El que sí baja por red es `install --repo`.
28
29## Cómo se sirve
30
31Caddy, en la caja `takana`, vhost `takana-os.net, www.takana-os.net`. La raíz es
32**`/work/sergio/takana/web/takana-os.net`**, el árbol de trabajo vivo: *publicar es guardar el
33fichero*. No lo refresca `publicar-webs.sh` a propósito — un `pull` sobre el árbol compartido mueve
34HEAD bajo los pies de otro agente (CLAUDE.md §2 ter).
35
36Este README **no se sirve**: son notas de operación, y el matcher del vhost las 404ea.
37
38El bloque, por si hay que rehacer la caja (`caddy validate` → `arjectl restart caddy`, **nunca**
39`caddy reload`: el Caddyfile lleva `admin off`, SDD 28 §6.14):
40
41```caddyfile
42takana-os.net, www.takana-os.net {
43	import acceso
44	encode gzip zstd
45
46	redir /repo /repo/ permanent
47	handle_path /repo/* {
48		root * /srv/repo
49		file_server browse
50	}
51
52	handle {
53		root * /work/sergio/takana/web/takana-os.net
54		@oculto path /.* */.* /README.md
55		respond @oculto 404
56		file_server
57	}
58}
59```
60
61## DNS
62
63El dominio se registró el 2026-09-21 y **el vhost está puesto antes que los registros**: hasta que
64`takana-os.net` resuelva a la caja, Caddy no puede pedir el certificado y el nombre no responde.
65Hacen falta dos `A` a `2.29.29.217` (la IP de la caja), igual que la de `repo`:
66
67```
68takana-os.net.       A  2.29.29.217
69www.takana-os.net.   A  2.29.29.217
70```
71
72Con eso puesto, el certificado sale solo en la primera petición — y **tarda unos segundos más que
73el primer `curl`**: si da error, reintentar antes de ir a mirar logs (SDD 28 §6.14).

README.md

takana-os.net — el sitio del proyecto

Una sola página, autocontenida, en dos idiomas y dos temas. No le pide nada a terceros: las tipografías de la marca (Chivo e IBM Plex, las dos SIL OFL) viajan acá en fuentes/, subconjuntos latin y latin-ext, 154 KB en total. Un sitio sobre no depender de binarios ajenos que cargara las fuentes de Google en cada visita sería una contradicción barata.

index.htmlla página entera: CSS y JS adentro, el símbolo como <symbol> SVG inline
fuentes.css + fuentes/las ocho caras @font-face, servidas de acá
simbolo.svgel favicon — el martillo tocapu 7×7, derivado de docs/marca/simbolo-fondo-claro.svg

La paleta y la tipografía salen de docs/marca/README.md y no se inventan acá. La única desviación, deliberada: en tema claro el texto de acento usa un brasa oscurecido (#9E3F16), porque el #DF6B2A de la marca sobre alpaca da 2,9:1 y no se lee. Las combinaciones de la página están medidas: ninguna baja de 4,5:1.

Las dos direcciones que publica

⚠ takana repo list --repo <url> no habla HTTP — sólo directorios locales — y ante una URL dice «repo vacío» con salida 0 en vez de decir que no sabe. El que sí baja por red es install --repo.

Cómo se sirve

Caddy, en la caja takana, vhost takana-os.net, www.takana-os.net. La raíz es /work/sergio/takana/web/takana-os.net, el árbol de trabajo vivo: publicar es guardar el fichero. No lo refresca publicar-webs.sh a propósito — un pull sobre el árbol compartido mueve HEAD bajo los pies de otro agente (CLAUDE.md §2 ter).

Este README no se sirve: son notas de operación, y el matcher del vhost las 404ea.

El bloque, por si hay que rehacer la caja (caddy validate → arjectl restart caddy, nunca caddy reload: el Caddyfile lleva admin off, SDD 28 §6.14):

takana-os.net, www.takana-os.net {
	import acceso
	encode gzip zstd

	redir /repo /repo/ permanent
	handle_path /repo/* {
		root * /srv/repo
		file_server browse
	}

	handle {
		root * /work/sergio/takana/web/takana-os.net
		@oculto path /.* */.* /README.md
		respond @oculto 404
		file_server
	}
}

DNS

El dominio se registró el 2026-09-21 y el vhost está puesto antes que los registros: hasta que takana-os.net resuelva a la caja, Caddy no puede pedir el certificado y el nombre no responde. Hacen falta dos A a 2.29.29.217 (la IP de la caja), igual que la de repo:

takana-os.net.       A  2.29.29.217
www.takana-os.net.   A  2.29.29.217

Con eso puesto, el certificado sale solo en la primera petición — y tarda unos segundos más que el primer curl: si da error, reintentar antes de ir a mirar logs (SDD 28 §6.14).