add some docker images
- ID
361b977- date
2023-05-01 11:12:00+00:00- author
Alex Chan <alex@alexwlchan.net>- parent
56018b6- message
add some docker images- changed files
Changed files
docker/README.md (0) → docker/README.md (292)
diff --git a/docker/README.md b/docker/README.md
new file mode 100644
index 0000000..b25fa5c
--- /dev/null
+++ b/docker/README.md
@@ -0,0 +1,5 @@
+# docker
+
+These scripts are all Docker-based wrappers for tools of the same name (`cloc`, `rubocop`, and so on).
+
+I prefer to use Docker over installing packages directly on my system because I've had multiple headaches with Mac package managers, whereas Docker works fairly reliably for me.
docker/_ensure_docker_is_running (0) → docker/_ensure_docker_is_running (470)
diff --git a/docker/_ensure_docker_is_running b/docker/_ensure_docker_is_running
new file mode 100755
index 0000000..dd38336
--- /dev/null
+++ b/docker/_ensure_docker_is_running
@@ -0,0 +1,22 @@
+#!/usr/bin/env bash
+# This script checks to see if Docker is running, and if not, it starts
+# Docker.
+#
+# This is a prefix to several of my scripts that rely on Docker being
+# present; it saves me having to start Docker myself.
+
+set -o errexit
+set -o nounset
+
+if ! docker info > /dev/null 2>&1; then
+ echo "Starting Docker..."
+ open /Applications/Docker.app
+
+ for i in $(seq 60)
+ do
+ if docker info > /dev/null 2>&1; then
+ break
+ fi
+ sleep 1
+ done
+fi
docker/cloc (0) → docker/cloc (592)
diff --git a/docker/cloc b/docker/cloc
new file mode 100755
index 0000000..bdd5876
--- /dev/null
+++ b/docker/cloc
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+
+set -o errexit
+set -o nounset
+
+_ensure_docker_is_running
+
+# Note: the --platform line is to silence this warning on Apple Silicon:
+#
+# WARNING: The requested image's platform (linux/amd64) does not
+# match the detected host platform (linux/arm64/v8) and
+# no specific platform was requested
+#
+# Hopefully at some point cloc will start publishing ARM-based Docker images,
+# but until then it's not a big issue -- this isn't a CPU-intensive tool.
+docker run --rm \
+ --volume $(pwd):$(pwd) \
+ --workdir $(pwd) \
+ --platform linux/amd64 \
+ aldanial/cloc "$@"
rubocop (511) → docker/rubocop (538)
diff --git a/rubocop b/docker/rubocop
similarity index 97%
rename from rubocop
rename to docker/rubocop
index fe6d562..1cef37d 100755
--- a/rubocop
+++ b/docker/rubocop
@@ -7,6 +7,8 @@
set -o errexit
set -o nounset
+_ensure_docker_is_running
+
if ! docker images | grep alexwlchan/rubocop >/dev/null
then
pushd ~/repos/pathscripts/docker
terraform/tflint (307) → terraform/tflint (334)
diff --git a/terraform/tflint b/terraform/tflint
index dabbdce..5b2c75b 100755
--- a/terraform/tflint
+++ b/terraform/tflint
@@ -7,6 +7,8 @@
set -o errexit
set -o nounset
+_ensure_docker_is_running
+
docker run --rm --tty \
--volume $(pwd):/data \
ghcr.io/terraform-linters/tflint --recursive "$@"