diff --git a/api/deploy/deploy.go b/api/deploy/deploy.go index 2c536d26..ba112b11 100644 --- a/api/deploy/deploy.go +++ b/api/deploy/deploy.go @@ -41,6 +41,7 @@ func (h *Deploy) Deploy(ctx context.Context, req *DeployRequest) (*DeployRespons if err != nil { return nil, err } + defer tf.Cleanup() d, err := deploy.New(p, req.Updates, tf) if err != nil { return nil, err diff --git a/api/destroy/destroy.go b/api/destroy/destroy.go index 2aeabaf7..0632c8de 100644 --- a/api/destroy/destroy.go +++ b/api/destroy/destroy.go @@ -38,6 +38,7 @@ func (f *Destroy) Destroy(ctx context.Context, req *DestroyRequest) (*DestroyRes if err != nil { return nil, err } + defer tf.Cleanup() err = destroy.Destroy(p, tf) if err != nil { return nil, err diff --git a/api/setup/setup.go b/api/setup/setup.go index 0cae1b62..7392ae90 100644 --- a/api/setup/setup.go +++ b/api/setup/setup.go @@ -26,6 +26,7 @@ func (f *Setup) Setup(ctx context.Context, req *SetupRequest) (*SetupResponse, e if err != nil { return nil, err } + defer tf.Cleanup() apiGatewayUrl, err := setup.Setup(tf, req.Destroy) if err != nil { return nil, err diff --git a/internal/assets/bindata.go b/internal/assets/bindata.go index c559402b..32aae2e3 100644 --- a/internal/assets/bindata.go +++ b/internal/assets/bindata.go @@ -207,7 +207,7 @@ func terraformModulesBackendFuncsZip() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "terraform/modules/backend-funcs.zip", size: 4004, mode: os.FileMode(420), modTime: time.Unix(1630054281, 0)} + info := bindataFileInfo{name: "terraform/modules/backend-funcs.zip", size: 4004, mode: os.FileMode(420), modTime: time.Unix(1630055278, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -227,7 +227,7 @@ func terraformModulesBackendIamZip() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "terraform/modules/backend-iam.zip", size: 944, mode: os.FileMode(420), modTime: time.Unix(1630054281, 0)} + info := bindataFileInfo{name: "terraform/modules/backend-iam.zip", size: 944, mode: os.FileMode(420), modTime: time.Unix(1630055278, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -247,7 +247,7 @@ func terraformModulesDynamodbZip() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "terraform/modules/dynamodb.zip", size: 783, mode: os.FileMode(420), modTime: time.Unix(1630054281, 0)} + info := bindataFileInfo{name: "terraform/modules/dynamodb.zip", size: 783, mode: os.FileMode(420), modTime: time.Unix(1630055278, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -267,7 +267,7 @@ func terraformModulesFuncsZip() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "terraform/modules/funcs.zip", size: 5315, mode: os.FileMode(420), modTime: time.Unix(1630054281, 0)} + info := bindataFileInfo{name: "terraform/modules/funcs.zip", size: 5315, mode: os.FileMode(420), modTime: time.Unix(1630055278, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/internal/terraform/terraform.go b/internal/terraform/terraform.go index 4e761143..3f334663 100644 --- a/internal/terraform/terraform.go +++ b/internal/terraform/terraform.go @@ -186,3 +186,9 @@ func (t *Terraform) apply(destroy bool) error { } return nil } + +func (t *Terraform) Cleanup() { + if err := os.RemoveAll(t.path); err != nil { + log.Error(err) + } +}