Cross-platform beanstalkd queue server admin console.

aurora

Build Status CII Best Practices Go Report Card Downloads Licenses Release

Overview

aurora is a web-based Beanstalkd queue server console written in Go and works on macOS, Linux, and Windows machines. The main idea behind using Go for backend development is to utilize the ability of the compiler to produce zero-dependency binaries for multiple platforms. aurora was created as an attempt to build a very simple and portable application to work with a local or remote Beanstalkd server.

See application screenshots

Features

  • Cross-platform support macOS/Linux/Windows 32/64-bit
  • Simple installation (distributed as a single binary)
  • Zero dependencies
  • Common list of servers in the config for all users + optional Basic Auth
  • The full list of available tubes
  • Complete statistics about jobs in tubes
  • Real-time auto-update with highlighting of changed values
  • You can view jobs in ready/delayed/buried states in every tube
  • You can add/kick/delete jobs in every tube
  • You can select multiple tubes by regExp and clear them
  • You can set the statistics overview graph for every tube
  • You can move jobs between tubes
  • Ability to Pause tubes
  • Search jobs data field
  • Customizable UI (code highlighter, choose columns, edit auto refresh seconds, pause tube seconds)

Installation

Installing aurora using Homebrew on macOS:

brew install aurora

Building aurora using Docker:

docker build -t aurora:latest .
docker run --rm --detach -p 3000:3000 aurora:latest

Precompiled binaries for supported operating systems are available.

Contributing

Contributions are welcome! Open a pull request to fix a bug, or open an issue to discuss a new feature or change.

Todo

  • Handle 404 error page
  • Filter the tubes by name in the overview
  • Logout support when Basic Auth has been enabled
  • Custom job content hightlight display theme support
  • Cookies control, each user can add its own personal Beanstalkd server

Credits

Contributors

This project exists thanks to all the people who contribute.

Contributors

Backers

Thank you to all our backers! 🙏 Become a backer

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website.

Licenses

This program is under the terms of the MIT License. See LICENSE for the full license text.

Comments
  • Update https://github.com/beanstalkd/go-beanstalk to fix indefinite client hang after connection reset

    Update https://github.com/beanstalkd/go-beanstalk to fix indefinite client hang after connection reset

    Description

    We appear to have run into the issue fixed by https://github.com/beanstalkd/go-beanstalk/pull/29. A job that had been created days earlier was never processed until a restart forced the connection to be re-established.

    Ideally this module would update the go-beanstalk module to include the above fix.

    Steps to reproduce the issue: Unclear how the connection gets in this state to trigger the underlying issue in the go-beanstalk module.

    Describe the results you received: Job stuck indefinitely until a restart forced the connection to be re-established

    Describe the results you expected: Job should be picked up via ready state

    Output of go version:

    go version go1.13 linux/amd64
    

    Aurora version or commit ID:

    commit ID: 8024f7a4d7f6

    Environment details (OS, physical, etc.):

    Ubuntu 16.04

  • Chore: Dockerfile

    Chore: Dockerfile

    Add a Dockerfile

    Description

    This PR adds a Dockerfile for building and running aurora.

    Motivation and Context

    I wanted to run aurora in Docker, since that's where I run beanstalkd itself.

    How Has This Been Tested

    I'm using this right now!

    Types of changes

    • [x] Docs change / refactoring / dependency upgrade
    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [ ] My code follows the code style of this project.
    • [ ] My change requires a change to the documentation.
    • [x] I have updated the documentation accordingly.
    • [x] I have read the CONTRIBUTING document.
    • [ ] I have added tests to cover my changes.
    • [ ] All new and existing tests passed.
  • Add go module support

    Add go module support

    PR Details

    Description

    Related Issue

    Motivation and Context

    How Has This Been Tested

    Types of changes

    • [ ] Docs change / refactoring / dependency upgrade
    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [ ] My code follows the code style of this project.
    • [ ] My change requires a change to the documentation.
    • [ ] I have updated the documentation accordingly.
    • [ ] I have read the CONTRIBUTING document.
    • [ ] I have added tests to cover my changes.
    • [ ] All new and existing tests passed.
  • copyright and readme updated

    copyright and readme updated

    PR Details

    Description

    Related Issue

    Motivation and Context

    How Has This Been Tested

    Types of changes

    • [x] Docs change / refactoring / dependency upgrade
    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [x] My code follows the code style of this project.
    • [x] My change requires a change to the documentation.
    • [x] I have updated the documentation accordingly.
    • [x] I have read the CONTRIBUTING document.
    • [ ] I have added tests to cover my changes.
    • [x] All new and existing tests passed.
  • Fixes #14, support to set number of kick burried jobs

    Fixes #14, support to set number of kick burried jobs

    PR Details

    Description

    Related Issue

    Motivation and Context

    How Has This Been Tested

    Types of changes

    • [ ] Docs change / refactoring / dependency upgrade
    • [x] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [x] My code follows the code style of this project.
    • [x] My change requires a change to the documentation.
    • [x] I have updated the documentation accordingly.
    • [x] I have read the CONTRIBUTING document.
    • [x] I have added tests to cover my changes.
    • [ ] All new and existing tests passed.
  • Fixes #19 search by calculating maximum job ID

    Fixes #19 search by calculating maximum job ID

    PR Details

    Description

    Related Issue

    Motivation and Context

    How Has This Been Tested

    Types of changes

    • [ ] Docs change / refactoring / dependency upgrade
    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [ ] My code follows the code style of this project.
    • [ ] My change requires a change to the documentation.
    • [ ] I have updated the documentation accordingly.
    • [ ] I have read the CONTRIBUTING document.
    • [ ] I have added tests to cover my changes.
    • [ ] All new and existing tests passed.
  • Add license scan report and status

    Add license scan report and status

    Your FOSSA integration was successful! Attached in this PR is a badge and license report to track scan status in your README.

    Below are docs for integrating FOSSA license checks into your CI:

  • No documentation on how to configure with a toml file

    No documentation on how to configure with a toml file

    I can see the example toma file in the repo. I don't see any examples of how to set the values which leads to trial and error guess work. Please include a detailed writeup on how to configure the toml exactly as the innards would expect them to be.

  • Running Aurora on boot

    Running Aurora on boot

    Hi,

    Using an Ubuntu Server to run beanstalkd and aurora - do you have any example scripts/details about writing an init.d script for aurora?

    Thanks for the awesome tool!

  • Could I use this directly on a server?

    Could I use this directly on a server?

    I want to run it on a server, and access it from my own computer. But it seems this acquires the browser to run. Since I do not have a Xwindow on the server, is it possible to run it on server?

  • Broken Commit - HTML Rendering

    Broken Commit - HTML Rendering

    Description

    The commit a935e08f81115dec77ef516a7b85ca72b0a43675 breaks HTML rendering.

    Steps to reproduce the issue:

    1. go build/go get
    2. ./aurora
    3. Open the app, click on a tube

    Describe the results you received:

    I receive escaped HTML output, (&nbsp, < etc)

    Describe the results you expected:

    A pretty rendered page ;)

    Output of go version:

    go version go1.13.8 linux/amd64
    

    Aurora version or commit ID:

    a935e08f81115dec77ef516a7b85ca72b0a43675
    

    Environment details (OS, physical, etc.):

    DISTRIB_ID=Ubuntu
    DISTRIB_RELEASE=20.04
    DISTRIB_CODENAME=focal
    DISTRIB_DESCRIPTION="Ubuntu 20.04.2 LTS"
    

    Remarks / Fix:

    I revered back to the commit before that one, and then it works.

  • Feature request: permissions

    Feature request: permissions

    Is your feature request related to a problem? Please describe.

    Would be nice to have a permissions model.

    Describe the solution you'd like

    If there was the concept of read-only users and admin users you could allow some users to view stats but not do anything destructive like delete jobs.

    Describe alternatives you've considered

    None.

    Additional context

    It would be even better if the permissions could be tied to SSO groups (as mentioned in #9). Then you could manage the users/groups externally to Aurora and have a mapping from SSO group to permission.

  • Improve search functionality

    Improve search functionality

    PR Details

    Improve tube search functionality.

    Description

    Add capability to peek at a specific job by ID and filter search results by specific state (ready, delayed, buried).

    Related Issue

    Motivation and Context

    How Has This Been Tested

    Types of changes

    • [ ] Docs change / refactoring / dependency upgrade
    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [x] My code follows the code style of this project.
    • [ ] My change requires a change to the documentation.
    • [x] I have updated the documentation accordingly.
    • [x] I have read the CONTRIBUTING document.
    • [x] I have added tests to cover my changes.
    • [x] All new and existing tests passed.
  • sort column, disable tube view for security

    sort column, disable tube view for security

    PR Details

    Description

    Related Issue

    Motivation and Context

    How Has This Been Tested

    Types of changes

    • [ ] Docs change / refactoring / dependency upgrade
    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [ ] My code follows the code style of this project.
    • [ ] My change requires a change to the documentation.
    • [ ] I have updated the documentation accordingly.
    • [ ] I have read the CONTRIBUTING document.
    • [ ] I have added tests to cover my changes.
    • [ ] All new and existing tests passed.
  • Reorder messages

    Reorder messages

    Is your feature request related to a problem? Please describe. Is there a way to reorder messages? I'd love to be able to move some stuff that's lower in the queue up higher.

    Describe the solution you'd like In the search page, under actions, if we could add a "send to front" or a "send to back" or something similar.

    Describe alternatives you've considered No alternative that I can think of other than wait out the queue.

    Additional context I'm using beanstalkd to keep track of jobs that take a while to run (10+min each to run). Sometimes I want jobs that are lower to finish first but as far as I can tell there isn't any way to to this yet.

  • Custom name for the server

    Custom name for the server

    Feature request - would be possible to set up the custom name for the server instead of displaying hostname:port (in most cases it is only ip:port)?

    I would appreciate showing the server name in the list of tubes, and everywhere possible.

    I could prepare a PR with the change, if you do not have the time for this.

Fast cross-platform HTTP benchmarking tool written in Go

bombardier bombardier is a HTTP(S) benchmarking tool. It is written in Go programming language and uses excellent fasthttp instead of Go's default htt

Jan 2, 2023
:rocket: Modern cross-platform HTTP load-testing tool written in Go
:rocket: Modern cross-platform HTTP load-testing tool written in Go

English | 中文 Cassowary is a modern HTTP/S, intuitive & cross-platform load testing tool built in Go for developers, testers and sysadmins. Cassowary d

Dec 29, 2022
A cross platform CLI for Flyte. Written in Golang. Offers an intuitive interface to Flyte https://flytectl.readthedocs.io/en/latest/
A cross platform CLI for Flyte. Written in Golang. Offers an intuitive interface to Flyte https://flytectl.readthedocs.io/en/latest/

FlyteCTL Flyte's official command-line interface Documentation · Contribution Guide FlyteCTL was designed as a portable and lightweight command-line i

Nov 7, 2022
Based on the electron Cross-platform Mini browser

Based on the electron Cross-platform Mini browser

May 1, 2022
Defalyzer: A cross-platform software that focuses on defacement analyzing and mirror tracking
Defalyzer: A cross-platform software that focuses on defacement analyzing and mirror tracking

Project Defalyzer is a cross-platform software that focuses on defacement analyz

Jul 26, 2022
Censors or hides shell / Bash / console output based on defined patterns - great for hiding secrets in demos!
Censors or hides shell / Bash / console output based on defined patterns - great for hiding secrets in demos!

censor-shell Installation go install Usage Make the file ~/.censor-shell as an INI file with the following content: [nameofmyreplacement] pattern = b

Nov 11, 2022
Chat - Console mode chat done in Go, PHP and MySQL

Chat modo consola hecho en GO y PHP(https://github.com/RicardoValladares/AJAX) G

Nov 10, 2022
azqlite is a lightweight wrapper around Azure's SDK to interact with the Azure Storage Queue service in a simpler and more idiomatic way.

azqlite azqlite is a lightweight wrapper around github.com/Azure/azure-storage-queue-go to interact with the Azure Storage Queue service in a simpler

Mar 12, 2022
Build Go Toolchains /w native libs for cross-compilation

gonative Cross compiled Go binaries are not suitable for production applications because code in the standard library relies on Cgo for DNS resolution

Dec 20, 2022
A dead simple, no frills Go cross compile tool

Gox - Simple Go Cross Compilation Gox is a simple, no-frills tool for Go cross compilation that behaves a lot like standard go build. Gox will paralle

Jan 1, 2023
a build tool for Go, with a focus on cross-compiling, packaging and deployment

goxc NOTE: goxc has long been in maintenance mode. Ever since Go1.5 supported simple cross-compilation, this tool lost much of its value. There are st

Dec 9, 2022
A cross-language distributed transaction manager
A cross-language distributed transaction manager

English Docs 跨语言分布式事务管理器 DTM是一款golang开发的分布式事务管理器,解决了跨数据库、跨服务、跨语言栈更新数据的一致性问题。 他优雅

Dec 31, 2022
Quickly cross-compile your C code
Quickly cross-compile your C code

WORK IN PROGRESS: Viceroy is a very early work in progress and is subject to breaking changes. It's also subject to not really working all that well y

Aug 19, 2022
Kubernetes OS Server - Kubernetes Extension API server exposing OS configuration like sysctl via Kubernetes API

KOSS is a Extension API Server which exposes OS properties and functionality using Kubernetes API, so it can be accessed using e.g. kubectl. At the moment this is highly experimental and only managing sysctl is supported. To make things actually usable, you must run KOSS binary as root on the machine you will be managing.

May 19, 2021
Gemini server running on the dailybuild server

#dailybuild notice This is the titan2 repo for the dailybuild server. It the static binary is built in a GitHub runner and sent over to the dailybuild

Nov 26, 2021
Go-http-server-docker - Simple sample server using docker and go

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

Jan 8, 2022
Webhook-server - Webhook Server for KubeDB resources

webhook-server Webhook Server for KubeDB resources Installation To install KubeD

Feb 22, 2022
EdgeDB-Golang-Docker-Sample - The sample of connection between EdgeDB Server and Go Echo API Server

EdgeDB Golang Docker Sample 『Go + Docker Composeを使ってEdgeDBを動かしてみた』のサンプルコードです。 使い

Nov 2, 2022
Enterprise-grade application development platform

Erda Overview Feature list Architecture Related repositories erda-proto erda-infra erda-ui Quick start To start using erda To start developing erda Do

Dec 28, 2022