Skip to content
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

Containerize complete Donut project #140

Open
kmehant opened this issue Jul 4, 2020 · 14 comments
Open

Containerize complete Donut project #140

kmehant opened this issue Jul 4, 2020 · 14 comments

Comments

@kmehant
Copy link
Contributor

kmehant commented Jul 4, 2020

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 kmehant added the feature label Jul 4, 2020
@kmehant
Copy link
Contributor Author

kmehant commented Jul 4, 2020

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

@devesh-verma devesh-verma added this to API and Functionality in Social Platform Donut Backend via automation Jul 4, 2020
@kmehant
Copy link
Contributor Author

kmehant commented Jul 4, 2020

@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.

@jaskiratsingh2000
Copy link
Member

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?

@kmehant
Copy link
Contributor Author

kmehant commented Jul 4, 2020

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
Copy link
Contributor Author

kmehant commented Jul 4, 2020

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?

@jaskiratsingh2000
Copy link
Member

jaskiratsingh2000 commented Jul 4, 2020

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?

@kmehant
Copy link
Contributor Author

kmehant commented Jul 4, 2020

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?

@vaibhavdaren
Copy link
Member

its a web app.

@kmehant
Copy link
Contributor Author

kmehant commented Jul 4, 2020

@kmehant what's the best way?

I would say same repo

@kmehant
Copy link
Contributor Author

kmehant commented Jul 4, 2020

its a web app.

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

@jaskiratsingh2000
Copy link
Member

jaskiratsingh2000 commented Jul 4, 2020 via email

@jaskiratsingh2000
Copy link
Member

Okay, then good to go right?

@kmehant
Copy link
Contributor Author

kmehant commented Jul 4, 2020

@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)

@devesh-verma
Copy link
Member

devesh-verma commented Jul 4, 2020

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Social Platform Donut Backend
  
API and Functionality
Development

No branches or pull requests

4 participants