Skip to content
This repository has been archived by the owner on Dec 4, 2020. It is now read-only.

[WIP] Upgrading Compose version to 2 #127

Closed
wants to merge 342 commits into from

Conversation

nickdgriffin
Copy link
Contributor

@nickdgriffin nickdgriffin commented Aug 2, 2016

The purpose of this PR is to upgrade the Compose file format version to 2 as version 1 will eventually be deprecated.

This is very much work in progress, I'm raising this early so people know I'm doing it and also for feedback. I'll update the description as I go to indicate where this is.

Some notes for those that read through what I've actually changed:

  • This is pretty much just a translation of what we currently have to v2, newer compose features will likely come in future PRs
  • I've intentionally gone for an "external" network as we currently create one in the CLI and I didn't want to bite off more than I could chew in this PR - I'll likely change this later in a follow-up PR

Outstanding actions:

  • Compose v2 prefixes the volume names, need to check the affects of that
  • Double and triple check that nothing has been missed out
  • Test it properly - without syslog, with NFS
  • Test backwards compatibility and if we need to draw a line under the version of Docker Engine and Compose that we need - looks like at least Docker 1.10.0+ initially
  • Remove any commits cherry-picked from my other PRs
  • There will probably be some updates to the docs to go with this
  • Prepare this PR for actual review

Dependencies:

Other comments:

  • I've kept the file structure the same as we currently have, but I might collapse etc/volumes/local/default.yml into the main compose file if it can be fully overridden by other types
  • If anything gets merged that affects the Compose files whilst I'm working on this it'll likely flag as being unmergable so I'll re-integrate changes as I go
  • I'll probably spin off some changes in their own PRs if I think they are of benefit before this is complete

@anton-kasperovich , @SachinKSingh28 , @kramos : I think this might be worthy of becoming 0.4.0 as it's a pretty significant change, what do you think?

kramos and others added 30 commits February 18, 2016 01:59
Improving startup.sh experient
update local-setup.sh script to better align the steps in startup.sh
Signed-off-by: Markos Rendell <markosrendell@gmail.com>
Volume on the slave for Docker use during builds
… 1.10 client, env is not auto-detected appropriately in all situations
Added script to allow setting of passwords and updated compose file to include new env variables
Uncommented lines in local setup script
Fix Jenkins & Gerrit checks to use credentials
…l. Replaced it with the openssl command which is more universal. Also refactored all of the password generation to a single function. Tested on OS X and it works.
The service checks were failing because they weren't using the passwords for the services, and therefore the Jenkins check would just loop forever waiting for a check that would never succeed.
Replace sha256sum command with openssl
Restructured credential generation with new sourceable secrets file
Sed on OS X works differently than Linux, and so the sed command was failing on OS X. The revised command here works on OS X and Linux.
Added new option to specify availability zone.
dsingh07 and others added 2 commits March 13, 2017 11:52
@anton-kasperovich
Copy link
Contributor

Yep, i agree that it's major and should be highlighted in separate release, as you mentioned 0.4.0.

For my personal purposes, i've started to work on Compose v3 (not from scratch, i've taken your PR as base). As per "Compose file format compatibility matrix" on a release page https://github.com/docker/compose/releases/tag/1.11.2 It's compatible only with Docker 1.13+ the question here i suppose - do we want to have 2 compose files, like regular docker-compose.yml which will be supported by Docker up to 1.13 and docker-compose.v3.yml which will be supported by Docker 1.13+ ? Ideas?

@nickdgriffin
Copy link
Contributor Author

nickdgriffin commented Mar 20, 2017

Not keen on having to maintain two Compose files as it means duplicating effort going forwards and will also lose the history of one of the two files when, as I assume we will, we go back to just having a single file.

I think in that case I'd rather we maintained a feature branch off master as an "experimental" line, that way when it becomes the normal version we can merge it in to replace the existing file.

Signed-off-by: Northard, Robert A <robert.a.northard@accenture.com>
…dap-port-to-host

Expose LDAP container tcp port 389 to host.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.