openfaas / templates

OpenFaaS Classic templates
https://www.openfaas.com
MIT License
281 stars 227 forks source link

Allow static files to be published into final image for Go template #290

Closed alexellis closed 2 years ago

alexellis commented 2 years ago

Signed-off-by: Alex Ellis (OpenFaaS Ltd) alexellis2@gmail.com

Description

Allow static files to be published into final image for Go template

Motivation and Context

Allows code to be published into final image, without leaking additional source code into container.

How Has This Been Tested?

package function

import (
    "fmt"
    "io/ioutil"
    "os"

    "log"
)

// Handle a serverless request
func Handle(req []byte) string {

    data, err := ioutil.ReadFile("./static/hostname")

    if err != nil {
        log.Println(err)
        os.Exit(-1)
    }

    return fmt.Sprintf("File contents: %s", string(data))
}

Types of changes

How are existing users impacted? What migration steps/scripts do we need?

This is a breaking change for existing users who rely on folder names such as templates or dataset.json within their published image.

Now, put these files into the static folder and read them from ./static/templates/index.html and so forth.

Checklist:

A note will be published in the openfaas docs repo for this new change.