As a Blue Bucket user
I need a known distribution point for Blue Bucket code and metadata
So that I can install the system in my own Amazon account
And update my system when new versions are released.
Because we want a new user to be able to bootstrap their own Blue Bucket system needing only point-and-click web skills but no programming skills, the software build and deploy process for Blue Bucket will need to prepare appropriate packages and place them in a known location for automatic discovery by the bootstrapping code.
Each Lambda function needs to be packages in a Zip and uploaded to an S3 bucket, such that the bucket & key can be supplied to the Lambda function registration function.
Themes and admin files should also be Zipped and uploaded in separate packages, so each module can be retrieved with a single GET request rather than copying individual files.
A JSON metadata file (use npm's package.json format?) should be provided, listing the latest versions of each component, so that a single GET can be used for any client to check whether they have any out of date components.
For consistency, old versions of all components should be preserved (including the metadata file for each release) so that users can continue to install fixed versions, not just the latest version. There should also be a mechanism to retrieve the "latest" version, regardless of its number, for those creating new installations or wanting to keep up to date.
TASKS:
[ ] Define the schema for the metadata file
[ ] Build automation to create the metadata file for a release
[ ] Build automation to create the Zip packages for each component in a release
[ ] Build automation to deploy build artifacts to the public S3 bucket
As a Blue Bucket user I need a known distribution point for Blue Bucket code and metadata So that I can install the system in my own Amazon account And update my system when new versions are released.
Because we want a new user to be able to bootstrap their own Blue Bucket system needing only point-and-click web skills but no programming skills, the software build and deploy process for Blue Bucket will need to prepare appropriate packages and place them in a known location for automatic discovery by the bootstrapping code.
Each Lambda function needs to be packages in a Zip and uploaded to an S3 bucket, such that the bucket & key can be supplied to the Lambda function registration function.
Themes and admin files should also be Zipped and uploaded in separate packages, so each module can be retrieved with a single GET request rather than copying individual files.
A JSON metadata file (use npm's package.json format?) should be provided, listing the latest versions of each component, so that a single GET can be used for any client to check whether they have any out of date components.
For consistency, old versions of all components should be preserved (including the metadata file for each release) so that users can continue to install fixed versions, not just the latest version. There should also be a mechanism to retrieve the "latest" version, regardless of its number, for those creating new installations or wanting to keep up to date.
TASKS: