
Serverless Yandex Cloud Functions Plugin
This plugin enables support for Yandex Cloud Functions within the Serverless Framework.
Quick Start
First you need to install the serverless command-line tool. Check the official getting started guide. Fastest way to do this is to use npm:
npm install serverless -g
Now you can create new project from template provided by this plugin:
serverless create \
--template-url https://github.com/yandex-cloud/serverless-plugin/tree/master/templates/nodejs
Before you deploy your first functions using Serverless, you need to configure Yandex.Cloud credentials. There are two ways to do it:
- Install the
yc command-line tool and use the setup wizard to provide all required parameters. All required guides and in-depth documentation is available at Yandex.Cloud website.
- Provide
YC_OAUTH_TOKEN (or YC_IAM_TOKEN), YC_CLOUD_ID and YC_FOLDER_ID environment variables
- If you are going to create/edit YMQ or S3 buckets, you need to provide
AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY environment variables. How to create static access keys
To deploy your project use:
serverless deploy
To invoke (test) your function:
serverless invoke -f simple
To remove all deployed resources:
serverless remove
Configuration variables from Lockbox
This plugin adds configuration variable source, which allows to retrieve secrets from Lockbox.
Usage example:
functions:
simple:
handler: dist/index.hello
memorySize: 128
timeout: '5'
account: function-sa
environment:
DB_PASSWORD: ${lockbox:<lockbox_secret_id>/<lockbox_secret_key>}
Environment Variables
API Endpoints
- S3_ENDPOINT
- SQS_ENDPOINT
- YC_ENDPOINT
AWS Access Key (for YMQ and Object Storage manipulations)
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
Cloud API Authentication
- YC_OAUTH_TOKEN_ENV
- YC_IAM_TOKEN_ENV
- YC_CLOUD_ID
- YC_FOLDER_ID
Supported resources
- Cloud Functions
- Triggers
- Service Accounts
- Container Registries
- Message Queues
- S3 Buckets