One universal Windows Agent package per version (agent_releases: version/ platform/architecture/sha256/status DRAFT|PUBLISHED|REVOKED; the binary lives on a local release-storage volume, never in PostgreSQL). An operator creates a pending installation (agent_enrollments) from Agents / Servidores -> + Nova instalação, then either downloads it directly or generates a one-time HTTPS link (short TTL, single use). Either path streams the package plus a freshly minted enrollment.json whose token is never written to storage in plaintext, only its SHA-256 hash. On the client host, gti-agent.ps1 install-auto verifies the bundle's SHA-256, refuses a non- HTTPS Hub, enrolls via POST /v1/agents/enroll (deleting the enrollment token immediately after, success or failure), writes an ACL-restricted .env with the newly issued permanent Agent token, and registers the Windows Service without starting it (Firebird stays unconfigured on purpose). Idempotent, replay-proof, rate-limited per IP, fully audited, never logs a secret. Migration 0022_agent_releases_enrollment (verified fresh-DB == upgrade-from-0021 by pg_dump diff). GTI_FISCAL_VERSION/AGENT_VERSION bumped to 1.1.0 as the single source of truth across code, packages, the release manifest and every published AgentRelease row. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
93 lines
2.0 KiB
JSON
93 lines
2.0 KiB
JSON
{
|
|
"artifact": "RELEASE_MANIFEST",
|
|
"GTI_FISCAL_VERSION": "1.1.0",
|
|
"generated_at": "2026-09-23T16:10:58+00:00",
|
|
"hub": {
|
|
"version": "1.1.0",
|
|
"api_compat": "1.0",
|
|
"engine_version": "0.3.0",
|
|
"decision_version": "mission-04c-ipi-ex-split"
|
|
},
|
|
"agent_version": "1.1.0",
|
|
"fiscal_engine": {
|
|
"ENGINE_VERSION": "0.3.0",
|
|
"DECISION_VERSION": "mission-04c-ipi-ex-split",
|
|
"DECISION_ENGINE_VERSION": "fiscal-decision-v1",
|
|
"PRODUCT_DEFAULTS_ENGINE_VERSION": "product-defaults-v1",
|
|
"ICMS_CONTEXT_ENGINE_VERSION": "icms-context-v1"
|
|
},
|
|
"migrations": {
|
|
"alembic_head_in_repo": "0022_agent_releases_enrollment",
|
|
"applied_revision": "0022_agent_releases_enrollment",
|
|
"applied_revision_source": "container projeto-fiscal-hub-1",
|
|
"count": 22
|
|
},
|
|
"datasets_active": [
|
|
{
|
|
"kind": "ANP",
|
|
"sha256": "8271a80007548b01",
|
|
"record_count": 1031
|
|
},
|
|
{
|
|
"kind": "BA_ST_MVA",
|
|
"sha256": "e07e9085952bc256",
|
|
"record_count": 303
|
|
},
|
|
{
|
|
"kind": "CEST",
|
|
"sha256": "d7fb7e8da0ace051",
|
|
"record_count": 1051
|
|
},
|
|
{
|
|
"kind": "CFOP",
|
|
"sha256": "c95c91ed1644fdd1",
|
|
"record_count": 619
|
|
},
|
|
{
|
|
"kind": "FCP",
|
|
"sha256": "3079d088169003cf",
|
|
"record_count": 27
|
|
},
|
|
{
|
|
"kind": "NCM",
|
|
"sha256": "3abc0d2eb2501bbd",
|
|
"record_count": 15156
|
|
},
|
|
{
|
|
"kind": "NCM_UTRIB",
|
|
"sha256": "afc8bfc94c4f9575",
|
|
"record_count": 10516
|
|
},
|
|
{
|
|
"kind": "NFE_MOC_TABLES",
|
|
"sha256": "5eb4cf2010b10b0b",
|
|
"record_count": 96
|
|
},
|
|
{
|
|
"kind": "RTC_BIOFUEL_INDEX",
|
|
"sha256": "c49a011503657fc6",
|
|
"record_count": 23
|
|
},
|
|
{
|
|
"kind": "RTC_CBS_RATES",
|
|
"sha256": "33f17aa3322de841",
|
|
"record_count": 2
|
|
},
|
|
{
|
|
"kind": "RTC_CCLASSTRIB",
|
|
"sha256": "1448cb63a41bdb67",
|
|
"record_count": 164
|
|
},
|
|
{
|
|
"kind": "RTC_CCREDPRES",
|
|
"sha256": "65f2461398b6c361",
|
|
"record_count": 13
|
|
},
|
|
{
|
|
"kind": "TIPI_IPI",
|
|
"sha256": "d155f1baafb4039d",
|
|
"record_count": 11103
|
|
}
|
|
],
|
|
"note": "A release bump does not change fiscal semantics; engine/decision versions are versioned independently."
|
|
} |