-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Addons] Add ability to specify add-on configuration in toml file for provisioning a new site #5
Comments
This need to be defined beyond the title @DavidWells |
The general idea is to allow for Defining
Here is an example of the addon config in Note the shape of the object can change based on requirements we discover. Aka don't get hung up on the finer details until we iron them out =) addons:
# Provision Contentful space
ContentfulOne:
type: 'Contentful'
config:
spaceName: 'Space name'
spaceModel: github.com/contentful/content-models/blob/master/the-example-app/contentful-export.json
settingThree: cdn.contentful.com
# Provision Contentful space
ContentfulTwo:
type: 'Contentful'
config:
spaceName: 'Space name two'
spaceModel: github.com/contentful/content-models/blob/master/the-example-app/contentful-export-two.json
settingThree: cdn.contentful.com
# Provision Fauna DB
FaunaTodosDb:
type: 'Fauna'
config:
regional: true
schema: ./bootstrap-todo-schema.js
# Provision Fauna DB two
FaunaUsersDb:
type: 'Fauna'
config:
api: 'lololol'
schema: ./bootstrap-user-schema.js
# Provision begin.com app
BeginApp:
type: 'Begin'
config:
arc: ${file(./arc)}
environment:
# reference to output of other resource FaunaUsersDb
faunaUserKey: ${FaunaUsersDb.apiKey}
# Provision AWS resources
AWS:
type: 'CloudFormation'
config: ...CF config Or [addons]
[addons.ContentfulOne]
type = "Contentful"
[addons.ContentfulOne.config]
spaceName = "Space name"
spaceModel = "github.com/contentful/content-models/blob/master/the-example-app/contentful-export.json"
settingThree = "cdn.contentful.com"
[addons.ContentfulTwo]
type = "Contentful"
[addons.ContentfulTwo.config]
spaceName = "Space name two"
spaceModel = "github.com/contentful/content-models/blob/master/the-example-app/contentful-export-two.json"
settingThree = "cdn.contentful.com"
[addons.FaunaTodosDb]
type = "Fauna"
[addons.FaunaTodosDb.config]
regional = true
schema = "./bootstrap-todo-schema.js"
[addons.FaunaUsersDb]
type = "Fauna"
[addons.FaunaUsersDb.config]
api = "lololol"
schema = "./bootstrap-user-schema.js"
[addons.BeginApp]
type = "Begin"
[addons.BeginApp.config]
arc = "${file(./arc)}"
[addons.BeginApp.config.environment]
faunaUserKey = "${FaunaUsersDb.apiKey}"
[addons.AWS]
type = "AWS::CloudFormation"
config = "...CF config" It is an object for a couple reasons:
The shape of the object is not super important (as long as it ergonomically friendly to devs). Being able to reference output values from other Add-ons allows for more robust applications to be built. We will need to generate a DAG if outputs are references to provision add-ons in the correct order Flow
|
We should likely have a meeting to discuss this in detail |
No description provided.
The text was updated successfully, but these errors were encountered: