intent

package
v0.80.13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 14, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SchemaV1       = "workflow.domain-intent.v1"
	LegacySchemaV1 = "gocodealone.domain-intent.v1"
	ReportSchemaV1 = "workflow.domain-intent.report.v1"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Action

type Action struct {
	Type                       string   `json:"type" yaml:"type"`
	Provider                   string   `json:"provider" yaml:"provider"`
	Resource                   string   `json:"resource" yaml:"resource"`
	RecordCount                *int     `json:"record_count,omitempty" yaml:"record_count,omitempty"`
	ManageUnlisted             *bool    `json:"manage_unlisted,omitempty" yaml:"manage_unlisted,omitempty"`
	RecordsPolicy              string   `json:"records_policy,omitempty" yaml:"records_policy,omitempty"`
	DesiredNameservers         []string `json:"desired_nameservers,omitempty" yaml:"desired_nameservers,omitempty"`
	ExpectedCurrentNameservers []string `json:"expected_current_nameservers,omitempty" yaml:"expected_current_nameservers,omitempty"`
}

type Bundle

type Bundle struct {
	Config config.WorkflowConfig `json:"config" yaml:"config"`
	Report Report                `json:"report" yaml:"report"`
}

func Compile

func Compile(opts Options) (*Bundle, error)

type Document

type Document struct {
	Schema  string                  `json:"schema" yaml:"schema"`
	Domains map[string]DomainIntent `json:"domains" yaml:"domains"`
}

type DomainIntent

type DomainIntent struct {
	Registrar                  string   `json:"registrar" yaml:"registrar"`
	DNSHost                    string   `json:"dns_host" yaml:"dns_host"`
	StageDNS                   *bool    `json:"stage_dns,omitempty" yaml:"stage_dns,omitempty"`
	NameserverCutover          bool     `json:"nameserver_cutover" yaml:"nameserver_cutover"`
	RecordsPolicy              string   `json:"records_policy" yaml:"records_policy"`
	ExpectedCurrentNameservers []string `json:"expected_current_nameservers,omitempty" yaml:"expected_current_nameservers,omitempty"`
	AllowDiscardNonparked      bool     `json:"allow_discard_nonparked,omitempty" yaml:"allow_discard_nonparked,omitempty"`
}

type DomainReport

type DomainReport struct {
	Domain                string   `json:"domain" yaml:"domain"`
	Registrar             string   `json:"registrar" yaml:"registrar"`
	DNSHost               string   `json:"dns_host" yaml:"dns_host"`
	CloudflareNameservers []string `json:"cloudflare_nameservers" yaml:"cloudflare_nameservers"`
	RecordsPolicy         string   `json:"records_policy" yaml:"records_policy"`
	Actions               []Action `json:"actions" yaml:"actions"`
	Blockers              []string `json:"blockers" yaml:"blockers"`
}

type Options

type Options struct {
	IntentPath     string
	PortfolioGlobs []string
	DomainFilter   string
	StateDir       string
}

type Report

type Report struct {
	Schema         string         `json:"schema" yaml:"schema"`
	Domains        []DomainReport `json:"domains" yaml:"domains"`
	BlockedDomains int            `json:"blocked_domains" yaml:"blocked_domains"`
	ActionCount    int            `json:"action_count" yaml:"action_count"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL