feat(plugins): Refactor host plugins to boundary plugins (#3262)

pull/3266/head
Louis Ruch 3 years ago committed by GitHub
parent 97977f1995
commit 281f217dcc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

2
.gitignore vendored

@ -120,7 +120,7 @@ main
/bin/
update-ui-assets*
/plugins/kms/assets/boundary-plugin*
/plugins/host/assets/boundary-plugin*
/plugins/boundary/assets/boundary-plugin*
# Test config file
test*.hcl

@ -14,7 +14,7 @@ import (
"github.com/hashicorp/boundary/internal/db/schema"
"github.com/hashicorp/boundary/internal/errors"
"github.com/hashicorp/boundary/internal/observability/event"
host_plugin_assets "github.com/hashicorp/boundary/plugins/host"
boundary_plugin_assets "github.com/hashicorp/boundary/plugins/boundary"
external_plugins "github.com/hashicorp/boundary/sdk/plugins"
"github.com/hashicorp/go-secure-stdlib/mlock"
"github.com/hashicorp/go-secure-stdlib/parseutil"
@ -184,7 +184,7 @@ func (c *MigrateCommand) Run(args []string) (retCode int) {
"aws",
external_plugins.WithPluginOptions(
pluginutil.WithPluginExecutionDirectory(c.Config.Plugins.ExecutionDir),
pluginutil.WithPluginsFilesystem(host_plugin_assets.HostPluginPrefix, host_plugin_assets.FileSystem()),
pluginutil.WithPluginsFilesystem(boundary_plugin_assets.PluginPrefix, boundary_plugin_assets.FileSystem()),
),
external_plugins.WithLogger(pluginLogger.Named("aws")),
)

@ -44,7 +44,7 @@ import (
pluginstorage "github.com/hashicorp/boundary/internal/storage/plugin"
"github.com/hashicorp/boundary/internal/target"
"github.com/hashicorp/boundary/internal/types/scope"
host_plugin_assets "github.com/hashicorp/boundary/plugins/host"
boundary_plugin_assets "github.com/hashicorp/boundary/plugins/boundary"
plgpb "github.com/hashicorp/boundary/sdk/pbs/plugin"
external_plugins "github.com/hashicorp/boundary/sdk/plugins"
"github.com/hashicorp/boundary/version"
@ -273,7 +273,7 @@ func New(ctx context.Context, conf *Config) (*Controller, error) {
pluginType,
external_plugins.WithPluginOptions(
pluginutil.WithPluginExecutionDirectory(conf.RawConfig.Plugins.ExecutionDir),
pluginutil.WithPluginsFilesystem(host_plugin_assets.HostPluginPrefix, host_plugin_assets.FileSystem()),
pluginutil.WithPluginsFilesystem(boundary_plugin_assets.PluginPrefix, boundary_plugin_assets.FileSystem()),
),
external_plugins.WithLogger(pluginLogger.Named(pluginType)),
)
@ -291,7 +291,7 @@ func New(ctx context.Context, conf *Config) (*Controller, error) {
pluginType,
external_plugins.WithPluginOptions(
pluginutil.WithPluginExecutionDirectory(conf.RawConfig.Plugins.ExecutionDir),
pluginutil.WithPluginsFilesystem(host_plugin_assets.HostPluginPrefix, host_plugin_assets.FileSystem()),
pluginutil.WithPluginsFilesystem(boundary_plugin_assets.PluginPrefix, boundary_plugin_assets.FileSystem()),
),
external_plugins.WithLogger(pluginLogger.Named(pluginType)),
)

@ -15,7 +15,7 @@ import (
"github.com/hashicorp/boundary/internal/iam"
"github.com/hashicorp/boundary/internal/kms"
"github.com/hashicorp/boundary/internal/types/scope"
host_plugin_assets "github.com/hashicorp/boundary/plugins/host"
boundary_plugin_assets "github.com/hashicorp/boundary/plugins/boundary"
"github.com/hashicorp/go-secure-stdlib/listenerutil"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
@ -271,8 +271,8 @@ func TestController_NewPluginsConfig(t *testing.T) {
// Remove random chars and hyphen
name = name[0 : len(name)-6]
switch name {
case host_plugin_assets.HostPluginPrefix + "aws",
host_plugin_assets.HostPluginPrefix + "azure":
case boundary_plugin_assets.PluginPrefix + "aws",
boundary_plugin_assets.PluginPrefix + "azure":
default:
require.Fail("unexpected name", name)
}

@ -31,7 +31,7 @@ import (
"github.com/hashicorp/boundary/internal/observability/event"
"github.com/hashicorp/boundary/internal/server"
"github.com/hashicorp/boundary/internal/storage"
host_plugin_assets "github.com/hashicorp/boundary/plugins/host"
boundary_plugin_assets "github.com/hashicorp/boundary/plugins/boundary"
plgpb "github.com/hashicorp/boundary/sdk/pbs/plugin"
external_plugins "github.com/hashicorp/boundary/sdk/plugins"
"github.com/hashicorp/go-hclog"
@ -238,7 +238,7 @@ func New(ctx context.Context, conf *Config) (*Worker, error) {
pluginType,
external_plugins.WithPluginOptions(
pluginutil.WithPluginExecutionDirectory(conf.RawConfig.Plugins.ExecutionDir),
pluginutil.WithPluginsFilesystem(host_plugin_assets.HostPluginPrefix, host_plugin_assets.FileSystem()),
pluginutil.WithPluginsFilesystem(boundary_plugin_assets.PluginPrefix, boundary_plugin_assets.FileSystem()),
),
external_plugins.WithLogger(pluginLogger.Named(pluginType)),
)

@ -1,7 +1,7 @@
// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
package host_plugin_assets
package boundary_plugin_assets
import (
"embed"

@ -1,3 +1,3 @@
This directory contains assets for host plugins. This file in particular exists
This directory contains assets for boundary plugins. This file in particular exists
so that the Go embed package does not throw errors when importing this module
outside of the main tree.

@ -0,0 +1,6 @@
// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
package boundary_plugin_assets
const PluginPrefix = "boundary-plugin-"

@ -1,4 +1,4 @@
module github.com/hashicorp/boundary/plugins/host/mains/aws
module github.com/hashicorp/boundary/plugins/boundary/mains/aws
go 1.20

@ -1,4 +1,4 @@
module github.com/hashicorp/boundary/plugins/host/mains/azure
module github.com/hashicorp/boundary/plugins/boundary/mains/azure
go 1.20

@ -1,6 +0,0 @@
// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
package host_plugin_assets
const HostPluginPrefix = "boundary-plugin-host-"

@ -16,7 +16,22 @@ SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ] ; do SOURCE="$(readlink "$SOURCE")"; done
export DIR="$( cd -P "$( dirname "$SOURCE" )/.." && pwd )"
for PLUGIN_TYPE in {"kms","host"}; do
# Create boundary plugins
echo "==> Building boundary plugins..."
rm -f $DIR/plugins/boundary/assets/boundary-plugin-*
for CURR_PLUGIN in $(ls $DIR/plugins/boundary/mains); do
cd $DIR/plugins/boundary/mains/$CURR_PLUGIN;
go build -v -o $DIR/plugins/boundary/assets/boundary-plugin-${CURR_PLUGIN}${BINARY_SUFFIX} .;
cd $DIR;
done;
cd $DIR/plugins/boundary/assets;
for CURR_PLUGIN in $(ls boundary-plugin*); do
gzip -f -9 $CURR_PLUGIN;
done;
cd $DIR;
# Create other plugins
for PLUGIN_TYPE in "kms"; do
echo "==> Building ${PLUGIN_TYPE} plugins..."
rm -f $DIR/plugins/$PLUGIN_TYPE/assets/boundary-plugin-${PLUGIN_TYPE}*
for CURR_PLUGIN in $(ls $DIR/plugins/$PLUGIN_TYPE/mains); do

Loading…
Cancel
Save