This repository has been archived by the owner on Sep 12, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 55
Improvements to platforms building and prebuilt images offering #98
Labels
Comments
fsouza
pushed a commit
to tsuru/tsuru
that referenced
this issue
Nov 17, 2015
Ensuring that we always pull the latest version of the image. Related to tsuru/basebuilder#98.
fsouza
pushed a commit
that referenced
this issue
Nov 17, 2015
Also removed the Oracle Java. Related to #98.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
This is a proposal for improving the platform management and the structure of our repositories. Currently, we have one repository with all the platforms, and users need to always build the platform
We've discussed internally about supporting prebuilt images in platform-add, and it has been requested by the community as well (see tsuru/tsuru#1252). So here's a plan:
First, have three repositories for tsuru platforms:
github.com/tsuru/base-platform
It would contain a Dockerfile that generates an image that runs
/var/lib/tsuru/base/install
. As well as the first four lines in the Dockerfile that are common to almost all platforms:This repository will be used to automatically build the image tsuru/base-platform in Docker Hub.
github.com/tsuru/platforms
It would contain the following structure:
For each platform, there will be a Dockerfile, that will probably start with "FROM tsuru/base-platform" and then describe the platform customization (this is not mandatory, users may build their Dockerfile from scratch). All platforms in this repository will be used to automatically build the matching image in Docker Hub (Docker Hub allows us to specify the Dockerfile path when configuring automatic builds, so it's fine to have).
The platform images would be linked to the base platform image, so new pushes to the base image would also rebuild all platform images (using the "Repository Links" feature in Docker Hub).
Having all platforms in a single repository make it easier for contributors to add new platforms (GitHub doesn't allow to send a whole repository pull request yet :P), but harder for users to fork a platform (not really, but it's a "uglier" fork). I'd rather ease contributing than forking :-)
github.com/tsuru/basebuilder
In the future, when tsuru supports adding or updating platforms from prebuilt image, we could do:
While we're not in the future, all Dockerfile's in this repository would be replaced with one-liners, containing just
FROM <prebuilt-image>
. For example, the Ruby Dockerfile looks like this (stripping comments):It will then look like this:
FROM tsuru/ruby
This allows users to keep their current workflow and doesn't break anything in our current testing infrastructure.
The text was updated successfully, but these errors were encountered: