diff --git a/.github/workflows/image.yml b/.github/workflows/image.yml new file mode 100644 index 0000000..9416075 --- /dev/null +++ b/.github/workflows/image.yml @@ -0,0 +1,33 @@ +name: build-publish-jdk11-dind-image +on: + workflow_dispatch: + + +run-name: build-publish-sample-python-image +jobs: + build-publish-jdk11-dind-image: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Log in to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN }} + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build and docker image with tag + uses: docker/build-push-action@v6 + with: + file: Dockerfile + push: true + tags: | + ${{ secrets.DOCKERHUB_USERNAME }}/sample-python-image:latest diff --git a/app/quickapi.py b/app/quickapi.py index 875a312..15e264f 100644 --- a/app/quickapi.py +++ b/app/quickapi.py @@ -40,7 +40,10 @@ async def create_item(item: UserColorEntry): """Create an item with a username and users favourite colour and return it.""" user_colour.append(item) print(user_colour) - logger.info(item) + # Sanitize log message to prevent log injection + sanitized_username = item.name.replace('\r\n', '').replace('\n', '') + sanitized_color = item.favorite_color.replace('\r\n', '').replace('\n', '') + logger.info("New user-color entry added: name=%s, favorite_colour=%s", sanitized_username, sanitized_color) return item # List all user_colour mappings