Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Various Executors for Different Jobs #35

Open
Southclaws opened this issue Mar 19, 2020 · 1 comment
Open

Various Executors for Different Jobs #35

Southclaws opened this issue Mar 19, 2020 · 1 comment

Comments

@Southclaws
Copy link
Collaborator

Now that #27 is on the way, the concept of an Executor exists.

So far, the only executor is CommandExecutor and it just executes task.Target jobs. It's a bit misleading because the task.Target is structured to be a "command" anyway but... that's another issue.

It could make sense to introduce more executors that don't just run a command but may perform other tasks that are easier to declaratively set up via Pico configuration instead of creating a whole new git repo for it.

I'm thinking of webhooks as a first, maybe integrations like Slack or Discord.

More feature-creep, I know. But it could be useful.

A Docker-specific executor may be useful, as more granular information can be acquired via the Docker Go library.

Food for thought anyway...

@ADRFranklin
Copy link

I definitely like the idea of having multiple executors, so we can run multiple different tasks other then just executing the command.

I would prefer a Docker/Docker Compose executor, as this would make automation a little more interesting and simple, and this can tie nicely into a web ui, as it also allows you to get additional information about the repos that run them.

There should also be an API that can be accessed via unix sockets, or tcp etc, so that people could integrate their own stuff into it, too. Just something to interest people wanting to use pico, but might already have some system, and this would be useful for it to talk with. Some people have web services, or web ui themselves that might do some management, and it would be nice if it was easier for people to integrate this into it.

Social events like Discord/Slack using webhooks, and hopefully services like gotify would be a great addition to pico, this is already discussed in #9. It would be good to be able to setup on a per repo basis, which ones require events being sent. So lets take gotify for example, it would be nice if you could have a message list for pico itself, for health monitoring and logging, and for each repo to have it's own channel that it could be used for the logs that each of them make, or maybe configured for the executor directly, so logs can be closely be monitored.

I think it's a great way to go :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants