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.<domain>, 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.