GithubHelp home page GithubHelp logo

rgolangh / gnome-shell-extension-containers Goto Github PK

View Code? Open in Web Editor NEW
44.0 5.0 11.0 1.58 MB

containers is a gnome-shell extension to manage linux container, run by podman

License: Apache License 2.0

JavaScript 92.10% CSS 5.40% Makefile 2.50%
gnome podman containers

gnome-shell-extension-containers's Introduction

Project Icon

GNOME Shell Extension: Containers

Manage Linux containers seamlessly using Podman within the GNOME Shell.

GitHub stars
GitHub issues

Features ✨

This extension provides a convenient GNOME Shell menu to manage your Podman containers. Supported actions include:

  • Start: Initialize containers. πŸš€
  • Stop: Terminate running containers. πŸ›‘
  • Remove: Delete containers. πŸ—‘οΈ
  • Pause: Suspend container processes. ⏸️
  • Restart: Reboot containers. πŸ”„
  • Top Resources: Display resource usage stats. πŸ“Š
  • Shell Access: Open a terminal shell in the container. πŸ”§
  • Live Stats: View real-time statistics in a new terminal. πŸ“ˆ
  • Logs Monitoring: Follow logs in a new terminal session. πŸ“‹
  • Inspect Info: View and copy detailed inspection information. πŸ”

Installation πŸ› οΈ

From GNOME Extensions Page 🌐

You can install this extension directly from the GNOME Extensions page.

From Source πŸ“‚

  1. Clone the repository:

    git clone https://github.com/rgolangh/gnome-shell-extension-containers
    cd gnome-shell-extension-containers
  2. Build and install:

make all
  1. Enable the extension:
make enable

Alternatively, enable it via Extensions -> Toggle 'Containers'.

Development / Contributing 🀝

To contribute to the development of this extension:

Clone the repository and make your changes. Debugging: Spin up an inline GNOME Shell session in a dedicated window:

make debug

Contributions are welcome! Please ensure your code follows the project’s style guidelines and is thoroughly tested before submitting a pull request.

Screenshot πŸ“Έ

Project Icon

License πŸ“œ

Apache-2.0 License

gnome-shell-extension-containers's People

Contributors

fmuellner avatar malix-labs avatar rgolangh avatar skewty avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

gnome-shell-extension-containers's Issues

Logs don't appear

It seems like most of the other functionality of this extension works well, but the "logs" function does not launch a gnome-term (or anything else) like I'd expect in the latest packages available for Fedora 31.

Enable not working on Ubuntu 22.04.2 LTS

I just pulled your changes. Beforehand git annoyed me with some merge problems (I didn't touch the repo at all since first pull) like git pull origin main . Then I wanted to build it as written in the README.

Unfortunately it won't enable, if the message is correct. Please see enclosed terminal output:

sudo make all              
gnome-extensions pack -f --extra-source=podman-icon.png --extra-source=classic.css --extra-source=modules
gnome-extensions install -f [email protected]
gnome-extensions enable containers@royg
Fehler beim Verbinden zur GNOME-Shell  --> (Translates to: Error connecting to GNOME-Shell)
make: *** [Makefile:14: enable] Fehler 2     --> (Fehler=Error)

If I should provide further information, drop me a line how to and I'll try my very best.
Thank you very much. Cheers!

does not work anymore

Fedora 30
I installed the extension and in the menu I can just see Error occurred when fetching containers
I looked at the source code and found 1 error:

#$podman ps -a --format '{{json .}}'
Error: template: data:1: function "json" not defined

but podman ps -a --format '{{.}}' works

Still the extension does not work before and after I made the change. I would appreciate it, when you would fix the extension.

Type name Gjs_containers_royg_extension_ is already registered

After following the instructions from the README (git clone && make all), I logged out/in and tried to enable the extension. Extensions reports the error "Type name Gjs_containers_royg_extension_ is already registered".

OS: Fedora 35 Silverblue
GNOME: 41.2

image

Extension becomes unresponsive

First thank you for the great work. I use it extensively.

I found, that on Ubuntu 20.04 LTS the Extension becomes unresponsive (as the rest of any Gnome Top Bar), when it takes some time to stop a container. For example I have a cluster of Kafka on my computer plus eJabberd, a Springboot-Container and so on and then I cannot do anything else in the Extension. There seems to be a synchronize / missing async issue.

The same occurs, when stopping a container or huge pod from the terminal on my computer. Then the Extension isn't responding, too.

Nonetheless, your app helps great! :-)

Best regards from Berlin from dev to dev
Sebastian

feature suggestions

Here are a few feature suggestions

Add a feature that opens a terminal and connects to inside the container
-it Connect the container to the (gnome)terminal
(podman exec container command)

podman restart container Restart container, add between pause and stop

--name name Give the container a name, makes it simpler to differentiate containers with with same source image

podman inspect container Return metadata (in JSON) about a running container (clipboard)

podman stats container Display a live stream of a container’s resource usage (terminal?)
podman top container Display the running processes of a container (terminal?)
podman logs [-tail] container Display the logs of a container (terminal?)

Bug: Error shown, when no container is present

Hey,

when no container is present, the extension shows an error "Error occured when fetching container". A better suggestion would be "No container present".

Would be aweome to see this fixed. Thanks a lot for the cool extension.

let me copy information

The extension displays information and currently only 2 of the displayed are also with a feature after click.

If any of the other informations displayed do not have a feature behind the text just copy the displayed information to the clipboard after click.

So I can use the information in any other fashion.
Hope that makes sense.

Log window closes immediately when container stops working

Hey there! I would like to ask you, if it was possible to solve an issue with the log display on Ubuntu 20.04 LTS . It runs fine, if the container runs, but closes immediately, if the container stopped.
This is a problem, if I want to find out, what error was thrown. Then I have to open the terminal and go the usual way via podman container log....

Could you leave the log open until the user kills the window?

Best regards and thank you for your work!
Sebastian

do not close extension after click on start/stop/pause...

If possible do not close extension after I clicked on start/stop/pause...
Only close extension after I clicked on rm

Later versions of the extension may offer more feedback and I thing it would be helpful to be able to see any new information provided after I clicked a feature button

'Error occurred when fetching containers' message in Fedora 32 and podman 2.0.3

In my previous laptop with Fedora 31 this extension worked successfully and it was very productive for me. However I installed on my new laptop with a fresh installation of Fedora 32 but it seems that something is not working on.

I created some containers using podman 2.0.3 but the extension always show me the same message 'Error occured when fetching containers'

I don't know how to see the logs from the gnome extension, I only did:

❯ sudo journalctl /usr/bin/gnome-shell | grep -i container Jul 24 11:34:12 localhost.localdomain gnome-shell[2530]: clutter_container_add_actor: assertion 'CLUTTER_IS_CONTAINER (container)' failed Jul 24 11:34:12 localhost.localdomain gnome-shell[2530]: clutter_container_add_actor: assertion 'CLUTTER_IS_CONTAINER (container)' failed Jul 24 11:34:12 localhost.localdomain gnome-shell[2530]: clutter_container_add_actor: assertion 'CLUTTER_IS_CONTAINER (container)' failed
but without relevant information.

Is it Fedora 32 supported for this extension? Do I need to do something else?

Bug: can't get menu to display under fedora 31 / gnome 3.34.1

On a clean install of fedora 31, I can't get the menu to display at all. I only get the error message "Error occurred when fetching containers".

I have podman 1.6.2, libgpod 0.8.3, gnome shell 3.34.1 and the latest version of the containers extension from the extension.gnome.org website.

Looking in the log files, I see a lot of messages stating:

Usage of object.actor is deprecated for ContainersMenu
get@resource:///org/gnome/shell/ui/environment.js:242:29
renderMenu@/home/james/.local/share/gnome-shell/extensions/containers@royg/extension.js:80:9
_init/<@/home/james/.local/share/gnome-shell/extensions/containers@royg/extension.js:56:17
Error occurred when fetching containers
found 4 containers

alternative icon color

In my top bar are only black/white or greyish icons.
I edited the original icon to fit more into my system.
Attached below in case you want to provide alternative icons one day.

podman-icon

Can't fetch containers on F32 / gnome-shell 3.36

Thanks for the great extension. Clicking the podman icon with F32 beta on the tray says "Error occurred when fetching containers"

This is what I see in the journal:
Mar 25 08:18:39 hostname.local gnome-shell[2046]: found 4 containers
Mar 25 08:18:39 hostname.local gnome-shell[2046]: Error occurred when fetching containers: Error: Tried to construct an object without a GType; are you using GObject.registerClass() when inheriting from a GObject type?

I'm not sure how helpful this is or what other info is needed, but it looks like something changed in 3.36.

Allow to generate podman command

In certain cases, it is useful to have the exact podman command that starts the pod/container.
In a similar manner of "copy login command" of OCP web console that allows the user to run it from the CLI.

group by pod (perhaps with submenu)

when using podman pods, the extension lists them all at once

it would be nice to group them

instead of gnome-containers-apod

something like gnome-containers-apod-new or even having all of them listed in the submenu

Container submenu is not expanded

Container submenu is not expanded unless you click inside of the white arrow on the right, so it is very difficult for the user to navigate across the different containers. It is very complicated to click in the right place of the menu to expand the menu, however when the menu is expanded you could click in any place of each opcion.

Is it something wrong in my envionrment? Fedora 33 with GNome.

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.