generated from coulomb/repo-seed
Declare forge graph contracts
This commit is contained in:
30
fabric/dependencies/railiance-apps-artifact-evidence.yaml
Normal file
30
fabric/dependencies/railiance-apps-artifact-evidence.yaml
Normal file
@@ -0,0 +1,30 @@
|
||||
apiVersion: railiance.fabric/v1alpha1
|
||||
kind: DependencyDeclaration
|
||||
metadata:
|
||||
id: railiance-apps.s5-releases.needs-artifact-evidence
|
||||
name: S5 artifact evidence dependency
|
||||
owner: railiance-apps
|
||||
repo: railiance-apps
|
||||
domain: railiance
|
||||
source_links:
|
||||
- label: Apps scope
|
||||
path: /home/worsch/railiance-apps/SCOPE.md
|
||||
- label: Observability and evidence contract
|
||||
path: /home/worsch/railiance-forge/docs/observability-operating-evidence.md
|
||||
spec:
|
||||
lifecycle: active
|
||||
environments: [dev, staging, prod]
|
||||
consumer_service_id: railiance-apps.s5-releases
|
||||
requires:
|
||||
capability_type: artifact-promotion-evidence
|
||||
capability_id: railiance-forge.source-forge.artifact-promotion-evidence
|
||||
interface:
|
||||
type: evidence-contract
|
||||
version_constraint: ">=v1"
|
||||
auth:
|
||||
method: none
|
||||
criticality: high
|
||||
data_classification: internal
|
||||
fallback:
|
||||
mode: manual
|
||||
description: App operators can record manual evidence, but S5 should cite forge-owned artifact readiness when promoting releases.
|
||||
30
fabric/dependencies/railiance-apps-container-registry.yaml
Normal file
30
fabric/dependencies/railiance-apps-container-registry.yaml
Normal file
@@ -0,0 +1,30 @@
|
||||
apiVersion: railiance.fabric/v1alpha1
|
||||
kind: DependencyDeclaration
|
||||
metadata:
|
||||
id: railiance-apps.s5-releases.needs-container-registry
|
||||
name: S5 container registry dependency
|
||||
owner: railiance-apps
|
||||
repo: railiance-apps
|
||||
domain: railiance
|
||||
source_links:
|
||||
- label: Apps scope
|
||||
path: /home/worsch/railiance-apps/SCOPE.md
|
||||
- label: Container registry docs
|
||||
path: /home/worsch/railiance-forge/docs/gitea-container-registry.md
|
||||
spec:
|
||||
lifecycle: active
|
||||
environments: [dev, staging, prod]
|
||||
consumer_service_id: railiance-apps.s5-releases
|
||||
requires:
|
||||
capability_type: container-registry
|
||||
capability_id: railiance-forge.source-forge.container-registry
|
||||
interface:
|
||||
type: oci-registry
|
||||
version_constraint: ">=registry-v2"
|
||||
auth:
|
||||
method: api_key
|
||||
criticality: high
|
||||
data_classification: confidential
|
||||
fallback:
|
||||
mode: none
|
||||
description: S5 releases require a reachable container registry for private or internal app images.
|
||||
@@ -0,0 +1,30 @@
|
||||
apiVersion: railiance.fabric/v1alpha1
|
||||
kind: DependencyDeclaration
|
||||
metadata:
|
||||
id: railiance-enablement.delivery-templates.needs-runner-substrate
|
||||
name: Enablement runner substrate dependency
|
||||
owner: railiance-enablement
|
||||
repo: railiance-enablement
|
||||
domain: railiance
|
||||
source_links:
|
||||
- label: Enablement scope
|
||||
path: /home/worsch/railiance-enablement/SCOPE.md
|
||||
- label: Runner ownership contract
|
||||
path: /home/worsch/railiance-forge/docs/ci-runner-actions-gitops-ownership.md
|
||||
spec:
|
||||
lifecycle: planned
|
||||
environments: [dev, staging, prod]
|
||||
consumer_service_id: railiance-enablement.delivery-templates
|
||||
requires:
|
||||
capability_type: workflow-runner-substrate
|
||||
capability_id: railiance-forge.source-forge.workflow-runner-substrate
|
||||
interface:
|
||||
type: workflow-runner-label-contract
|
||||
version_constraint: ">=v1"
|
||||
auth:
|
||||
method: none
|
||||
criticality: high
|
||||
data_classification: internal
|
||||
fallback:
|
||||
mode: manual
|
||||
description: Reusable templates can remain draft-only until forge publishes runner labels and trust evidence.
|
||||
28
fabric/dependencies/railiance-forge-kubernetes-runtime.yaml
Normal file
28
fabric/dependencies/railiance-forge-kubernetes-runtime.yaml
Normal file
@@ -0,0 +1,28 @@
|
||||
apiVersion: railiance.fabric/v1alpha1
|
||||
kind: DependencyDeclaration
|
||||
metadata:
|
||||
id: railiance-forge.source-forge.needs-kubernetes-runtime
|
||||
name: Forge Kubernetes runtime dependency
|
||||
owner: railiance-forge
|
||||
repo: railiance-forge
|
||||
domain: railiance
|
||||
source_links:
|
||||
- label: Forge scope
|
||||
path: /home/worsch/railiance-forge/SCOPE.md
|
||||
spec:
|
||||
lifecycle: active
|
||||
environments: [dev, staging, prod]
|
||||
consumer_service_id: railiance-forge.source-forge
|
||||
requires:
|
||||
capability_type: kubernetes-runtime
|
||||
capability_id: railiance-cluster.kubernetes.runtime
|
||||
interface:
|
||||
type: kubernetes-api
|
||||
version_constraint: ">=v1"
|
||||
auth:
|
||||
method: kubernetes_service_account
|
||||
criticality: critical
|
||||
data_classification: restricted
|
||||
fallback:
|
||||
mode: none
|
||||
description: The forge runtime cannot operate without the Railiance Kubernetes runtime.
|
||||
30
fabric/dependencies/railiance-forge-object-storage.yaml
Normal file
30
fabric/dependencies/railiance-forge-object-storage.yaml
Normal file
@@ -0,0 +1,30 @@
|
||||
apiVersion: railiance.fabric/v1alpha1
|
||||
kind: DependencyDeclaration
|
||||
metadata:
|
||||
id: railiance-forge.source-forge.needs-object-storage
|
||||
name: Forge object storage dependency
|
||||
owner: railiance-forge
|
||||
repo: railiance-forge
|
||||
domain: railiance
|
||||
source_links:
|
||||
- label: Backup and restore handoff
|
||||
path: /home/worsch/railiance-forge/docs/backup-restore-secret-handoff.md
|
||||
- label: Platform OpenBao object-storage handoff
|
||||
path: /home/worsch/railiance-platform/docs/openbao.md
|
||||
spec:
|
||||
lifecycle: planned
|
||||
environments: [dev, staging, prod]
|
||||
consumer_service_id: railiance-forge.source-forge
|
||||
requires:
|
||||
capability_type: object-storage
|
||||
capability_id: artifact-store.object-storage
|
||||
interface:
|
||||
type: object-storage-bucket
|
||||
version_constraint: ">=v1"
|
||||
auth:
|
||||
method: sts_token
|
||||
criticality: high
|
||||
data_classification: confidential
|
||||
fallback:
|
||||
mode: manual
|
||||
description: Current Gitea package blobs remain on PVC until durable object-storage backup or artifact preservation is proven.
|
||||
28
fabric/dependencies/railiance-forge-postgresql.yaml
Normal file
28
fabric/dependencies/railiance-forge-postgresql.yaml
Normal file
@@ -0,0 +1,28 @@
|
||||
apiVersion: railiance.fabric/v1alpha1
|
||||
kind: DependencyDeclaration
|
||||
metadata:
|
||||
id: railiance-forge.source-forge.needs-postgresql
|
||||
name: Forge PostgreSQL dependency
|
||||
owner: railiance-forge
|
||||
repo: railiance-forge
|
||||
domain: railiance
|
||||
source_links:
|
||||
- label: Backup and restore handoff
|
||||
path: /home/worsch/railiance-forge/docs/backup-restore-secret-handoff.md
|
||||
spec:
|
||||
lifecycle: active
|
||||
environments: [dev, staging, prod]
|
||||
consumer_service_id: railiance-forge.source-forge
|
||||
requires:
|
||||
capability_type: postgresql-database-service
|
||||
capability_id: railiance-platform.cnpg.postgresql
|
||||
interface:
|
||||
type: database-connection
|
||||
version_constraint: ">=v16"
|
||||
auth:
|
||||
method: database_role
|
||||
criticality: critical
|
||||
data_classification: confidential
|
||||
fallback:
|
||||
mode: none
|
||||
description: The forge runtime requires the Gitea database state and cannot degrade safely without it.
|
||||
28
fabric/dependencies/railiance-forge-runtime-secrets.yaml
Normal file
28
fabric/dependencies/railiance-forge-runtime-secrets.yaml
Normal file
@@ -0,0 +1,28 @@
|
||||
apiVersion: railiance.fabric/v1alpha1
|
||||
kind: DependencyDeclaration
|
||||
metadata:
|
||||
id: railiance-forge.source-forge.needs-runtime-secrets
|
||||
name: Forge runtime secrets dependency
|
||||
owner: railiance-forge
|
||||
repo: railiance-forge
|
||||
domain: railiance
|
||||
source_links:
|
||||
- label: Backup and restore handoff
|
||||
path: /home/worsch/railiance-forge/docs/backup-restore-secret-handoff.md
|
||||
spec:
|
||||
lifecycle: active
|
||||
environments: [dev, staging, prod]
|
||||
consumer_service_id: railiance-forge.source-forge
|
||||
requires:
|
||||
capability_type: runtime-secrets
|
||||
capability_id: railiance-platform.openbao.runtime-secrets
|
||||
interface:
|
||||
type: openbao-kv-v2-mount
|
||||
version_constraint: ">=v1 <v2"
|
||||
auth:
|
||||
method: kubernetes_service_account
|
||||
criticality: critical
|
||||
data_classification: secret
|
||||
fallback:
|
||||
mode: manual
|
||||
description: SOPS/age bootstrap can carry encrypted deploy input, but runtime secret custody belongs to the platform path.
|
||||
Reference in New Issue
Block a user