github.com/openfaas/faas
This package has a good security score with no known vulnerabilities.
Community Reviews
Core OpenFaaS types with minimal DX polish - assumes platform knowledge
The biggest challenge is the lack of comprehensive documentation within the package itself. You'll find yourself referencing the broader OpenFaaS docs and examples frequently. Error handling is basic; the package doesn't provide rich error types or helpers, so you're wrapping and contextualizing errors yourself. Type definitions are clear but minimal - IDE autocompletion works, but you won't get much insight into expected values or patterns without external documentation.
Migration between versions can be tricky since this is effectively the core monorepo's module. The versioning strategy (snapshot-based rather than semantic) means you need to track OpenFaaS platform releases carefully. For teams already invested in OpenFaaS infrastructure, it's serviceable. For newcomers, expect a steeper learning curve than modern Go SDK standards.
Best for: Teams already running OpenFaaS infrastructure who need to build custom tooling or function clients in Go.
Avoid if: You're looking for a batteries-included SDK with comprehensive examples and stable semantic versioning.
Core OpenFaaS types and gateway code - more platform than library
From a security perspective, there are concerns. Authentication relies heavily on basic auth or external proxy configuration, which puts the burden on operators to secure properly. The gateway handles secrets via environment variables, which is standard but requires careful audit trail management. Input validation exists but isn't always comprehensive - I've had to add additional validation layers when exposing custom endpoints. TLS configuration is externalized, which is flexible but means secure-by-default isn't guaranteed out of the box.
Error handling often exposes internal details in HTTP responses, requiring middleware to sanitize before production use. The codebase moves quickly with frequent commits, which is great for features but challenging for security auditing. CVE response has been reasonable when issues arise, but the fast release cycle means you need active monitoring.
Best for: Building custom OpenFaaS providers or deep platform integrations where you need the core types and gateway logic.
Avoid if: You need a general-purpose serverless library or want security-hardened defaults without additional configuration layers.
Core OpenFaaS framework with security considerations for production use
Input validation is largely delegated to individual functions, which follows the framework's philosophy but means security is inconsistent across deployments. Error handling can leak function implementation details through stack traces if not configured properly. The framework doesn't enforce secure-by-default for secrets management—you must explicitly configure sealed secrets or external vaults.
Dependency management is reasonably maintained with CVE responses typically addressed within a release cycle. However, the package's quasi-date-based versioning scheme (0.0.0-YYYYMMDD format) makes tracking security updates less intuitive than semantic versioning. TLS configuration between gateway and functions requires manual setup and isn't enforced by default.
Best for: Teams building internal serverless platforms with dedicated security engineering resources to harden the deployment.
Avoid if: You need out-of-the-box enterprise security features or fine-grained authorization without custom development.
Sign in to write a review
Sign In