One logical way to package up this workflow may be to presume the node where this cookbook is cloned is also the portal node.
That could make it such that we're able to create a private AMI with everything baked in (e.g. creds and config options) for our instructors. Include a startup script that invokes chef-zero to setup the portal page. The management method would be that any new instructor about to teach a class just spins up a new instance based on this AMI and it automatically starts with default values. This presumes that #14 is feasible and implemented.
Instructors teaching a non-default class would need to edit a few attributes before proceeding. Or the portal could be set up to consume values like API keys, class names, etc from a more basic portal landing page at the start of the workflow.
We could plug this into Delivery such that the build artifact from changes to this cookbook would be a classroom portal AMI in every region. The portal brings the dependent bits with it.
That makes local development/testing difficult (local must support running a portal). But it may be a viable tradeoff to solving other chicken/egg problems involved in packaging a solution.
One logical way to package up this workflow may be to presume the node where this cookbook is cloned is also the portal node.
That could make it such that we're able to create a private AMI with everything baked in (e.g. creds and config options) for our instructors. Include a startup script that invokes chef-zero to setup the portal page. The management method would be that any new instructor about to teach a class just spins up a new instance based on this AMI and it automatically starts with default values. This presumes that #14 is feasible and implemented.
Instructors teaching a non-default class would need to edit a few attributes before proceeding. Or the portal could be set up to consume values like API keys, class names, etc from a more basic portal landing page at the start of the workflow.
We could plug this into Delivery such that the build artifact from changes to this cookbook would be a classroom portal AMI in every region. The portal brings the dependent bits with it.
That makes local development/testing difficult (local must support running a portal). But it may be a viable tradeoff to solving other chicken/egg problems involved in packaging a solution.