GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - openfaas/workshop: Learn Serverless for Kubernetes with OpenFaaS

This repository was archived by the owner on Feb 23, 2026. It is now read-only.
BranchesTags
Open more actions menu

Latest commit

 

History

228 Commits
228 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
astronaut-finder
astronaut-finder
 
 
diagram
diagram
 
 
hello-openfaas
hello-openfaas
 
 
hmac-protected
hmac-protected
 
 
issue-bot-secrets
issue-bot-secrets
 
 
issue-bot
issue-bot
 
 
screenshot
screenshot
 
 
translations/ja
translations/ja
 
 
.DEREK.yml
.DEREK.yml
 
 
.gitignore
.gitignore
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
appendix.md
appendix.md
 
 
astronaut-finder.yml
astronaut-finder.yml
 
 
hello-openfaas.yml
hello-openfaas.yml
 
 
lab1.md
lab1.md
 
 
lab10.md
lab10.md
 
 
lab11.md
lab11.md
 
 
lab1b.md
lab1b.md
 
 
lab2.md
lab2.md
 
 
lab3.md
lab3.md
 
 
lab4.md
lab4.md
 
 
lab5.md
lab5.md
 
 
lab6.md
lab6.md
 
 
lab7.md
lab7.md
 
 
lab8.md
lab8.md
 
 
lab9.md
lab9.md
 
 

Repository files navigation

This repository is archived, because newer materials exist that are better for 2026 and onwards.

The openfaas-workshop was written in 2017/2018, newer materials have superceeded this original work:

  • Complete OpenFaaS handbook with JavaScript for functions
  • Overview of training/learning options

openfaas-workshop

This is a self-paced workshop for learning how to build, deploy and run serverless functions with OpenFaaS.

In this workshop you begin by deploying OpenFaaS to your laptop or a remote cluster with Docker for Mac or Windows. You will then kick the tires with the OpenFaaS UI, CLI and Function Store. After building, deploying an invoking your own Serverless Functions in Python you'll go on to cover topics such as: managing dependencies with pip, dealing with API tokens through secure secrets, monitoring functions with Prometheus, invoking functions asynchronously and chaining functions together to create applications. The labs culminate by having you create your very own GitHub bot which can respond to issues automatically. The same method could be applied by connecting to online event-streams through IFTTT.com - this will enable you to build bots, auto-responders and integrations with social media and IoT devices.

Finally the labs cover more advanced topics and give suggestions for further learning.

Translations

  • 日本語

Learn for free, show your appreciation as a GitHub Sponsor

OpenFaaS along with these materials are provided for free and require time and effort to maintain.

  • Become a sponsor for OpenFaaS on GitHub

Requirements:

We walk through how to install these requirements in Lab 1. Please do Lab 1 before you attend an instructor-led workshop.

  • Functions will be written in Python, so prior programming or scripting experience is preferred
  • Install the recommended code-editor / IDE VSCode
  • For Windows install Git Bash
  • Preferred OS: MacOS, Windows 10 Pro/Enterprise, Ubuntu Linux

Docker:

  • Docker CE for Mac/Windows Edge edition
  • Docker CE for Linux

Note: As a last resort if you have an incompatible PC you can run the workshop on https://labs.play-with-docker.com/.

Instructor-led workshops

If you're taking an instructor-led workshops then a link will be shared to join the OpenFaaS Slack community. Use the designated channel for the workshop to discuss comments, questions and suggestions.

Pick your track

In Lab 1 you will pick your track and then throughout the labs look out for any special commands needed for the container orchestrator for your track.

Kubernetes

You can also learn about Serverless on Kubernetes using OpenFaaS.

The recommendation from the OpenFaaS community is that you run Kubernetes in production, but all the knowledge you can is transferrable and functions do not have to be rebuilt.

Lab 1 - Prepare for OpenFaaS

  • Install pre-requisites
  • Set up a single-node cluster with Kubernetes
  • Docker Hub account
  • OpenFaaS CLI
  • Deploy OpenFaaS

Lab 2 - Test things out

  • Use the UI Portal
  • Deploy via the Function Store
  • Learn about the CLI
  • Find metrics with Prometheus

Lab 3 - Introduction to Functions

  • Scaffold or generate a new function
  • Build the astronaut-finder function
  • Add dependencies with pip
  • Troubleshooting: find the container's logs
  • Troubleshooting: verbose output with write_debug
  • Use custom and third-party language templates
  • Discover community templates using the Template Store

Lab 4 - Go deeper with functions

  • Inject configuration through environmental variables
    • At deployment using yaml
    • Dynamically using HTTP context - querystring / headers etc
  • Security: read-only filesystems
  • Making use of logging
  • Create Workflows
    • Chaining functions on the client-side
    • Call one function from another

Lab 5 - Create a GitHub bot

Build issue-bot - an auto-responder for GitHub Issues

  • Get a GitHub account
  • Set up a tunnel with ngrok
  • Create an webhook receiver issue-bot
  • Receive webhooks from GitHub
  • Deploy SentimentAnalysis function
  • Apply labels via the GitHub API
  • Complete the function

Lab 6 - HTML for your functions

  • Generate and return basic HTML from a function
  • Read and return a static HTML file from disk
  • Collaborate with other functions

Lab 7 - Asynchronous Functions

  • Call a function synchronously vs asynchronously
  • View the queue-worker's logs
  • Use an X-Callback-Url with requestbin and ngrok

Lab 8 - Advanced Feature - Timeouts

  • Adjust timeouts with read_timeout
  • Accommodate longer running functions

Lab 9 - Advanced Feature - Auto-scaling

  • See auto-scaling in action
    • Some insights on min and max replicas
    • Discover and visit local Prometheus
    • Execute and Prometheus query
    • Invoke a function using curl
    • Observe auto-scaling kicking in

Lab 10 - Advanced Feature - Secrets

  • Adapt issue-bot to use a secret
    • Create a Kubernetes secret with faas-cli
    • Access the secret within the function

Lab 11 - Advanced feature - Trust with HMAC

  • Apply trust to functions using HMAC

You can start with the first lab Lab 1.

Tear down / Clear up

You can find how to stop and remove OpenFaaS here

Next steps

If you're in an instructor-led workshop and have finished the labs you may want to go back through the labs and edit/alter the code and values or carry out some of your own experiments.

Here are some ideas for follow-on tasks / topics:

OpenFaaS Cloud

Try the multi-user, managed experience of OpenFaaS - either on the Community Cluster, or by hosting your own OpenFaaS Cloud.

  • Docs: OpenFaaS Cloud

TLS

  • Enable HTTPS on your gateway with Kubernetes Ingress

CI/CD

Setup Jenkins, Google Cloud Build or GitLab and build and deploy your own functions using the OpenFaaS CLI:

  • Intro to CI/CD

Storage / databases

  • Try open-source object storage with Minio

  • Try OpenFaaS with Mongo for storing data

Instrumentation / monitoring

  • Explore the metrics available in Prometheus

Additional blog posts and tutorials

  • Tutorials on the OpenFaaS blog

  • Community blog posts

Appendix

The appendix contains some additional content.

Acknowledgements

Thanks to @iyovcheva, @BurtonR, @johnmccabe, @laurentgrangeau, @stefanprodan, @kenfdev, @templum & @rgee0 for contributing to, testing and translating the labs.

About

Learn Serverless for Kubernetes with OpenFaaS

www.openfaas.com

Topics

dockerhands-onlabsopenfaasserverlessworkshop

Resources

Readme
MIT license

Contributing

Contributing
Activity
Custom properties

Stars

948 stars

Watchers

18 watching

Forks

297 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.