Skip to content

Commit d5e1475

Browse files
authored
Merge pull request #58 from madflojo/rebranding
Updating Docs with new logo and better architecture diagram
2 parents 60fb3da + 825b394 commit d5e1475

File tree

6 files changed

+160
-60
lines changed

6 files changed

+160
-60
lines changed

docs/README.md

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,21 @@
22

33
![](tarmac-logo.png)
44

5-
Build Serverless Microservices with WebAssembly Functions
6-
75
[![PkgGoDev](https://pkg.go.dev/badge/github.com/madflojo/tarmac/pkg/sdk)](https://pkg.go.dev/github.com/madflojo/tarmac/pkg/sdk)
86
[![Documentation](https://img.shields.io/badge/docs-latest-blue)](https://tarmac.gitbook.io/tarmac/)
97
[![Build Status](https://github.com/madflojo/tarmac/actions/workflows/build.yml/badge.svg)](https://github.com/madflojo/tarmac/actions/workflows/build.yml)
108
[![Go Report Card](https://goreportcard.com/badge/github.com/madflojo/tarmac)](https://goreportcard.com/report/github.com/madflojo/tarmac)
119
[![Coverage Status](https://coveralls.io/repos/github/madflojo/tarmac/badge.svg?branch=master)](https://coveralls.io/github/madflojo/tarmac?branch=master)
1210

13-
Tarmac is a lightweight, open-source application server that simplifies building microservices using WebAssembly (WASM) functions. With Tarmac, you can quickly write and deploy a single function as a standalone microservice. Or you can use Tarmac's ability to run multi-function services to create a purpose-built serverless platform.
11+
## Framework for writing functions, microservices, or monoliths with Web Assembly Functions
12+
13+
Tarmac is a new approach to application frameworks. Tarmac is language agnostic and offers built-in support for key/value stores like BoltDB, Redis, and Cassandra, traditional SQL databases like MySQL and Postgres, and fundamental capabilities like mutual TLS authentication and observability.
1414

15-
Tarmac delivers more than just a lightweight application server for WebAssembly functions. It offers built-in support for key-value stores like Redis and Cassandra, traditional SQL databases like MySQL and Postgres, and fundamental capabilities like mutual TLS authentication and observability. With Tarmac, you can easily focus on writing your functions while benefiting from a robust suite of integrations for building modern distributed services.
15+
Supporting languages like Go, Rust, & Zig, you can focus on writing your functions in whatever language you like while benefiting from a robust suite of capabilities for building modern distributed services.
1616

1717
## Quick Start
1818

19-
Tarmac makes it easy to get started with building complex functions. This Go function is an excellent example of its simplicity. Its payload reversal logic leverages a key:value datastore for caching, demonstrating how effortless it is to create complex functionality with very little code.
19+
Tarmac makes it easy to get started with building complex functions. The below function (written in Go) is an excellent example of its simplicity.
2020

2121
```go
2222
// Tac is a small, simple Go program that is an example WASM module for Tarmac. This program will accept a Tarmac
@@ -98,7 +98,7 @@ That's it! You can write and deploy functions in Go, Rust, AssemblyScript, Swift
9898

9999
## Multi-Function Services
100100

101-
While users of Tarmac can build standalone microservices with a single function quickly, it shines with multi-function services. Tarmac's ability to run multiple functions means you can create purpose-built serverless platforms or full-featured distributed services with the developer experience of serverless functions.
101+
While users of Tarmac can build standalone microservices with a single function quickly, it shines with multi-function services. Tarmac's ability to run multiple functions means you can create purpose-built platforms with the developer experience of serverless functions.
102102

103103
To get started with multi-function services, you must provide a `tarmac.json` configuration file (via the `WASM_FUNCTION_CONFIG` configuration parameter) that lists the Functions to load and the various protocols and routes to expose as endpoints. Below is a sample `tarmac.json` configuration file.
104104

@@ -160,14 +160,16 @@ By leveraging waPC, WebAssembly Functions can interact with Tarmac's core capabi
160160

161161
To provide a streamlined developer experience, Tarmac offers a Go SDK that simplifies the usage of waPC. The SDK abstracts away the complexity of using waPC, allowing developers to focus on writing their functions and leveraging Tarmac's features.
162162

163-
With Tarmac, users can build a simple microservice (depicted below).
164-
165-
![Tarmac Single Function Architecture](tarmac-single-function.png)
166-
167-
Or, users can build complex Serverless platforms to enable multiple use cases.
168-
169163
![Tarmac Architecture](tarmac-architecture.png)
170164

165+
| Language | waPC Client | Tarmac SDK |
166+
| :--- | :--- | :--- |
167+
| AssemblyScript || |
168+
| Go |||
169+
| Rust || |
170+
| Swift || |
171+
| Zig || |
172+
171173
## Contributing
172174

173175
We are thrilled that you are interested in contributing to Tarmac and helping to make it even better! To get started, please check out our contributing guide for information on how to submit bug reports, feature requests, and code contributions.

docs/SUMMARY.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
## Running Tarmac
2323
* [Configuration](running-tarmac/configuration.md)
24+
* [BoltDB](running-tarmac/boltdb.md)
2425
* [Redis](running-tarmac/redis.md)
2526
* [Cassandra](running-tarmac/cassandra.md)
2627
* Datastores

docs/running-tarmac/kvstore.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ The below table outlines the different available options.
1515

1616
| Datastore | Type option | Description | Useful for |
1717
| -------- | ----------- | ----------- | ---------- |
18+
| In-Memory | `in-memory` | In-Memory key/value store | Testing, Development, Non-Persistent Caching |
19+
| BoltDB | `boltdb` | BoltDB Embedded key/value store | Strong Consistency, Persistent Storage |
1820
| Redis | `redis` | Redis including Sentinel and Enterprise capabilities | Strong Consistency, Fast Reads and Writes, Non-Persistent storage |
1921
| Cassandra | `cassandra` | Cassandra including TLS connectivity | Eventual Consistency, Persistent Storage, Large sets of data |
2022

docs/tarmac-architecture.png

199 KB
Loading

docs/tarmac-logo.png

30.4 KB
Loading

docs/tarmac.drawio

Lines changed: 143 additions & 48 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)