/ config / providers / tailscale.go
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  }