Skip to content

Latest commit

 

History

History
44 lines (29 loc) · 1.48 KB

README.md

File metadata and controls

44 lines (29 loc) · 1.48 KB

hugo-aws-lambda-layer

AWS Lambda Layer for Hugo from gohugo.io.

It is intended to be functional in all runtimes. It has been tested in go1.x and python3.8 so far.

Building the Layer

  1. Make certain you have the lambci/lambda:build-go1.x Docker image needed to build the layer.

    $ docker images
    REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
    lambci/lambda              build-go1.x         051f7de811cf        11 days ago         2.2GB
    1. If you do not have the images, just pull them with a docker pull command.
  2. Confirm the build directory is clean.

    $ ls -1
    LICENSE
    README.md
    build.sh
  3. Then execute the docker lambci/lambda:build-go1.x image to run the build script.

    docker run --rm -it -v pwd:/tmp/repo --entrypoint /bin/bash lambci/lambda:build-go1.x /tmp/repo/build.sh

    Using the golang:1.17.1-alpine3.14 image, run the build script (can't use lamci/lambda anymore due to golang version requirement):

    docker run --rm -it -v `pwd`:tmp/repo --entrypoint /bin/bash golang:1.17.1-alpine3.14 /tmp/repo/build.sh

Deploy the Layer

Once the layer zip file is created, you can deploy it to your AWS account with the following command:

aws lambda publish-layer-version --layer-name "hugo-VERSION" --description "Hugo VERSION for All Runtimes" --license-info "Apache 2.0" --zip-file "fileb://hugo.zip"