emacs-pe / docker-tramp.el

TRAMP integration for docker containers
339 stars 26 forks source link

docker-tramp? #1

Closed Silex closed 9 years ago

Silex commented 9 years ago

Hello,

Would you be ok with renaming this to docker-tramp? I think it makes more sense given the scope of this package, which is to edit containers files through TRAMP.

If you are ok with it I can do a pull request with the changes, tell me.

I'm currently writing a docker package, which allows you to manage images & containers the same way you do with dired or ibuffer. I thought of naming it docker.el because I couldn't find a better name.

You can see its progress at https://github.com/Silex/docker.el

What do you think?

marsam commented 9 years ago

Hi: You are right, currently this package only have the tramp method, but I'm working in

  1. An interface for docker remote becuase I feel that relying in the output of the docker client is hacky. And this could be more general (e.g boot2docker, sdc-docker)
  2. A tabulated-mode for containers/images, and offer the posibility to execute commands over them:

    containers tabulated

If your package uses/implements docker remote, I'll gladly change the name and reduce the scope of this project.

Silex commented 9 years ago

Hello!

It seems that we are working on the same things :)

Your 1. is https://github.com/Silex/docker-api.el Your 2. is https://github.com/Silex/docker.el

I think it is kinda silly that we duplicate our efforts, how about I add you as a collaborator on both projects? We could use github issues/wiki in order to make some kind of specs / TODO list and work together.

Just curious, what did you use for 2. to make the tabulated lists? I'm using https://github.com/Fuco1/ETable for now, but your implementation looks nice.

About 2., my goal is really to create a user experience similar to dired/ibuffer, where you mark images and then rmi/push/pull/run things on them (same things for containers). Then I plan on having something similar to https://github.com/Fuco1/dired-hacks#dired-filter which would allow to mark images like -f dangling=true easily. Atm I wrote most of the popups (I'm using magit-popup for the user options) and I can already mark images and run rmi on them... I'm not very far from having most of the images support done (push, pull, rmi, select dangling), and having a basic support for docker run throught async-shell-command should be done pretty quickly. I don't know how advanced you are but it probably makes sense that one of us joins the other project.

Anyhow, I think it makes more sense for docker-tramp to be a separate project. Same for docker-api (or shall we rename it to docker-remote?). Then it makes sense for docker.el to depend on these subprojects. For example, IMHO some people will want to install docker-tramp just for the TRAMP method but without caring about managing docker from within emacs itself.

Silex commented 9 years ago

Please have a look at https://github.com/Silex/docker.el/blob/master/docker-images.el#L140-181 to have an idea of the images interface and play with https://github.com/Silex/docker-api.el/blob/master/test.el to see where I am with what you call docker-remote. Right now the very basics of connecting to the unix domain socket and making requests is done, and GET /images/json with eieio objects is there as a demo.

Silex commented 9 years ago

Ha, btw I'm going to visit Perú and Bolivia this august! :)

marsam commented 9 years ago

Hi:

Your 1. is https://github.com/Silex/docker-api.el

Cool! I didn't knew it. The last time that I checked, google didn't return nothing.

Just curious, what did you use for 2. to make the tabulated lists? I'm using https://github.com/Fuco1/ETable for now, but your implementation looks nice.

In 2. I'm using tabulated list mode which is simple to use. I didn’t knew Etable. Also, I think compilation mode is better option than using async-shell-command.

I don’t have much done, so I think we can continue from your work.

I’m going to change the name to docker-tramp and I plan to use docker-api.el :)

Ha, btw I'm going to visit Perú and Bolivia this august! :)

Nice! we can meet up for a pair of beers :D. I recommend you to visit the Colca.

Greetings.

Silex commented 9 years ago

Your 1. is https://github.com/Silex/docker-api.el

Cool! I didn't knew it. The last time that I checked, google didn't return nothing.

Yeah as it's work in progress I didn't advertise it at all. It's not even in MELPA yet.

Just curious, what did you use for 2. to make the tabulated lists? I'm using https://github.com/Fuco1/ETable for now, but your implementation looks nice.

In 2. I'm using tabulated list mode which is simple to use. I didn’t knew Etable. Also, I think compilation mode is better option than using async-shell-command.

Yeah, async-shell-command was just to get started. We want something that inherit from comint-mode or similar. About tabulated-list I didn't know about it too :) Is there marking/unmarking support in it? I'll check it out.

I don’t have much done, so I think we can continue from your work.

Alright, I'll add you as a collaborator to the repos.

I’m going to change the name to docker-tramp and I plan to use docker-api.el :)

\o/

Ha, btw I'm going to visit Perú and Bolivia this august! :)

Nice! we can meet up for a pair of beers :D. I recommend you to visit the Colca.

We in Cuzco, then we move south-east to Bolivia going through the nice spots. I'll check wether we can detour to Colca, it looks very nice. Where do you live?

Silex commented 9 years ago

Alright I added you as collaborator to both projects. I'll create some issues to get us started about the design so we decide together what to do next.

marsam commented 9 years ago

Hi: I've already changed the name.

Yeah, async-shell-command was just to get started. We want something that inherit from comint-mode or similar. About tabulated-list I didn't know about it too :) Is there marking/unmarking support in it? I'll check it out.

In compilation mode can be use under comint-mode, and feel that using async-shell-command is trying to rewrite compilation mode. I don't know if you want something like marking/unmarking used in package-list-packages which uses tabulated list mode.

We in Cuzco, then we move south-east to Bolivia going through the nice spots. I'll check wether we can detour to Colca, it looks very nice. Where do you live?

Doh, I forgot to ask where you will be. I currently live in Lima.

Alright I added you as collaborator to both projects. I'll create some issues to get us started about the design so we decide together what to do next.

Cool, I'll check it later :)

I'll wait https://github.com/milkypostman/melpa/pull/2782 is merged to make it available in melpa.

Silex commented 9 years ago

@marsam: I added issues in both https://github.com/Silex/docker.el & https://github.com/Silex/docker-api.el, let's start hacking :)

I'll soon finish the basic images support (pull/push/filter dangling/rmi), which makes it easy to copy-paste-adapt for containers. Maybe you can start preparing some example for running containers in emacs buffers using compilation-mode?

marsam commented 9 years ago

Cool! sorry for the late response. I was really busy. I'll start commenting the issues :+1: