Skip to content
Proud to collaborate with Microsoft for Startups

apphost.site.domain-attach ​

Attach a custom hostname to a hosted site: request ACM covering *.app.orkestia.dev plus the hostname, return DNS validation records, poll until ISSUED, then add the CloudFront alias and KVS routing key.

Request ACM, wait for DNS validation, attach hostname to CloudFront + KVS.

Overview ​

PropertyValue
Workflow typeLinear
LibraryApp-apphost
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
site_uuiduuidYes—HostedSite to attach the hostname to
hostnamestringYes—CNAME-able FQDN (e.g. auth.example.com), not *.app.orkestia.dev

Output Schema ​

FieldTypeRequiredDefaultDescription
site_uuiduuidNo——
domain_uuiduuidNo——
hostnamestringNo——
statusstringNo——
urlstringNo——
acm_certificate_arnstringNo——
dns_recordsjsonNo—Paste-ready DNS records (ACM validation CNAME + traffic CNAME)
already_attachedbooleanNo——
certificate_statusstringNo—Last ACM certificate Status seen (PENDING_VALIDATION, ISSUED, ...)
certificate_validatedbooleanNo—True once ACM reports ISSUED (or the hostname was already attached)
validation_check_countintegerNo—Number of check_validation polls performed so far
callback_registeredbooleanNo——
retried_fromstringNo—Previous terminal state when a failed run was retried
retry_countintegerNo—Number of retry attempts recorded by the workflow engine
failure_reasonstringNo——
failure_typestringNo——
failed_actionstringNo——
failed_at_statestringNo——
failed_stepjsonNo——
failed_layerjsonNo——
errorstringNo——
error_typestringNo——

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—request_certificate—
attachingNoNo—complete—
requesting_certificateNoNo—wait_for_validation—
waiting_for_validationNoNo——Poll ACM until ISSUED; customer creates the DNS validation CNAME
completedNoYesYes——
failedNoYesNo——

State Diagram ​

Transitions ​

FromActionToDescription
pendingrequest_certificaterequesting_certificate—
requesting_certificatewait_for_validationwaiting_for_validation—
waiting_for_validationcheck_validationwaiting_for_validation—
waiting_for_validationattachattaching—
attachingcompletecompleted—
* (any state)failfailed—

Outcomes ​

OutcomeTypeDescriptionState Data Keys
attachedSUCCESSCustom hostname validated, aliased on CloudFront, and routed at the edgesite_uuid, domain_uuid, hostname, url
failedFAILUREApphost workflow failedfailure_reason

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "apphost.site.domain-attach",
  "initial_data": {
    "site_uuid": "value",
    "hostname": "value"
  }
}