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

Implement RFC 0007 - Web Server Re-architecture #128

Open
14 tasks
ForestEckhardt opened this issue Sep 26, 2022 · 0 comments
Open
14 tasks

Implement RFC 0007 - Web Server Re-architecture #128

ForestEckhardt opened this issue Sep 26, 2022 · 0 comments

Comments

@ForestEckhardt
Copy link
Contributor

ForestEckhardt commented Sep 26, 2022

Web Server Re-architecture

Describe the Enhancement

RFC 0007 has been accepted and merged. This is a tracking issue for implementing this work.

Step 1 - Development backwards compatibility

In order to allow for the development of new buildpacks such as <web-server>-zero-configuration and <web-server>-start we will need a buildpack that can provide the web-server in question without doing any other configuration. In order to achieve this I propose the nginx and httpd buildpacks each respectively utilize a new provision nginx-development and httpd-development or'd to the existing buildpack. The new buildpacks will be able to require the development provisions and when the <web-server> buildpack detects that a development provision was required it can modify it's build process to only provide the <web-server> dependency. This will also have the advantage of isolating the provision steps in build which will be useful when those parts are the only ones that will be needed in the buildpack going forward. This API will allow the buildpack to continue to function as it normally would but allow buildpacks to be developed using the future expected behavior.

Step 2 - Develop new buildpacks

The new buildpacks that cover existing functionality in the <web-server> buildpacks such as zero configuration and writing start commands are being exported to new buildpacks. These need to be written and tested in the same way that they are in the current <web-server> buildpacks.

Nginx

HTTPD

Step 3 - Convert existing buildpacks and update API

Once the new buildpacks are developed the existing <web-server> buildpacks can be converted into their new role and dependency providing buildpacks. The development API can also be removed at this stage and the developed buildpacks can swap over.

Nginx

HTTPD

Motivation

This will make the web-server buildpacks more similar to existing buildpack ecosystems and will make the dependencies easier to utilize by other buildpack families.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Not scoped
Development

No branches or pull requests

1 participant