Integrate Pulumi deployment logic
- Update Makefile to support Pulumi deployment commands - Modify cmd/up.go to call the Pulumi deployment function - Add pulumi.go, containing infrastructure deployment code
This commit is contained in:
parent
0fd4d49374
commit
40c058beac
@ -9,6 +9,7 @@ all: build
|
|||||||
|
|
||||||
init:
|
init:
|
||||||
GOPROXY=https://goproxy.cn,direct go get github.com/spf13/cobra@latest
|
GOPROXY=https://goproxy.cn,direct go get github.com/spf13/cobra@latest
|
||||||
|
GOPROXY=https://goproxy.cn,direct go get -u github.com/pulumi/pulumi/sdk/v3
|
||||||
go mod tidy
|
go mod tidy
|
||||||
|
|
||||||
build:
|
build:
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import (
|
|||||||
"os/exec"
|
"os/exec"
|
||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
"cloudwalker"
|
||||||
)
|
)
|
||||||
|
|
||||||
var upCmd = &cobra.Command{
|
var upCmd = &cobra.Command{
|
||||||
|
|||||||
@ -4,4 +4,6 @@ go 1.20
|
|||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/spf13/cobra v1.7.0
|
github.com/spf13/cobra v1.7.0
|
||||||
|
github.com/pulumi/pulumi/sdk/v3 v3.0.0
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
24
CloudWalker/pulumi.go
Normal file
24
CloudWalker/pulumi.go
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
package cloudwalker
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
|
||||||
|
)
|
||||||
|
|
||||||
|
func DeployInfrastructure() error {
|
||||||
|
err := pulumi.Run(func(ctx *pulumi.Context) error {
|
||||||
|
// 示例:创建一个 S3 bucket(Pulumi 示例)
|
||||||
|
bucket, err := pulumi.NewBucket(ctx, "my-bucket", &pulumi.BucketArgs{})
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("failed to create bucket: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 输出结果
|
||||||
|
ctx.Export("bucketName", bucket.ID())
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("failed to run pulumi: %v", err)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user