From 44d15c46e5a81425206ea4aac8ba3c59e28a5601 Mon Sep 17 00:00:00 2001 From: Bram Kelchtermans Date: Sun, 25 Aug 2024 14:28:03 +0200 Subject: [PATCH] chore: Update Dockerfile to fix Teleport installation command and create teleport configuration file --- .../remote-laravel-container/entrypoint.sh | 40 ++++++++++++++----- Dockers/remote-laravel-container/version | 2 +- 2 files changed, 31 insertions(+), 11 deletions(-) diff --git a/Dockers/remote-laravel-container/entrypoint.sh b/Dockers/remote-laravel-container/entrypoint.sh index 9766175..08c9e91 100644 --- a/Dockers/remote-laravel-container/entrypoint.sh +++ b/Dockers/remote-laravel-container/entrypoint.sh @@ -1,24 +1,24 @@ #!/bin/bash set -e -# Check if the required environment variables are set -if [ -z "$REPO_URL" ]; then - echo "Error: REPO_URL environment variable must be set." - exit 1 -fi - # Check if the SSH key exists if [ ! -f /root/.ssh/id_rsa ]; then echo "Error: SSH private key not found at /root/.ssh/id_rsa" exit 1 fi -if [ -z $GIT_USER ]; then +# Check if the required environment variables are set +if [ -z "$REPO_URL" ]; then + echo "Error: REPO_URL environment variable must be set." + exit 1 +fi + +if [ -z "$GIT_USER" ]; then echo "Error: GIT_USER environment variable must be set." exit 1 fi -if [ -z $GIT_EMAIL ]; then +if [ -z "$GIT_EMAIL" ]; then echo "Error: GIT_EMAIL environment variable must be set." exit 1 fi @@ -40,14 +40,28 @@ if [ ! -d "/workspace/.git" ]; then HostName $DOMAIN IdentityFile /root/.ssh/id_rsa StrictHostKeyChecking no - " >> /root/.ssh/config + " >>/root/.ssh/config # Clone the repository if it doesn't exist git clone $REPO_URL /workspace fi # Add the public SSH key to authorized_keys if [ -f /root/.ssh/hostkey.pub ]; then - cat /root/.ssh/hostkey.pub >> /root/.ssh/authorized_keys + cat /root/.ssh/hostkey.pub >>/root/.ssh/authorized_keys +fi + +# If no teleport edition is given, fallback to oss +if [ -z "$TELEPORT_EDITION" ]; then + TELEPORT_EDITION="oss" +fi + +# Install Teleport if the environment variables are set +if [ -n "$TELEPORT_VERSION" ] && [ -n "$TELEPORT_URL" ]; then + echo "Installing Teleport version $TELEPORT_VERSION, edition $TELEPORT_EDITION..." + echo "Executing: curl https://goteleport.com/static/install.sh | bash -s $TELEPORT_VERSION $TELEPORT_EDITION" + curl https://goteleport.com/static/install.sh | bash -s ${TELEPORT_VERSION} ${TELEPORT_EDITION} +else + echo "Error: TELEPORT_VERSION and TELEPORT_EDITION environment variables must be set." fi # Change to the repository directory @@ -61,6 +75,12 @@ if [ -f /environment/.env ]; then cp /environment/.env /workspace/.env fi +## If teleport token is set and there is no teleport.yaml file, create one +if [ -n "$TELEPORT_TOKEN" ] && [ ! -f /etc/teleport.yaml ]; then + teleport configure --roles=node --token=$TELEPORT_TOKEN --proxy=$TELEPORT_URL --no-acme -o file + echo "Created teleport configuration file" +fi + HOSTNAME=$(hostname) # File path diff --git a/Dockers/remote-laravel-container/version b/Dockers/remote-laravel-container/version index 9f8e9b6..415b19f 100644 --- a/Dockers/remote-laravel-container/version +++ b/Dockers/remote-laravel-container/version @@ -1 +1 @@ -1.0 \ No newline at end of file +2.0 \ No newline at end of file