cfa
v0.0.4
Published
CFA is a suite of tools to help you build cloud functions that run on any provider. It is designed to be a lighter alternative to Serverless and emphasize uniform development convention.
Downloads
4
Readme
CFA - Cloud Function Abstraction
CFA is a suite of tools to help you build cloud functions that run on any provider. It is designed to be a lighter alternative to Serverless and emphasize uniform development convention.
Currently under development.
Installing
Install the cfa CLI tool:
npm install -g cfa
Providers
AWS
IAM requirements
To deploy, your IAM profile must be able to:
[
"iam:GetPolicy",
"iam:GetPolicyVersion",
"iam:GetRolePolicy",
"iam:ListRoles",
"iam:ListRolePolicies",
"iam:ListAttachedRolePolicies",
"iam:AttachRolePolicy",
"lambda:CreateFunction",
"lambda:GetFunction",
"lambda:GetFunctionConfiguration",
"lambda:GetPolicy",
"lambda:GetAlias",
"lambda:ListVersionsByFunction",
"lambda:ListAliases"
"lambda:UpdateFunctionCode"
]
If you want to remove functions via cfa
[
"lambda:DeleteFunction",
"lambda:DeleteAlias",
]
todo
Usage
Creating a function
cfa create <name>
Test a function
cfa test [input]
Deploy a function
cfa deploy [environment]
Modules
The cfa cli tool runs on top of commander. You can create your own modules to implement new commands during development to enforce your own workflow for developers.
In custom modules, you need an entry point that exports the following:
module.exports = {
//
// Put in npm dependencies here.
//
dependencies: ["[email protected]"],
async onAdd() {
//
// Run code after adding this module for the first time
//
return;
},
onRun(program) {
//
// Run custom code on the CLI program to add your own commands
//
program
.command("add-collection <collection>")
.description("[cfa-mongo] Add collection <collection> to function")
.action(addCollection);
}
};
Contribute
Want to contribute? Feel free to! Pull requests, issues and comments are welcome.