# ODCS v3 datu līgums: B09 Digitālās pārvaldes arhitektūras (arhitektūra kā kods) # Shēma: schemas/arhitektura-0.1.schema.json (JSON Schema 2020-12). Šī līguma schema daļa apraksta to, ko VDZP ielādē; # pilnā struktūra un pieļaujamās vērtības ir JSON shēmā. apiVersion: v3.0.2 kind: DataContract id: urn:pppa:cac:contract:B09 name: Digitālās pārvaldes arhitektūras (arhitektūra kā kods) version: 0.1.0 status: active domain: Valsts kā kods (Country as Code) dataProduct: Digitālās pārvaldes arhitektūras tenant: PPP Asociācija (PPPA) description: purpose: >- VARAM digitālās pārvaldes arhitektūras horizontālās un nozaru jomas kā dati: viens jomu katalogs (domenas.yaml) ar visām jomām, to izstrādes vadītāju iestādi, VARAM apstiprinājuma statusu un dokumentu saitēm, un katrai jomai, kas pārveidota kodā, — funkcijas, pakalpojumi, informācijas resursi, informācijas sistēmas, organizācijas, mērķi un saites starp tiem. usage: Mašīnlasāma datu apmaiņa; ielāde VDZP katru dienu; AI aģentu vaicājumi caur MCP. limitations: >- Koncepcijas demonstrācija, nav oficiāls izdevums. Juridiski un metodiski saistošs ir VARAM publicētais arhitektūras apraksts. Kodā pārveidotas ne visas jomas — stāvoklis katrai jomai ir domenas.yaml (as_code.status). Identifikatori jomā ir lokāli; pilnais identifikators ir :. servers: - server: processgit type: custom format: yaml description: ProcessGit repozitorijs (Gitea API v1) customProperties: - {property: url, value: "https://processgit.org/Valsts-Pirmkods/Architecture-as-Code"} - {property: ref, value: main} - {property: catalogue, value: domenas.yaml} - {property: path, value: "domains/*/manifest.yaml (un manifestā norādītie reģistri)"} - {property: schema, value: "https://processgit.org/Valsts-Pirmkods/Architecture-as-Code/src/branch/main/schemas/arhitektura-0.1.schema.json"} schema: - name: Domain logicalType: object physicalType: yaml-object physicalName: "domenas.yaml#/domains[]" description: Viena VARAM arhitektūras joma (horizontālā, nozaru vai apakšjoma) un tās stāvoklis kodā. customProperties: [{property: lakehouseTable, value: cac_bronze.arch_domain}, {property: jsonSchema, value: "#/$defs/CatalogueDomain"}] properties: - {name: slug, logicalType: string, required: true, primaryKey: true, unique: true, logicalTypeOptions: {pattern: "^[a-z0-9]+(-[a-z0-9]+)*$"}} - {name: title, logicalType: string, required: true} - {name: kind, logicalType: string, required: true, quality: [{type: library, rule: validValues, validValues: [horizontal, sectoral, subdomain]}]} - {name: parent, logicalType: string, required: false, description: Apakšjomai — jomas slug} - {name: lead_institution, logicalType: string, required: true, description: "Iestāde, kas vada arhitektūras apraksta izstrādi"} - {name: lead_vpk_id, logicalType: string, required: false, description: Iestādes VPK ID (B01), logicalTypeOptions: {pattern: "^[0-9]{2}-[0-9]{4}$"}} - {name: varam_status, logicalType: string, required: true, quality: [{type: library, rule: validValues, validValues: [approved, in_review, in_development, not_started]}]} - {name: approved, logicalType: date, required: false} - {name: description_url, logicalType: string, required: false, description: VARAM publicētais arhitektūras apraksts} - {name: as_code.status, logicalType: string, required: true, quality: [{type: library, rule: validValues, validValues: [transformed, in_progress, not_started]}]} - {name: as_code.path, logicalType: string, required: false, description: "Jomas mape domains/"} - name: Element logicalType: object physicalType: yaml-object physicalName: "domains//registers/**#/items[]" description: Viens arhitektūras elements jomā — organizācija, funkcija, pakalpojums, informācijas resurss, informācijas sistēma, mērķis, ceļa kartes pasākums, mijiedarbība vai risks. customProperties: [{property: lakehouseTable, value: cac_bronze.arch_register}, {property: jsonSchema, value: "#/$defs/Organization, Function, Component, Goal, Item"}] properties: - {name: uid, logicalType: string, required: true, primaryKey: true, unique: true, description: ":, piemēram kultura-valoda:func.01 (veido savienotājs)"} - {name: id, logicalType: string, required: true, description: Lokālais identifikators jomā, logicalTypeOptions: {pattern: "^[a-z][a-z_]*(\\.[A-Za-z0-9_-]+)+$"}} - {name: entity_type, logicalType: string, required: true, quality: [{type: library, rule: validValues, validValues: [organisation, function, service, information_resource, system, goal, roadmap_item, interaction, risk, as_is_component]}]} - {name: name, logicalType: string, required: true, description: name vai title} - {name: subdomain, logicalType: string, required: false} - {name: status, logicalType: string, required: false, description: status vai change_status} - {name: vpk_id, logicalType: string, required: false, description: Organizācijai — VPK ID (B01)} - {name: attributes, logicalType: object, required: false, description: Pārējie elementa lauki, kā autorēti} - name: Edge logicalType: object physicalType: yaml-object physicalName: "domains//registers/99-relations/edges.yaml#/edges[]" description: Saite starp diviem vienas jomas elementiem. customProperties: [{property: lakehouseTable, value: cac_bronze.arch_edge}, {property: jsonSchema, value: "#/$defs/Edge"}] properties: - {name: from, logicalType: string, required: true} - {name: type, logicalType: string, required: true, description: "has_goal, has_function, has_service, has_information_resource, has_system, performed_by …"} - {name: to, logicalType: string, required: true} quality: - {name: schema_valid, type: custom, engine: json-schema, implementation: schemas/arhitektura-0.1.schema.json, description: "Katalogs, jomu manifesti un reģistri atbilst JSON shēmai (katra datne — savas lomas tipam, x-roles)", dimension: conformity} - {name: catalogue_valid, type: custom, engine: cac-lakehouse, implementation: "app.cac_processgit:arch_catalogue_valid", description: "Katalogā katra joma unikāla; katrai kodā pārveidotajai jomai ir mape ar manifestu; katra mape ir katalogā", dimension: consistency} - {name: ids_unique, type: custom, engine: cac-lakehouse, implementation: "app.cac_processgit:arch_ids_unique", description: Lokālie identifikatori jomā ir unikāli, dimension: uniqueness} - {name: edges_resolve, type: custom, engine: cac-lakehouse, implementation: "app.cac_processgit:arch_edges_resolve", description: "Katras saites abi gali ir šīs jomas elementi", dimension: consistency} - {name: organization_has_vpk_id, type: custom, engine: cac-lakehouse, implementation: "app.cac_processgit:arch_org_vpk", description: "Organizācija sasaistīta ar VPK ID — norādīts reģistrā (vpk_id) vai atrasts pēc nosaukuma", dimension: completeness} - {name: lead_has_vpk_id, type: custom, engine: cac-lakehouse, implementation: "app.cac_processgit:arch_lead_vpk", description: "Jomas izstrādes vadītājai iestādei norādīts VPK ID", dimension: completeness} slaProperties: - {property: frequency, value: 1, unit: d, element: "pull ingest katru dienu 06:30 Rīgas laikā"} - {property: retention, value: "visas versijas (git vēsture)"} team: - {role: owner, name: "VARAM (digitālās pārvaldes arhitektūras ietvars); jomu arhitektūru turētāji — jomu vadošās iestādes"} - {role: data steward, name: PPP Asociācija (PPPA)} support: - {channel: issues, url: "https://processgit.org/Valsts-Pirmkods/Architecture-as-Code/issues"} customProperties: - {property: sourceId, value: B09} - {property: identifiers, value: "joma ; elements :"} - {property: validator, value: tools/validate.py}