diff --git a/Dockerfile b/Dockerfile index 4539f9f..3b0e1d4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,6 +11,7 @@ RUN go build FROM alpine:3.19 COPY --from=build /ipfs-key/ipfs-key /bin/ipfs-key +ADD entrypoint.sh /entrypoint.sh -ENTRYPOINT ["/bin/ipfs-key"] -CMD [] +ENTRYPOINT ["/entrypoint.sh"] +CMD ["-type", "ed25519"] diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100755 index 0000000..a278914 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +cd /root + +/bin/ipfs-key "$@" 2> /root/keygen.stderr 1> peer.key +awk '/^ID for generated key:/ {print $5}' < keygen.stderr > peer.id +xxd -p -l 32 -c 32 /dev/random > cluster.key + +cat << EOF +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: ipfs-config +data: + bootstrap-peer-id: |- + $(cat peer.id) +--- +apiVersion: v1 +kind: Secret +metadata: + name: ipfs-secrets +data: + cluster-secret: |- + $(base64 -w 0 cluster.key) + bootstrap-peer-priv-key: |- + $(base64 -w 0 peer.key) +EOF