Skip to content

Commit c083b90

Browse files
authored
Remove tailnet option (#84)
1 parent 9e063da commit c083b90

File tree

15 files changed

+21
-29
lines changed

15 files changed

+21
-29
lines changed

.github/workflows/ci.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ env:
1616
TAILOUT_NON_INTERACTIVE: "true"
1717
TAILOUT_CREATE_CONNECT: "true"
1818
TAILOUT_CREATE_SHUTDOWN: 5m
19-
TAILOUT_TAILSCALE_TAILNET: ${{ secrets.TAILSCALE_TAILNET }}
2019
TAILOUT_TAILSCALE_API_KEY: ${{ secrets.TAILSCALE_API_KEY }}
2120
TAILOUT_TAILSCALE_AUTH_KEY: ${{ secrets.TAILSCALE_AUTH_KEY }}
2221

README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ Go to your [Tailscale API key settings](https://login.tailscale.com/admin/settin
3636
```yaml
3737
tailscale:
3838
api_key: tskey-api-xxx-xxx
39-
tailnet: <your tailnet name>
4039
```
4140
4241
- Run `tailout init`, review the changes that will be done to your policy and accept
@@ -90,7 +89,6 @@ For exemple, you could have this content in `/etc/tailout/config.yml`:
9089
```yaml
9190
tailscale:
9291
api_key: tskey-api-xxx-xxx
93-
tailnet: <your tailnet name>
9492
region: eu-west-3
9593
create:
9694
shutdown: 15m

cmd/connect.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ func buildConnectCommand(app *tailout.App) *cobra.Command {
2424

2525
cmd.PersistentFlags().BoolVarP(&app.Config.NonInteractive, "non-interactive", "n", false, "Disable interactive prompts")
2626
cmd.PersistentFlags().StringVar(&app.Config.Tailscale.APIKey, "tailscale-api-key", "", "Tailscale API key used to perform operations on your tailnet")
27-
cmd.PersistentFlags().StringVar(&app.Config.Tailscale.Tailnet, "tailscale-tailnet", "", "Tailscale Tailnet to use for operations")
2827
cmd.PersistentFlags().StringVar(&app.Config.Tailscale.BaseURL, "tailscale-base-url", "https://api.tailscale.com", "Tailscale base API URL, change this if you are using Headscale")
2928

3029
return cmd

cmd/create.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ func buildCreateCommand(app *tailout.App) *cobra.Command {
3333
}
3434

3535
cmd.PersistentFlags().StringVar(&app.Config.Tailscale.APIKey, "tailscale-api-key", "", "Tailscale API key used to perform operations on your tailnet")
36-
cmd.PersistentFlags().StringVar(&app.Config.Tailscale.Tailnet, "tailscale-tailnet", "", "Tailscale Tailnet to use for operations")
3736
cmd.PersistentFlags().StringVar(&app.Config.Tailscale.BaseURL, "tailscale-base-url", "https://api.tailscale.com", "Tailscale base API URL, change this if you are using Headscale")
3837
cmd.PersistentFlags().BoolVarP(&app.Config.DryRun, "dry-run", "d", false, "Dry run mode (no changes will be made)")
3938
cmd.PersistentFlags().BoolVarP(&app.Config.NonInteractive, "non-interactive", "n", false, "Disable interactive prompts")

cmd/init.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ func buildInitCommand(app *tailout.App) *cobra.Command {
2828
}
2929

3030
cmd.PersistentFlags().StringVar(&app.Config.Tailscale.APIKey, "tailscale-api-key", "", "Tailscale API key used to perform operations on your tailnet")
31-
cmd.PersistentFlags().StringVar(&app.Config.Tailscale.Tailnet, "tailscale-tailnet", "", "Tailscale Tailnet to use for operations")
3231
cmd.PersistentFlags().StringVar(&app.Config.Tailscale.BaseURL, "tailscale-base-url", "https://api.tailscale.com", "Tailscale base API URL, change this if you are using Headscale")
3332
cmd.PersistentFlags().BoolVarP(&app.Config.NonInteractive, "non-interactive", "n", false, "Disable interactive prompts")
3433
cmd.PersistentFlags().BoolVarP(&app.Config.DryRun, "dry-run", "d", false, "Dry run mode (no changes will be made)")

cmd/status.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ func buildStatusCommand(app *tailout.App) *cobra.Command {
2727
}
2828

2929
cmd.PersistentFlags().StringVar(&app.Config.Tailscale.APIKey, "tailscale-api-key", "", "Tailscale API key used to perform operations on your tailnet")
30-
cmd.PersistentFlags().StringVar(&app.Config.Tailscale.Tailnet, "tailscale-tailnet", "", "Tailscale Tailnet to use for operations")
3130
cmd.PersistentFlags().StringVar(&app.Config.Tailscale.BaseURL, "tailscale-base-url", "https://api.tailscale.com", "Tailscale base API URL, change this if you are using Headscale")
3231

3332
return cmd

cmd/stop.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ func buildStopCommand(app *tailout.App) *cobra.Command {
2727
}
2828

2929
cmd.PersistentFlags().StringVar(&app.Config.Tailscale.APIKey, "tailscale-api-key", "", "Tailscale API key used to perform operations on your tailnet")
30-
cmd.PersistentFlags().StringVar(&app.Config.Tailscale.Tailnet, "tailscale-tailnet", "", "Tailscale Tailnet to use for operations")
3130
cmd.PersistentFlags().StringVar(&app.Config.Tailscale.BaseURL, "tailscale-base-url", "https://api.tailscale.com", "Tailscale base API URL, change this if you are using Headscale")
3231
cmd.PersistentFlags().BoolVarP(&app.Config.NonInteractive, "non-interactive", "n", false, "Disable interactive prompts")
3332
cmd.PersistentFlags().BoolVarP(&app.Config.DryRun, "dry-run", "d", false, "Dry run mode (no changes will be made)")

tailout/config/config.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ type CreateConfig struct {
2727
type TailscaleConfig struct {
2828
BaseURL string `mapstructure:"base_url"`
2929
APIKey string `mapstructure:"api_key"`
30-
Tailnet string `mapstructure:"tailnet"`
3130
}
3231

3332
type StopConfig struct {

tailout/connect.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ func (app *App) Connect(ctx context.Context, args []string) error {
2424

2525
apiClient := &tsapi.Client{
2626
APIKey: app.Config.Tailscale.APIKey,
27-
Tailnet: app.Config.Tailscale.Tailnet,
2827
BaseURL: baseURL,
2928
}
3029

tailout/create.go

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,10 @@ import (
2424
tsapi "tailscale.com/client/tailscale/v2"
2525
)
2626

27-
var ErrUserAborted = errors.New("user aborted instance creation")
27+
var (
28+
ErrUserAborted = errors.New("user aborted instance creation")
29+
ErrDryRun = errors.New("dry run successful")
30+
)
2831

2932
func (app *App) Create(ctx context.Context) error {
3033
nonInteractive := app.Config.NonInteractive
@@ -40,7 +43,6 @@ func (app *App) Create(ctx context.Context) error {
4043

4144
apiClient := &tsapi.Client{
4245
APIKey: app.Config.Tailscale.APIKey,
43-
Tailnet: app.Config.Tailscale.Tailnet,
4446
BaseURL: baseURL,
4547
}
4648

@@ -104,13 +106,13 @@ func (app *App) Create(ctx context.Context) error {
104106
runInput, errPrep := prepareInstance(ctx, cfg, aws.Bool(dryRun), strconv.Itoa(durationMinutes))
105107
if errPrep != nil {
106108
if errors.Is(errPrep, ErrUserAborted) {
107-
fmt.Println("Instance creation aborted.")
109+
fmt.Println("instance creation aborted.")
108110
return nil
109111
}
110112
return fmt.Errorf("failed to prepare instance: %w", errPrep)
111113
}
112114
if runInput == nil {
113-
fmt.Println("Instance creation aborted.")
115+
fmt.Println("no user input provided, aborting instance creation")
114116
return nil
115117
}
116118

@@ -123,20 +125,25 @@ func (app *App) Create(ctx context.Context) error {
123125
if createErr != nil {
124126
return createErr
125127
}
128+
if dryRun {
129+
return ErrDryRun
130+
}
126131
if instance.InstanceID == "" {
127-
return errors.New("instance creation aborted")
132+
return errors.New("no instance ID returned")
128133
}
129134
instanceID = instance.InstanceID
130135
nodeName = instance.Name
131136
publicIPAddress = instance.IP
132137
return nil
133138
}).Run()
134139
if errSpin != nil {
140+
if errors.Is(errSpin, ErrDryRun) {
141+
fmt.Println("Dry run successful. Instance can be created.")
142+
return nil
143+
}
135144
return fmt.Errorf("failed to create instance: %w", errSpin)
136145
}
137146

138-
// If dry run, exit here?
139-
140147
st := spinner.New().Type(spinner.Dots).Title("Installing Tailscale...")
141148
errSpint := st.Context(ctx).ActionWithErr(func(context.Context) error {
142149
errInstall := installTailScale(ctx, cfg, key.Key, nodeName, instanceID, st)
@@ -308,7 +315,6 @@ func createInstance(ctx context.Context, cfg aws.Config, runInput *ec2.RunInstan
308315
if runErr != nil {
309316
var dryRunErr *smithy.GenericAPIError
310317
if errors.As(runErr, &dryRunErr) && dryRunErr.Code == "DryRunOperation" {
311-
fmt.Println("Dry run successful. Instance can be created.")
312318
return instance, nil
313319
}
314320
return instance, fmt.Errorf("failed to create EC2 instance: %w", runErr)

0 commit comments

Comments
 (0)