/ config / providers / github.go
github.go
 1  package providers
 2  
 3  import (
 4  	"github.com/pulumi/pulumi-github/sdk/v6/go/github"
 5  	// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
 6  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
 7  )
 8  
 9  func GitHub(ctx *pulumi.Context, enable bool) error {
10  	if !enable {
11  		return nil
12  	}
13  
14  	// cfg := config.New(ctx, "")
15  	// token := cfg.Get("github:token")
16  
17  	// FIXME: * POST https://api.github.com/user/gpg_keys: 404 Not Found []
18  	//   _, err := github.NewUserGpgKey(ctx, "mfarabi619@gmail.com", &github.UserGpgKeyArgs{
19  	//   	ArmoredPublicKey: pulumi.String("-----BEGIN PGP PUBLIC KEY BLOCK-----\n mDMEaR5MBRYJKwYBBAHaRw8BAQdAFcxnY9PEwt8tHa1IagKgLxx7fXFHSioJce3Y\n P+/+QmG0Jk11bXRhaGluIEZhcmFiaSA8bWZhcmFiaTYxOUBnbWFpbC5jb20+iI4E\n ExYKADYWIQTLy0CAKAv3hRizBHswa5TaLOYZigUCaR5MBQIbAwQLCQgHBBUKCQgF\n FgIDAQACHgECF4AACgkQMGuU2izmGYqn8QEAlDnuRUk2VmlZysNG6MEE7VvRITPO\n Frfc6TKQOg+2mckA/0bEhuH5DXy2U8JQMfUkrEQSZ4dcvsFAoTeWh0Rva7oEuDgE\n aR5MBRIKKwYBBAGXVQEFAQEHQI8x2tLx0SF5HqDe+dIlUOTynrHK1vyYTfPnEcaH\n TXpMAwEIB4h4BBgWCgAgFiEEy8tAgCgL94UYswR7MGuU2izmGYoFAmkeTAUCGwwA\n CgkQMGuU2izmGYpSTgEAnRv5MHdDyMPvz+uQocGxkach8vaibYASmZUcSCvBzWQA\n /2IBEfo3yFg98z07OkkmiU4/T2Wg+vUhPo6CLJbd3AYH\n =e+V4\n -----END PGP PUBLIC KEY BLOCK-----"),
20  	//   })
21  	//   if err != nil {
22  	//   	return err
23  	//   }
24  
25  	repository, err := github.NewRepository(ctx, "pulumi-example", &github.RepositoryArgs{
26  		Name:                pulumi.String("pulumi-example"),
27  		Visibility:          pulumi.String("private"),
28  		HomepageUrl:         pulumi.String("mfarabi.sh"),
29  		Description:         pulumi.String("Generated by Pulumi"),
30  		Fork:                pulumi.Bool(false),
31  		GitignoreTemplate:   pulumi.String("C++"),
32  		AllowAutoMerge:      pulumi.Bool(false),
33  		AllowMergeCommit:    pulumi.Bool(false),
34  		AllowRebaseMerge:    pulumi.Bool(true),
35  		AllowSquashMerge:    pulumi.Bool(false),
36  		AllowUpdateBranch:   pulumi.Bool(true),
37  		ArchiveOnDestroy:    pulumi.Bool(false),
38  		Archived:            pulumi.Bool(false),
39  		AutoInit:            pulumi.Bool(true),
40  		DeleteBranchOnMerge: pulumi.Bool(false),
41  		HasDiscussions:      pulumi.Bool(false),
42  		HasDownloads:        pulumi.Bool(true),
43  		HasIssues:           pulumi.Bool(true),
44  		HasProjects:         pulumi.Bool(false),
45  		HasWiki:             pulumi.Bool(false),
46  		IsTemplate:          pulumi.Bool(false),
47  		LicenseTemplate:     pulumi.String("GPL-3.0"),
48  		// SourceOwner: pulumi.String("MFarabi619"),
49  		// SourceRepo:  pulumi.String("MFarabi619"),
50  		// MergeCommitMessage:  pulumi.String("string"),
51  		//	Template: &github.RepositoryTemplateArgs{
52  		//		Owner:              pulumi.String("string"),
53  		//	Repository:         pulumi.String("string"),
54  		//	IncludeAllBranches: pulumi.Bool(false),
55  		//	},
56  		Topics: pulumi.StringArray{
57  			pulumi.String("pulumi"),
58  			pulumi.String("nix"),
59  		},
60  		VulnerabilityAlerts:      pulumi.Bool(false),
61  		WebCommitSignoffRequired: pulumi.Bool(false),
62  	})
63  
64  	if err != nil {
65  		return err
66  	}
67  
68  	// 	_, err = github.NewRepositoryCollaborator(ctx, "a_repo_collaborator", &github.RepositoryCollaboratorArgs{
69  	// 		Repository:                repository.Name,
70  	// 		PermissionDiffSuppression: pulumi.Bool(false),
71  	// 		Permission:                pulumi.String("admin"),
72  	// 		Username:                  pulumi.String("MFarabi619"),
73  	//	})
74  
75  	//	if err != nil {
76  	//		return err
77  	//	}
78  
79  	_, err = github.NewRepositoryFile(ctx, "README", &github.RepositoryFileArgs{
80  		Repository: repository.Name,
81  		Branch:     pulumi.String("main"),
82  		Content: pulumi.String(`* Title
83  
84        ** Subtitle
85  
86          **bold text**`),
87  		File:              pulumi.String("README.org"),
88  		CommitAuthor:      pulumi.String("Mumtahin Farabi"),
89  		CommitEmail:       pulumi.String("mfarabi619@gmail.com"),
90  		CommitMessage:     pulumi.String("docs(readme): create file"),
91  		OverwriteOnCreate: pulumi.Bool(true),
92  	})
93  	if err != nil {
94  		return err
95  	}
96  
97  	return nil
98  }