Skip to content
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

Document high level buildpack design #3

Closed
mrdavidlaing opened this issue Jul 18, 2013 · 3 comments
Closed

Document high level buildpack design #3

mrdavidlaing opened this issue Jul 18, 2013 · 3 comments

Comments

@mrdavidlaing
Copy link
Member

Like the cloudfoundry/java-buildpack, the .NET buildpack is composed of a number of components

  • Runtimes (Mono, .NET etc) - equivalent to Java JREs
  • Project Types (Console, Web etc) - equivalent to Java Containers
  • Frameworks (ASP.NET MVC, Web Forms etc) - equivalent to Java Frameworks
@mrdavidlaing
Copy link
Member Author

First stab at: https://github.com/cloudfoundry-community/.net-buildpack/blob/master/docs/design.md

@lukebakken, @andypiper, @nebhale - could you give me some feedback on this initial component design.

Specifically, I'm not sure whether Project Types & Frameworks are in fact different things in the .NET world.

Perhaps they should be merged into a single component - Type (Console, ASP.NET MVC, ASP.NET Web Forms)?

@lukebakken
Copy link

@mrdavidlaing - thanks for getting the ball rolling on all of this.

I think there really are only two types of .NET apps that will be hosted in Cloud Foundry - Console and ASP.NET apps. I don't think differentiating by application framework is necessary since these apps should be totally self-contained when deployed ("bin deployable").

@mrdavidlaing
Copy link
Member Author

@lukebakken,

Concerning types - I'm starting to think that containers is perhaps a better name; it will probably boil down to installing the dependancies and generating the "start" script to actually launch your application.

  • Console -> no dependancies, with start script being "mono MyConsoleApp.exe" for Mono runtime and "MyConsoleApp.exe" for .NET CLR runtime
  • IIS -> iishost.exe dependancy + startup script to launch iishost on the correct port
  • xsp -> nginx + mono xsp + startup config to link nginx to xsp's fastcgi interface

Concerning frameworks - I've been poking into the java-buildpack notion of frameworks, and these seem to be mainly concerned with autoconfiguration - i.e, injecting DB connection params.

Maybe this is the right way to think of frameworks; ie, configuration frameworks, of which a specific app could have several:

@ghost ghost assigned mrdavidlaing Aug 9, 2013
mrdavidlaing added a commit that referenced this issue Dec 13, 2013
Flesh out documentation - closes #3, partially addresses #9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants