feat(websites): improve DX with domain-centric UX, validation guidance, and dns zones validate#43
Merged
Merged
Conversation
This comment has been minimized.
This comment has been minimized.
Code Coverage ReportTotal Coverage: 33.9% Generated from commit: 0371805 |
…e, and dns zones validate - Make domain the primary identifier for all website CRUD (id still works but not advertised) - Domain is now a positional arg for create: pinner websites create example.com --cid QmHash - Rename --target-hash to --cid across websites commands - Show validation token, DNS hosting status, and expiry in create/get/update output - Add next-steps guidance after create (TXT record instructions, validate commands) - Add actionable guidance when validation fails - Add dns zones validate command for nameserver delegation checks - Add ValidateZone to DNSService interface + implementation - Show validation info column in websites list - Support domain lookup in get/update/delete/validate (resolves via List) - Fix referenced but nonexistent 'pinner dns zones validate' command
…unt endpoint The auth-token path in websites, dns, and ipns handlers was routing to the account endpoint (405 Method Not Allowed) instead of the IPFS endpoint where these APIs actually live. The default factory path was correct via GetIPFSEndpointSecure(), but the explicit auth-token branch used GetAccountEndpointWithSecure(). Unified all to GetIPFSEndpointWithSecure().
…s for non-hosted - Use CreateWithOptions/UpdateWithOptions to actually send dns_hosting_enabled flag to the API (previously ignored, API defaulted to true) - Fix next steps to reflect dns hosting status: no zones validate for non-hosted - Use dnslink=/targetType/cid in non-hosted DNSLink instructions (ipns vs ipfs) - Use domain in validate commands (not numeric ID) - Same endpoint fix for update handler (use response.DnsHostingEnabled)
38c72c3 to
1e4702d
Compare
Kody Review CompleteGreat news! 🎉 Keep up the excellent work! 🚀 Kody Guide: Usage and ConfigurationInteracting with Kody
Current Kody ConfigurationReview OptionsThe following review options are enabled or disabled:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR improves the developer experience for the websites and DNS commands by shifting to a domain-centric UX, adding validation guidance, and introducing a DNS zones validate command.
Key changes:
Domain-centric website commands: All website commands (
get,update,delete,validate) now accept a domain name as the primary argument instead of a numeric ID. Numeric IDs still work, but domains are the preferred and documented interface. Thecreatecommand now takes the domain as a positional argument instead of a--domainflag.--cidflag replaces--target-hash: The--target-hashflag is deprecated in favor of the clearer--cidflag across website create and update commands.New
dns zones validatecommand: Validates that a DNS zone's nameservers are properly delegated to Pinner.xyz. Accepts either a domain name or zone ID. On failure, provides actionable next steps including the expected nameservers to configure.Enhanced output and guidance: Website detail outputs (
get,create,update) now use a field-based layout showing additional information (DNS Hosting, Expired status, Validation Token, Target Type, DNS Zone ID). After creating a website, step-by-step instructions are displayed for adding verification TXT records, DNSLink records, and running validation. Expired websites display a warning with a re-validation command. Failed validations show next steps for resolution.Improved website list output: Added "DNS" and "VALIDATION" columns to the websites list table.