AssemblyLift
HomeRepo
v0.3
v0.3
  • Welcome to AssemblyLift
  • Learn AssemblyLift
    • Getting Started
    • Services
      • Functions
      • Authorizers
      • IOmod Dependencies
    • Functions
      • Rust Functions
    • IO Modules
      • Registry
    • User Terraform
    • Providers
    • How to Build
    • How to Deploy
  • Development
    • Design Pillars
  • Resources
    • The Lexicon
    • Tutorial: Build a "todo list" backend with AssemblyLift
Powered by GitBook
On this page
  • Make a New Service
  • The Service Manifest

Was this helpful?

  1. Learn AssemblyLift

Services

An overview of Services

PreviousGetting StartedNextFunctions

Last updated 3 years ago

Was this helpful?

Services are the main unit of organization in the AssemblyLift framework. Primarily, they serve as a logical grouping of related .

Make a New Service

You can create a new service in an existing AssemblyLift application via the make command:

$ asml make service myservice

This will create a directory under services/ named myservice containing a default service.toml manifest.

In order for a service to be recognized by cast, it must be listed in the application manifest assemblylift.toml.

assemblylift.toml
[project]
name = "my-amazing-project"

[services]
default = { name = "myservice" }

The Service Manifest

Each service is defined by its manifest, service.toml.

service.toml
# Each service must have a service table
[service]
name = "service-name" # A name is required

# The API table contains functions and authorizers
[api.functions.function-id]
name = "function-name" # A name is required

[api.authorizers.authorizer-id]
auth_type = "type"

# The IOmod table defines service dependencies
[iomod.dependencies.dependency-id]
version = "x.x.x"
coordinates = "organization.namespace.name"

The service manifest defines the service's API, as well as an IOmods we wish to use in our service's functions. Each section of the service manifest is described in greater detail in the following sections.

functions