The lazier way to manage everything docker

Overview

A simple terminal UI for both docker and docker-compose, written in Go with the gocui library.

CircleCI Go Report Card GolangCI GoDoc GitHub repo size GitHub Releases GitHub tag homebrew

Gif

This Just In: Github Sponsors is matching every donation dollar-for-dollar for the next twelve months so if you're feeling generous consider sponsoring me

Demo

Minor rant incoming: Something's not working? Maybe a service is down. docker-compose ps. Yep, it's that microservice that's still buggy. No issue, I'll just restart it: docker-compose restart. Okay now let's try again. Oh wait the issue is still there. Hmm. docker-compose ps. Right so the service must have just stopped immediately after starting. I probably would have known that if I was reading the log stream, but there is a lot of clutter in there from other services. I could get the logs for just that one service with docker compose logs --follow myservice but that dies everytime the service dies so I'd need to run that command every time I restart the service. I could alternatively run docker-compose up myservice and in that terminal window if the service is down I could just up it again, but now I've got one service hogging a terminal window even after I no longer care about its logs. I guess when I want to reclaim the terminal realestate I can do ctrl+P,Q, but... wait, that's not working for some reason. Should I use ctrl+C instead? I can't remember if that closes the foreground process or kills the actual service.

What a headache!

Memorising docker commands is hard. Memorising aliases is slightly less hard. Keeping track of your containers across multiple terminal windows is near impossible. What if you had all the information you needed in one terminal window with every common command living one keypress away (and the ability to add custom commands as well). Lazydocker's goal is to make that dream a reality.

Requirements

  • Docker >= 1.13 (API >= 1.25)
  • Docker-Compose >= 1.23.2 (optional)

Installation

Homebrew

Normally lazydocker formula can be found in the Homebrew core but we suggest you to tap our formula to get frequently updated one. It works with Linux, too.

Tap:

brew install jesseduffield/lazydocker/lazydocker

Core:

brew install lazydocker

Scoop (Windows)

You can install lazydocker using scoop:

scoop install lazydocker

Chocolatey (Windows)

You can install lazydocker using Chocolatey:

choco install lazydocker

Binary Release (Linux/OSX/Windows)

You can manually download a binary release from the release page.

Automated install/update, don't forget to always verify what you're piping into bash:

curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash

The script installs downloaded binary to /usr/local/bin directory by default, but it can be changed by setting DIR environment variable.

Go

Required Go version >= 1.8

go get github.com/jesseduffield/lazydocker

Arch Linux AUR

You can install lazydocker using your AUR package manager of choice or by running:

git clone https://aur.archlinux.org/lazydocker.git ~/lazydocker
cd ~/lazydocker
makepkg --install

A development version of the AUR package is also available

Docker

Docker Pulls Docker Stars Docker Automated

  1. Click if you have an ARM device

    • If you have a ARM 32 bit v6 architecture

      docker build -t lazyteam/lazydocker \
      --build-arg BASE_IMAGE_BUILDER=arm32v6/golang \
      --build-arg GOARCH=arm \
      --build-arg GOARM=6 \
      https://github.com/jesseduffield/lazydocker.git
    • If you have a ARM 32 bit v7 architecture

      docker build -t lazyteam/lazydocker \
      --build-arg BASE_IMAGE_BUILDER=arm32v7/golang \
      --build-arg GOARCH=arm \
      --build-arg GOARM=7 \
      https://github.com/jesseduffield/lazydocker.git
    • If you have a ARM 64 bit v8 architecture

      docker build -t lazyteam/lazydocker \
      --build-arg BASE_IMAGE_BUILDER=arm64v8/golang \
      --build-arg GOARCH=arm64 \
      https://github.com/jesseduffield/lazydocker.git

  2. Run the container

    docker run --rm -it -v \
    /var/run/docker.sock:/var/run/docker.sock \
    -v /yourpath:/.config/jesseduffield/lazydocker \
    lazyteam/lazydocker
    • Don't forget to change /yourpath to an actual path you created to store lazydocker's config

    • You can also use this docker-compose.yml

    • You might want to create an alias, for example:

      echo "alias lzd='docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock -v /yourpath/config:/.config/jesseduffield/lazydocker lazyteam/lazydocker'" >> ~/.zshrc

For development, you can build the image using:

git clone https://github.com/jesseduffield/lazydocker.git
cd lazydocker
docker build -t lazyteam/lazydocker \
    --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
    --build-arg VCS_REF=`git rev-parse --short HEAD` \
    --build-arg VERSION=`git describe --abbrev=0 --tag` \
    .

If you encounter a compatibility issue with Docker bundled binary, try rebuilding the image with the build argument --build-arg DOCKER_VERSION="v$(docker -v | cut -d" " -f3 | rev | cut -c 2- | rev)" so that the bundled docker binary matches your host docker binary version.

Usage

Call lazydocker in your terminal. I personally use this a lot so I've made an alias for it like so:

echo "alias lzd='lazydocker'" >> ~/.zshrc

(you can substitute .zshrc for whatever rc file you're using)

  • Basic video tutorial here.
  • List of keybindings here.

Cool features

everything is one keypress away (or one click away! Mouse support FTW):

  • viewing the state of your docker or docker-compose container environment at a glance
  • viewing logs for a container/service
  • viewing ascii graphs of your containers' metrics so that you can not only feel but also look like a developer
  • customising those graphs to measure nearly any metric you want
  • attaching to a container/service
  • restarting/removing/rebuilding containers/services
  • viewing the ancestor layers of a given image
  • pruning containers, images, or volumes that are hogging up disk space

Contributing

There is still a lot of work to go! Please check out the contributing guide. For contributor discussion about things not better discussed here in the repo, join the slack channel

Slack

Donate

If you would like to support the development of lazydocker, consider sponsoring me (github is matching all donations dollar-for-dollar for 12 months)

Social

If you want to see what I (Jesse) am up to in terms of development, follow me on twitter or watch me program on twitch

FAQ

How do I edit my config?

By opening lazydocker, clicking on the 'project' panel in the top left, and pressing 'o' (or 'e' if your editor is vim). See Config Docs

How do I get text to wrap in my main panel?

In the future I want to make this the default, but for now there are some CPU issues that arise with wrapping. If you want to enable wrapping, use gui.wrapMainPanel: true

How do you select text?

Because we support mouse events, you will need to hold option while dragging the mouse to indicate you're trying to select text rather than click on something. Alternatively you can disable mouse events via the gui.ignoreMouseEvents config value.

Mac Users: See Issue #190 for other options.

Why can't I see my container's logs?

By default we only show logs from the last hour, so that we're not putting too much strain on the machine. This may be why you can't see logs when you first start lazydocker. This can be overwritten in the config's commandTemplates

If you are running lazydocker in Docker container, it is a know bug, that you can't see logs or CPU usage.

Alternatives

  • docui - Skanehira beat me to the punch on making a docker terminal UI, so definitely check out that repo as well! I think the two repos can live in harmony though: lazydocker is more about managing existing containers/services, and docui is more about creating and configuring them.
  • Portainer - Portainer tries to solve the same problem but it's accessed via your browser rather than your terminal. It also supports docker swarm.
  • See Awesome Docker list for similar tools to work with Docker.
Comments
  • Reworked Dockerfile for a more production oriented usage

    Reworked Dockerfile for a more production oriented usage

    • Added .dockerignore to speed up build context and avoid rebuilding when unecessary
    • Specified Alpine and Go versions as build arguments
    • Specified Go target CPU architecture as build arguments to be able to build for ARM devices
    • Specified base images as build arguments to be able to build for ARM devices
    • Trimmed down size of final image using -a -installsuffix cgo -ldflags="-s -w" go build flags and by copying the statically built binary only to the final image
    • Added clear build and run instructions for the Docker container
    opened by qdm12 36
  • Provide a docker image option

    Provide a docker image option

    A similar tool Dry - https://github.com/moncho/dry - provides the capability to be run using docker itself

    docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock -e DOCKER_HOST=$DOCKER_HOST moncho/dry

    can you please also provide a docker container for this ?

    opened by sandys 31
  • Logs tab is always empty

    Logs tab is always empty

    Describe the bug The Logs tab is empty for each containers but when I press "m" key, logs appears as well.

    To Reproduce Steps to reproduce the behavior:

    1. Launch lazydocker
    2. Navigate in different containers -> Logs tab is still empty
    3. Press "m" key -> GUI disappears, logs are shown
    4. Press Ctrl+c -> GUI re-appears, Logs tab is still empty

    Expected behaviour Logs tab should display content !

    Desktop (please complete the following information):

    • OS: Debian Stretch
    • Lazydocker Version: docker image lazyteam/lazydocker:version-0.9.1

    docker-compose.yml

    version: '3'
    services:
      lazydocker:
        container_name: lazydocker
        image: lazyteam/lazydocker:version-0.9.1
        build:
          context: https://github.com/jesseduffield/lazydocker.git
          args:
            BASE_IMAGE_BUILDER: golang
            GOARCH: amd64
            GOARM:
        stdin_open: true
        tty: true
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
          - /var/local/lazydocker/:/.config/jesseduffield/lazydocker
        restart: always
    
    bug 
    opened by benjamin-feron 15
  • Automatically push to dockerhub as part of CI pipeline

    Automatically push to dockerhub as part of CI pipeline

    Is your feature request related to a problem? Please describe. It would be cool if we built the lazydocker image and pushed to docker hub as part of the CI pipeline when we do a release

    enhancement 
    opened by jesseduffield 13
  • Highlight items - contrast

    Highlight items - contrast

    Hi!

    Is it possible to increase the contrast of the selected item?

    Containers tab

    image

    Images tab

    image

    Menu

    image

    Versions

    • Windows 10 + WSL 2
    • Ubuntu 20.04

    lazydocker --version

    Version: 0.10
    Date: 2020-11-13T02:54:35Z
    BuildSource: binaryRelease
    Commit: ff0a53bfadfb1bfef5a0e3db023d57fed36fe4eb
    OS: linux
    Arch: amd64
    

    lazydocker --config

    Click to expand!
    gui:
      scrollHeight: 2
      theme:
        activeBorderColor:
        - green
        - bold
        inactiveBorderColor:
        - default
        optionsTextColor:
        - blue
    reporting: undetermined
    commandTemplates:
      restartService: '{{ .DockerCompose }} restart {{ .Service.Name }}'
      dockerCompose: docker-compose
      stopService: '{{ .DockerCompose }} stop {{ .Service.Name }}'
      serviceLogs: '{{ .DockerCompose }} logs --since=60m --follow {{ .Service.Name }}'
      viewServiceLogs: '{{ .DockerCompose }} logs --follow {{ .Service.Name }}'
      rebuildService: '{{ .DockerCompose }} up -d --build {{ .Service.Name }}'
      recreateService: '{{ .DockerCompose }} up -d --force-recreate {{ .Service.Name }}'
      viewContainerLogs: docker logs --timestamps --follow --since=60m {{ .Container.ID
        }}
      containerLogs: docker logs --timestamps --follow --since=60m {{ .Container.ID }}
      allLogs: '{{ .DockerCompose }} logs --tail=300 --follow'
      viewAlLogs: '{{ .DockerCompose }} logs'
      dockerComposeConfig: '{{ .DockerCompose }} config'
      checkDockerComposeConfig: '{{ .DockerCompose }} config --quiet'
      serviceTop: '{{ .DockerCompose }} top {{ .Service.Name }}'
    customCommands:
      containers:
      - name: bash
        attach: true
        command: docker exec -it {{ .Container.ID }} /bin/sh
        serviceNames: []
    bulkCommands:
      services:
      - name: up
        attach: false
        command: '{{ .DockerCompose }} up -d'
        serviceNames: []
      - name: up (attached)
        attach: true
        command: '{{ .DockerCompose }} up'
        serviceNames: []
      - name: stop
        attach: false
        command: '{{ .DockerCompose }} stop'
        serviceNames: []
      - name: pull
        attach: true
        command: '{{ .DockerCompose }} pull'
        serviceNames: []
      - name: build
        attach: true
        command: '{{ .DockerCompose }} build --parallel --force-rm'
        serviceNames: []
      - name: down
        attach: false
        command: '{{ .DockerCompose }} down'
        serviceNames: []
      - name: down with volumes
        attach: false
        command: '{{ .DockerCompose }} down --volumes'
        serviceNames: []
      - name: down with images
        attach: false
        command: '{{ .DockerCompose }} down --rmi all'
        serviceNames: []
      - name: down with volumes and images
        attach: false
        command: '{{ .DockerCompose }} down --volumes --rmi all'
        serviceNames: []
    oS:
      openCommand: sh -c "xdg-open {{filename}} >/dev/null"
      openLinkCommand: sh -c "xdg-open {{link}} >/dev/null"
    update:
      dockerRefreshInterval: 100ms
    stats:
      graphs:
      - caption: CPU (%)
        statPath: DerivedStats.CPUPercentage
        color: cyan
      - caption: Memory (%)
        statPath: DerivedStats.MemoryPercentage
        color: green
      maxDuration: 3m0s
    
    discussion 
    opened by mhagnumdw 12
  • Scroll up crashes on amazon linux 2 (but works on a mac)

    Scroll up crashes on amazon linux 2 (but works on a mac)

    Describe the bug When I scroll up too much/too fast in any log it just crashes.

    To Reproduce Steps to reproduce the behavior:

    1. Go to 'lazydocker (top left)'
    2. Click on the log
    3. Scroll up
    4. Crash

    Expected behaviour Not crashing

    Desktop (please complete the following information):

    • OS: Amazon Linux 2
    • Version: commit=cf31c23fadcc717467318689fc073ecf1bed8031, build date=2019-07-02T00:10:43Z, build source=binaryRelease, version=0.3, os=linux, arch=amd64
    bug 
    opened by ophintor 12
  • Show Project Directory in Status Panel

    Show Project Directory in Status Panel

    As per this discussion, this puts the current working directory name into the Status Panel area. As related changes, this PR also moves the "lazydocker" project name down to the information area, and renames the Status Panel to the "Project Panel" (which seemed a natural consequence).

    opened by pvande 11
  • Map the aarch64 platform to the arm64 binary

    Map the aarch64 platform to the arm64 binary

    Fixes #83

    The solution is to check if uname -m is aarch64, then it should be arm64 in the URL.

    If we need to map more platforms later, we can introduce a simple case...esac check to handle the different outputs of uname -m.

    opened by immanuelfodor 11
  • Missing container information

    Missing container information

    Describe the bug After the last Docker Update on Mac OS, all the information on the right side of lazydocker are not visible anymore.

    To Reproduce Just open lazydocker with the latest Docker Version (2.3.0.5).

    Screenshots screenshot

    Desktop:

    • OS: MacOS 10.15.6
    • Lazydocker Version 0.9.1
    bug 
    opened by teawithfruit 10
  • High CPU usage by Docker for Mac when lazydocker is running idle

    High CPU usage by Docker for Mac when lazydocker is running idle

    Describe the bug When running lazydocker on my Mac (latest version), while no containers are running, Docker for Mac uses ~25-30% cpu.

    To Reproduce Steps to reproduce the behavior:

    1. Start lazydocker
    2. Open Activity Monitor in CPU tab
    3. Find process com.docker.hyperkit
    4. See CPU usage

    Expected behaviour CPU usage low (without lazydocker it's ~2%). Maybe small impact.

    Screenshots NA

    Desktop (please complete the following information):

    • OS: Mac OS (latest as of July 7th 2019).
    • Lazydocker Version Version: commit=a536c09dab90fc9a4f4931285466d6126c8bc121, build date=2019-07-05T10:59:26Z, build source=binaryRelease, version=0.5.4, os=darwin, arch=amd64
    • The last commit id if you built project from sources (run : git rev-parse HEAD)

    Additional context I assume the load is due to continuous querying of the Docker API. Might be a good idea to allow setting the polling interval so I can choose to config a lower polling rate and reduce the load on Docker.

    bug 
    opened by eldada 10
  • Added `e` keybinding for toggling visibility stopped containers

    Added `e` keybinding for toggling visibility stopped containers

    This is a suggested fix for #110
    @jesseduffield I've added an translation struct item to the TranslationSet but i'm not sure what to do next, shall i add it manually add it to every translation file and keybindings readme file or can that be dune semi automated?

    opened by mjarkk 10
  • better screen mode approach

    better screen mode approach

    There are now four screen modes: normal, tall, half, and full: referring to the side panels. So normal is what you start with, tall gives the focused side panel full height, half gives it half the screen (width-wise), and full gives it the full screen.

    Normal: image

    Tall:

    image

    Half:

    image

    Full:

    image

    As with before, when you press '+' you go from normal->tall->half->full, and when the main view is focused, the views are cycled in reverse (because as the main panel grows the side panel must shrink to fit). The exception is going from tall->half

    opened by jesseduffield 0
  • use service name as service ID

    use service name as service ID

    Resolves https://github.com/jesseduffield/lazydocker/issues/402

    test

    run the built lazydocker binary with the following docker-compose.yml file, and confirmed that the selected service does not move.

    version: "3.9"
    services:
      service-a:
        image: "nginx:latest"
      service-b:
        image: "nginx:latest"
      service-c:
        image: "nginx:latest"
    

    https://user-images.githubusercontent.com/6212292/203588199-514d63ed-89c1-4de9-ac37-bbf5cfecd82e.mov

    opened by nakaakist 0
  • allow configuring docker log args from within lazydocker

    allow configuring docker log args from within lazydocker

    Adds a new view which shows the current args for the docker logs. When you press 'i' a menu appears that allows you to change any of the values.

    image

    image

    It's not ideal having this new view take up three rows of cells by virtue of having a frame. I could:

    • make it frameless (looks a bit cluttered being on top of the bottom row)
    • replace the keybindings help text at the bottom right with this new content
    • find a way to put this inside the main view. This would be the best UI but also the most difficult to implement

    TODO:

    • i18n
    • only show view when logs are being shown
    • get this to work with docker-compose commands which go through the CLI interface (either append as args or remove ability to configure beyond the base 'docker compose' part of the command)
    opened by jesseduffield 0
  • Shorten container status and health to 1 character

    Shorten container status and health to 1 character

    Is your feature request related to a problem? Please describe. Using the container list can be awkward when forces to use a small window size, especially when containers have long names etc.

    Describe the solution you'd like Adding a config option to allow shortening the container status from "running" to "R" for instance would save a lot of space while still being intuitive, the health info coule be similarly shortened too from "(healthy)" to (H).

    Describe alternatives you've considered Could also use suitable Unicode emoji to show the various states and healths, this could be included as a 3rd option.

    enhancement good first issue 
    opened by martini1992 16
  • Clear logs

    Clear logs

    It'd be really useful to be able to clear the logs view and only show new items as they come in.

    This is possible when viewing the logs independently (i.e. via the m keybind) and using the clear command to clear the terminal, but I often find myself jumping between containers to check the logs, so being able to do this within the lazydocker context would be handy!

    enhancement good first issue 
    opened by Tam 3
  • Selected service automatically moves when there are multiple services with the same config

    Selected service automatically moves when there are multiple services with the same config

    Describe the bug

    When there are multiple containers with the same config in docker-compose.yml like below, the selected service in the "Services" side panel automatically moves on every refresh, even though the user does not touch anything.

    version: "3.9"
    services:
      service-a:
        image: "nginx:latest"
      service-b:
        image: "nginx:latest"
      service-c:
        image: "nginx:latest"
    

    To Reproduce Steps to reproduce the behavior:

    1. run docker-compose up -d with the docker-compose.yml above.
    2. run lazydocker
    3. wait for a few seconds, and see error

    Expected behaviour

    The selected service should be fixed when the user does not touch.

    Screenshots

    Following is the lazydocker monitor when the docker-compose.yml file shown above is used. Even though I don't touch anything, the selected service moves (service-c -> service-b -> service-a).

    https://user-images.githubusercontent.com/6212292/202889551-1f78209b-128e-42fc-9cf9-a1858f985130.mov

    Desktop (please complete the following information):

    • OS: MacOS 13.0.1
    • Lazydocker Version: 0.20.0

    Additional context

    I encountered this problem during the development of a microservice system with similar docker-compose.yml pattern.

    I guess the cause of the problem is:

    bug good first issue 
    opened by nakaakist 3
Releases(v0.20.0)
Owner
Jesse Duffield
Creator of lazygit, lazydocker, and horcrux.
Jesse Duffield
sail is an operation framework based on Ansible/Helm. sail follows the principles of Infrastructure as Code (IaC), Operation as Code (OaC), and Everything as Code. So it is a tool for DevOps.

sail 中文文档 sail is an operation framework based on Ansible/Helm. sail follows the principles of Infrastructure as Code (IaC), Operation as Code (OaC),a

Bougou Nisou 10 Dec 16, 2021
Jenkins CLI allows you manage your Jenkins as an easy way

Quick start 简体中文 Jenkins CLI Jenkins CLI allows you manage your Jenkins in an easy way. No matter if you're a plugin developer, administrator or just

Jenkins Chinese Community 339 Nov 25, 2022
Go project to manage an ubuntu docker container

Go-docker-manager This project consist of a Go app that connects to a Docker backend, spans a Ubuntu container and shows live CPU/Memory information f

Miguel Sama 1 Oct 27, 2021
Explore Docker registries and manipulate Docker images!

L/S tags Utility and API to manipulate (analyze, synchronize and aggregate) images across different Docker registries. Example invocation $ lstags alp

Ivan Ilves 302 Nov 25, 2022
Docker-based remote code runner / 基于 Docker 的远程代码运行器

Docker-based remote code runner / 基于 Docker 的远程代码运行器

E99p1ant 35 Nov 9, 2022
ecsk is a CLI tool to interactively use frequently used functions of docker command in Amazon ECS. (docker run, exec, cp, logs, stop)

English / 日本語 ecsk ECS + Task = ecsk ?? ecsk is a CLI tool to interactively use frequently used functions of docker command in Amazon ECS. (docker run

null 109 Nov 15, 2022
Hassle-free minimal CI/CD for git repositories with docker or docker-compose projects.

GIT-PIPE Hassle-free minimal CI/CD for git repos for docker-based projects. Features: zero configuration for repos by default automatic encrypted back

Aleksandr Baryshnikov 50 Sep 23, 2022
Tool to convert docker-compose files to set of simple docker commands

docker-decompose Tool to convert docker-compose files to set of simple docker commands. Install Use go get to install the latest version of the librar

Liri S 2 Apr 12, 2022
Go-http-server-docker - Simple sample server using docker and go

go-http-server-docker Simple sample webserver using docker and go.

null 0 Jan 8, 2022
Docker-hub-rate-limit - Show pulling rate status of Docker-hub

Docker-Hub Pull Rate Status This tool shows current status of docker hub pull ra

Tak 1 Jan 28, 2022
Dotnet-appsettings-env - Convert .NET appsettings.json file to Kubernetes, Docker and Docker-Compose environment variables

dotnet-appsettings-env Convert .NET appsettings.json file to Kubernetes, Docker

Daniel Dias de Assumpção 15 Oct 28, 2022
Dotnet-appsettings-env - Convert .NET appsettings.json file to Kubernetes, Docker and Docker-Compose environment variables

dotnet-appsettings-env Convert .NET appsettings.json file to Kubernetes, Docker

Daniel Dias de Assumpção 1 Feb 16, 2022
Manage your ssh alias configs easily.

manssh manssh is a command line tool for managing your ssh alias config easily, inspired by storm project, powered by Go. Note: This project is actual

Wendell Sun 276 Nov 9, 2022
Manage Go Versions/Projects/Dependencies

rodent rodent is a shell (bash) application which: Manages multiple versions of Go. Allows you to test/build your projects against multiple Go release

Ali Abbas 33 Sep 27, 2022
Modular Kubernetes operator to manage the lifecycle of databases

Ensemble Ensemble is a simple and modular Kubernetes Operator to manage the lifecycle of a wide range of databases. Infrastructure as code with Kubern

Tesera 41 Aug 12, 2022
🐶 Kubernetes CLI To Manage Your Clusters In Style!

K9s - Kubernetes CLI To Manage Your Clusters In Style! K9s provides a terminal UI to interact with your Kubernetes clusters. The aim of this project i

Fernand Galiana 18.7k Nov 28, 2022
Open Service Mesh (OSM) is a lightweight, extensible, cloud native service mesh that allows users to uniformly manage, secure, and get out-of-the-box observability features for highly dynamic microservice environments.

Open Service Mesh (OSM) Open Service Mesh (OSM) is a lightweight, extensible, Cloud Native service mesh that allows users to uniformly manage, secure,

Open Service Mesh 2.5k Nov 30, 2022
Manage large fleets of Kubernetes clusters

Introduction Fleet is GitOps at scale. Fleet is designed to manage up to a million clusters. It's also lightweight enough that it works great for a si

Rancher 1.2k Nov 22, 2022
Go version manager. Super simple tool to install and manage Go versions. Install go without root. Gobrew doesn't require shell rehash.

gobrew Go version manager Install or update With curl $ curl -sLk https://git.io/gobrew | sh - or with go $ go get -u github.com/kevincobain2000/gobre

Pulkit Kathuria 173 Nov 23, 2022