Commit graph

10 commits

Author SHA1 Message Date
Jesús Pérez
1ac3401315
refactor(15 single-star batch 3): selective imports + dead drop (ADR-025 L2)
15 files. Most are dead `use ../config/accessor.nu *` imports dropped.

Selective imports:
  setup/utils.nu                 config/accessor/functions [get-providers-path]
  setup/detection.nu             setup/mod [8 symbols]
  plugins/secretumvault.nu       config/accessor/core [config-get]
  plugins/orchestrator.nu        config/accessor/core [config-get]
  kms/client.nu                  utils/error + utils/interface + plugins/kms
  deploy.nu                      result.nu [7 symbols]
  dependencies/resolver.nu       config/loader [get-config]

Dead imports dropped:
  setup/config.nu                config/accessor
  extensions/profiles.nu         config/accessor
  extensions/loader.nu           config/accessor
  workspace/init.nu              config/accessor
  utils/help.nu                  config/accessor
  utils/error_fixed.nu           config/accessor
  utils/error_clean.nu           config/accessor
  utils/error_final.nu           config/accessor
  dependencies/resolver.nu       oci/client

Validation: all 15 match or IMPROVE baseline:
  - 11 files: 0 errors
  - utils/error_fixed  4 -> 1  (IMPROVED)
  - utils/error_clean  4 -> 1  (IMPROVED)
  - dependencies/resolver  50 = 50 (unchanged pre-existing noise)
  - deploy.nu          19 = 19 (unchanged; file is orphaned — zero importers)

Refs: ADR-025
2026-04-17 12:17:22 +01:00
Jesús Pérez
e5ffc55104
refactor(23 files): selective imports + dangling/broken cleanup (ADR-025 L2/L3)
Large combined batch of 23 files refactored from star-imports to selective.
Grouped because two sub-batches accumulated in staging without intermediate
commit.

=== Orchestrator facades (Layer 3) ===
  ai/mod.nu              [12 symbols from ai/lib.nu]
  config/loader.nu       [14 symbols from loader/mod.nu]
  config/accessor/mod.nu [15 symbols from accessor/functions.nu]
  sops/mod.nu            [11 symbols from sops/lib.nu]
  user/mod.nu            [16 symbols from user/config.nu]

=== Selective imports ===
  defs/lists.nu                      utils/on_select (kept, selective)
  services/manager.nu                (all dead dropped)
  webhook/ai_webhook.nu              ai/lib [4] + settings/lib
  kms/lib.nu                         utils/error + utils/interface + plugins/kms
  gitea/locking.nu                   api_client [8]
  gitea/workspace_git.nu             api_client [3]
  gitea/extension_publish.nu         api_client [8] + config/loader
  infra_validator/rules_engine.nu    config_loader [3]
  plugins/kms.nu                     config/accessor/core [config-get]
  coredns/api_client.nu              config/loader [get-config]

=== Dangling imports removed (target file does not exist) ===
  coredns/docker.nu                  ../utils/log.nu → deleted (uses corefile.nu [2])
  coredns/zones.nu                   ../utils/log.nu → deleted (uses corefile.nu [1])
  coredns/service.nu                 ../utils/log.nu → deleted (uses corefile.nu [2])
  coredns/corefile.nu                ../utils/log.nu → deleted

=== Broken paths cleaned up ===
  project/detect.nu   Former `use ../../../lib_provisioning *` resolved to
    non-existent path (core/lib_provisioning). Silent no-op at runtime.
    Removed. Error count went 19 -> 17.

=== Dead imports dropped ===
  utils/ssh.nu           config/accessor DROPPED (dead)
  utils/init.nu          config/accessor DROPPED (dead)
  infra_validator/agent_interface.nu   report_generator DROPPED (dead)

=== Dynamic imports preserved ===
  providers/loader.nu   line 179 `use ($provider_entry.entry_point) *` is
    intentional runtime dispatch — not convertible to selective.

Validation: all files match pre-existing baseline. Gitea subsystem has
known pre-existing 50-error noise (transitive); independent of this work.

Refs: ADR-025
2026-04-17 12:13:13 +01:00
Jesús Pérez
5f60c1093b
refactor(5 subsystem mod.nu facades): selective re-exports (ADR-025 L3)
Batch of 5+1 facades converted from star re-exports to explicit symbol lists.

defs/mod.nu:
  about.nu [about_info]
  lists.nu [6 symbols]

integrations/mod.nu:
  ecosystem * (already selective — its re-exports are bounded)
  iac *       (fixed in same commit)

integrations/iac/mod.nu  (bonus fix):
  Former `use iac_orchestrator *` was TWO bugs: (1) missing `./` prefix made
  the import path ambiguous, (2) plain `use` vs `export use` meant the facade
  never actually re-exported anything. Converted to
  `export use ./iac_orchestrator.nu [5 symbols]`.
  Side-effect: nu --ide-check errors went 2 -> 4 because iac_orchestrator.nu
  now actually loads and its pre-existing bugs become visible. Not a
  regression — bugs were hidden, now surfaced.

kms/mod.nu:
  lib.nu    [5 symbols]
  client.nu [6 symbols including multi-word "main"]

mode/mod.nu:
  commands.nu [8 multi-word "mode X"]
  validator.nu [2 symbols]

oci/mod.nu:
  client.nu   [12 symbols]
  commands.nu [11 multi-word "oci X"]

Validation: errors match baseline for all 5 (defs, integrations, kms, mode,
oci). integrations/iac/mod.nu +2 errors are pre-existing bugs in
iac_orchestrator.nu revealed by correct facade behaviour.

Refs: ADR-025
2026-04-17 09:11:19 +01:00
Jesús Pérez
894046ef5a
feat(core): three-layer DAG, unified component arch, commands-registry cache, Nushell 0.112.2 migration
- DAG architecture: `dag show/validate/export` (nulib/main_provisioning/dag.nu),
    config loader (lib_provisioning/config/loader/dag.nu), taskserv dag-executor.
    Backed by schemas/lib/dag/*.ncl; orchestrator emits NATS events via
    WorkspaceComposition::into_workflow. See ADR-020, ADR-021.
  - Unified Component Architecture: components/mod.nu, main_provisioning/
    {components,workflow,extensions,ontoref-queries}.nu. Full workflow engine with
    topological sort and NATS subject emission. Blocks A-H complete (libre-daoshi).
  - Commands-registry: nulib/commands-registry.ncl (Nickel source, 314 lines) +
    JSON cache at ~/.cache/provisioning/commands-registry.json rebuilt on source
    change. cli/provisioning fast-path alias expansion avoids cold Nu startup.
    ADDING_COMMANDS.md documents new-command workflow.
  - Platform service manager: service-manager.nu (+573), startup.nu (+611),
    service-check.nu (+255); autostart/bootstrap/health/target refactored.
  - Nushell 0.112.2 migration: removed all try/catch and bash redirections;
    external commands prefixed with ^; type signatures enforced. Driven by
    scripts/refactor-try-catch{,-simplified}.nu.
  - TTY stack: removed shlib/*-tty.sh; replaced by cli/tty-dispatch.sh,
    tty-filter.sh, tty-commands.conf.
  - New domain modules: images/ (golden image lifecycle), workspace/{state,sync}.nu,
    main_provisioning/{bootstrap,cluster-deploy,fip,state}.nu, commands/{state,
    build,integrations/auth,utilities/alias}.nu, platform.nu expanded (+874).
  - Config loader overhaul: loader/core.nu slimmed (-759), cache/core.nu
    refactored (-454), removed legacy loaders/file_loader.nu (-330).
  - Thirteen new provisioning-<domain>.nu top-level modules for bash dispatcher.
  - Tests: test_workspace_state.nu (+351); updates to test_oci_registry,
    test_services.
  - README + CHANGELOG updated.
2026-04-17 04:27:33 +01:00
Jesús Pérez
adb28be45a
chore: Fix try cath and nushell bugs, fix long script files, review for nu 0.110.0 2026-01-21 10:24:17 +00:00
Jesús Pérez
eb20fec7de
chore: release 1.0.11 - nu script cleanup & refactoring + i18n fluentd
- Documented Fluent-based i18n system with locale detection
  - Bumped version from 1.0.10 to 1.0.11
2026-01-14 02:00:23 +00:00
Jesús Pérez
c62e967ce3
chore: complete KCL to Nickel migration cleanup and setup pre-commit
Clean up 404 KCL references (99.75% complete):
   - Rename kcl_* variables to schema_*/nickel_* (kcl_path→schema_path, etc.)
   - Update functions: parse_kcl_file→parse_nickel_file
   - Update env vars: KCL_MOD_PATH→NICKEL_IMPORT_PATH
   - Fix cli/providers-install: add has_nickel and nickel_version variables
   - Correct import syntax: .nickel.→.ncl.
   - Update 57 files across core, CLI, config, and utilities

   Configure pre-commit hooks:
   - Activate: nushell-check, nickel-typecheck, markdownlint
   - Comment out: Rust hooks (fmt, clippy, test), check-yaml

   Testing:
   - Module discovery: 9 modules (6 providers, 1 taskserv, 2 clusters) 
   - Syntax validation: 15 core files 
   - Pre-commit hooks: all passing 
2026-01-08 20:08:46 +00:00
Jesús Pérez
85ce530733
feat: update provisioning core CLI, libraries, and plugins
Update core components including CLI, Nushell libraries, plugins system,
and utility scripts for the provisioning system.

CLI Updates:
- Command implementations
- CLI utilities and dispatching
- Help system improvements
- Command validation

Library Updates:
- Configuration management system
- Infrastructure validation
- Extension system improvements
- Secrets management
- Workspace operations
- Cache management system

Plugin System:
- Interactive form plugin (inquire)
- KCL integration plugin
- Performance optimization plugins
- Plugin registration system

Utilities:
- Build and distribution scripts
- Installation procedures
- Testing utilities
- Development tools

Documentation:
- Library module documentation
- Extension API guides
- Plugin usage guides
- Service management documentation

All changes are backward compatible. No breaking changes.
2025-12-11 21:57:05 +00:00
Jesús Pérez
1fe83246d6
feat: integrate enterprise security system into core libraries
Adds KMS, secrets management, config encryption, and auth plugins to enable
zero-trust security architecture across the provisioning platform.
2025-10-09 16:36:27 +01:00
Jesús Pérez
d8b3cee856
chore: codebase 2025-10-07 10:32:04 +01:00