tailscale.go
1 package providers 2 3 import ( 4 "github.com/pulumi/pulumi-tailscale/sdk/go/tailscale" 5 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 6 ) 7 8 func Tailscale(ctx *pulumi.Context, enable bool) error { 9 if !enable { 10 return nil 11 } 12 13 _, err := tailscale.NewContacts(ctx, "contacts", &tailscale.ContactsArgs{ 14 Account: &tailscale.ContactsAccountArgs{ 15 Email: pulumi.String("mfarabi619@gmail.com"), 16 }, 17 Security: &tailscale.ContactsSecurityArgs{ 18 Email: pulumi.String("mfarabi619@gmail.com"), 19 }, 20 Support: &tailscale.ContactsSupportArgs{ 21 Email: pulumi.String("mfarabi619@gmail.com"), 22 }, 23 }) 24 25 if err != nil { 26 return err 27 } 28 29 _, err = tailscale.NewTailnetSettings(ctx, "tailnet_settings", &tailscale.TailnetSettingsArgs{ 30 DevicesKeyDurationDays: pulumi.Int(180), 31 HttpsEnabled: pulumi.Bool(true), 32 UsersApprovalOn: pulumi.Bool(true), 33 DevicesAutoUpdatesOn: pulumi.Bool(false), 34 UsersRoleAllowedToJoinExternalTailnet: pulumi.String("admin"), 35 }) 36 37 if err != nil { 38 return err 39 } 40 41 return err 42 }