Stoobly Docs
  • Introduction
  • Use Cases
    • Generate Mock APIs
      • Empower Development
      • Scale API Testing
    • Enable E2E Testing
  • FAQ
    • Recording
    • Mocking
    • Terminology
  • Getting Started
    • Installing the Agent
      • Installation with pipx
      • Installation with Docker
  • Core Concepts
    • Agent
      • Intercept Modes
        • Mocking
        • Recording
      • Lifecycle Hooks
      • Proxy Settings
        • Data Rules
        • Firewall Rules
        • Rewrite Rules
        • Match Rules
    • Context
    • Mock API
      • Request
        • Response
        • Replay History
      • Scenarios
      • Snapshots
      • Fixtures
      • Public Folder
    • Scaffold
      • Service
      • Validation
      • Workflow
  • Guides
    • How to Run the Agent
      • Run with CLI
      • Run with Docker
    • How to Configure the Agent
      • Forward Proxy
        • Enable HTTPS Traffic
      • Reverse Proxy
    • How to Record Requests
      • Recording from the UI
      • Recording from the CLI
      • How to Create Contexts
      • How to Create Scenarios
        • Creating from the UI
        • Creating from the CLI
      • How to Create Requests
      • How to Customize Recordings
        • Customizing with Lifecycle Hooks
    • How to Update Requests
      • Editing from the UI
      • Editing with Snapshots
      • How to Update Scenarios
        • Updating from the UI
        • Updating from the CLI
      • Updating with Replay
        • Replaying from the UI
        • Replaying from the CLI
        • How to Customize Replays
          • Customizing with Lifecycle Hooks
      • Updating with Open API
    • How to Mock APIs
      • How to Enable Mocking
        • Enabling from the UI
        • Enabling from the CLI
      • How to Snapshot Requests
        • Deleting Snapshots
        • Sharing Snapshots
      • How to Use Fixtures
      • How to Customize Mocking
        • Customizing with Lifecycle Hooks
        • Customizing with Request Headers
      • Troubleshooting
    • How to Replay Requests
      • Replay with the UI
      • Replay with the CLI
    • How to Integrate E2E Testing
      • How to Scaffold an App
        • Scaffolding a Service
        • Customizing a Workflow
          • Customizing Container Services
          • Customizing Lifecycle Hooks
          • Customizing Init Scripts
          • Customizing Configure Scripts
          • Customizing Makefile
        • Troubleshooting
      • How to Run a Workflow
        • Running with CLI command
        • Running with Make
        • Troubleshooting
          • Validating
      • How to Stop a Workflow
        • Stopping with CLI command
        • Stopping with Make
      • How to Update a Scaffold
        • Deleting a Service
      • FAQ
  • Developer Guide
    • Installation from Source
    • Submitting Change Requests
    • Releases
  • Experimental
    • Experimental Features
      • Aliases
      • Endpoints
      • API Testing
        • Getting Started
        • Configuration
          • Assign
          • Lifecycle Hooks
          • Trace
      • Optional Components
Powered by GitBook
On this page
  • Background
  • Customizing

Was this helpful?

  1. Guides
  2. How to Integrate E2E Testing
  3. How to Scaffold an App
  4. Customizing a Workflow

Customizing Container Services

Background

The following are examples of what custom container services can be used for:

  • When recording requests from a service, a local instance may be needed. The local instance of the service can be added here

  • When testing, a custom container can be used to trigger the tests after all the services have initialized. An entrypoint service is provided for this purpose

Customizing

  1. Each workflow provides a docker-compose.yml for the purpose of adding custom container services. It can be accessed in the following location:

.stoobly/docker/<SERVICE-NAME>/<WORKFLOW-NAME>/docker-compose.yml

Modifications to this file will not be overriten when the service create command is re-run.

  1. Custom services should be added under the services property. A custom service also needs to include the workflow name under profiles . For example, if the current workflow is record, then:

$ cat .stoobly/docker/<SERVICE-NAME>/<WORKFLOW-NAME>/docker-compose.yml

services: 
  helloWorld:
    image: hello-world
    profiles:
      - record
  1. Optional: if your custom service requires network access to other container services, then specify the appropriate network. To learn more about which network to specify, see:

For example:

$ cat .stoobly/docker/<SERVICE-NAME>/<WORKFLOW-NAME>/docker-compose.yml

services: 
  helloWorld:
    image: hello-world
    networks:
      - app.egress
    profiles:
      - record
PreviousCustomizing a WorkflowNextCustomizing Lifecycle Hooks

Last updated 9 days ago

Was this helpful?

Scaffold