diff --git a/README.md b/README.md
index 90fb70a..8a53471 100644
--- a/README.md
+++ b/README.md
@@ -342,10 +342,10 @@ initialization process does.
#### Configuration
-* Environment AZ_SUBSCRIPTION: The Azure subscription to use in this container (deprecated)
* Environment ARM_SUBSCRIPTION_ID: The Azure subscription to use in this container
-* Environment AZ_TENANTID: The Azure tenant id to log into (optional, deprecated)
* Environment ARM_TENANT_ID: The Azure tenant id to log into (optional)
+* Environment AZ_SUBSCRIPTION: The Azure subscription to use in this container (deprecated)
+* Environment AZ_TENANTID: The Azure tenant id to log into (optional, deprecated)
* Environment AZ_USE_ARM_SPI: Uses the environment variables ARM_CLIENT_ID and ARM_CLIENT_SECRET for service principal auth [false]
### gcloud
diff --git a/build.sh b/build.sh
old mode 100644
new mode 100755
index 97cf0e9..646c4c5
--- a/build.sh
+++ b/build.sh
@@ -5,31 +5,35 @@ set -euo pipefail
# CloudControl build script
# Usage:
#
-# bash build.sh []
+# bash build.sh [ []]
#
+# If no tag is given, latest will be used
+# The flavour can only be specified, if a tag is given.
# If no flavour is specified, all flavours will be built
mv Dockerfile Dockerfile.sav &>/dev/null || true
-TAG=latest
-if [ -n "$1" ]
+TAG="${1-latest}"
+EXISTING_FLAVOURS=$(find flavour -mindepth 1 -maxdepth 1 -type d -exec basename {} \; | paste -s -d ' ' -)" "
+FLAVOURS=''
+if [[ $# -ne 2 ]]
then
- TAG=$1
-fi
-
-FLAVOURS=""
-if [ -n "$1" ] && [ -z "$2" ] || [ -z "$1" ]
-then
- FLAVOURS=$(find flavour -maxdepth 1 -type d -exec basename {} \; | grep -v flavour | paste -s -d " " -)
+ FLAVOURS=${EXISTING_FLAVOURS}
else
- FLAVOURS=$2
+ if [[ "${EXISTING_FLAVOURS}" == *"$2 "* ]]
+ then
+ FLAVOURS=$2
+ else
+ >&2 echo "The flavour '$2' does not exist!"
+ exit 1
+ fi
fi
for FLAVOUR in ${FLAVOURS}
do
cat build/Dockerfile.prefix > Dockerfile
cat "flavour/${FLAVOUR}/Dockerfile.flavour" >> Dockerfile
- cat build/Dockerfile.suffix.mo | docker run --rm -i -e FLAVOUR=${FLAVOUR} -e BUILD_DATE=$(date -Iseconds) ghcr.io/tests-always-included/mo:3.0.5 >> Dockerfile
+ cat build/Dockerfile.suffix.mo | docker run --rm -i -e FLAVOUR=${FLAVOUR} -e BUILD_DATE="$(date -Iseconds)" ghcr.io/tests-always-included/mo:3.0.5 >> Dockerfile
docker build --pull . --no-cache -t "ghcr.io/dodevops/cloudcontrol-${FLAVOUR}:${TAG}"
done
diff --git a/feature/_fish/install.sh b/feature/_fish/install.sh
index 95252bc..fc45e89 100644
--- a/feature/_fish/install.sh
+++ b/feature/_fish/install.sh
@@ -3,16 +3,7 @@
if [[ "${FLAVOUR}" =~ (simple|tanzu|gcloud) ]]
then
execHandle 'Installing fish' sudo apk add fish perl fzf git
-elif [[ "${FLAVOUR}" == "azure" ]]
-then
- prepare
- execHandle 'Installing fish' sudo yum install -y fish perl git
- execHandle 'Downloading fzf' curl -f -s -L https://github.com/junegunn/fzf/archive/master.zip -o master.zip
- execHandle 'Unzipping fzf' unzip master.zip
- execHandle 'Moving fzf' mv fzf-master ~/bin
- execHandle 'Installing fzf' ~/bin/fzf-master/install --all
- cleanup
-elif [[ "${FLAVOUR}" == "aws" ]]
+elif [[ "${FLAVOUR}" =~ (aws|azure) ]]
then
prepare
execHandle 'Downloading fish repo' sudo curl -f -s -L https://download.opensuse.org/repositories/shells:fish:release:3/CentOS_7/shells:fish:release:3.repo -o /etc/yum.repos.d/shells:fish:release:3.repo
diff --git a/flavour/azure/Dockerfile.flavour b/flavour/azure/Dockerfile.flavour
index 43788c5..799f686 100644
--- a/flavour/azure/Dockerfile.flavour
+++ b/flavour/azure/Dockerfile.flavour
@@ -1,17 +1,19 @@
-FROM mcr.microsoft.com/azure-cli:cbl-mariner2.0
+FROM mcr.microsoft.com/azure-cli:azurelinux3.0
-RUN yum install -y sudo curl tar unzip && \
- echo "cloudcontrol ALL=(root)NOPASSWD:/usr/bin/yum *" > /etc/sudoers.d/cloudcontrol && \
- echo "cloudcontrol ALL=(root)NOPASSWD:/usr/bin/az *" >> /etc/sudoers.d/cloudcontrol && \
- echo "cloudcontrol ALL=(root)NOPASSWD:/usr/bin/chmod *" >> /etc/sudoers.d/cloudcontrol && \
- echo "cloudcontrol ALL=(root)NOPASSWD:/usr/bin/cp *" >> /etc/sudoers.d/cloudcontrol && \
- echo "cloudcontrol ALL=(root)NOPASSWD:/usr/bin/update-ca-trust" >> /etc/sudoers.d/cloudcontrol && \
- adduser -mr cloudcontrol && \
- mkdir /home/cloudcontrol/bin && \
+
+RUN <> /etc/sudoers.d/cloudcontrol
+ done
+ adduser -mr cloudcontrol
+ mkdir /home/cloudcontrol/bin
chown cloudcontrol /home/cloudcontrol/bin
+RUN_SCRIPT
# Flavour
-
COPY flavour/azure/flavour /home/cloudcontrol/flavour
COPY flavour/azure/flavourinit.sh /home/cloudcontrol/bin/flavourinit.sh
RUN chmod +x /home/cloudcontrol/bin/flavourinit.sh
diff --git a/flavour/azure/flavour.yaml b/flavour/azure/flavour.yaml
index 598b323..3789d26 100644
--- a/flavour/azure/flavour.yaml
+++ b/flavour/azure/flavour.yaml
@@ -7,10 +7,10 @@ description: |
(located in ~/bin, thus available without path) to re-execute the same login commands as the
initialization process does.
configuration:
- - "Environment AZ_SUBSCRIPTION: The Azure subscription to use in this container (deprecated)"
- "Environment ARM_SUBSCRIPTION_ID: The Azure subscription to use in this container"
- - "Environment AZ_TENANTID: The Azure tenant id to log into (optional, deprecated)"
- "Environment ARM_TENANT_ID: The Azure tenant id to log into (optional)"
+ - "Environment AZ_SUBSCRIPTION: The Azure subscription to use in this container (deprecated)"
+ - "Environment AZ_TENANTID: The Azure tenant id to log into (optional, deprecated)"
- "Environment AZ_USE_ARM_SPI: Uses the environment variables ARM_CLIENT_ID and ARM_CLIENT_SECRET for service principal auth [false]"
platforms:
- linux/amd64