func/templates/go/http
Matej Vašek e720bbcc8c
Add guideline for private Go module usage (#2771)
Signed-off-by: Matej Vašek <mvasek@redhat.com>
2025-04-04 05:13:05 +00:00
..
README.md Add guideline for private Go module usage (#2771) 2025-04-04 05:13:05 +00:00
go.mod func-go v1.21.3 - idiomatic handler signatures (#2227) 2024-03-14 14:40:36 +00:00
handle.go update templates to work with func-go (#2230) 2024-03-14 16:03:46 +00:00
handle_test.go update templates to work with func-go (#2230) 2024-03-14 16:03:46 +00:00

README.md

Go HTTP Function

Welcome to your new Go Function! The boilerplate function code can be found in handle.go. This Function responds to HTTP requests.

Development

Develop new features by adding a test to handle_test.go for each feature, and confirm it works with go test.

Update the running analog of the function using the func CLI or client library, and it can be invoked from your browser or from the command line:

curl http://myfunction.example.com/

Import Private Go Modules

If you want to use a module that is in a private git repository, you can do it by mounting credentials and by setting appropriate environment variable.

This is done by setting the build.volumes and build.buildEnvs properties in the func.yaml config file.

pack

For the pack builder have to use paketo bindings:

# $schema: https://raw.githubusercontent.com/knative/func/refs/heads/main/schema/func_yaml-schema.json
specVersion: 0.36.0
name: go-fn
runtime: go
created: 2025-03-17T02:02:34.196208671+01:00
build:
  buildEnvs:
    - name: SERVICE_BINDING_ROOT
      value: /bindings
  volumes:
    - hostPath: /tmp/git-binding
      path: /bindings/git-binding

s2i

For the s2i builder you have to mount credentials in .netrc format.

# $schema: https://raw.githubusercontent.com/knative/func/refs/heads/main/schema/func_yaml-schema.json
specVersion: 0.36.0
name: go-fn
runtime: go
created: 2025-03-17T02:02:34.196208671+01:00
build:
  volumes:
    - hostPath: /home/jdoe/.netrc
      path: /opt/app-root/src/.netrc

For more, see the complete documentation