social-platform-donut-backend icon indicating copy to clipboard operation
social-platform-donut-backend copied to clipboard

Containerize complete Donut project

Open kmehant opened this issue 4 years ago • 14 comments

Is your feature request related to a problem? Please describe. We need to write container configurations for the Donut project (for both development and production purposes)

Describe the solution you'd like Write container configurations compatible with docker container engine and with pipeline concerned for linting, testing, and deployment purposes.

kmehant avatar Jul 04 '20 10:07 kmehant

@jaskiratsingh2000 @devesh-verma I am taking this up as discussed with Jaskirat.

kmehant avatar Jul 04 '20 10:07 kmehant

@devesh-verma @jaskiratsingh2000

As Jaskirat raised a question regarding using various OSs, Containers can be run on most of the Host OSs and Processor architectures. But container will not have a base image another than Linux distributions as OSs like MacOS or Windows are not supported at Container base OS as of now. You can look at this thread for more details regarding this.

kmehant avatar Jul 04 '20 11:07 kmehant

Thanks, @kmehant for writing this up. I was about to ask for this. This documentation reflects that it can be made for windows https://docs.docker.com/docker-for-windows/ and for Mac too https://docs.docker.com/docker-for-mac/install/

Also, do you think that this should be in a new repo or in this repo only?

jaskiratsingh2000 avatar Jul 04 '20 11:07 jaskiratsingh2000

Thanks, @kmehant for writing this up. I was about to ask for this. This documentation reflects that it can be made for windows https://docs.docker.com/docker-for-windows/ and for Mac too https://docs.docker.com/docker-for-mac/install/

Also, do you think that this should be in a new repo or in this repo only?

@jaskiratsingh2000 Those links are for installing docker engine and the docker CLI (or the complete docker desktop) On host operating systems and not related to Container base OS images. So certainly yes we can have containers running on Windows, Mac, and Linux based machines that have docker installed (which will take care of container runtime).

My concern was if you are planning to use docker containers to test Donut on various OSs (I guess not required for Web applications) in those cases we need different base images which is not possible for containers (as they can have only Linux based base images as of now)

kmehant avatar Jul 04 '20 11:07 kmehant

Also, do you think that this should be in a new repo or in this repo only?

@jaskiratsingh2000

Both the ways it is completely fine for me, @devesh-verma thoughts?

kmehant avatar Jul 04 '20 11:07 kmehant

My concern was if you are planning to use docker containers to test Donut on various OSs (I guess not required for Web applications) in those cases we need different base images which is not possible for containers (as they can have only Linux based base images as of now)

The only concern for me would be that how actually we can test "Donut" on different OS?

Also, do you think that this should be in a new repo or in this repo only?

@jaskiratsingh2000

Both the ways it is completely fine for me, @devesh-verma thoughts?

@kmehant what's the best way?

jaskiratsingh2000 avatar Jul 04 '20 11:07 jaskiratsingh2000

The only concern for me would be that how actually we can test "Donut" on different OS?

@jaskiratsingh2000 are there any OS dependent features or components part of Donut?

kmehant avatar Jul 04 '20 11:07 kmehant

its a web app.

vaibhavdaren avatar Jul 04 '20 11:07 vaibhavdaren

@kmehant what's the best way?

I would say same repo

kmehant avatar Jul 04 '20 11:07 kmehant

its a web app.

Okay, as there are no OS dependent features then testing on different OS seems not required with the testing pipeline

kmehant avatar Jul 04 '20 11:07 kmehant

Ummm, okay

On Sat, 4 Jul 2020, 5:20 pm Mehant Kammakomati, [email protected] wrote:

its a web app.

Okay, as there are no OS dependent features then testing on different OS seems not required with the testing pipeline

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/codeuino/social-platform-donut-backend/issues/140#issuecomment-653756155, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACOBHKYWWILPVVQYZ5BBWVDRZ4JPLANCNFSM4OQLCCCQ .

jaskiratsingh2000 avatar Jul 04 '20 12:07 jaskiratsingh2000

Okay, then good to go right?

jaskiratsingh2000 avatar Jul 04 '20 18:07 jaskiratsingh2000

@devesh-verma @jaskiratsingh2000

If we can decide upon the usage of containers. I can start writing the configurations. Possible use cases:

  1. Distribution of backend and frontend through images during releases (with a pipeline integrated to automatically push the images with docker-compose and related docs)
  2. To run tests (if thinking of container way) / completely GitHub actions with/without containers
  3. local development purpose (mounting source code into containers so just spinning up the containers will start the project in the container and expose outside without worrying about environment or project setup and dependencies installation)

kmehant avatar Jul 04 '20 18:07 kmehant

Go ahead with option 1 and 3, which will serve our purpose. @kmehant

devesh-verma avatar Jul 04 '20 18:07 devesh-verma