-
Notifications
You must be signed in to change notification settings - Fork 480
Apple Container's implementation of compose functionality using familiar docker-compose YAML syntax. #398
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
base: main
Are you sure you want to change the base?
Conversation
Hi @mazdak, thanks for the PR! Please read the PR discussion for #239. It describes the approach you'll need to take to build out a compose plugin. The other approach would be to create a standalone CLI plugin in a Github project that you host and create a signed installer that puts your plugin under the user-installed plugins directory at |
Sounds good. I will take a crack at that. |
Cool! We here to help either way. If you want to try creating a standalone plugin, open up a discussion and drop a link to it here. We (maintainers at Apple) can't work directly on other repos but we should be able to answer questions in the discussion. If you're looking at breaking this PR down into a minimally functional plugin as discussed over in the other PR, by all means continue here. |
2153eed
to
6660fe6
Compare
I will say that this PR is 99.9% self contained. Everything Compose related is in its own directory, and tested. Only one change was made to Application to amend the compose cli to the list. |
d7cedc6
to
2909e02
Compare
The other PR is more self-contained; it doesn't hardwire the command into Application. Self-contained is not the same as "minimally functional". The justification for starting with a "minimally functional" PR and building with PRs for discrete features is over in the other compose PR discussion. |
I have refactored this PR to use the plugin architecture |
b25f0b6
to
294f236
Compare
289dbe9
to
910e005
Compare
8a9d2fd
to
645301b
Compare
Hey! So sorry, but in an effort to make plugin development more possible #603 and #635 have lead to the Also, idk if you are using the existing commands at all for your implementation, but if you are #603 exposes all cli commands as structures for other targets, so you can use them without touching the shell environment. |
Container Compose brings the convenience of docker-compose to Apple Container, enabling you to: - Define multi-container applications in a single YAML file - Manage service dependencies automatically - Start, stop, and manage entire application stacks with simple commands - Use environment variable interpolation for flexible configurations - Support for multiple --file invocations for compose overrides - Compatibility with Docker Compose volume syntax - Support for --rm flag to compose - Support for --pull and --wait
84c62a1
to
7466a97
Compare
Quick question @mazdak, does this implementation support anonymous volumes? Just trying to figure some things out... |
Container Compose brings the convenience of docker-compose to Apple Container, enabling the user to:
Not all features of the docker compose tool are supported due to limitations of the Apple Container system.