Skip to content
/ fhub Public

FHub is a function repository based on a function specification

License

Notifications You must be signed in to change notification settings

galgotech/fhub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Function Hub (FHub)

FHub is a function repository based on a function specification. This allows you to reuse code at the function level, build software that is scalable and flexible, provides interoperability between programming languages, and helps to developers code maintaince.


Benefits

  • Increase productivity helping developers save time by providing a central location to find functions.
  • Improve quality of software by providing a way to test functions, track functions changes, keep version compatibility with old versions.
  • Reduced costs of software development by providing a way to reuse functions avoiding duplicating work.

Function specification

Simple schema using CUE. Complete schema

name: "identity"
specVersion: "0.1"
version: "1.0"

build: {
  container: {
    image: "golang:1.20"
  }
}
serving: {
  http: {
    url: "https://identity:3000/"
  }
}
functions: {
  login: {
    input: {
      username: string
      password: string
    }
    output: {
      success: bool
    }
  }
}

Scope

  • Standardized function definition promoting code reusability, share, and use across different projects.
  • Serving allows functions to be hosted and accessible as services with different protocols (http, grpc, ...).
  • Build managing dependencies, compiling or packaging functions into executable units, and deployment to different environments (podman, docker, microvm, ...).

Runtime

Responsible to interpret schema, builder, and servirng.

About

FHub is a function repository based on a function specification

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages