Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Feflow | 1,284 | 2 | a month ago | 117 | July 15, 2022 | 17 | other | TypeScript | ||
🚀 A command line tool aims to improve front-end engineer workflow and standard, powered by TypeScript. | ||||||||||
Figplug | 299 | 2 | 8 months ago | 28 | May 13, 2021 | 7 | mit | TypeScript | ||
Figma plugin builder | ||||||||||
Phulp | 296 | 16 | 10 | 2 years ago | 29 | August 01, 2019 | 1 | mit | PHP | |
The task manager for php | ||||||||||
Paraphrase | 261 | 9 years ago | 4 | apache-2.0 | Java | |||||
An experimental Gradle plugin which generates compile-safe format string builders. | ||||||||||
Innerbuilder | 250 | 5 months ago | 21 | apache-2.0 | Java | |||||
IntelliJ IDEA plugin which generates an inner builder class | ||||||||||
Awesome Elementor | 248 | 8 months ago | ||||||||
A collection of third party add-ons for the Elementor page builder plugin. | ||||||||||
Laravel Datatables Html | 241 | 237 | 59 | 25 days ago | 141 | October 06, 2022 | 4 | mit | PHP | |
Laravel DataTables HTML Builder Plugin | ||||||||||
Live Composer Page Builder | 155 | a month ago | 57 | gpl-3.0 | PHP | |||||
Free page builder plugin for WordPress https://livecomposerplugin.com | ||||||||||
To_xls | 139 | 8 years ago | 2 | mit | Ruby | |||||
This Rails plugin is the easiest way to export to Excel. It gives you the ability to call to_xls to a collection of activerecords. The builder options are the same as to_json / to_xml, except for the :include. | ||||||||||
Commodore | 134 | 7 | 1 | 8 months ago | 13 | June 12, 2022 | 7 | mit | Java | |
Utility for using Minecraft's 1.13 'brigadier' library in Bukkit plugins. |
This repository is a Go library that enables users to write custom Waypoint plugins. Waypoint supports plugins for builders, deployment platforms, release managers, and more. Waypoint plugins enable Waypoint to utilize any popular service providers as well as custom in-house solutions.
Plugins in Waypoint are separate binaries which communicate with the Waypoint application; the plugin communicates using gRPC, and while it is theoretically possible to build a plugin in any language supported by the gRPC framework. We recommend that the developers leverage the Waypoint SDK.
To initialize the plugin SDK you use the Main
function in the sdk
package and register Components which provide
callbacks for Waypoint during the various parts of the lifecycle.
package main
import (
sdk "github.com/hashicorp/waypoint-plugin-sdk"
)
func main() {
sdk.Main(sdk.WithComponents(
// Comment out any components which are not
// required for your plugin
&builder.Builder{},
))
}
Components are Go structs which implement the various lifecycle interfaces in the Waypoint SDK. The following example
shows a plugin which Waypoint can use for the build lifecycle. Creating a build
plugin is as simple as implementing
the interface component.Builder
on a struct as shown in the following example.
package builder
import (
"context"
"fmt"
"github.com/hashicorp/waypoint-plugin-sdk/terminal"
)
type Builder struct {}
func (b *Builder) BuildFunc() interface{} {
// return a function which will be called by Waypoint
return func(ctx context.Context, ui terminal.UI) (*Binary, error) {
u := ui.Status()
defer u.Close()
u.Update("Building application")
return &Binary{}, nil
}
}
To pass values from one Waypoint component to another Waypoint component you return structs which implement
proto.Message
, generally these structs are not manually created but generated by defining a Protocol Buffer message
template and then using the protoc
and associated Go plugin to generate the Go structs.
The following example shows the Protocol Buffer message template which is used to define the Binary
struct which is
returned from the previous example.
syntax = "proto3";
package platform;
option go_package = "github.com/hashicorp/waypoint-plugin-examples/template/builder";
message Binary {
string location = 1;
}
For more information on Protocol Buffers and Go, please see the documentation on the Google Developers website.
https://developers.google.com/protocol-buffers/docs/gotutorial
For full walkthrough for creating a Waypoint Plugin and reference documentation, please see the Extending Waypoint section of the Waypoint website.
Please see the following Plugins for examples of real world implementations of the Waypoint SDK.
Nomad Nomad Jobspec Kubernetes kubectl Apply Helm Docker Azure Container Interface Google Cloud Run Amazon EC2 Amazon ECS
Kubernetes Google Cloud Run Amazon ALB
Thank you for your interest in contributing! Please refer to CONTRIBUTING.md for guidance.
To automate installing the required Golang packages needed to build Waypoint locally, run make tools
.
Install dockern and run make docker/gen