Skip to content

Commit

Permalink
Add runtime support document
Browse files Browse the repository at this point in the history
Deprecate Ruby runtime helper
  • Loading branch information
ryanblock committed Aug 10, 2023
1 parent 45256d9 commit cd84e5c
Show file tree
Hide file tree
Showing 3 changed files with 82 additions and 3 deletions.
71 changes: 71 additions & 0 deletions src/views/docs/en/get-started/runtime-support.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
---
title: Architect runtime support
category: Getting started
description: Architect runtime support documentation
---

## Overview

This document outlines the current runtime support commitments Architect makes, both for official AWS Lambda runtimes (such as Node.js), and Architect-specific runtimes (such as TypeScript and Deno).


## Runtime support definitions

### Deployment

Architect will deploy your function to AWS. Caveats:
- If you are using a compiled language, such as .NET, you may be responsible for compiling your own handlers via custom scripts or [Architect plugins](/docs/en/guides/plugins/overview); however, once compiled, [Deploy](/docs/en/reference/cli/deploy) will ship your code.
- Some runtimes may be supported by way of an Architect runtime plugin. For example, Architect supports Rust via its [official Rust plugin](https://github.com/architect/plugin-rust).


### Sandbox

Architect's local development environment, [Sandbox](/docs/en/reference/cli/sandbox), will execute your code locally in a fully-emulated Lambda. This may also include support for automatically compiling / transpiling handlers via plugin.


### Runtime utils

Architect authors and maintains a runtime utility library, such as [`@architect/functions`](/docs/en/reference/runtime-helpers/node.js) (Node.js) or [`architect-functions`](/docs/en/reference/runtime-helpers/python) (Python), with helpers for various Architect primitives (`@http` events, etc.), service discovery support, and more.


### Automated dependency management

Architect [Deploy](/docs/en/reference/cli/deploy) (via [Hydrate](/docs/en/reference/cli/hydrate)) can be relied upon to automatically install each handler's unique dependency tree without any manual management of per-handler dependency manifests (e.g. `src/http/get-index/package.json|requirements.txt`, etc.).


## Runtime support matrix

Runtime | [Deployment][1] | [Sandbox][2] | [Runtime utils][3] | [Automated dependency management][4] |
------------|-----------------|---------------|---------------------|---------------------------------------|
Node.js | **** | **** | [****][5] | ****
TypeScript¹ | **** | **** | [****][5] | ****
Python | **** | **** | [****][6] | ****
Deno¹ | **** | **** | [~²][7] |
Ruby | **** | **** | |
Rust³ | **** | **** | |
Go⁴ | **** | **** | |
Java | **** | & | |
.NET | **** | & | |
Custom | & | & | |

Legend:
- `` full support
- `~` partial support
- `&` planned support


¹ TypeScript supported via [official plugin](https://github.com/architect/plugin-typescript)

² Deno support may not be current or stable due to ongoing issues related to [Deno compiling to AWS Linux](https://github.com/denoland/deno/issues/17925); an [in-development Deno utility library can be found here](https://github.com/architect/functions-deno)

³ Rust supported via [official plugin](https://github.com/architect/plugin-rust)

⁴ Go supported via [official plugin](https://github.com/architect/plugin-go)

[1]: #deployment
[2]: #sandbox
[3]: #runtime-utils
[4]: #automated-dependency-management
[5]: /docs/en/reference/runtime-helpers/node.js
[6]: /docs/en/reference/runtime-helpers/python
[7]: /docs/en/reference/runtime-helpers/deno
12 changes: 10 additions & 2 deletions src/views/docs/en/reference/runtime-helpers/ruby.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,18 @@
---
title: Ruby runtime helpers
title: Ruby runtime helpers [deprecated]
category: Runtime helpers
description: Ruby runtime support
---

## ⚠️ Architect's Ruby runtime utility library is now deprecated

Architect continues to support Ruby Lambda, but no longer actively maintains a Ruby utility library. For more information, please see our [runtime support doc](/docs/en/get-started/runtime-support).

The information presented below is for reference only.

---


[View package source on GitHub](https://github.com/architect/functions-ruby/)

## Install
Expand Down Expand Up @@ -78,4 +87,3 @@ Example output:
### `Arc::Tables`

- `name(table)` return the CloudFormation name for the given table name

2 changes: 1 addition & 1 deletion src/views/docs/table-of-contents.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ const GetStarted = [
'Project manifest',
// 'Project files & folders',
'Detailed AWS setup',
'Runtime support',
]

const Guides = [
Expand Down Expand Up @@ -90,7 +91,6 @@ const Reference = [ {
],
'Runtime helpers': [
'Node.js',
'Ruby',
'Python',
'Deno',
],
Expand Down

0 comments on commit cd84e5c

Please sign in to comment.