[Web-SIG] WSGI deployment config
james at pythonweb.org
Sun Aug 7 20:33:53 CEST 2005
Phillip J. Eby wrote:
> This approach is capable of doing everything you've proposed, except
> that it doesn't provide access to the private configuration data of
> individual services. It would be possible, however, to load the
> service chain from a deployment file without instantiating
> applications or middleware, in order to e.g. run utility programs.
> You can still include arbitrary configuration if you want, just by
> creating a service whose job is to provide such information.
OK, fair point and I'm perfectly happy with this.
> The point isn't to have a standardized format or globally accessible
> configuration, it's to *hide* configuration so that other objects
> don't have to know about it.
What exactly are you defining as a service then? A service would have to
have some way of providing its useful code to utilities etc as well as
deploying middleware. In the original model each WSGI middleware
component might rely on other ones, both the middleware component and
middleware it relies on might need configuration. We can describe the
whole middleware chain in a config file so that it can all be configured
at once. I might be missing the point but is your idea of services that
by passing them the service chain they have an opportunity to decide
what services to load based on services they rely on and thereby bypass
some of the configuration? Surely almost all middleware would need at
least some configuration so you are unlikely to make the config file
> The only other piece I think we're missing is a way to handle
> branching, because our pipeline configuration is quite linear.
> There's no obvious way to branch at the moment, except by having a way
> to configure a middleware component to refer to other pipelines.
I don't think I've quite caught your full vision here. Using the
services idea my understanding is just that an application needs certain
services to function and also certain configuration for those services
before it can run, since many applications on the same site may need the
same services configured in the same way it is useful to be able to
share configuration and to do that it is helpful for a local application
to inherit configuration from another source of components, possibly in
the way I suggested. I don't think branching really fits into that model
so how are you envisaging deployments?
More information about the Web-SIG