@awsless/awsless v0.0.199
TODO:
- add fargate container stuff for long lived services
- add check for existing graphql resolver field in schema
add check for conflicting types inside graphql (Like duplicate type names)
- Types should probably only allowed to defined once. And should be extended after that.
Features
- Domains
- Sites
- Functions
- Database
- Tables
- Stores
- Caches
- Searchs
- Queues
- Topics
- Pubsub
- Crons
- API
- HTTP
- GraphQL
Domains
We use AWS Route53 to provide domain management.
{
"domains": {
"main": {
"domain": "example.com",
"dns": [{
"name": "sub",
"type": "A",
"records": [ ... ],
}]
},
}
}
Functions
We use AWS Lambda to provide serverless functions.
{
"functions": {
"FUNCTION_NAME": "function.ts"
}
}
Tables
We use AWS DynamoDB to provide serverless tables.
{
"tables": {
"TABLE_NAME": {
"hash": "id",
"fields": {
"id": "number",
}
}
}
}
Stores
We use AWS S3 to provide serverless key-value storage.
{
"stores": [ "STORE_NAME" ]
}
Caches
We use AWS MemoryDB to provide redis compatible in-memory storage.
WORK IN PROGRESS...
Searchs
We use AWS Open Search Serverless to provide serverless search api.
{
"searchs": [ "SEARCH_NAME" ]
}
Queues
We use AWS SQS to provide serverless queues.
{
"queues": {
"QUEUE_NAME": "queue-consumer.ts"
}
}
Topics
We use AWS SNS to provide serverless pubsub topics.
{
"topics": [ "TOPIC_NAME" ],
"subscribers": {
"TOPIC_NAME": "topic-consumer.ts",
}
}
Pubsub
We use AWS IoT to provide a serverless mqtt pubsub channel.
{
"pubsub": {
"PUBSUB_NAME": {
"sql": "SELECT * FROM '$aws/events/presence/connected/+'",
"consumer": "pubsub-consumer.ts",
}
}
}
Crons
We use AWS Event Bridge to provide serverless cron jobs.
{
"crons": {
"CRON_NAME": {
"schedule": "1 day",
"consumer": "cron-consumer.ts",
}
}
}
HTTP
We use AWS ELB to provide a HTTP API.
{
http: {
HTTP_API_NAME: {
'GET /posts': 'list-posts.ts',
'POST /posts': 'create-post.ts',
}
}
}
REST
We use AWS ApiGatewayV2 to provide a serverless REST API.
{
rest: {
REST_API_NAME: {
'GET /posts/{id}': 'get-posts.ts',
'DELETE /posts/{id}': 'delete-post.ts',
}
}
}
GraphQL
We use AWS AppSync to provide a serverless GraphQL API.
{
graphql: {
GRAPHQL_API_NAME: {
schema: 'schema.gql',
resolvers: {
'Query posts': 'list-posts.ts',
'Mutation createPost': 'create-post.ts',
}
}
}
}
2 days ago
2 days ago
2 days ago
3 days ago
3 days ago
3 days ago
4 days ago
7 days ago
9 days ago
9 days ago
9 days ago
9 days ago
10 days ago
10 days ago
10 days ago
10 days ago
16 days ago
16 days ago
16 days ago
16 days ago
16 days ago
16 days ago
16 days ago
18 days ago
21 days ago
21 days ago
21 days ago
22 days ago
22 days ago
23 days ago
23 days ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago