diff --git a/docs/contributing-assets/plugin-loading.png b/docs/contributing-assets/plugin-loading.png new file mode 100644 index 0000000000..db5d3a4641 Binary files /dev/null and b/docs/contributing-assets/plugin-loading.png differ diff --git a/docs/release-action.png b/docs/contributing-assets/release-action.png similarity index 100% rename from docs/release-action.png rename to docs/contributing-assets/release-action.png diff --git a/docs/plugins.md b/docs/plugins.md index f58e64ddbb..83048d4c2b 100644 --- a/docs/plugins.md +++ b/docs/plugins.md @@ -6,6 +6,12 @@ Argo Rollouts plugins depend on hashicorp's [go-plugin](https://github.com/hashi provides a way for a plugin to be compiled as a standalone executable and then loaded by the rollouts controller at runtime. This works by having the plugin executable act as a rpc server and the rollouts controller act as a client. The plugin executable is started by the rollouts controller and is a long-lived process and that the rollouts controller connects to over a unix socket. + +Here is an overview of how plugins are loaded: + +[![Loading of plugins](contributing-assets/plugin-loading.png)](contributing-assets/plugin-loading.png) + + The communication protocol uses golang built in net/rpc library so plugins have to be written in golang. ## Plugin Repository diff --git a/docs/releasing.md b/docs/releasing.md index fbac456902..688bc7a8f6 100644 --- a/docs/releasing.md +++ b/docs/releasing.md @@ -7,7 +7,7 @@ 1. To automatically update the stable tag, select `Update stable tag`. (false by default) -[![GitHub Release Action](release-action.png)](release-action.png) +[![GitHub Release Action](contributing-assets/release-action.png)](contributing-assets/release-action.png) 1. When the action completes, visit the generated draft [Github releases](https://github.com/argoproj/argo-rollouts/releases) and enter the details about the release: * Getting started (copy from previous release and new version)