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.
To install this plugin, navigate to your Serverless project directory and run the following command:
npm install --save-dev serverless-plugin-pkl --legacy-peer-deps
Then, add the plugin to your serverless.yml
file:
plugins:
- serverless-plugin-pkl
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
In this configuration:
file
is the path to the mainpkl
file in your project.upload
is an optional configuration that allows you to upload thepkl
file to an S3 bucket.bucket
is the name of the S3 bucket where thepkl
file should be uploaded.format
is the format in which thepkl
file should be uploaded. By default, it isjson
, but you can specifyyaml
orxml
to.
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 }}'
Please note that this plugin requires the AWS provider and the bucket specified must already exist.