func icon indicating copy to clipboard operation
func copied to clipboard

Infrastructure Adapter

Open lkingland opened this issue 5 years ago • 4 comments

Create a cluster services adapter which runs alongside functions, abstracting services offered by the cluster. At first this service should:

  • Start on a well-known port in loopback, thus reusing service credentials and remaining itself implicitly local.
  • Proffer a simple REST JSON API with outbound connections using full client libraries (usually gRPC).
  • Provide hooks for integrating varying implementations based on environment
  • Have provisions for starting in local development mode

Some of the advantages this architecture is expected to provide are:

  • Future support of varying underlying cluster configurations (local development, Knative, others),
  • The centralization of work related to complex integration rather than requiring re-implementation for each language.
  • Provide runtime introspection without the need for client connections
  • A simplified interface to function developers resulting in even optionally omitting any client libraries whatsoever
  • The support of local development using a lightweight single-node implementation of features.
  • Allowing function developers to configure their services entirely in the language of their choice.
  • Retaining the function developer's ability to use logic during the initialization step, rather than relying on config file pre-processors.

lkingland avatar Jul 13 '20 09:07 lkingland

@lkingland it's not clear to me how grid (assuming this issue and grid are the same) affects the faas cli. What am I missing?

lance avatar Jul 16 '20 18:07 lance

That's exactly right @lance , the solution to this issue (using an adapter) is to create a new service in a separate repository. This issue was created primarily for requirements capturing prior to the grid repository being created. I would expect the acceptance criteria for this issue would be when the Client Library (via the CLI) can actually start a function with the grid service running and reachable.

lkingland avatar Jul 17 '20 02:07 lkingland

This issue is stale because it has been open for 90 days with no activity. It will automatically close after 30 more days of inactivity. Reopen the issue with /reopen. Mark the issue as fresh by adding the comment /remove-lifecycle stale.

github-actions[bot] avatar Sep 09 '21 01:09 github-actions[bot]

This issue is stale because it has been open for 90 days with no activity. It will automatically close after 30 more days of inactivity. Reopen the issue with /reopen. Mark the issue as fresh by adding the comment /remove-lifecycle stale.

github-actions[bot] avatar Aug 31 '24 01:08 github-actions[bot]