From 33ab513062d55001f47799c08a6685d665a6ee4e Mon Sep 17 00:00:00 2001 From: Garrett Delfosse Date: Wed, 14 May 2025 14:15:49 +0000 Subject: [PATCH 1/3] chore: migrate new_module script --- scripts/new_module.sh | 52 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100755 scripts/new_module.sh diff --git a/scripts/new_module.sh b/scripts/new_module.sh new file mode 100755 index 000000000..3db89d24e --- /dev/null +++ b/scripts/new_module.sh @@ -0,0 +1,52 @@ +#!/usr/bin/env bash + +# This scripts creates a new sample moduledir with required files +# Run it like : ./scripts/new_module.sh my-namespace/my-module + +MODULE_ARG=$1 + +# Check if they are in the root directory +if [ ! -d "registry" ]; then + echo "Please run this script from the root directory of the repository" + echo "Usage: ./scripts/new_module.sh /" + exit 1 +fi + +# check if module name is in the format / +if ! [[ "$MODULE_ARG" =~ ^[a-z0-9_-]+/[a-z0-9_-]+$ ]]; then + echo "Module name must be in the format /" + echo "Usage: ./scripts/new_module.sh /" + exit 1 +fi + +# Extract the namespace and module name +NAMESPACE=$(echo "$MODULE_ARG" | cut -d'/' -f1) +MODULE_NAME=$(echo "$MODULE_ARG" | cut -d'/' -f2) + +# Check if the module already exists +if [ -d "registry/$NAMESPACE/modules/$MODULE_NAME" ]; then + echo "Module at registry/$NAMESPACE/modules/$MODULE_NAME already exists" + echo "Please choose a different name" + exit 1 +fi +mkdir -p "registry/${NAMESPACE}/modules/${MODULE_NAME}" + +# Copy required files from the example module +cp -r examples/modules/* "registry/${NAMESPACE}/modules/${MODULE_NAME}/" + +# Change to module directory +cd "registry/${NAMESPACE}/${MODULE_NAME}" + +# Detect OS +if [[ "$OSTYPE" == "darwin"* ]]; then + # macOS + sed -i '' "s/MODULE_NAME/${MODULE_NAME}/g" main.tf + sed -i '' "s/MODULE_NAME/${MODULE_NAME}/g" README.md +else + # Linux + sed -i "s/MODULE_NAME/${MODULE_NAME}/g" main.tf + sed -i "s/MODULE_NAME/${MODULE_NAME}/g" README.md +fi + +# Make run.sh executable +chmod +x run.sh \ No newline at end of file From 9b436f1ee547d421ad98712e25ae2dca91d8b852 Mon Sep 17 00:00:00 2001 From: Garrett Delfosse Date: Wed, 14 May 2025 14:20:37 +0000 Subject: [PATCH 2/3] fmt --- scripts/new_module.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/new_module.sh b/scripts/new_module.sh index 3db89d24e..86a2c345d 100755 --- a/scripts/new_module.sh +++ b/scripts/new_module.sh @@ -49,4 +49,4 @@ else fi # Make run.sh executable -chmod +x run.sh \ No newline at end of file +chmod +x run.sh From df6924d84cfb6fdf648ac1e90aa8f0af34670e07 Mon Sep 17 00:00:00 2001 From: Garrett Delfosse Date: Thu, 15 May 2025 15:20:20 +0000 Subject: [PATCH 3/3] handle path correctly --- scripts/new_module.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/new_module.sh b/scripts/new_module.sh index 86a2c345d..bc98d9ee3 100755 --- a/scripts/new_module.sh +++ b/scripts/new_module.sh @@ -35,7 +35,7 @@ mkdir -p "registry/${NAMESPACE}/modules/${MODULE_NAME}" cp -r examples/modules/* "registry/${NAMESPACE}/modules/${MODULE_NAME}/" # Change to module directory -cd "registry/${NAMESPACE}/${MODULE_NAME}" +cd "registry/${NAMESPACE}/modules/${MODULE_NAME}" # Detect OS if [[ "$OSTYPE" == "darwin"* ]]; then