Service Authoring Overview
Service authoring is the process for creating a Service Lasso service that can be installed, started, monitored, updated, and reused from another project.
Use this section when you are creating a new service-lasso/lasso-* service repo, updating an existing service repo, or adding a released service to an app or template.
Outcome
A finished service has:
- a clear service type and ownership decision
- one canonical
service.json - release artifacts attached to a GitHub release
- checks that prove Service Lasso can acquire and use the service
- a pinned manifest in each consuming app or core baseline folder
Follow This Order
- Plan the Service: decide whether the service is core-owned, app-owned, a provider, a managed daemon, or provider-backed.
- Write
service.json: define identity, artifacts, commands, env, dependencies, ports, health, and update policy. - Create the Release Repo: create the dedicated
lasso-*repo fromservice-lasso/service-template, package artifacts, and publish release assets. - Wire Consumers: copy the released manifest into each app or baseline
services/<id>/service.json. - Validate and Release: prove acquisition, startup, health, updates, and release outputs before calling the service ready.
When to Use Reference Docs
For a consuming application, choose a reference app and start its host, Service Admin and Echo journey. Service authors can also check the harness starter contract; that starter's result files do not establish real lifecycle acceptance.
The numbered pages are the process. Use these references only when you need detail while doing a step:
- service.json Reference for exact manifest fields.
- Setup Helper Conventions for helper-backed setup steps that need maintainable cross-platform orchestration.
- Create a New Lasso Service for the full repo creation handoff.
Rule of Thumb
If someone clones a consuming app, Service Lasso should be able to read that app's services/<id>/service.json, download the referenced release artifact when needed, and run or expose the service according to the manifest. If that is not true yet, the service is not ready.