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 }