agonzalezro / botella Goto Github PK
View Code? Open in Web Editor NEWBot (for Slack et al) with a special sauce: Docker plugins!
Home Page: https://agonzalezro.github.io/botella/
License: Apache License 2.0
Bot (for Slack et al) with a special sauce: Docker plugins!
Home Page: https://agonzalezro.github.io/botella/
License: Apache License 2.0
The command to run:
go test $(glide novendor)
It will require docker installed in the machine.
It shouldn't be that common to use them but sometimes it's useful. For example to mount the token from Kubernetes to be able to access to its API:
+-------------------------------------------------------+
| |
| kubernetes |
| +----------------------------------------+ |
| | | |
| | botella | |
| | +----------------------------+ | |
| | | | | |
| | | plugin #1 | | |
| | | +----------------+ | |
| /var | | | | | |
| +---------> +---------------->/var/.../token | | |
| | | | | | | |
| | | +-----------+----------------+ | |
| | | | |
| | | +----------------------------+ | |
| | | | | | |
| | | | plugin #2 | | |
| | | | +----------------+ | |
| | | | | | | |
| +---------> +---------------->/var/.../token | | |
| | | | | | |
| | +-----------+----------------+ | |
| | | |
| +----------------------------------------+ |
| |
+-------------------------------------------------------+
PS: the draw was done to clarify, but I am not pretty sure it's doing it :)
For example:
adapters:
- name: slack
environment:
key: xoxb-xxx
channels:
- #general
- #random
At the moment the container plugin is receiving a JSON and returning a simple string.
Maybe it would be useful for extensibility to return a JSON here as well.
There is a small problem: the plugins are going to be more complex because they need to marshal JSON, but... at the moment they are currently unmarshaling it.
Possible solution: we could accept string responses and json response, this wouldn't break backwards compatibility which is a plus :)
For example, we just want to run deploys in the #deploys channel.
I don't know if this should be at plugin or at adapter level. Please comment.
We should implement something like this for the plugins list:
plugins:
- image: agonzalezro/ava-test
pullPolicy: Always
Check the Kubernetes pull policy for images here: http://kubernetes.io/docs/user-guide/images/
At the moment of writing, they are being called synchronously.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.