Working with Akka Serverless deployment projects

An Akka Serverless project is a collection of services and configuration that comprise your application. Each Akka Serverless project runs in its own namespace. Projects support team collaboration: Multiple people can be work on a single project, and each person can be a member of many projects.

All projects on Akka Serverless are limited to a maximum data storage size of 2TB. If you anticipate having more than 500GB of data in one project, please contact us at akkaserverless-support@lightbend.com so that we can help optimize data storage and performance.

Project naming conventions

An Akka Serverless project must have a name and can have a description. It is good practice to name and describe the project so that you and other project members can identify it and its purpose.

Project names must conform to the following:

  • Up to 63 characters

  • Can include:

    • lowercase letters

    • numbers

    • hyphens (-)

  • Must not:

    • start or end with hyphens (-)

  • Cannot include:

    • underscores (_)

    • spaces

    • non-alphanumeric characters

Create a project

The Akka Serverless Console provides a guided tutorial that demonstrates how to deploy a pre-packaged service.

The general steps to create a project include the following:

Browser
  1. Sign into your Akka Serverless account at: https://console.akkaserverless.com/

    The Projects page opens.

  2. Click the Add New Project card.

  3. Enter a Project name following the constraints described above.

  4. Enter a user-friendly name in the Project description field.

  5. Click submit.

    Your project should appear in the Projects list.

CLI
  1. Log into your account:

    akkasls auth login

    The web UI launches in a browser.

  2. Enter your credentials.

    An authorization page displays.

  3. Click Authorize

  4. Create a project by substituting your project name and placing a descriptive name in quotes:

    akkasls projects new <projectname> “friendly name”

    For example:

    akkasls projects new my-akka-proj “My AkkkaServerless Project”

    When the command is successfully completed a response is returned similar to the following:

    NAME           DESCRIPTION   ID                                     OWNER
     my-akka-proj   “My ..        7f96510f-4cca-4a28-b08a-461d61929b53   id:"f7634c7c-8189-446e-bc1d-25bcf81bf227"
    
    'my-akka-proj' is now the currently active project.
Result

Your new project is active and ready for your business logic. You are the only member.

To learn how to add project members see Inviting others to collaborate on a project.

Project status

Along with the project name and description, you will see a project status shown as ACTIVE, and you can continue using the project to deploy services.

Use the command line, akkasls project list, to see a list of all projects you have access to (or have created). See Using the CLI to manage projects for more information.

Using the CLI to manage projects

When using the akkasls CLI, you must authenticate with your Akka Serverless account for each new session. To work with an existing project, set that project as the target of subsequent commands. Follow these steps to authenticate the CLI and set the target project:

  1. In a command prompt, authenticate akkasls by entering:

    akkasls auth login

    The web UI launches in a browser.

  2. If you are not already logged in, enter your credentials.

    An authorization page displays.

  3. Click Authorize.

    Upon successful authentication, if your account contains:

    • No projects, you need to explicitly set the target project after creating a project.

    • One project, the CLI will report that it is the current project and the target of subsequent commands.

    • Multiple projects, you need to explicitly set the target. Use akkasls projects list to see all of your projects.)

  4. To set the target project for subsequent commands:

    akkasls config set project <projectname>

What’s next

If you are new to Akka Serverless, we recommend working through the Examples and tutorials to learn some basics. Designing services provides design suggestions and introduces how you can take advantage of the Akka Serverless state management system.