golang.org/x/build@v0.0.0-20240506185731-218518f32b70/cmd/gitmirror/Dockerfile (about)

     1  # Copyright 2017 The Go Authors. All rights reserved.
     2  # Use of this source code is governed by a BSD-style
     3  # license that can be found in the LICENSE file.
     4  
     5  FROM golang:1.21-bookworm AS build
     6  LABEL maintainer="golang-dev@googlegroups.com"
     7  
     8  RUN mkdir /gocache
     9  ENV GOCACHE /gocache
    10  
    11  COPY go.mod /go/src/golang.org/x/build/go.mod
    12  COPY go.sum /go/src/golang.org/x/build/go.sum
    13  
    14  WORKDIR /go/src/golang.org/x/build
    15  
    16  # Download module dependencies to improve speed of re-building the
    17  # Docker image during minor code changes.
    18  RUN go mod download
    19  
    20  COPY . /go/src/golang.org/x/build/
    21  
    22  RUN go install golang.org/x/build/cmd/gitmirror
    23  
    24  FROM debian:bookworm
    25  LABEL maintainer="golang-dev@googlegroups.com"
    26  
    27  # For interacting with the Go source & subrepos
    28  RUN apt-get update && apt-get install -y \
    29  	--no-install-recommends \
    30  	ca-certificates \
    31  	git-core \
    32  	openssh-client \
    33  	gnupg dirmngr \
    34  	curl tini \
    35  	&& rm -rf /var/lib/apt/lists/*
    36  
    37  # Install gcloud for auth to CSR, see https://cloud.google.com/sdk/docs/install#deb
    38  RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key --keyring /usr/share/keyrings/cloud.google.gpg  add - && apt-get update -y && apt-get install google-cloud-sdk -y && rm -rf /var/lib/apt/lists/*
    39  
    40  # Add github.com's known_hosts entries, so git push calls later don't
    41  # prompt, and don't need to have their strict host key checking
    42  # disabled.
    43  RUN mkdir -p ~/.ssh/ \
    44  	&& chmod 0700 ~/.ssh/ \
    45  	&& echo "github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl" > ~/.ssh/known_hosts \
    46  	&& echo "github.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmKSENjQEezOmxkZMy7opKgwFB9nkt5YRrYMjNuG5N87uRgg6CLrbo5wAdT/y6v0mKV0U2w0WZ2YB/++Tpockg=" >> ~/.ssh/known_hosts \
    47  	&& echo "github.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk=" >> ~/.ssh/known_hosts \
    48  	&& chmod 0600 ~/.ssh/known_hosts
    49  
    50  COPY --from=build /go/bin/gitmirror /
    51  ENTRYPOINT ["/usr/bin/tini", "--", "/gitmirror"]