Skip to content
This repository has been archived by the owner on Jan 21, 2020. It is now read-only.

Include versioning information in plugin APIs #309

Closed
jasmingacic opened this issue Nov 23, 2016 · 2 comments
Closed

Include versioning information in plugin APIs #309

jasmingacic opened this issue Nov 23, 2016 · 2 comments
Assignees
Milestone

Comments

@jasmingacic
Copy link

We are about to publish two infrakit third party plugins. We were wondering how to tie our plugins to a specific release or revision?

To be more specific for example recently you changed infrakit group watch to commit. Having a plugin tutorial might look incorrect after a change.

Also since plugins implement instance.Plugin do you plan to change the interface sometimes in the future?

@chungers chungers added this to the v0.1.0 milestone Nov 25, 2016
@chungers
Copy link
Contributor

I've added this Issue to our v0.1.0 milestone requirement. Some key points:

  1. The JSON-RPC API and its versioning
  2. Handshake / metadata
  3. Documentation and consistency

Metadata / Handshake API

This design is inspired by the handshake api
for Docker plugins:

  • Each plugin will implement a new RPC method /Plugin.Meta which will accept a HTTP POST with empty body and returns
 { "Implements": [ "Instance/0.1" ] }

Notes

  • A plugin can implement multiple interfaces (note the array)
  • There may be additional fields in this struct which will give example request / response structs (Design TBD - will update in this thread).

@wfarner wfarner changed the title Versions Include versioning information in plugin APIs Nov 30, 2016
@wfarner wfarner self-assigned this Dec 2, 2016
@wfarner
Copy link
Contributor

wfarner commented Dec 5, 2016

There may be additional fields in this struct which will give example request / response structs

I'd like to suggest that we peel the above off as a separate issue/effort, and not make it a blocker for 0.1.0. It's nice to have, but i think it is non-critical for a release.

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

No branches or pull requests

3 participants