serverless-plugin-pkl v0.2.0
Serverless Plugin PKL
This is a Serverless Framework plugin that allows you to manage pkl-lang to use it as template var on sls configuration
and upload it to S3 bucket explicitly or when a deployment is executed.
Installation
To install this plugin, navigate to your Serverless project directory and run the following command:
npm install --save-dev serverless-plugin-pkl --legacy-peer-depsThen, add the plugin to your serverless.yml file:
plugins:
- serverless-plugin-pklUsage
Configuration
To configure this plugin, you need to add a pklConfig section to the custom section of your serverless.yml file.
Here is an example:
custom:
pklConfig:
file: path/to/config.pkl
upload:
bucket: my-bucket
format: json
create: trueIn this configuration:
fileis the path to the mainpklfile in your project.uploadis an optional configuration that allows you to upload thepklfile to an S3 bucket.bucketis the name of the S3 bucket where thepklfile should be uploaded.formatis the format in which thepklfile should be uploaded. By default, it isjson, but you can specifyyamlorxmlto.createis a boolean that specifies whether the bucket should be created if it does not exist. By default, it istrue.
Templating in Serverless Configuration
PKL configuration is loaded at initialize step, so you can use the resultant configuration in your serverless file using mustache templating notation. Here is an example:
custom:
someConfig: '{{ pkl:some.config }}'
provider:
name: aws
runtime: python3.8
stage: '{{ pkl:stage }}'
region: '{{ pkl:region }}'Notes
Please note that this plugin requires the AWS provider and the bucket specified must already exist.