Scaffoldly
  • Introducing Scaffoldly
  • How To's
    • Infrastructure
      • AWS
        • Finding Logs
        • Migrate Account Away from the Scaffoldly Organization
      • Terraform
        • Custom Terraform
        • Deploying Changes
    • Microservices
      • Running Locally
      • Adding Additional Microservices
      • User Authentication
      • Adding API Endpoints
      • Storing and Retrieving Data
      • Deploying Changes
  • FAQs
  • Roadmap
  • Contributing
  • Credits
  • Archive
    • Open Source Components
Powered by GitBook
On this page
  • Using Scaffoldly Start
  • Manually
  • Create a Repository from the GitHub Template
  • Render the Code Base from the Serverless Express Archetype
  • Update the Scaffoldly Bootstrap Project
  • Provision the New Service
  • Initial Nonlive Deploy

Was this helpful?

  1. How To's
  2. Microservices

Adding Additional Microservices

PreviousRunning LocallyNextUser Authentication

Last updated 3 years ago

Was this helpful?

Using

The Scaffoldly Dashboard is an upcoming feature. Follow and upvote it in the .

For now, complete the steps Manually.

Manually

The following instructions will allow you to provision a new Service the same way that Scaffoldly Start provisions them when the Infrastructure is first created.

Create a Repository from the

  • Add it to your Organization or User account managed by Scaffoldly

  • Repository Naming:

    • Let's assume you want to call this service payments and have it accessible at https://{{your-domain}}/payments

    • Name the repository payments-sls-rest-api (all lower case, delimited with hyphens)

    • If you prefer, make it Private

Render the Code Base from the Serverless Express Archetype

  1. Go to Actions for the new repository

  2. Choose Render Template then click Run Workflow

    1. Archetype Source Git URL

    2. Archetect Render Options

      -s overwrite -s github -s serverless -s entity -a repository-name=payments-sls-rest-api -a persistence=dynamodb -a entities=example -a auth=true

      1. NOTE: Update repostiory-name to match the repository name

      2. NOTE: Omit -a auth=true if you did NOT add the Authentication service (e.g.auth-sls-rest-api is not in your User/Organization

    3. GitHub Token

      1. Create and Provide a (if you don't already have one) that has workflow and repo permissions.

        1. NOTE: This token isn't stored anywhere, it is used once in the GitHub Action to commit changes to the repository

Click Run Workflow. In a few moments, you will see the Repository populated.

Update the Scaffoldly Bootstrap Project

  1. Navigate to the scaffoldly-bootstrap project

  2. Go to Actions

  3. Choose Render Template then click Run Workflow

    1. Archetype Source Git URL

    2. Archetect Render Options

      -s overwrite -s aws -s github -s serverless-api -a serverless-api-repos=payments-sls-rest-api

    3. GitHub Token

      1. Use the same Personal Access Token from earlier

Click Run Workflow. In a few moments, you will see additional files added to the repository

  • aws-serverless-api-payments-sls-rest-api.tf

  • aws-serverless-api-payments-sls-rest-api-github.tf

Provision the New Service

  1. Within the scaffoldly-bootstrap project, go to Actions

  2. Choose Terraform Plan then Run Workflow

  3. No additional options are needed here, so click Run Workflow to start a terraform plan operation

A new Release will be created, which can be found by clicking Releases on the scaffoldly-bootstrap repository home page in GitHub.

Click the Edit icon (✎) and then click Publish release

Back under Actions you will be able to see the changes made to AWS under the Terraform Apply GitHub Action.

Initial Nonlive Deploy

After the Terraform Apply is complete, navigate back to your new Repository and go to Actions. Our automations kicked off a Nonlive Deploy for you.

If this did not happen please contact #help in our .

Scaffoldly Start
Issue Tracker
GitHub Template
https://github.com/scaffoldly/archetype-express-serverless-rest-api.git
Personal Access Token
https://github.com/scaffoldly/archetype-scaffoldly-bootstrap.git
Scaffoldly Slack