feat(config): default read URLs use anonymous HTTPS; keep env overrides; pin scheme with offline test

This commit is contained in:
kj
2026-10-06 14:59:16 -03:00
parent 15b66733b6
commit 74da6f9c64
3 changed files with 21 additions and 3 deletions
+1 -1
View File
@@ -65,7 +65,7 @@ por el componente que pides; los metadatos del paquete no se instalan.
El instalador global arranca un proyecto desde cero y no necesita nada previo:
#+BEGIN_SRC sh
git clone git@git.kj2.me:kj/duckbrain-toolbox.git
git clone https://git.kj2.me/kj/duckbrain-toolbox.git
ln -s "$PWD/duckbrain-toolbox/bin/duckbrain" ~/.local/bin/duckbrain
duckbrain install mi-proyecto # descarga el núcleo Duckbrain
+2 -2
View File
@@ -13,13 +13,13 @@ final class Config
public static function toolboxUrl(): string
{
return self::env('DUCKBRAIN_TOOLBOX_URL')
?: 'git@git.kj2.me:kj/duckbrain-toolbox.git';
?: 'https://git.kj2.me/kj/duckbrain-toolbox.git';
}
public static function coreUrl(): string
{
return self::env('DUCKBRAIN_CORE_URL')
?: 'git@git.kj2.me:kj/duckbrain.git';
?: 'https://git.kj2.me/kj/duckbrain.git';
}
/**
+18
View File
@@ -0,0 +1,18 @@
<?php
use Toolbox\Config;
Harness::suite('group12');
Harness::it('los defaults de lectura son HTTPS anónimos y los env ganan', function () {
putenv('DUCKBRAIN_TOOLBOX_URL');
putenv('DUCKBRAIN_CORE_URL');
ok(str_starts_with(Config::toolboxUrl(), 'https://'), 'toolboxUrl por defecto en https');
ok(str_starts_with(Config::coreUrl(), 'https://'), 'coreUrl por defecto en https');
putenv('DUCKBRAIN_CORE_URL=ssh://git@example.test/kj/duckbrain.git');
eq('ssh://git@example.test/kj/duckbrain.git', Config::coreUrl(), 'el override gana sobre el default');
putenv('DUCKBRAIN_CORE_URL');
});