Coder Social home page Coder Social logo

docker-desktop-extension's Introduction

Docker Extension for Okteto

A new development experience for applications running on Kubernetes.

Overwiew

Do you love Docker Desktop, but your application is starting to get too big for your local machine? The Docker Extension for Okteto is exactly what you need. Get the Docker Desktop experience you love without the restrictions of having to run everything on your local machine.

Try It Out Yourself!

Using the Docker Extension for Okteto is very simple. Once you have the extension installed, simply point it to the location of the Docker compose file or Okteto Manifest describing your services and click the "Deploy Dev Environment" button! In a matter of minutes, all the services you require should be up and running in the cloud.

Okteto Extension

Useful links

docker-desktop-extension's People

Contributors

heartbeat1608 avatar pchico83 avatar rlamana avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

docker-desktop-extension's Issues

Display status of the environment in the UI

Is your feature request related to a problem? Please describe.
As of right now there is no way to know if the environment finished launching, whether it failed or not, or if it is ready to use for development.

Describe the solution you'd like
Display the status in the UI by calling the okteto status command.

The status will be a new property in the main view as shown in this mock:
Status Mock

okteto status possible values are: building, deploying, activating, synchronizing, ready, failed

And should be displayed as:

  • Building...
  • Deploying...
  • Activating...
  • Synchronizing...
  • Ready
  • Failed

Additional context
A new command call should be added to the okteto wrapper here: https://github.com/okteto/docker-desktop-extension/blob/main/client/src/api/okteto.ts

Keep the state of the extension

According to the docker desktop team, they don't have plans to automatically save the extension's state. every time you click out of it, the component is trashed, and the expectation is that the extension will generate its state back when it's loaded again. This means that we need to find a way to either store the state on a volume (maybe a file that describes the status so we don't have to query everything every single time?) or store it in the cloud and rebuild the state every time.

this is not required for Dockercon, but it's something we should do soon since it seriously impacts the usability of the extension.

Improve documentation

Describe the bug
Improve documentation of README.md and contributing.md

Additional context

  • Add badges for no. of forks, stars

  • Write prior documentation in pointwise manner in short

  • Add link to contributing.md in readme

  • Add standard Github workflow commands in the CONTRIBUTING.md (opening issues, get assigned, fork, create clone, add, commit, creating PRs).

  • It will provide new potential project contributors with a short guide to how they can help with your project.

Add a button to open code in editor

Is your feature request related to a problem? Please describe.
When a remote environment is launched and it's ready for development it would be very useful to take users directly to the code to start developing on the new environment.

Describe the solution you'd like
Based on the path to the docker-compose file, a button can be added to open an editor at the same path. On a first iteration, we can create just an "Open in VSCode" button, being VSCode one of the most popular editor nowadays. But in the future we could add support for other editors.

  • VSCode button mock:
    VSCode Button Mock

  • Editor selector mock:
    VSCode Button Mock - 2

Add a "Relaunch" remote environment button

Is your feature request related to a problem? Please describe.
Once an environment has been launched, there is no way to relaunch it again unless you stop it, select the docker-compose file again and launch as you did the first time.

Describe the solution you'd like
Since we already have the path to the docker-compose file, a "Relaunch" button in the extension UI could trigger a new okteto up call.

Relaunch Button Mock

Additional context
The relaunch functionality should be as simple as updating the "environment" in the Okteto React context just like it is done here: https://github.com/okteto/docker-desktop-extension/blob/main/client/src/contexts/Okteto.context.tsx#L58

automate publishing a new version to dockerhub

Once we are in the extension store, all we need to do is publish a new version to dockerhub and it will be updated on all Docker Desktop instances. I think that we should have one image for development, and a separate one for "production". We can push the production to dockerhub using a GitHub action or something like that.

option to pick a different Okteto instance

Giving demos in Cloud is dangerous since its performance is worse than a team or private instance. would it be useful to have an option (even if it's hidden for now).

Extension's `okteto up` CLI call not working on Windows

@jLopezbarb can you take a look at this?

Command executed:

okteto up -f {manifestFile} --log-output plain

Platform: Windows
Output:

INFO: Using bgonp @ cloud.okteto.com as context
Select the development container you want to activate:
Use the arrow keys to navigate: â â â â
> vote
result
ERROR: Invalid option

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.