@@ -53,6 +53,7 @@ type DeployCommand struct {
5353 Dir string
5454 Domain string
5555 Env string
56+ NoDefaultDomain argparser.OptionalBool
5657 PackagePath string
5758 ServiceName argparser.OptionalServiceNameID
5859 ServiceVersion argparser.OptionalServiceVersion
@@ -93,6 +94,7 @@ func NewDeployCommand(parent argparser.Registerer, g *global.Data) *DeployComman
9394 c .CmdClause .Flag ("dir" , "Project directory (default: current directory)" ).Short ('C' ).StringVar (& c .Dir )
9495 c .CmdClause .Flag ("domain" , "The name of the domain associated to the package" ).StringVar (& c .Domain )
9596 c .CmdClause .Flag ("env" , "The manifest environment config to use (e.g. 'stage' will attempt to read 'fastly.stage.toml')" ).StringVar (& c .Env )
97+ c .CmdClause .Flag ("no-default-domain" , "Skip automatic default domain creation" ).Action (c .NoDefaultDomain .Set ).BoolVar (& c .NoDefaultDomain .Value )
9698 c .CmdClause .Flag ("package" , "Path to a package tar.gz" ).Short ('p' ).StringVar (& c .PackagePath )
9799 c .CmdClause .Flag ("status-check-code" , "Set the expected status response for the service availability check" ).IntVar (& c .StatusCheckCode )
98100 c .CmdClause .Flag ("status-check-off" , "Disable the service availability check" ).BoolVar (& c .StatusCheckOff )
@@ -233,16 +235,17 @@ func (c *DeployCommand) Exec(in io.Reader, out io.Writer) (err error) {
233235 // It's part of the implementation so that we can utilise the same interface.
234236 // A domain is required regardless of whether it's a new service or existing.
235237 sr .domains = & setup.Domains {
236- APIClient : c .Globals .APIClient ,
237- AcceptDefaults : c .Globals .Flags .AcceptDefaults ,
238- NonInteractive : c .Globals .Flags .NonInteractive ,
239- PackageDomain : c .Domain ,
240- RetryLimit : 5 ,
241- ServiceID : serviceID ,
242- ServiceVersion : serviceVersionNumber ,
243- Stdin : in ,
244- Stdout : out ,
245- Verbose : c .Globals .Verbose (),
238+ APIClient : c .Globals .APIClient ,
239+ AcceptDefaults : c .Globals .Flags .AcceptDefaults ,
240+ NoDefaultDomain : c .NoDefaultDomain .WasSet ,
241+ NonInteractive : c .Globals .Flags .NonInteractive ,
242+ PackageDomain : c .Domain ,
243+ RetryLimit : 5 ,
244+ ServiceID : serviceID ,
245+ ServiceVersion : serviceVersionNumber ,
246+ Stdin : in ,
247+ Stdout : out ,
248+ Verbose : c .Globals .Verbose (),
246249 }
247250 if err = sr .domains .Validate (); err != nil {
248251 errLogService (c .Globals .ErrLog , err , serviceID , serviceVersionNumber )
@@ -304,7 +307,7 @@ func (c *DeployCommand) Exec(in io.Reader, out io.Writer) (err error) {
304307 return err
305308 }
306309
307- if ! c .StatusCheckOff && noExistingService {
310+ if ! c .StatusCheckOff && noExistingService && serviceURL != "" {
308311 c .StatusCheck (serviceURL , spinner , out )
309312 }
310313
@@ -345,7 +348,9 @@ func (c *DeployCommand) StatusCheck(serviceURL string, spinner text.Spinner, out
345348
346349func displayDeployOutput (out io.Writer , manageServiceBaseURL , serviceID , serviceURL string , serviceVersion int ) {
347350 text .Description (out , "Manage this service at" , fmt .Sprintf ("%s%s" , manageServiceBaseURL , serviceID ))
348- text .Description (out , "View this service at" , serviceURL )
351+ if serviceURL != "" {
352+ text .Description (out , "View this service at" , serviceURL )
353+ }
349354 text .Success (out , "Deployed package (service %s, version %v)" , serviceID , serviceVersion )
350355}
351356
@@ -1065,6 +1070,9 @@ func (c *DeployCommand) GetServiceURL(serviceID string, serviceVersion int) (str
10651070 if err != nil {
10661071 return "" , err
10671072 }
1073+ if len (latestDomains ) == 0 {
1074+ return "" , nil
1075+ }
10681076 name := fastly .ToValue (latestDomains [0 ].Name )
10691077 if segs := strings .Split (name , "*." ); len (segs ) > 1 {
10701078 name = segs [1 ]
0 commit comments