Show HN: Clace – Application Server with support for scaling down to zero

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
  1. clace

    Application server for deploying containerized web apps. Easily deploy internal tools across a team.

    I have been building the open source project https://github.com/claceio/clace. Clace is an application server that builds and deploys containers, allowing it to manage webapps in any language/framework.

    Compared to application servers like Nginx Unit, Clace has the advantage of being able to work with any application, without requiring any dependency or packaging changes. Clace provides a blue-green staged deployment model for apps. Not just code changes, even configuration changes are staged and can be verified before being made live.

    Clace is not a PaaS solution, it does not support deploying databases and other auxiliary services. It does share the fact that it manages containers with PaaS solutions. Clace is different in that it builds its own reverse proxy, instead of depending on Traefik/Nginx. This allows Clace to implement features like shutting down idle apps and adding app level OAuth authentication. Clace runs natively on Windows/OSX in addition to Linux. Clace works with Docker/Podman/Orbstack.

    Clace allows you to run hundreds of apps on a single machine. Since app containers are shut down when not in use, there is no CPU/memory resource usage when the apps are idle. It provides a Google Cloud Run type interface on your own hardware.

    https://clace.io/ has a demo video and docs. Do let me know any feedback.

  2. Stream

    Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.

    Stream logo
  3. fasthtml

    The fastest way to create an HTML app

    This creates a Cyberchef app from its image at https://cyberchef.localhost:25223/, which can be bookmarked. Opening that link will create the container (first access can be slow since the image is downloaded). The Cyberchef container is shut down when not in use. Subsequent access to the url will instantly create the container.

    Using --spec container allows you to deploy code from any github repo which has a Containerfile. There are also language specific specs (mainly python currently). For example

      clace app create --approve --spec python-fasthtml --param APP_MODULE=basic_ws:app  https://github.com/AnswerDotAI/fasthtml/examples fasthtmlapp.localhost:/

  4. starlark-go

    Starlark in Go: the Starlark configuration language, implemented in Go

    Clace is built in go as a reverse proxy. Clace uses https://github.com/google/starlark-go as its configuration language. This allows full Hypermedia driven apps to be built in Clace, running within the main Clace process. For example:

      clace app create --approve github.com/claceio/apps/system/disk_usage /disk_usage

  5. skate

    Low resource, no daemon, kubernetes manifest compatible mini-paas. (by skateco)

    Check out https://github.com/skateco/skate

    I'm building it for exactly that reason. Multihost and supports k8s manifests.

  6. goth

    Package goth provides a simple, clean, and idiomatic way to write authentication packages for Go web applications.

    Thanks, need to make the docs less verbose in some places :-)

    https://clace.io/docs/configuration/authentication/ lists the supported auth mechanisms for apps. A builtin system account is the default. The OAuth providers supported are : github google digitalocean bitbucket amazon azuread microsoftonline gitlab auth0 okta oidc. Any other provider supported by https://github.com/markbates/goth can be easily added, with a small code change.

    For admin operations (creating/updating apps) using the client CLI, a unix domain socket is used. File system permissions are used, no other auth is used for UDS. A REST API for admin operations can be optionally enabled, in which case it will use the system account https://clace.io/docs/configuration/security/#admin-api-acce....

    Client cert based auth is not supported currently. Were you wanting that for app access or for admin API access?

    In terms of performance, I did some testing few months back. The app access API does not hit the database (sqlite), everything is cached after the first call. So the performance will be limited by the API performance of the downstream container. The Clace server itself should not be a bottleneck. First API call to a containerized app builds the image and starts the container. That depends on how fast the image build and container startup are.

  7. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Show HN: Web app proxy and container manager (Nginx Unit alternative)

    1 project | news.ycombinator.com | 2 Jun 2024
  • Show HN: Clace – Nginx Unit alternative – app server for internal apps

    2 projects | news.ycombinator.com | 10 Apr 2024
  • Show HN: Clace – Platform for hypermedia driven internal web tools

    1 project | news.ycombinator.com | 29 Mar 2024
  • The End of Airplane.dev

    2 projects | news.ycombinator.com | 6 Mar 2024
  • Clace – Secure hypermedia web applications using Starlark and go

    1 project | news.ycombinator.com | 1 Nov 2023

Did you know that Go is
the 4th most popular programming language
based on number of references?