Install
openclaw skills install @tenshowinnovation/volc-tos-storage-domainBind and verify a public custom domain for an existing Volcengine TOS bucket. Use when users mention TOS/object-storage custom domains, storage., bucket public URLs, ICP filing passed but the storage domain still cannot be reached, local ve lacking tos, TOS HTTPS certificate binding, Volcengine DNS records, or checking whether a storage domain is direct TOS versus CDN/DCDN.
openclaw skills install @tenshowinnovation/volc-tos-storage-domainUse this workflow to connect an ICP-ready storage domain such as storage.example.com to an existing TOS bucket, issue or find a DV certificate, bind HTTPS, and prove object URLs work.
This is for direct TOS custom-domain mode. If the user wants edge caching, WAF behavior, or CDN logs, treat that as a separate CDN/DCDN setup instead of silently adding CDN.
Collect or infer these before changing cloud state:
storage.example.comve dns ListZonesve tos is unavailable, use @volcengine/tos-sdk for TOS APIs. Use ve for DNS, CDN/DCDN, and certificate-service APIs._dnsauth.<host> TXT validation, and poll until the certificate is Issued.Protocol: "tos" and verify CertStatus: "CertBound".dig, curl -I, openssl s_client, and at least one real object URL.Read references/tos-custom-domain-runbook.md for the exact commands, SDK calls, OpenAPI fallback, validation checks, and landmines.
When the user says an ICP-ready storage.<domain> host still cannot be reached, do not jump straight to DNS writes. First outline these read-only checks:
ve cdn ListCdnDomains and ve dcdn ListDomainConfig to decide whether CDN/DCDN is involved.ve dns ListZones, ve dns ListRecords, and authoritative dig to confirm the current CNAME.@volcengine/tos-sdk, especially getBucketInfo, getBucketAcl, and getBucketCustomDomain.curl -I and openssl s_client to separate HTTP reachability from HTTPS certificate binding.After discovery, propose writes in order: putBucketCustomDomain, ve dns CreateRecord, QuickApplyCertificate, CertificateGetDcvParam, _dnsauth.<host> TXT, CertificateGetInstanceList, then TOS cert binding with Protocol: "tos".
When the user asks whether CDN is required, answer directly: direct TOS custom-domain mode is valid for public object URLs, and CDN/DCDN is optional and separate. Only recommend CDN/DCDN when the user asks for edge caching, acceleration, logs, WAF behavior, or bandwidth optimization.
When the user says local ve has no tos namespace, be explicit:
@volcengine/tos-sdk / TosClient for getBucketCustomDomain and putBucketCustomDomain.ve dns CreateRecord for DNS and ve certificateservice QuickApplyCertificate plus CertificateGetInstanceList for certificate lifecycle.ve cannot call CertificateGetDcvParam, use OpenAPI version 2021-06-01 with GET query instance_id to fetch DNS validation parameters.Protocol: "tos" and CertId; do not use http or https as the TOS Protocol.