Skip to content

Commit 024c8c8

Browse files
authored
chore: fixes devcontainer dockerfile (#483)
* chore: fixes devcontainer dockerfile * chore: add tools to devcontainer
1 parent 1b8c374 commit 024c8c8

File tree

3 files changed

+44
-10
lines changed

3 files changed

+44
-10
lines changed

.devcontainer/Dockerfile

+16-7
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,25 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15+
FROM gcr.io/projectsigstore/cosign:latest as cosign
16+
1517
FROM mcr.microsoft.com/devcontainers/go:1-1.22-bookworm
1618

17-
ADD ../internal /go/src/apigeecli/internal
18-
ADD ../cmd /go/src/apigeecli/cmd
19+
COPY --from=cosign /ko-app/cosign /usr/bin
20+
21+
RUN go install github.com/google/addlicense@latest
22+
23+
RUN go install github.com/google/go-licenses@latest
1924

20-
COPY ../go.mod ../go.sum /go/src/apigeecli/
25+
RUN echo 'deb [trusted=yes] https://repo.goreleaser.com/apt/ /' | sudo tee /etc/apt/sources.list.d/goreleaser.list
26+
RUN sudo apt update
27+
RUN sudo apt install -y goreleaser curl jq
2128

22-
WORKDIR /go/src/apigeecli
29+
# ref: https://stackoverflow.com/questions/28372328/how-to-install-the-google-cloud-sdk-in-a-docker-image
30+
RUN curl https://dl.google.com/dl/cloudsdk/release/google-cloud-sdk.tar.gz > /tmp/google-cloud-sdk.tar.gz
2331

24-
ENV GO111MODULE=on
25-
RUN go mod tidy
26-
RUN go mod download
32+
RUN mkdir -p /usr/local/gcloud \
33+
&& tar -C /usr/local/gcloud -xvf /tmp/google-cloud-sdk.tar.gz \
34+
&& /usr/local/gcloud/google-cloud-sdk/install.sh
2735

36+
ENV PATH $PATH:/usr/local/gcloud/google-cloud-sdk/bin

.devcontainer/devcontainer.json

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"name": "Go",
3+
"build": {
4+
"dockerfile": "Dockerfile",
5+
"context": ".."
6+
},
7+
"runArgs": [
8+
"--privileged",
9+
"--network=host"
10+
],
11+
"workspaceMount": "source=${localWorkspaceFolder},target=/${localWorkspaceFolderBasename},type=bind",
12+
"workspaceFolder": "/${localWorkspaceFolderBasename}",
13+
"customizations": {
14+
"vscode": {
15+
"extensions": [
16+
"golang.go",
17+
"redhat.vscode-yaml",
18+
"davidanson.vscode-markdownlint"
19+
],
20+
"settings": {
21+
"go.useLanguageServer": true,
22+
"go.lintTool": "golangci-lint"
23+
}
24+
}
25+
}
26+
}

.gitignore

+2-3
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@ dist/
2121

2222
apiproxy/
2323

24-
#keys for envoy
25-
remote-service.*
2624

2725
# ignore changes to launch.json
2826
.vscode/launch.json
@@ -38,4 +36,5 @@ remote-service.*
3836
!test/*.zip
3937
!cmd/apigeecli*
4038
!internal/apigeecli*
41-
39+
!.vscode/launch.json
40+
!.devcontainer/devcontainer.json

0 commit comments

Comments
 (0)