Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Template:Deployment: Difference between revisions

Template page
More languages
Content deleted Content added
Escape deployment plugin name in template documentation (via update-page on MediaWiki MCP Server)
Restore complete CARE deployment dossier after section-edit truncation (via update-page on MediaWiki MCP Server)
 
Line 43: Line 43:
}}
}}
[[Category:OHC templates]]
[[Category:OHC templates]]
</noinclude>
</noinclude><includeonly>{{#cargo_store:_table=Deployments
|name={{{name|}}}
|url={{{url|}}}
|type={{{type|}}}
|status={{{status|active}}}
|owner_org={{{owner_org|}}}
|supported_by={{{supported_by|}}}
|project={{{project|}}}
|hosting_provider={{{hosting_provider|}}}
|purpose={{{purpose|}}}
|fe_repo={{{fe_repo|}}}
|fe_branch={{{fe_branch|}}}
|fe_commit={{{fe_commit|}}}
|be_repo={{{be_repo|}}}
|be_branch={{{be_branch|}}}
|be_commit={{{be_commit|}}}
|last_deployed={{{last_deployed|}}}
|fe_provider={{{fe_provider|}}}
|fe_detail={{{fe_detail|}}}
|be_provider={{{be_provider|}}}
|be_detail={{{be_detail|}}}
|be_web_replicas={{{be_web_replicas|}}}
|be_worker_replicas={{{be_worker_replicas|}}}
|be_beat_replicas={{{be_beat_replicas|}}}
|db_provider={{{db_provider|}}}
|db_detail={{{db_detail|}}}
|storage_provider={{{storage_provider|}}}
|storage_detail={{{storage_detail|}}}
}}<templatestyles src="Deployment/styles.css" />
<div class="ohc-deploy-sidebar">
<div class="ohc-deploy-sidebar__title">{{{name}}}</div>
<div class="ohc-deploy-sidebar__group"><div class="ohc-deploy-sidebar__group-title">Instance</div><div class="ohc-deploy-sidebar__items">
<span class="ohc-deploy-sidebar__item">'''URL:''' [{{{url}}} {{{name}}}]</span>
<span class="ohc-deploy-sidebar__item">'''Environment:''' {{{type}}}</span>
<span class="ohc-deploy-sidebar__item">'''Service status:''' {{{status}}}</span>
<span class="ohc-deploy-sidebar__item">'''Documentation:''' {{{documentation_status|draft}}}</span>
{{#if:{{{project|}}}|<span class="ohc-deploy-sidebar__item">'''Programme:''' {{{project}}}</span>}}
{{#if:{{{geography|}}}|<span class="ohc-deploy-sidebar__item">'''Geography:''' {{{geography}}}</span>}}
{{#if:{{{go_live_date|}}}|<span class="ohc-deploy-sidebar__item">'''Live since:''' {{{go_live_date}}}</span>}}
</div></div>
<div class="ohc-deploy-sidebar__group"><div class="ohc-deploy-sidebar__group-title">Accountability</div><div class="ohc-deploy-sidebar__items">
<span class="ohc-deploy-sidebar__item">'''Owner:''' {{#if:{{{owner_org|}}}|{{{owner_org}}}|''Not documented''}}</span>
<span class="ohc-deploy-sidebar__item">'''Operator:''' {{#if:{{{operator_org|}}}|{{{operator_org}}}|''Not documented''}}</span>
{{#if:{{{supported_by|}}}|<span class="ohc-deploy-sidebar__item">'''Supported by:''' {{{supported_by}}}</span>}}
{{#if:{{{implementation_partner|}}}|<span class="ohc-deploy-sidebar__item">'''Implementation:''' {{{implementation_partner}}}</span>}}
<span class="ohc-deploy-sidebar__item">'''Review owner:''' {{#if:{{{review_owner|}}}|{{{review_owner}}}|''Not documented''}}</span>
</div></div>
<div class="ohc-deploy-sidebar__group"><div class="ohc-deploy-sidebar__group-title">Currency</div><div class="ohc-deploy-sidebar__items">
<span class="ohc-deploy-sidebar__item">'''Last deployed:''' {{#if:{{{last_deployed|}}}|{{{last_deployed}}}|''Not documented''}}</span>
<span class="ohc-deploy-sidebar__item">'''Last reviewed:''' {{#if:{{{last_reviewed|}}}|{{{last_reviewed}}}|''Not documented''}}</span>
{{#if:{{{next_review|}}}|<span class="ohc-deploy-sidebar__item">'''Next review:''' {{{next_review}}}</span>}}
</div></div>
</div>

== Service overview ==
{| class="wikitable deployment-infra"
! Purpose
| {{{purpose|''Not documented''}}}
|-
! Scope and users
| {{#if:{{{scope|}}}|{{{scope}}}|''Not documented''}}{{#if:{{{facilities|}}}|<br/>'''Facilities/sites:''' {{{facilities}}}}}{{#if:{{{user_groups|}}}|<br/>'''User groups:''' {{{user_groups}}}}}
|-
! Data and criticality
| '''Classification:''' {{#if:{{{data_classification|}}}|{{{data_classification}}}|''Not documented''}}<br/>'''Service tier:''' {{#if:{{{service_tier|}}}|{{{service_tier}}}|''Not documented''}}
|-
! Public endpoints
| '''Frontend:''' [{{{url}}} {{{url}}}]{{#if:{{{api_url|}}}|<br/>'''API:''' [{{{api_url}}} {{{api_url}}}]}}{{#if:{{{status_url|}}}|<br/>'''Status:''' [{{{status_url}}} {{{status_url}}}]}}{{#if:{{{documentation_url|}}}|<br/>'''User documentation:''' [{{{documentation_url}}} {{{documentation_url}}}]}}
|}

== Governance and responsibility ==
{| class="wikitable deployment-infra"
! Accountable organisation
| {{#if:{{{owner_org|}}}|{{{owner_org}}}|''Not documented''}}
|-
! Platform operator
| {{#if:{{{operator_org|}}}|{{{operator_org}}}|''Not documented''}}
|-
! Supporting organisations
| {{#if:{{{supported_by|}}}|{{{supported_by}}}|''None documented''}}{{#if:{{{implementation_partner|}}}|<br/>'''Implementation partner:''' {{{implementation_partner}}}}}
|-
! Service ownership
| '''Clinical/product:''' {{#if:{{{clinical_owner|}}}|{{{clinical_owner}}}|''Not documented''}}<br/>'''Technical:''' {{#if:{{{technical_owner|}}}|{{{technical_owner}}}|''Not documented''}}<br/>'''Data controller:''' {{#if:{{{data_controller|}}}|{{{data_controller}}}|''Not documented''}}
|-
! Support and escalation
| {{#if:{{{support_contact|}}}|{{{support_contact}}}|''Not documented''}}{{#if:{{{support_hours|}}}|<br/>'''Coverage:''' {{{support_hours}}}}}{{#if:{{{escalation_policy|}}}|<br/>'''Escalation:''' {{{escalation_policy}}}}}
|-
! Commercial ownership
| '''Billing owner:''' {{#if:{{{billing_owner|}}}|{{{billing_owner}}}|''Not documented''}}{{#if:{{{cost_notes|}}}|<br/>'''Cost notes:''' {{{cost_notes}}}}}
|}

== Application and infrastructure ==
{| class="wikitable deployment-infra"
! Component !! Deployment details !! Source and release
|- class="deployment-row--fe"
! Frontend
| '''Provider:''' {{#if:{{{fe_provider|}}}|{{{fe_provider}}}|''Not documented''}}<br/>{{#if:{{{fe_detail|}}}|{{{fe_detail}}}|''Topology not documented''}}
| {{#if:{{{fe_repo|}}}|[{{{fe_repo}}} Repository]|''Not documented''}}<br/>'''Revision:''' {{{fe_branch|not documented}}}{{#if:{{{fe_commit|}}}| @ <code>{{{fe_commit}}}</code>}}
|- class="deployment-row--be"
! Backend
| '''Provider:''' {{#if:{{{be_provider|}}}|{{{be_provider}}}|''Not documented''}}<br/>{{#if:{{{be_detail|}}}|{{{be_detail}}}|''Topology not documented''}}{{#if:{{{be_web_replicas|}}}|<br/>'''Web:''' {{{be_web_replicas}}} replica(s)}}{{#if:{{{be_worker_replicas|}}}| · '''Worker:''' {{{be_worker_replicas}}}}}{{#if:{{{be_beat_replicas|}}}| · '''Beat:''' {{{be_beat_replicas}}}}}
| {{#if:{{{be_repo|}}}|[{{{be_repo}}} Repository]|''Not documented''}}<br/>'''Revision:''' {{{be_branch|not documented}}}{{#if:{{{be_commit|}}}| @ <code>{{{be_commit}}}</code>}}
|- class="deployment-row--db"
! Database
| '''Provider:''' {{#if:{{{db_provider|}}}|{{{db_provider}}}|''Not documented''}}<br/>{{#if:{{{db_detail|}}}|{{{db_detail}}}|''Engine, version, topology, and HA not documented''}}
| {{{db_change_process|''Schema change process not documented''}}}
|- class="deployment-row--sto"
! Object/file storage
| '''Provider:''' {{#if:{{{storage_provider|}}}|{{{storage_provider}}}|''Not documented''}}<br/>{{#if:{{{storage_detail|}}}|{{{storage_detail}}}|''Type, region, and lifecycle not documented''}}
| {{{storage_change_process|''Change process not documented''}}}
|-
! Runtime and network
| '''Primary provider:''' {{{hosting_provider|''Not documented''}}}<br/>'''Region(s):''' {{{regions|''Not documented''}}}<br/>'''Runtime/orchestrator:''' {{{runtime|''Not documented''}}}
| {{{network_topology|''Ingress, egress, DNS, CDN/WAF, and private connectivity not documented''}}}
|-
! Supporting services
| '''Cache:''' {{{cache_detail|''Not documented''}}}<br/>'''Queue/broker:''' {{{queue_detail|''Not documented''}}}<br/>'''Search:''' {{{search_detail|''Not documented''}}}
| '''Identity:''' {{{identity_provider|''Not documented''}}}<br/>'''Messaging:''' {{{messaging_detail|''Not documented''}}}<br/>'''Other dependencies:''' {{{external_dependencies|''Not documented''}}}
|}

== CARE plugins ==
The list below is generated from the [[Special:CargoTables/DeploymentPlugins|deployment-plugin inventory]]. Repository and maintainer data come from each plugin page; configuration must name flags or secret references only, never secret values.

{{#cargo_query:tables=DeploymentPlugins, Plugins
|fields=Plugins.name=Name, Plugins.type=Type, Plugins.status=Status, Plugins.domain_category=Category, Plugins.description=Description, Plugins.org=Maintainer, Plugins.be_repo=BERepo, Plugins.fe_repo=FERepo, DeploymentPlugins.config_overrides=Configuration
|join on=DeploymentPlugins.plugin=Plugins.name
|where=DeploymentPlugins.deployment='{{{name}}}' AND DeploymentPlugins.enabled='true'
|order by=Plugins.type, Plugins.domain_category, Plugins.name
|format=template
|template=Deployment plugin row
|named args=yes
|default=''No enabled plugins are documented for this deployment.''
|intro=<div class="deployment-plugin-grid">
|outro=</div>
}}

== Delivery and change management ==
{| class="wikitable deployment-infra"
! CI/CD and deployment
| {{{ci_cd|''Pipeline, approvals, artefact promotion, and rollback are not documented''}}}
|-
! Configuration source
| {{{configuration_source|''Repository and environment overlay are not documented''}}}
|-
! Release policy
| {{{release_policy|''Cadence, maintenance window, and version compatibility are not documented''}}}
|-
! Change records
| {{{change_records|''Issue tracker, deployment history, or change log is not documented''}}}
|-
! Validation
| {{{validation_process|''Smoke tests, clinical sign-off, and post-deploy checks are not documented''}}}
|}

== Security, privacy, and compliance ==
{| class="wikitable deployment-infra"
! Identity and access
| {{{access_control|''Authentication, authorization, privileged access, and access review are not documented''}}}
|-
! Secrets management
| {{{secrets_management|''Secret store, rotation owner, and rotation process are not documented''}}}<br/>''Do not place secret values on this wiki.''
|-
! Encryption and boundaries
| {{{encryption|''Encryption in transit/at rest, network boundaries, and key ownership are not documented''}}}
|-
! Audit and assurance
| {{{audit_logging|''Audit trail, retention, reviewers, and security assessment are not documented''}}}
|-
! Privacy and retention
| {{{privacy_retention|''Purpose limitation, residency, retention, deletion, consent, and data-subject processes are not documented''}}}
|-
! Compliance
| {{{compliance|''Applicable law, policy, agreements, and evidence location are not documented''}}}
|}

== Observability and operations ==
{| class="wikitable deployment-infra"
! Health and monitoring
| {{{monitoring|''Health checks, metrics, synthetic checks, and dashboards are not documented''}}}
|-
! Alerting
| {{{alerting|''Alert routes, severity model, and on-call ownership are not documented''}}}
|-
! Logs and traces
| {{{logging_tracing|''Collection, access, redaction, retention, and tracing are not documented''}}}
|-
! Service objectives
| {{{service_objectives|''Availability target, SLIs/SLOs, capacity thresholds, and error budget are not documented''}}}
|-
! Runbooks
| {{#if:{{{runbook_url|}}}|[{{{runbook_url}}} Operations runbook]|''Not documented''}}{{#if:{{{dashboard_url|}}}| · [{{{dashboard_url}}} Dashboard]}}{{#if:{{{incident_process|}}}|<br/>'''Incident process:''' {{{incident_process}}}}}
|-
! Routine operations
| {{{routine_operations|''Patching, certificate/domain renewal, scaling, housekeeping, and ownership are not documented''}}}
|}

== Continuity and recovery ==
{| class="wikitable deployment-infra"
! Backups
| {{{backup_policy|''Scope, schedule, retention, encryption, isolation, and owner are not documented''}}}
|-
! Restore assurance
| {{{restore_testing|''Last restore test, result, and evidence are not documented''}}}
|-
! Recovery objectives
| '''RPO:''' {{{rpo|''Not documented''}}} · '''RTO:''' {{{rto|''Not documented''}}}
|-
! Disaster recovery
| {{{disaster_recovery|''Failure scenarios, alternate region/site, failover, and failback are not documented''}}}
|-
! Decommissioning
| {{{decommissioning|''Shutdown approval, export, retention, deletion, DNS, and cost cleanup are not documented''}}}
|}

== Risks, decisions, and review ==
{| class="wikitable deployment-infra"
! Known limitations and risks
| {{{known_risks|''None documented''}}}
|-
! Architecture decisions
| {{{architecture_decisions|''Decision records and accepted trade-offs are not documented''}}}
|-
! Open actions
| {{{open_actions|''None documented''}}}
|-
! Review record
| '''Status:''' {{{documentation_status|draft}}}<br/>'''Last reviewed:''' {{{last_reviewed|''Not documented''}}}<br/>'''Review owner:''' {{{review_owner|''Not documented''}}}{{#if:{{{next_review|}}}|<br/>'''Next review:''' {{{next_review}}}}}
|}

[[Category:CARE deployments]]
[[Category:CARE deployments - {{{status|active}}}]]
[[Category:CARE deployments - {{{type|unspecified}}}]]</includeonly>