cdklabs / cdk-ecr-deployment

A CDK construct to deploy docker image to Amazon ECR
Apache License 2.0
159 stars 31 forks source link

cannot find module providing package github.com/cdklabs/cdk-ecr-deployment-go/cdkecrdeployment/v3: #877

Closed kaykhan closed 4 days ago

kaykhan commented 1 week ago

I am trying to use this package in golang aws cdk project but trying to install it i get

go: finding module for package github.com/cdklabs/cdk-ecr-deployment-go/cdkecrdeployment/v3
go: market-data/lib/ch/stream/companies imports
        github.com/cdklabs/cdk-ecr-deployment-go/cdkecrdeployment/v3: cannot find module providing package github.com/cdklabs/cdk-ecr-deployment-go/cdkecrdeployment/v3: module github.com/cdklabs/cdk-ecr-deployment-go/cdkecrdeployment/v3: git ls-remote -q origin in /home/kay/go/1.22.4/pkg/mod/ca
che/vcs/3832d01b81d0fc3e8238b631c9e88566faf4d09b153210520f4074f0d584600c: exit status 128:
        remote: Repository not found.
        fatal: repository 'https://github.com/cdklabs/cdk-ecr-deployment-go/' not found
import (
    "github.com/cdklabs/cdk-ecr-deployment-go/cdkecrdeployment/v3"
)

https://constructs.dev/packages/cdk-ecr-deployment/v/3.0.117/api/ECRDeploymentProps?lang=go

mrgrain commented 5 days ago

The documentation for go is not great, but this works for me without issues.

package main

import (
    "fmt"

    "github.com/aws/aws-cdk-go/awscdk/v2"
    "github.com/aws/aws-cdk-go/awscdk/v2/awsecrassets"
    "github.com/aws/constructs-go/constructs/v10"
    "github.com/aws/jsii-runtime-go"
    "github.com/cdklabs/cdk-ecr-deployment-go/cdkecrdeployment/v3"
)

type EcrgoStackProps struct {
    awscdk.StackProps
}

func NewEcrgoStack(scope constructs.Construct, id string, props *EcrgoStackProps) awscdk.Stack {
    var sprops awscdk.StackProps
    if props != nil {
        sprops = props.StackProps
    }
    stack := awscdk.NewStack(scope, &id, &sprops)

    image := awsecrassets.NewDockerImageAsset(stack, jsii.String("CDKDockerImage"), &awsecrassets.DockerImageAssetProps{
        Directory: jsii.String("docker"),
    })

    // Copy from cdk docker image asset to another ECR.
    cdkecrdeployment.NewECRDeployment(stack, jsii.String("DeployDockerImage1"), &cdkecrdeployment.ECRDeploymentProps{
        Src:  cdkecrdeployment.NewDockerImageName(image.ImageUri(), nil),
        Dest: cdkecrdeployment.NewDockerImageName(jsii.String(fmt.Sprintf("%v.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest", awscdk.Aws_ACCOUNT_ID())), nil),
    })

    return stack
}

func main() {
    defer jsii.Close()

    app := awscdk.NewApp(nil)

    NewEcrgoStack(app, "EcrgoStack", &EcrgoStackProps{
        awscdk.StackProps{
            Env: env(),
        },
    })

    app.Synth(nil)
}

func env() *awscdk.Environment {
    return nil
}
gshpychka commented 4 days ago

For posterity - it didn't work because the source repository was set to Private, which has since been fixed: https://github.com/cdklabs/cdk-ecr-deployment/issues/231#issuecomment-2418923482