Giter Club home page Giter Club logo

bonsai's Introduction

sensu

Build Status Gem Version MIT Licensed Join the chat at https://slack.sensu.io/

⚠️ ANNOUNCEMENT - Sensu 1.x has reached End-Of-Life (December 31st, 2019)

The Sensu 1.x project reached end-of-life on December 31st, 2019. The existing package repositories became unreachable on January 6th, 2020. Please see our blog post for more details: https://blog.sensu.io/announcing-the-sensu-archives

Sensu 1.x has been superseded by Sensu Go.

As always, we want to hear from the Community and please reach out on Slack or Discourse if you have any questions or concerns.

Sensu

A simple, malleable, and scalable framework for composing the monitoring system you need.

Sensu is offered in two flavors:

  • Sensu Core - this open source project
  • Sensu Enterprise - a full-featured commercial implementation, built on Sensu Core

Installation

Sensu supports a number of Unix-like platforms, as well as Windows. Please see the list of supported platforms for installation instructions.

Documentation

Please refer to the online documentation for details on configuring and operating Sensu.

Getting Help

If you have questions not covered by the documentation, the Sensu community is here to help. Please check out our chat on Slack, or the sensu-users discussion list.

Commercial support is also available. See the support section of our website for more detail.

Contributing

Please observe these guidelines on contributing.

License

Sensu Core is released under the MIT license.

bonsai's People

Contributors

agoddard avatar amdprophet avatar dabria avatar demillir avatar jamesdphillips avatar jspaleta avatar mbiang avatar portertech avatar pzupan avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bonsai's Issues

Make it possible to set asset tags via API or via GItub release compile

Not sure what the best approach here is, but it would be fantastic if I could twiddle the tag list from the bonsai.yml or via an API endpoint so I don't have to manually set tags in the web interface.

Tags are a little weird in that they are repository scoped, not asset version scoped.. making it hard for this to work from bonsai.yml, but perfect for an API endpoint that I can PUT.

Elaborate on Github Permissions

A user opened up sensu/sensu-docs#1291 against the docs site, and while yes, there could be some elaboration there on the permissions needed, I'm curious about the level of permissions needed when creating an asset on Bonsai. They seem pretty extensive. Are all the permissions actually needed? If not, can we trim them down so that only what's needed is requested?

Github throttling asset download - preventing asset download to some agents

Reported in community chat by Kurt Payne

when using assets with a fleet of agents, github appears to throttle downloads preventing some agents from retrieving the asset.

There was a fix in sensu-go-agent 5.3.0 should prevent the timeout, I'm trying to get more information to see if he's tested with 5.3.0.

New UI designs and recommendations

We have a number of UI recommendations to clean up with existing frontend.

@calebhailey

Global
Overall we focused on type, color and spacing consistency. To save time, we didn’t go searching for every icon but allowed for space there. Also, we based the grid off of the columns we saw in the live site, so expecting a few things may shift around but hoping this provides enough clarity around spacing.

Home
Really similar to what currently exists, added in a description text block and updated the search area. Also, the addition of a CTA section at the bottom which can be used elsewhere.

Assets
Same layout but cleaned up the type size and spacing a bit. Open to suggestions on how items may change in proximity to each other, but this felt logical and easy to read, especially in regards to the tabs at the top and the right-hand sidebar.

Collaborator
Didn’t change much here, but offered suggestions on how to give that page a bit more depth by adjusting the pale colors.

Search is "inflexible"

Search terms in the search bar have to be pretty precise to find results. Here is an example of what I mean:

In both case I'm expecting to come across sensu-influxdb-handler in the results. In fact, I would expect a query such as TERM1 TERM2 to be handled as a regular expression similar to .*TERM1.*TERM2.*, where the terms can appear in any order.

Updated support badges

Please update the enterprise tier to the rocket and the supported tier to the hand-holding heart badges.

Adding asset doesn't update release drop down, readme or downloads section properly

Expected behavior

Adding an asset shows readme, download links and all versions in releases drop down.

Current behavior

I've added a handler asset here:

https://bonsai.sensu.io/assets/rgeniesse/sensu-pushbullet-handler

But it seems to not want to update the releases drop down, the readme or add the download packages with their checksums to the lower right hand section. At somepoint something shook lose a bit as initially no releases were showing, now 0.0.4 and 0.0.5 are. Recompile releases seems to have no immediate effect or even in the following hours.

This should have 0.0.6 as well:

screen shot 2019-01-22 at 12 01 39 pm

screen shot 2019-01-22 at 12 03 01 pm

And the downloads section isn't populating properly:

screen shot 2019-01-22 at 12 01 43 pm

And then the readme you'll see is missing based on the asset link above.

Other assets that were added near or after mine appear to be working:

https://bonsai.sensu.io/assets/cwjohnston/sensu-pushover-handler
https://bonsai.sensu.io/assets/sensu/sensu-prometheus-collector

I've done a configuration comparison with .bonsai.yml to these other two repos and don't see any differences outside of single quoted values. Also done a few new releases after adding the asset to bonsai and that doesn't seem to do anything.

Link styling

Links on the Bonsai homepage should be recognizable as links.

For example:

Screen Shot 2019-03-20 at 9 51 53 AM

^ "share" is a link

Screen Shot 2019-03-20 at 9 52 01 AM

^ "Community", "Supported", "Sensu docs", etc. are links

Asset tiers should be viewable as a category

Expected behavior

As a user of the site I can browse assets by tier.

Current behavior

Assets are not grouped by tier, can only be searched by tier if the tier is also a tag.

Possible solution

Make tiers an organizing identifier similar to but distinct from tags

Make the tier badge(?) on an asset page clickable, linking to a view of all the assets in that tier

2019-02-05 at 11 00 am

Copy update: asset name field

On https://bonsai.sensu.io/new, change "Please use title case for the name, e.g. My Gift to the Community." to “Asset names can contain lowercase letters, numbers, underscores, and dashes (for example: sensu-email-handler).”

Ideally, Bonsai would validate the input in the name field to enforce these constraints, but a copy update is a great start.

Asset Recompile API Endpoint

When an Github release's assets are changed, Github doesn't issue a webhook event that we can subscribe to to update the release assets on Bonsai. Bonsai currently supports a "Recomplile" function which can be manually initiated by the asset owner via the site UI.

It would be nice to have a API endpoint which could be called from a CI pipeline to initiate a recompile programmatically.

Expected Behavior

  • An API endpoint should exist that allows a site administrator or asset owner to recompile an asset.
  • This endpoint should be fully documented in the API documentation
  • This endpoint should be only function for authenticated users (via API auth), and authorized users (site owner, admin).

Current Behavior

  • None of the above functionality exists currently.

README.md tables are not rendered properly

I have a couple of handler assets that I added to bonsai. Both of them make use of Markdown tables in README.md. These tables are not being rendered properly on the bonsai site.

Example asset

Screenshot:
Screen Shot 2019-03-29 at 8 41 27 PM

Confirmed to occur with Chrome and Safari.

Copy updates: Site metadata

Updates to site metadata

  • Change title from "Assets Directory - Bonsai Asset Index" to "Sensu assets | Bonsai asset index"
  • Change description from "Browse and search Sensu assets. Learn how to use and create assets for configuring your infrastructure." to "Welcome to Bonsai, the Sensu asset index. Bonsai offers popular integrations like the Sensu Slack, InfluxDB, and PagerDuty handlers. Discover, download, and share assets for all your monitoring needs."

Display of asset URLs and checksums can cause confusion

The current display of the asset URLs and checksums can cause confusion on which link pairs with which checksum. I illustrate this in the below screen shot:

Screen Shot 2019-03-18 at 1 46 58 PM

As a user, if I begin at the top or the bottom of the asset list, I can see the pairings properly. But if I am looking for a build for an architecture in the middle, see the fourth red box 4, it isn't apparent what they pairs are. This can lead to mismatched download links and check sums.

Possible solution: Add a line to break it up or even a background box of a different color. I am not a frontend person, so not sure of the technical terms there for web dev.

Avatars on homepage are stretched

When visiting the homepage, the avatars appear stretched. It looks as if the width isn't being applied correctly or the avatars have too much height.

screen shot 2019-02-27 at 11 32 12 am

Copy updates: homepage

Copy changes for http://bonsai.sensu.io homepage

  • Change GitHub sign in link to use sentence case: "Sign in with GitHub"
  • Change the search bar placeholder text ("Add-ons, tags, authors...") to "Assets, tags, authors…"
  • Change the intro text beneath search bar ("Extend Sensu using add-ons and share your own with the community") to "Welcome to Bonsai, the Sensu asset index. Discover and share assets for all your monitoring needs."
  • Change three main columns from "New & updated", "Noteworthy", and "Categories" to "Recently updated", "Featured", and "Tags"
  • Replace the "Share your creations!" section at the bottom of the page with the following content:

Learn about Sensu assets

What is an asset?
Assets are shareable, reusable packages that make it easy to deploy Sensu plugins. You can use assets to provide the plugins, libraries, and runtimes you need to automate your monitoring workflows. Log in with your GitHub account to share your assets on Bonsai.

Tiers

  • Community - Open-source assets shared by the Sensu Community. Collaborate, share, and star your favorites with Bonsai.
  • Supported - Open-source assets supported by Sensu Inc., including supported Slack, PagerDuty, and InfluxDB handlers.
  • Enterprise - Hosted assets unlocked with a Sensu enterprise license. See the Sensu docs for more information about managing your Sensu license.

Resources

Collaborator icons should increment horizontally

Current behavior:

screen shot 2019-02-11 at 2 57 29 pm

Once we start getting 10+ contributors on each asset, this is going to take up a lot of real estate on the page. I'd recommend adding contributors horizontally instead of vertically.

Allow asset deprecate to asset from different namespace

Desired Behavior

I want to deprecate
https://bonsai.sensu.io/assets/jspaleta/sensu-plugins-disk-checks
and point people to
https://bonsai.sensu.io/assets/sensu-plugins/sensu-plugins-disk-checks

Problem

The deprecate dialog doesn't expose or allow me to search by namespace.
I can search for and select 'sensu-plugins-disk-checks' but that ends up just selecting the asset I'm trying to deprecate.... effectively pointing people who got to
https://bonsai.sensu.io/assets/jspaleta/sensu-plugins-disk-checks
back to itself.

Taken to incorrect asset after uploading hosted asset

Expected Behavior:

After uploading a closed source asset that already exists in the system, I expect to be taken to that asset's detail page.

Actual Behavior

I am taken to a different asset's detail page, not the one I just uploaded.

include Bonsai index annotations in generated asset configs

Have bonsai include a set of annotations in the generated asset configs that users can use to identify where they got a particular asset config.

We should probably have a discussion concerning the naming convention of the annotations.
But here are my strawman annotations to include:

  • sensio.io.bonsai.url -> string
  • sensio.io.bonsai.tier -> string
  • sensio.io.bonsai.version -> string
  • sensio.io.bonsai.tags -> this a comma delimited string or perhaps a JSON encoded array of strings

Ex output with new annotations:

---
type: Asset
api_version: core/v2
metadata:
  name: sensu-plugins-cpu-checks
  namespace: default
  labels: {}
  annotations:
    sensio.io.bonsai.url: "https://bonsai.sensu.io/assets/jspaleta/sensu-plugins-cpu-checks"
    sensio.io.bonsai.tier: "Community"
    sensio.io.bonsai.version: "4.0.0-pre"
    sensio.io.bonsai.tags: "experimental, ruby-runtime"

spec:
  url: https://github.com/jspaleta/sensu-plugins-cpu-checks/releases/download/4.0.0-pre/sensu-plugins-cpu-checks_4.0.0-pre_alpine_linux_amd64.tar.gz
  sha512: 92a57b54b297b5a90011c3472a48c5b4357dbfa123ad391386e6aafe29e6212b6db5da7e4a80514e938361f3030df1ef5022fb99f64e5cc46ed6d8bdc1c7927c
  filters:
  - entity.system.os == 'linux'
  - entity.system.arch == 'amd64'
  - entity.system.platform == 'alpine'

Copy updates: New asset page

Copy updates for https://bonsai.sensu.io/new

Replace the content in the right sidebar ("ADDING AN ASSET...") with the following content:

How to share assets on Bonsai

Thank you for sharing your asset with the Sensu Community! Here’s how it works: Bonsai pulls project details and release information from GitHub to populate an asset page. To share an asset on Bonsai, the asset should be in a public GitHub repository that includes:

Bonsai automatically keeps in sync with your GitHub releases. For more information about creating and sharing assets, see the Sensu docs and the Sensu Go plugin template.

Github Release missing release assets

Some release assets are missing on Github based assets.

Expected Behavior
The sensu-pushbullet-handler has several release assets defined in the Github repository for Release 0.0.4. After adding this asset to Bonsai, I expected to see these release assets listed in the sidebar of the Extension Page for version 0.0.4.

Additionally, I expect to be able to use the "Recompile Asset" function form the "Manage Asset" menu as the asset owner or site admin.

Current Behavior

  • No release assets show after adding the asset to the Bonsai index (they weren't found when initially scanning the Github repository).
  • The "Recompile Asset" feature doesn't pull in the release assets either.

Github extended symver tag strings being stripped

tag strings of the form "1.2.3-rc.1+build.1" and "1.2.3+build.1" should be legal symver but Bonsai is unable to process github tags with prerelease (-) and/or metadata (+) suffixes.

As per discussion, it appears that Bonsai is stripping information past the patch level

I'll setup a repository with non functional example tags with prerelease and metadata sections for testing and add them in as an additional comment.

Add Google Analytics to Bonsai

Please add our Google Analytics tracking code to Bonsai:

<script async src=“https://www.googletagmanager.com/gtag/js?id=AW-804504629“></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag(‘js’, new Date()); gtag(‘config’, ‘AW-804504629’); gtag(‘config’, ‘UA-39138312-2’); </script>

Thanks!

Open-source asset definitions missing url

Current behavior

Open-source asset definitions specify "url":null. I'm guessing that this bug was introduced following the addition of the Enterprise assets, since I wasn't seeing this behavior last week.

Examples:

{
  "type": "Asset",
  "api_version": "core/v2",
  "metadata": {
    "name": "sensu-email-handler",
    "namespace": "default",
    "labels": {},
    "annotations": {}
  },
  "spec": {
    "url": null,
    "sha512": "c4e18b10353e843184c174dec6b12039041d930afe0071dacc32ebf48db2975a463e6af65fcdab1f16518e2008b60325e1a0d809ab22c1134eb43673cdf29442",
    "filters": [
      "System.OS == linux",
      "System.Arch == amd64"
    ]
  }
}
{
  "type": "Asset",
  "api_version": "core/v2",
  "metadata": {
    "name": "sensu-particle-checks",
    "namespace": "default",
    "labels": {},
    "annotations": {}
  },
  "spec": {
    "url": null,
    "sha512": "c9c9d6119d0dd0838b022346fc2b9e18104a3a6a1af339e369af5359ee47d37ce733dfdd7ef08e151df0ea06b1c702e94ccf2c70254913c746968d2b5e9c7328",
    "filters": [
      "entity.system.os == 'linux'",
      "entity.system.arch == 'amd64'"
    ]
  }
}

Expected behavior

Asset definitions provide a valid download url.

'Advanced Options' filter drop down is obscured by graphic.

With the new UI update, the 'Advanced Options' filter drop down is obscured and hard to see.

My suggestion is to move the 'Advanced Options' filter to the left so that the full text and carat is visible.

Steps to reproduce:

  1. Load bonsai.sensu.io
  2. Under the 'Search' bar, look to the right.
  3. Note that the graphic on the dark blue background on the right-hand side obscures the 'Advanced Options' filter.

Asset Tiers should be available as filters in the advanced search

** Expected Behavior **

  • When open the advanced options under search, I expect to see filters for the different asset tiers
  • When I click on an asset tier and search, I expect the search results to be filtered by that asset tier.

** Current Behavior **

  • Tiers are not available as an advanced search filter.

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.