From 8fc1c6b14b1fdd6be5f0a94507d4bfe031e04929 Mon Sep 17 00:00:00 2001 From: Mike Crute Date: Sun, 10 Sep 2023 19:31:07 -0700 Subject: Add some scripts --- bin/docker-mirror.sh | 35 +++++++++++++++++++++++++++++++++++ bin/sm-ipmi-key.go | 42 ++++++++++++++++++++++++++++++++++++++++++ bin/update-dns.sh | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 115 insertions(+) create mode 100755 bin/docker-mirror.sh create mode 100644 bin/sm-ipmi-key.go create mode 100755 bin/update-dns.sh diff --git a/bin/docker-mirror.sh b/bin/docker-mirror.sh new file mode 100755 index 0000000..22e75ce --- /dev/null +++ b/bin/docker-mirror.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +set -e + +function mirror() { + src="${1%:*}"; tag="${1#*:}" + dest="docker.crute.me/$(basename ${src})" + + echo "Mirroring ${src}:${tag} to ${dest}:${tag}" + + docker run docker.crute.me/skopeo:latest copy \ + --dest-creds "docker-mirror:$(pass Pomona/Docker_Mirror_Key)" -a \ + docker://${src}:${tag} \ + docker://${dest}:${tag} +} + +mirror "cesanta/docker_auth:latest" +mirror "cesanta/docker_auth:1" +mirror "klausmeyer/docker-registry-browser:latest" +mirror "registry:latest" +mirror "registry:2" +mirror "mongo:3.6" +mirror "mongo:4" +mirror "mongo:latest" +mirror "quay.io/wekan/wekan:latest" +mirror "alpine:edge" +mirror "alpine:latest" +mirror "alpine:3.10" +mirror "amazonlinux:2" +mirror "frolvlad/alpine-glibc:latest" +mirror "frolvlad/alpine-java:jre8-slim" +mirror "golang:latest" +mirror "nginx:mainline-alpine" +mirror "ubuntu:14.04" +mirror "ubuntu:16.04" diff --git a/bin/sm-ipmi-key.go b/bin/sm-ipmi-key.go new file mode 100644 index 0000000..7477e89 --- /dev/null +++ b/bin/sm-ipmi-key.go @@ -0,0 +1,42 @@ +package main + +// A key generator that generates magic keys +// go run sm-ipmi-key.go + +import ( + "crypto/hmac" + "crypto/sha1" + "encoding/hex" + "fmt" + "os" + "strings" +) + +const secretKey = "8544E3B47ECA58F9583043F8" + +func mustUnhex(s string) []byte { + o, err := hex.DecodeString(s) + if err != nil { + panic(err) + } + return o +} + +func main() { + // Cleanup mac + mac := strings.ReplaceAll(strings.ToLower(os.Args[1]), ":", "") + + // Create hash + hash := hmac.New(sha1.New, mustUnhex(secretKey)) + hash.Write(mustUnhex(mac)) + res := hex.EncodeToString(hash.Sum(nil)) + + // Cut into groups of 4 characters + out := make([]string, 24/4) + for i := 0; i < 24/4; i++ { + out[i] = res[:24][i*4 : i*4+4] + } + + // Print the groups with spaces between them + fmt.Println(strings.Join(out, " ")) +} diff --git a/bin/update-dns.sh b/bin/update-dns.sh new file mode 100755 index 0000000..1262195 --- /dev/null +++ b/bin/update-dns.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +view="internal" +#view="external" + +zone_key=$(grep "key \"master-view-$view\"" <