Giter Club home page Giter Club logo

microbadger's Introduction

Microscaling Engine

Our Microscaling Engine provides automation, resilience and efficiency for microservice architectures. You can use our Microscaling-in-a-Box site to experiment with microscaling. Or visit microscaling.com to find out more about our product and Microscaling Systems.

This project is no longer being developed. As an alternative we recommend you take a look at Keda.

Docker Image

Build

Build Status

Go 1.6 & 1.7

Microscaling Engine is under development, so we're not making any promises about forward compatibility, and we wouldn't advise running it on production machines yet. But if you're keen to get it into production we'd love to hear from you.

Schedulers

Microscaling Engine will integrate with all the popular container schedulers. Currently we support

  • Docker API
  • Marathon
  • Kubernetes

Support for more schedulers is coming soon. Let us know if there is a particular scheduler you wish us to support.

Metrics

Currently we support scaling a queue to maintain a target length. Support for more metrics is coming soon.

2 queue scaling algorithms are available.

  • SimpleQueue - scales containers up or down by one according to whether the queue is too long or too short.
  • Queue - uses control theory to prevent oscillation.

Queue Types

  • SQS - blog post with more details coming soon.
  • NSQ - see this blog post for more details.
  • Azure storage queues - this blog post describes using the Azure queue as the metric while running microscaled tasks on DC/OS.

Support for more message queues is coming soon. Let us know if there is a particular queue you wish us to integrate with.

Running

The easiest way to run Microscaling-in-a-box is to follow the instructions. The docker run command pulls the latest image of this code from Docker hub.

Running with label-based config

Get scaling parameters from your image metadata by configuring them with the following labels:

  • com.microscaling.is-scalable
  • com.microscaling.priority
  • com.microscaling.max-delta
  • com.microscaling.min-containers
  • com.microscaling.max-containers

Download the compose file and add the following environment variable to the environment settings for the microscaling image:

MSS_CONFIG=LABEL

Building from source

If you want to build and run your own version locally:

  • Clone this repo
  • Build your own version of the Docker image DOCKER_IMAGE=<your-image> make build
  • Specify -it <your-image> instead of -it microscaling/microscaling:latest on docker run so that it picks up your version of the image

Licensing

Microscaling Engine is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

Contributing

We'd love to get contributions from you! Please see CONTRIBUTING.md for more details.

Contact Us

We'd love to hear from you at [email protected] or on Twitter at @microscaling. And we welcome new issues or pull requests!

microbadger's People

Contributors

lizrice avatar rossf7 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

microbadger's Issues

Consider the README file extension before handing out instructions on how to add a badge

Sites like GitHub/GitLab support multiple markup languages, such as Markdown and Asciidoc. While Markdown is more widely used, there are at least some people who are using Asciidoc (and other formats) to write documentation.
It would be great if based on the file extension of a README, microbadger would provide the correct snippet to include a badge in the README. Example for Markdown (current default):

[![](https://images.microbadger.com/badges/image/ORGA/PROJECT.svg)](https://microbadger.com/images/ORGA/PROJECT "Get your own image badge on microbadger.com")

Example for Asciidoc:

image:https://images.microbadger.com/badges/image/ORGA/PROJECT.svg["Get your own image badge on microbadger.com", link="https://microbadger.com/images/ORGA/PROJECT"]

Metadata loss

Hello,

Issues similar to those described in #29 seem to keep on happening repeatedly. For instance the metadata for this centos image is missing all size information and is displaying "Layer information not yet retrieved". Nevertheless, this image version was built around a month ago and MicroBadger claims that it was "Last inspected 3 days ago.".

A lot of images are facing this same issue. Calling the webhook seems to temporarily solve the issue (I've just managed to get the size information back on jumanjiman/puppet using this technique) but the metadata often disappears again without any changes actually being made to the image. See the comment here for a slightly more detailed description of the problem.

Thanks in advance for looking into this.

Cheers,

Pyves

Add support for Mircosoft Windows Docker images

I just tried to analyse the Docker image microsoft/nanoserver to get an overview about the content layers and sizes, but I only got an error message.

microsoft/nanoserver not found on Docker Hub
We couldn’t find the image on Docker Hub. Let us know if you’d like support for a different image registry.

Right now it seems that these images are not supported by Microbadger. I know these images are not stored directly on the Docker Hub, they are stored in a linked repository. But we can easily search them through the Docker Hub, but a pull is only possible from a Windows machine. So I guess the registry API handles them differently.

$ docker search microsoft/nanoserver
NAME                   DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
microsoft/nanoserver   Windows Server 2016 Nano Server base OS im...   88

Support for security image analysis

Hi,

My name’s Quentin Machu and I am the primary maintainer of Clair, an open source project for the static analysis of vulnerabilities in containers. The project, first released in November 2015, aims at bringing security awareness to every container users.

I think that the service that microbadger provides fits nicely with the whole idea and design of Clair, that analyzes container images layer by layer, and that is able to inform about the number of packages/vulnerabilities added/updated/removed in each of them. Integrating Clair into microbadger would provide an extremely valuable piece of information!

If you're interested and would like to learn more, I am open to discussion. You can reach me on this thread, by e-mail or on IRC (#clair on Freenode). Also, few presentations are available at the very end of the Clair's README. The latest available slidedeck is the one that I've used for the O'Reilly Security Conference in Amsterdam, the video is not yet available though.

Thank you.

Webhook URL not properly encoded

Hi.

I used the "Get the webhook" tab when logged on to your service. When I attempt to paste the resulting POST URL (https://hooks.microbadger.com/imag...) into the Webhooks settings for my project on Docker Hub, I receive "Valid URL required" when attempting to add it.

image

It turns out that this is due to the '=' sign being present in the final part of the URL, and not URL-encoded. Replacing '=' with %3d seems to work.

Layer information not yet retrieved

It only shows the layer numbers but not detailed layer information for my docker image esir/docker-efb. I have tried to google a solution but no luck. Please help to investigate, thanks.

Badge Style

It would be greatto have different stylesto choose fromin order tostay uniform withexisting badges

It would be great to have different styles to choose from in order to stay uniform with existing badges.


e.g. like Shields

Plastic: plastic
Flat: flat
Flat-Square: flat-square

E-mails addresses in Labels aren't scrambled

I noticed that e-mail addresses had their domain part scrambled in the MAINTAINER tag or in the image's layers display...

Example with this image : https://microbadger.com/images/peterthecoon/cronicle

But for e-mail addresses stored in Labels they are displayed in plain text, in the resulting table, without scrambling, and e-mail address enclosed in < and > aren't even escaped and are added as HTML content !

Example here : https://microbadger.com/images/puppet/puppetserver

This should probably need a fix.

Layer information not being retrieved

Hello

It worked yesterday, but today it does not with this and any other image in this repository.

Is there anything I should do or should I simply wait?
Does it require yout intervention or does it recover itself?

Thanks

Problem with codeworksio/streaming-server image

My image codeworksio/streaming-server does not refresh since yesterday despite the fact I pushed number of commits in the meantime. Docker Hub repository is current and builds images automatically as expected.

I use the following command curl --request POST "https://hooks.microbadger.com/images/codeworksio/streaming-server/o6WEpIkU6QkdRAOuZ9EcPx6djOo=" to notify MicroBadger about my changes.

Badge to show type/size/recency of base image used

Seperate actual image size and base image size. Display if this is based on the recent popular base image (like alpine, debian or buildpack-deps:curl). This will reward people using automated builds or run their build continuously since many images on docker hub are build only once and have old base images. In that case docker's layer cake system which can reuse disk space for many images does not help.

Also recent images increase security!

No layer info after rebuild even having web hooks

Hello,

there is no layer info after rebuild again. The existing web hooks worked correctly about two days ago. Could you please check the accetto's repositories again? Thanks a lot.

Cheers
accetto

Support tags

Looks like it's possible to select tags from a dropdown list, but the badge image url stays the same (and shows the "latest" tag).

Is this a bug or a missing feature?

Automated Build Status as a Badge

A Badge which shows the latest Build status of the given image if automated build is enabled.

Manual
Queued
Building
Sucess
Error

Version badge uses org.label-schema.version label if it exists

Hey,
i would like to see the current version of an image in a badge. At the moment we got version: latest. A better option would to support it with an explicit version version: 0.0.0 when the correct label is in the dockerfile. An example would be something like

LABEL org.label-schema.version=$VERSION

WDYT ?

Better Notification Support

screen shot 2017-01-06 at 14 58 54

We would appreciate if the notification was much better including the published version and labels support. We use the notifications as the release publishing mechanism for our product and the current thing does not tell anything to our customers about what changed.

Add support for OCI annotations/labels

https://microbadger.com/labels currently still refers to the Label Schema labels, but those have been deprecated in favor of OCI annotations.

It would be nice to have support for both the legacy Label Schema keys and their OCI replacements, e.g. org.label-schema.vcs-ref and org.opencontainers.image.revision should be recognized as equivalent.

There's a useful table here:

https://github.com/opencontainers/image-spec/blob/master/annotations.md#back-compatibility-with-label-schema

Repo not found on Docker Hub

Microbadger retrieved repos data from Docker when the certain repo was created but an image wasn't still pushed. And now I get an error "izonder/lanny not found on Docker Hub", but it exists.

Processing metadata too long

Hi,
I use microbadger in my docker images.

But one image cannot create badge.

Processing forumi0721archx64/arch-x64-dev metadata

Almost day..... Something wrong at create logic.
Please check this.

Slack Notifications

Unable to send test notification to Slack, I added the webhook URL clicked 'Test' and it says 'Notification Sent' but nothing appears in the channel. I think this is due to the curl request as when I do it manually using the same web-hook URL it works. The curl request i used is:
curl -X POST --data-urlencode "payload={\"text\":\"Hi, it's MicroBadger, sending you a test notification for alpine https://microbadger.com/images/alpine\",\"new_tags\":[],\"image_name\":\"alpine\",\"changed_tags\":[],\"deleted_tags\":[]}" https://hooks.slack.com/services/${WEBHOOK_URL}

Authentication

To see my images, I need to provide my username and password. How is this dealt with? Is this stored in a database on your end?

Vertical alignment for 'label' and 'version' badges

If I insert two badges in one line (e.g. version and layer), there are not properly aligned vertically (1px difference). Tested on Chromium 44.0.2394.0.

Screenshot with described behavior:
vertical_alignment_bug

BTW, great idea and service 👍

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.