diff --git a/.github/workflows/engine.yml b/.github/workflows/runtime.yml similarity index 74% rename from .github/workflows/engine.yml rename to .github/workflows/runtime.yml index 139dfba2..c774bc89 100644 --- a/.github/workflows/engine.yml +++ b/.github/workflows/runtime.yml @@ -1,4 +1,4 @@ -name: Engine (cross platform) +name: Runtime (cross platform) on: push: branches: @@ -7,13 +7,13 @@ on: - 'v*' pull_request: paths: - - 'engine/**' + - 'runtime/**' jobs: tests-windows: permissions: id-token: write contents: read - name: WindowsEngineTests + name: WindowsRuntimeTests runs-on: windows-latest steps: - uses: actions/checkout@v4 @@ -21,13 +21,13 @@ jobs: with: app_id: ${{ vars.DOCKER_READ_APP_ID }} app_private_key: ${{ secrets.DOCKER_READ_APP_PRIVATE_KEY }} - - name: Test engine - run: make engine-unit-tests + - name: Test runtime + run: make runtime-unit-tests tests-macos: permissions: id-token: write contents: read - name: MacOSEngineTests + name: MacOSRuntimeTests runs-on: macos-latest steps: - uses: actions/checkout@v4 @@ -35,5 +35,5 @@ jobs: with: app_id: ${{ vars.DOCKER_READ_APP_ID }} app_private_key: ${{ secrets.DOCKER_READ_APP_PRIVATE_KEY }} - - name: Test engine - run: CGO_ENABLED=1 make engine-unit-tests + - name: Test runtime + run: CGO_ENABLED=1 make runtime-unit-tests diff --git a/Makefile b/Makefile index c09e75ba..147deb83 100644 --- a/Makefile +++ b/Makefile @@ -81,8 +81,8 @@ keychain-linux-unit-tests: keychain-unit-tests: CGO_ENABLED=1 go test -trimpath -race -v $$(go list ./store/keychain/...) -engine-unit-tests: - go test -trimpath -race -v $$(go list ./engine/...) +runtime-unit-tests: + go test -trimpath -race -v $$(go list ./runtime/...) proto-generate: @docker buildx build $(DOCKER_BUILD_ARGS) -o . --target=proto-generate . diff --git a/client/.gomodguard.yaml b/client/.gomodguard.yaml index fd7994b0..9cbeb987 100644 --- a/client/.gomodguard.yaml +++ b/client/.gomodguard.yaml @@ -1,7 +1,7 @@ --- blocked: modules: - - github.com/docker/secrets-engine/engine: + - github.com/docker/secrets-engine/runtime: reason: "Forbidden dependency" - github.com/docker/secrets-engine/injector: reason: "Forbidden dependency" diff --git a/client/client.go b/client/client.go index 96351763..d0d04f58 100644 --- a/client/client.go +++ b/client/client.go @@ -102,7 +102,7 @@ func New(options ...Option) (Client, error) { } c := &http.Client{ Transport: &http.Transport{ - // re-use the same connection to the engine, this speeds up subsequent + // re-use the same connection to the runtime, this speeds up subsequent // calls. MaxConnsPerHost: api.DefaultClientMaxConnsPerHost, MaxIdleConnsPerHost: api.DefaultClientMaxIdleConnsPerHost, diff --git a/go.work b/go.work index a93ba8e3..6583411b 100644 --- a/go.work +++ b/go.work @@ -2,10 +2,10 @@ go 1.25.0 use ( ./client - ./engine ./plugin ./plugins/credentialhelper ./plugins/pass + ./runtime ./store ./x ) diff --git a/go.work.sum b/go.work.sum index 8dcde3d9..01199f7d 100644 --- a/go.work.sum +++ b/go.work.sum @@ -46,6 +46,7 @@ github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2 github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fvbommel/sortorder v1.1.0 h1:fUmoe+HLsBTctBDoaBwpQo5N+nrCp8g/BjKb/6ZQmYw= github.com/fvbommel/sortorder v1.1.0/go.mod h1:uk88iVf1ovNn1iLfgUVU2F9o5eO30ui720w+kxuqRs0= +github.com/go-chi/chi/v5 v5.2.3/go.mod h1:L2yAIGWB3H+phAw1NxKwWM+7eUH/lU8pOMm5hHcoops= github.com/go-jose/go-jose/v4 v4.0.5/go.mod h1:s3P1lRrkT8igV8D9OjyL4WRyHvjB6a4JSllnOrmmBOA= github.com/go-jose/go-jose/v4 v4.1.1/go.mod h1:BdsZGqgdO3b6tTc6LSE56wcDbMMLuPsw5d4ZD5f94kA= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= diff --git a/plugin/.gomodguard.yaml b/plugin/.gomodguard.yaml index ef01106f..a2f1daa4 100644 --- a/plugin/.gomodguard.yaml +++ b/plugin/.gomodguard.yaml @@ -3,7 +3,7 @@ blocked: modules: - github.com/docker/secrets-engine/client: reason: "Forbidden dependency" - - github.com/docker/secrets-engine/engine: + - github.com/docker/secrets-engine/runtime: reason: "Forbidden dependency" - github.com/docker/secrets-engine/injector: reason: "Forbidden dependency" diff --git a/plugin/config.go b/plugin/config.go index 4e7b7952..72e16589 100644 --- a/plugin/config.go +++ b/plugin/config.go @@ -16,7 +16,7 @@ import ( const hijackTimeout = 2 * time.Second // ManualLaunchOption to apply to a plugin during its creation -// when it's manually launched (not by the secrets engine). +// when it's manually launched (not by the secrets runtime). type ManualLaunchOption func(c *cfg) error // WithPluginName sets the name to use in plugin registration. @@ -38,7 +38,7 @@ func WithRegistrationTimeout(timeout time.Duration) ManualLaunchOption { } } -// WithConnection sets an existing secrets engine connection to use. +// WithConnection sets an existing secrets runtime connection to use. func WithConnection(conn net.Conn) ManualLaunchOption { return func(s *cfg) error { if s.conn != nil { diff --git a/plugin/config_test.go b/plugin/config_test.go index 447f2bdf..b896b1bc 100644 --- a/plugin/config_test.go +++ b/plugin/config_test.go @@ -113,14 +113,14 @@ func Test_restoreConfig(t *testing.T) { test func(t *testing.T) }{ { - name: "no config from the engine", + name: "no config from the runtime", test: func(t *testing.T) { _, err := restoreConfig(&mockPlugin{}) assert.ErrorIs(t, err, errPluginNotLaunchedByEngine) }, }, { - name: "invalid config from the engine", + name: "invalid config from the runtime", test: func(t *testing.T) { t.Setenv(api.PluginLaunchedByEngineVar, "test-plugin") _, err := restoreConfig(&mockPlugin{}) diff --git a/plugin/setup.go b/plugin/setup.go index 16c36869..d1953682 100644 --- a/plugin/setup.go +++ b/plugin/setup.go @@ -48,7 +48,7 @@ func setup(ctx context.Context, config cfg, onClose func(err error)) (io.Closer, <-closed ipc.Close() }() - config.Logger.Printf("Started plugin (engine: %s@%s) %s...", runtimeCfg.Engine, runtimeCfg.Version, config.name) + config.Logger.Printf("Started plugin (runtime: %s@%s) %s...", runtimeCfg.Engine, runtimeCfg.Version, config.name) close(setupCompleted) return ipc, nil } diff --git a/plugin/stub.go b/plugin/stub.go index c1dc444d..36d5d23e 100644 --- a/plugin/stub.go +++ b/plugin/stub.go @@ -46,7 +46,7 @@ func (c *Config) Valid() error { // New creates a stub with the given plugin and options. // ManualLaunchOption only apply when the plugin is launched manually. -// If launched by the secrets engine, they are ignored. +// If launched by the secrets runtime, they are ignored. // If logger is nil, a default logger will be created and used. func New(p ExternalPlugin, config Config, opts ...ManualLaunchOption) (Stub, error) { if err := config.Valid(); err != nil { diff --git a/engine/.gomodguard.yaml b/runtime/.gomodguard.yaml similarity index 100% rename from engine/.gomodguard.yaml rename to runtime/.gomodguard.yaml diff --git a/engine/README.md b/runtime/README.md similarity index 100% rename from engine/README.md rename to runtime/README.md diff --git a/engine/engine.go b/runtime/engine.go similarity index 94% rename from engine/engine.go rename to runtime/engine.go index 19f24d72..7fb30c5a 100644 --- a/engine/engine.go +++ b/runtime/engine.go @@ -1,4 +1,4 @@ -package engine +package runtime import ( "context" @@ -17,12 +17,12 @@ import ( "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/trace" - "github.com/docker/secrets-engine/engine/internal/config" - "github.com/docker/secrets-engine/engine/internal/plugin" - "github.com/docker/secrets-engine/engine/internal/registry" - "github.com/docker/secrets-engine/engine/internal/routes" - "github.com/docker/secrets-engine/engine/internal/runtime" - "github.com/docker/secrets-engine/engine/internal/runtime/builtin" + "github.com/docker/secrets-engine/runtime/internal/config" + "github.com/docker/secrets-engine/runtime/internal/plugin" + "github.com/docker/secrets-engine/runtime/internal/registry" + "github.com/docker/secrets-engine/runtime/internal/routes" + "github.com/docker/secrets-engine/runtime/internal/runtime" + "github.com/docker/secrets-engine/runtime/internal/runtime/builtin" "github.com/docker/secrets-engine/x/ipc" "github.com/docker/secrets-engine/x/logging" ) @@ -74,7 +74,7 @@ func newEngine(ctx context.Context, cfg config.Engine) (engine, error) { close: sync.OnceValue(func() error { defer cfg.Listener().Close() stopErr := shutdownManagedPlugins() - // Close() has its own context that's derived from the initial context passed to the engine + // Close() has its own context that's derived from the initial context passed to the runtime ctx, cancel := context.WithTimeout(context.WithoutCancel(ctx), engineShutdownTimeout) defer cancel() shutdownErr := server.Shutdown(ctx) diff --git a/engine/engine_test.go b/runtime/engine_test.go similarity index 96% rename from engine/engine_test.go rename to runtime/engine_test.go index 20e408eb..feea2121 100644 --- a/engine/engine_test.go +++ b/runtime/engine_test.go @@ -1,4 +1,4 @@ -package engine +package runtime import ( "context" @@ -14,11 +14,11 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/docker/secrets-engine/engine/internal/mocks" - "github.com/docker/secrets-engine/engine/internal/plugin" - "github.com/docker/secrets-engine/engine/internal/registry" - "github.com/docker/secrets-engine/engine/internal/testdummy" - et "github.com/docker/secrets-engine/engine/internal/testhelper" + "github.com/docker/secrets-engine/runtime/internal/mocks" + "github.com/docker/secrets-engine/runtime/internal/plugin" + "github.com/docker/secrets-engine/runtime/internal/registry" + "github.com/docker/secrets-engine/runtime/internal/testdummy" + et "github.com/docker/secrets-engine/runtime/internal/testhelper" "github.com/docker/secrets-engine/x/api" "github.com/docker/secrets-engine/x/secrets" "github.com/docker/secrets-engine/x/testhelper" @@ -204,7 +204,7 @@ func Test_newEngine(t *testing.T) { dir := testdummy.CreateDummyPlugins(t, testdummy.Plugins{Plugins: plugins}) socketPath := testhelper.RandomShortSocketName() cfg := et.NewEngineConfig(t, - et.WithName("test-engine"), + et.WithName("test-runtime"), et.WithVersion("v6"), et.WithPluginPath(dir), et.WithPluginLaunchMaxRetries(1), @@ -226,7 +226,7 @@ func Test_newEngine(t *testing.T) { dir := testdummy.CreateDummyPlugins(t, testdummy.Plugins{Plugins: plugins}) socketPath := testhelper.RandomShortSocketName() cfg := et.NewEngineConfig(t, - et.WithName("test-engine"), + et.WithName("test-runtime"), et.WithVersion("v8"), et.WithPluginPath(dir), et.WithListener(newListener(t, socketPath)), @@ -264,7 +264,7 @@ func Test_newEngine(t *testing.T) { require.NoError(t, err) cfg := et.NewEngineConfig(t, - et.WithName("test-engine"), + et.WithName("test-runtime"), et.WithVersion("v9"), et.WithPluginsDisabled(true), et.WithListener(newListener(t, socketPath)), @@ -300,7 +300,7 @@ func Test_newEngine(t *testing.T) { dir := testdummy.CreateDummyPlugins(t, testdummy.Plugins{Plugins: plugins}) socketPath := testhelper.RandomShortSocketName() cfg := et.NewEngineConfig(t, - et.WithName("test-engine"), + et.WithName("test-runtime"), et.WithVersion("v99"), et.WithPluginPath(dir), et.WithListener(newListener(t, socketPath)), @@ -334,7 +334,7 @@ func Test_newEngine(t *testing.T) { require.NoError(t, err) cfg := et.NewEngineConfig(t, - et.WithName("test-engine"), + et.WithName("test-runtime"), et.WithVersion("v1"), et.WithPluginsDisabled(true), et.WithListener(newListener(t, socketPath)), diff --git a/engine/engine_unix.go b/runtime/engine_unix.go similarity index 93% rename from engine/engine_unix.go rename to runtime/engine_unix.go index 6c251359..0b05e8bc 100644 --- a/engine/engine_unix.go +++ b/runtime/engine_unix.go @@ -1,6 +1,6 @@ //go:build !windows -package engine +package runtime import ( "io/fs" diff --git a/engine/engine_windows.go b/runtime/engine_windows.go similarity index 94% rename from engine/engine_windows.go rename to runtime/engine_windows.go index 2531bf1c..7a4ae56f 100644 --- a/engine/engine_windows.go +++ b/runtime/engine_windows.go @@ -1,6 +1,6 @@ //go:build windows -package engine +package runtime import ( "os" diff --git a/engine/exports.go b/runtime/exports.go similarity index 95% rename from engine/exports.go rename to runtime/exports.go index b26e92bd..44a0e444 100644 --- a/engine/exports.go +++ b/runtime/exports.go @@ -1,4 +1,4 @@ -package engine +package runtime import ( "context" @@ -12,11 +12,11 @@ import ( "go.opentelemetry.io/otel/codes" "go.opentelemetry.io/otel/trace" - "github.com/docker/secrets-engine/engine/internal/runtime" + "github.com/docker/secrets-engine/runtime/internal/runtime" - "github.com/docker/secrets-engine/engine/internal/config" - "github.com/docker/secrets-engine/engine/internal/plugin" - "github.com/docker/secrets-engine/engine/internal/services/resolver" + "github.com/docker/secrets-engine/runtime/internal/config" + "github.com/docker/secrets-engine/runtime/internal/plugin" + "github.com/docker/secrets-engine/runtime/internal/services/resolver" "github.com/docker/secrets-engine/x/api" "github.com/docker/secrets-engine/x/logging" "github.com/docker/secrets-engine/x/oshelper" @@ -179,7 +179,7 @@ func WithListener(listener net.Listener) Option { } } -// WithPlugins sets a list of plugins that get bundled with the engine (batteries included plugins) +// WithPlugins sets a list of plugins that get bundled with the runtime (batteries included plugins) func WithPlugins(plugins map[Config]plugin.Plugin) Option { return func(r *engineConfig) error { pluginsValidated := map[plugin.Metadata]plugin.Plugin{} @@ -228,7 +228,7 @@ func WithMaxTries(maxTries uint) Option { } } -// WithAfterHealthyHook set a callback that gets called once the engine is ready to accept requests. +// WithAfterHealthyHook set a callback that gets called once the runtime is ready to accept requests. func WithAfterHealthyHook(cb func(ctx context.Context) error) Option { return func(r *engineConfig) error { r.upCb = cb @@ -260,7 +260,7 @@ func Run(ctx context.Context, name, version string, opts ...Option) error { cfg.tracker = telemetry.NoopTracker() } if cfg.logger == nil { - cfg.logger = logging.NewDefaultLogger("engine") + cfg.logger = logging.NewDefaultLogger("runtime") } ctx = logging.WithLogger(ctx, cfg.logger) cfg.tracker.TrackEvent(EventSecretsEngineStarted{}) diff --git a/engine/go.mod b/runtime/go.mod similarity index 91% rename from engine/go.mod rename to runtime/go.mod index 18c2ebfe..cc81e356 100644 --- a/engine/go.mod +++ b/runtime/go.mod @@ -1,16 +1,12 @@ -module github.com/docker/secrets-engine/engine +module github.com/docker/secrets-engine/runtime go 1.25.0 // This `replace` is only for CI to function. // The correct version will get resolved from below when this module is // retrieved using `go get`. -replace github.com/docker/secrets-engine/client => ../client - replace github.com/docker/secrets-engine/plugin => ../plugin -replace github.com/docker/secrets-engine/store => ../store - replace github.com/docker/secrets-engine/x => ../x require ( diff --git a/engine/go.sum b/runtime/go.sum similarity index 100% rename from engine/go.sum rename to runtime/go.sum diff --git a/engine/integration_runtimes_test.go b/runtime/integration_runtimes_test.go similarity index 96% rename from engine/integration_runtimes_test.go rename to runtime/integration_runtimes_test.go index 3c1c6087..933ca3b7 100644 --- a/engine/integration_runtimes_test.go +++ b/runtime/integration_runtimes_test.go @@ -1,4 +1,4 @@ -package engine +package runtime import ( "context" @@ -16,10 +16,10 @@ import ( "go.opentelemetry.io/otel/codes" "go.opentelemetry.io/otel/sdk/trace" - "github.com/docker/secrets-engine/engine/internal/mocks" - "github.com/docker/secrets-engine/engine/internal/plugin" - "github.com/docker/secrets-engine/engine/internal/testdummy" p "github.com/docker/secrets-engine/plugin" + "github.com/docker/secrets-engine/runtime/internal/mocks" + "github.com/docker/secrets-engine/runtime/internal/plugin" + "github.com/docker/secrets-engine/runtime/internal/testdummy" "github.com/docker/secrets-engine/x/api" "github.com/docker/secrets-engine/x/api/resolver" "github.com/docker/secrets-engine/x/secrets" @@ -44,7 +44,7 @@ func testEngine(t *testing.T) (secrets.Resolver, string) { t.Helper() dir := testdummy.CreateDummyPlugins(t, testdummy.Plugins{Plugins: []testdummy.PluginBehaviour{{Value: "foo"}, {Value: "bar"}}}) socketPath := testhelper.RandomShortSocketName() - runEngineAsync(t, "test-engine", "test-version", + runEngineAsync(t, "test-runtime", "test-version", WithLogger(testhelper.TestLogger(t)), WithSocketPath(socketPath), WithPluginPath(dir), @@ -157,7 +157,7 @@ func Test_SecretsEngine(t *testing.T) { func TestWithDynamicPluginsDisabled(t *testing.T) { path := filepath.Join(t.TempDir(), "e.sock") - runEngineAsync(t, "test-engine", "test-version", + runEngineAsync(t, "test-runtime", "test-version", WithSocketPath(path), WithPluginPath(t.TempDir()), WithExternallyLaunchedPluginsDisabled(), @@ -200,7 +200,7 @@ func TestWithEnginePluginsDisabled(t *testing.T) { if test.extraOption != nil { options = append(options, test.extraOption) } - runEngineAsync(t, "test-engine", "test-version", options...) + runEngineAsync(t, "test-runtime", "test-version", options...) c := newMockClient(socketPath) _, err := c.GetSecrets(t.Context(), secrets.MustParsePattern("foo")) if test.shouldGetSecretFromExternalPlugin { @@ -228,7 +228,7 @@ func TestTelemetry(t *testing.T) { defer cancel() tracker := testhelper.NewTestTracker() go func() { - errEngine <- Run(ctx, "test-engine", "test-version", + errEngine <- Run(ctx, "test-runtime", "test-version", WithSocketPath(socketPath), WithExternallyLaunchedPluginsDisabled(), WithEngineLaunchedPluginsDisabled(), diff --git a/engine/internal/config/engine.go b/runtime/internal/config/engine.go similarity index 89% rename from engine/internal/config/engine.go rename to runtime/internal/config/engine.go index f357c677..576ed54e 100644 --- a/engine/internal/config/engine.go +++ b/runtime/internal/config/engine.go @@ -3,7 +3,7 @@ package config import ( "net" - "github.com/docker/secrets-engine/engine/internal/plugin" + "github.com/docker/secrets-engine/runtime/internal/plugin" "github.com/docker/secrets-engine/x/logging" "github.com/docker/secrets-engine/x/telemetry" ) diff --git a/engine/internal/mocks/builtin.go b/runtime/internal/mocks/builtin.go similarity index 100% rename from engine/internal/mocks/builtin.go rename to runtime/internal/mocks/builtin.go diff --git a/engine/internal/mocks/mocks.go b/runtime/internal/mocks/mocks.go similarity index 87% rename from engine/internal/mocks/mocks.go rename to runtime/internal/mocks/mocks.go index 20ae00dd..a165bcd9 100644 --- a/engine/internal/mocks/mocks.go +++ b/runtime/internal/mocks/mocks.go @@ -3,7 +3,7 @@ package mocks import ( "iter" - "github.com/docker/secrets-engine/engine/internal/plugin" + "github.com/docker/secrets-engine/runtime/internal/plugin" "github.com/docker/secrets-engine/x/api" "github.com/docker/secrets-engine/x/secrets" ) diff --git a/engine/internal/mocks/plugin.go b/runtime/internal/mocks/plugin.go similarity index 92% rename from engine/internal/mocks/plugin.go rename to runtime/internal/mocks/plugin.go index 585e06e1..ddb74544 100644 --- a/engine/internal/mocks/plugin.go +++ b/runtime/internal/mocks/plugin.go @@ -3,7 +3,7 @@ package mocks import ( "context" - "github.com/docker/secrets-engine/engine/internal/plugin" + "github.com/docker/secrets-engine/runtime/internal/plugin" "github.com/docker/secrets-engine/x/api" "github.com/docker/secrets-engine/x/secrets" ) diff --git a/engine/internal/mocks/resolver.go b/runtime/internal/mocks/resolver.go similarity index 94% rename from engine/internal/mocks/resolver.go rename to runtime/internal/mocks/resolver.go index 95b2e60b..f34889b2 100644 --- a/engine/internal/mocks/resolver.go +++ b/runtime/internal/mocks/resolver.go @@ -4,8 +4,8 @@ import ( "context" "iter" - "github.com/docker/secrets-engine/engine/internal/plugin" - "github.com/docker/secrets-engine/engine/internal/registry" + "github.com/docker/secrets-engine/runtime/internal/plugin" + "github.com/docker/secrets-engine/runtime/internal/registry" "github.com/docker/secrets-engine/x/api" "github.com/docker/secrets-engine/x/secrets" ) diff --git a/engine/internal/mocks/runtime.go b/runtime/internal/mocks/runtime.go similarity index 100% rename from engine/internal/mocks/runtime.go rename to runtime/internal/mocks/runtime.go diff --git a/engine/internal/plugin/exec.go b/runtime/internal/plugin/exec.go similarity index 100% rename from engine/internal/plugin/exec.go rename to runtime/internal/plugin/exec.go diff --git a/engine/internal/plugin/exec_test.go b/runtime/internal/plugin/exec_test.go similarity index 100% rename from engine/internal/plugin/exec_test.go rename to runtime/internal/plugin/exec_test.go diff --git a/engine/internal/plugin/exec_unix.go b/runtime/internal/plugin/exec_unix.go similarity index 100% rename from engine/internal/plugin/exec_unix.go rename to runtime/internal/plugin/exec_unix.go diff --git a/engine/internal/plugin/exec_windows.go b/runtime/internal/plugin/exec_windows.go similarity index 100% rename from engine/internal/plugin/exec_windows.go rename to runtime/internal/plugin/exec_windows.go diff --git a/engine/internal/plugin/plugin.go b/runtime/internal/plugin/plugin.go similarity index 100% rename from engine/internal/plugin/plugin.go rename to runtime/internal/plugin/plugin.go diff --git a/engine/internal/plugin/registration.go b/runtime/internal/plugin/registration.go similarity index 100% rename from engine/internal/plugin/registration.go rename to runtime/internal/plugin/registration.go diff --git a/engine/internal/plugin/registration_test.go b/runtime/internal/plugin/registration_test.go similarity index 100% rename from engine/internal/plugin/registration_test.go rename to runtime/internal/plugin/registration_test.go diff --git a/engine/internal/plugin/validator.go b/runtime/internal/plugin/validator.go similarity index 100% rename from engine/internal/plugin/validator.go rename to runtime/internal/plugin/validator.go diff --git a/engine/internal/registry/manager.go b/runtime/internal/registry/manager.go similarity index 97% rename from engine/internal/registry/manager.go rename to runtime/internal/registry/manager.go index 06903b59..e60f8679 100644 --- a/engine/internal/registry/manager.go +++ b/runtime/internal/registry/manager.go @@ -7,7 +7,7 @@ import ( "strings" "sync" - "github.com/docker/secrets-engine/engine/internal/plugin" + "github.com/docker/secrets-engine/runtime/internal/plugin" "github.com/docker/secrets-engine/x/logging" ) diff --git a/engine/internal/registry/manager_test.go b/runtime/internal/registry/manager_test.go similarity index 96% rename from engine/internal/registry/manager_test.go rename to runtime/internal/registry/manager_test.go index d30a2c13..cc397367 100644 --- a/engine/internal/registry/manager_test.go +++ b/runtime/internal/registry/manager_test.go @@ -6,9 +6,9 @@ import ( "github.com/stretchr/testify/assert" - "github.com/docker/secrets-engine/engine/internal/mocks" - "github.com/docker/secrets-engine/engine/internal/plugin" - "github.com/docker/secrets-engine/engine/internal/registry" + "github.com/docker/secrets-engine/runtime/internal/mocks" + "github.com/docker/secrets-engine/runtime/internal/plugin" + "github.com/docker/secrets-engine/runtime/internal/registry" "github.com/docker/secrets-engine/x/api" "github.com/docker/secrets-engine/x/testhelper" ) diff --git a/engine/internal/registry/registry.go b/runtime/internal/registry/registry.go similarity index 75% rename from engine/internal/registry/registry.go rename to runtime/internal/registry/registry.go index 6386912c..c8f99da8 100644 --- a/engine/internal/registry/registry.go +++ b/runtime/internal/registry/registry.go @@ -3,7 +3,7 @@ package registry import ( "iter" - "github.com/docker/secrets-engine/engine/internal/plugin" + "github.com/docker/secrets-engine/runtime/internal/plugin" ) type RemoveFunc func() diff --git a/engine/internal/routes/health.go b/runtime/internal/routes/health.go similarity index 100% rename from engine/internal/routes/health.go rename to runtime/internal/routes/health.go diff --git a/engine/internal/routes/list.go b/runtime/internal/routes/list.go similarity index 90% rename from engine/internal/routes/list.go rename to runtime/internal/routes/list.go index b5481011..fd3a64e8 100644 --- a/engine/internal/routes/list.go +++ b/runtime/internal/routes/list.go @@ -7,8 +7,8 @@ import ( "connectrpc.com/connect" "google.golang.org/protobuf/proto" - "github.com/docker/secrets-engine/engine/internal/registry" - "github.com/docker/secrets-engine/engine/internal/runtime/builtin" + "github.com/docker/secrets-engine/runtime/internal/registry" + "github.com/docker/secrets-engine/runtime/internal/runtime/builtin" resolverv1 "github.com/docker/secrets-engine/x/api/resolver/v1" "github.com/docker/secrets-engine/x/api/resolver/v1/resolverv1connect" ) diff --git a/engine/internal/routes/list_test.go b/runtime/internal/routes/list_test.go similarity index 89% rename from engine/internal/routes/list_test.go rename to runtime/internal/routes/list_test.go index 5c229adf..ff190c1e 100644 --- a/engine/internal/routes/list_test.go +++ b/runtime/internal/routes/list_test.go @@ -8,10 +8,10 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/docker/secrets-engine/engine/internal/mocks" - "github.com/docker/secrets-engine/engine/internal/plugin" - "github.com/docker/secrets-engine/engine/internal/registry" - "github.com/docker/secrets-engine/engine/internal/runtime/builtin" + "github.com/docker/secrets-engine/runtime/internal/mocks" + "github.com/docker/secrets-engine/runtime/internal/plugin" + "github.com/docker/secrets-engine/runtime/internal/registry" + "github.com/docker/secrets-engine/runtime/internal/runtime/builtin" "github.com/docker/secrets-engine/x/api" resolverv1 "github.com/docker/secrets-engine/x/api/resolver/v1" "github.com/docker/secrets-engine/x/testhelper" diff --git a/engine/internal/routes/plugin/health.go b/runtime/internal/routes/plugin/health.go similarity index 84% rename from engine/internal/routes/plugin/health.go rename to runtime/internal/routes/plugin/health.go index f0a8f02c..d4690f29 100644 --- a/engine/internal/routes/plugin/health.go +++ b/runtime/internal/routes/plugin/health.go @@ -3,7 +3,7 @@ package plugin import ( "net/http" - "github.com/docker/secrets-engine/engine/internal/routes" + "github.com/docker/secrets-engine/runtime/internal/routes" ) func init() { diff --git a/engine/internal/routes/plugin/registration.go b/runtime/internal/routes/plugin/registration.go similarity index 82% rename from engine/internal/routes/plugin/registration.go rename to runtime/internal/routes/plugin/registration.go index 2602167f..8107bc59 100644 --- a/engine/internal/routes/plugin/registration.go +++ b/runtime/internal/routes/plugin/registration.go @@ -3,8 +3,8 @@ package plugin import ( "net/http" - "github.com/docker/secrets-engine/engine/internal/plugin" - "github.com/docker/secrets-engine/engine/internal/routes" + "github.com/docker/secrets-engine/runtime/internal/plugin" + "github.com/docker/secrets-engine/runtime/internal/routes" "github.com/docker/secrets-engine/x/api/resolver/v1/resolverv1connect" ) diff --git a/engine/internal/routes/resolver.go b/runtime/internal/routes/resolver.go similarity index 85% rename from engine/internal/routes/resolver.go rename to runtime/internal/routes/resolver.go index 0797ba38..db6eabb7 100644 --- a/engine/internal/routes/resolver.go +++ b/runtime/internal/routes/resolver.go @@ -3,7 +3,7 @@ package routes import ( "net/http" - service "github.com/docker/secrets-engine/engine/internal/services/resolver" + service "github.com/docker/secrets-engine/runtime/internal/services/resolver" "github.com/docker/secrets-engine/x/api/resolver" "github.com/docker/secrets-engine/x/api/resolver/v1/resolverv1connect" ) diff --git a/engine/internal/routes/routes.go b/runtime/internal/routes/routes.go similarity index 96% rename from engine/internal/routes/routes.go rename to runtime/internal/routes/routes.go index 06befc3f..92b058d5 100644 --- a/engine/internal/routes/routes.go +++ b/runtime/internal/routes/routes.go @@ -7,9 +7,9 @@ import ( "github.com/go-chi/chi/v5" - "github.com/docker/secrets-engine/engine/internal/config" - "github.com/docker/secrets-engine/engine/internal/plugin" - "github.com/docker/secrets-engine/engine/internal/registry" + "github.com/docker/secrets-engine/runtime/internal/config" + "github.com/docker/secrets-engine/runtime/internal/plugin" + "github.com/docker/secrets-engine/runtime/internal/registry" ) type Config interface { diff --git a/engine/internal/runtime/builtin/builtin.go b/runtime/internal/runtime/builtin/builtin.go similarity index 97% rename from engine/internal/runtime/builtin/builtin.go rename to runtime/internal/runtime/builtin/builtin.go index 3603e881..a9a4697a 100644 --- a/engine/internal/runtime/builtin/builtin.go +++ b/runtime/internal/runtime/builtin/builtin.go @@ -7,7 +7,7 @@ import ( "sync" "time" - "github.com/docker/secrets-engine/engine/internal/plugin" + "github.com/docker/secrets-engine/runtime/internal/plugin" "github.com/docker/secrets-engine/x/logging" "github.com/docker/secrets-engine/x/secrets" ) diff --git a/engine/internal/runtime/builtin/builtin_test.go b/runtime/internal/runtime/builtin/builtin_test.go similarity index 96% rename from engine/internal/runtime/builtin/builtin_test.go rename to runtime/internal/runtime/builtin/builtin_test.go index 719253ca..5432b296 100644 --- a/engine/internal/runtime/builtin/builtin_test.go +++ b/runtime/internal/runtime/builtin/builtin_test.go @@ -8,8 +8,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/docker/secrets-engine/engine/internal/mocks" - "github.com/docker/secrets-engine/engine/internal/plugin" + "github.com/docker/secrets-engine/runtime/internal/mocks" + "github.com/docker/secrets-engine/runtime/internal/plugin" "github.com/docker/secrets-engine/x/secrets" "github.com/docker/secrets-engine/x/testhelper" ) diff --git a/engine/internal/runtime/plugin.go b/runtime/internal/runtime/plugin.go similarity index 97% rename from engine/internal/runtime/plugin.go rename to runtime/internal/runtime/plugin.go index 6e7457e6..29b197ca 100644 --- a/engine/internal/runtime/plugin.go +++ b/runtime/internal/runtime/plugin.go @@ -15,8 +15,8 @@ import ( "github.com/hashicorp/yamux" "google.golang.org/protobuf/proto" - "github.com/docker/secrets-engine/engine/internal/config" - "github.com/docker/secrets-engine/engine/internal/plugin" + "github.com/docker/secrets-engine/runtime/internal/config" + "github.com/docker/secrets-engine/runtime/internal/plugin" "github.com/docker/secrets-engine/x/api" v1 "github.com/docker/secrets-engine/x/api/resolver/v1" "github.com/docker/secrets-engine/x/api/resolver/v1/resolverv1connect" @@ -27,7 +27,7 @@ import ( // register the plugin routes // this will most likely move or get cleaned up once this file and its // associated dependencies get moved to the internal package. - _ "github.com/docker/secrets-engine/engine/internal/routes/plugin" + _ "github.com/docker/secrets-engine/runtime/internal/routes/plugin" ) var ( diff --git a/engine/internal/runtime/plugin_test.go b/runtime/internal/runtime/plugin_test.go similarity index 97% rename from engine/internal/runtime/plugin_test.go rename to runtime/internal/runtime/plugin_test.go index b07f0d88..904328b0 100644 --- a/engine/internal/runtime/plugin_test.go +++ b/runtime/internal/runtime/plugin_test.go @@ -15,11 +15,11 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/docker/secrets-engine/engine/internal/mocks" - "github.com/docker/secrets-engine/engine/internal/plugin" - "github.com/docker/secrets-engine/engine/internal/testdummy" - et "github.com/docker/secrets-engine/engine/internal/testhelper" p "github.com/docker/secrets-engine/plugin" + "github.com/docker/secrets-engine/runtime/internal/mocks" + "github.com/docker/secrets-engine/runtime/internal/plugin" + "github.com/docker/secrets-engine/runtime/internal/testdummy" + et "github.com/docker/secrets-engine/runtime/internal/testhelper" "github.com/docker/secrets-engine/x/api" "github.com/docker/secrets-engine/x/ipc" "github.com/docker/secrets-engine/x/secrets" @@ -394,7 +394,7 @@ func (m *mockExternalRuntime) waitForNextRuntimeWithTimeout() (plugin.Runtime, e NewRuntimeConfig( "", // TODO:(@benehiko) this needs to be empty otherwise the validation step will compare // the plugin name and will fail "launched plugin name cannot be changed"... - plugin.ConfigOut{EngineName: "test-engine", EngineVersion: "v1.0.0", RequestTimeout: 30 * time.Second}, + plugin.ConfigOut{EngineName: "test-runtime", EngineVersion: "v1.0.0", RequestTimeout: 30 * time.Second}, et.NewEngineConfig(m.t), ), item.conn) diff --git a/engine/internal/runtime/setup.go b/runtime/internal/runtime/setup.go similarity index 94% rename from engine/internal/runtime/setup.go rename to runtime/internal/runtime/setup.go index 90e5b0a5..e4f31900 100644 --- a/engine/internal/runtime/setup.go +++ b/runtime/internal/runtime/setup.go @@ -10,9 +10,9 @@ import ( "github.com/go-chi/chi/v5" "github.com/hashicorp/yamux" - "github.com/docker/secrets-engine/engine/internal/config" - "github.com/docker/secrets-engine/engine/internal/plugin" - "github.com/docker/secrets-engine/engine/internal/routes" + "github.com/docker/secrets-engine/runtime/internal/config" + "github.com/docker/secrets-engine/runtime/internal/plugin" + "github.com/docker/secrets-engine/runtime/internal/routes" "github.com/docker/secrets-engine/x/ipc" ) diff --git a/engine/internal/runtime/setup_test.go b/runtime/internal/runtime/setup_test.go similarity index 95% rename from engine/internal/runtime/setup_test.go rename to runtime/internal/runtime/setup_test.go index 92bed8fa..a7170ded 100644 --- a/engine/internal/runtime/setup_test.go +++ b/runtime/internal/runtime/setup_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/docker/secrets-engine/engine/internal/plugin" + "github.com/docker/secrets-engine/runtime/internal/plugin" "github.com/docker/secrets-engine/x/api" "github.com/docker/secrets-engine/x/secrets" ) diff --git a/engine/internal/services/resolver/resolver.go b/runtime/internal/services/resolver/resolver.go similarity index 96% rename from engine/internal/services/resolver/resolver.go rename to runtime/internal/services/resolver/resolver.go index 2518edcb..62cdbeb6 100644 --- a/engine/internal/services/resolver/resolver.go +++ b/runtime/internal/services/resolver/resolver.go @@ -5,7 +5,7 @@ import ( "errors" "time" - "github.com/docker/secrets-engine/engine/internal/registry" + "github.com/docker/secrets-engine/runtime/internal/registry" "github.com/docker/secrets-engine/x/logging" "github.com/docker/secrets-engine/x/secrets" "github.com/docker/secrets-engine/x/telemetry" diff --git a/engine/internal/services/resolver/resolver_test.go b/runtime/internal/services/resolver/resolver_test.go similarity index 97% rename from engine/internal/services/resolver/resolver_test.go rename to runtime/internal/services/resolver/resolver_test.go index da05858c..bcc2bf38 100644 --- a/engine/internal/services/resolver/resolver_test.go +++ b/runtime/internal/services/resolver/resolver_test.go @@ -8,8 +8,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/docker/secrets-engine/engine/internal/mocks" - "github.com/docker/secrets-engine/engine/internal/plugin" + "github.com/docker/secrets-engine/runtime/internal/mocks" + "github.com/docker/secrets-engine/runtime/internal/plugin" "github.com/docker/secrets-engine/x/secrets" "github.com/docker/secrets-engine/x/testhelper" ) diff --git a/engine/internal/testdummy/dummy.go b/runtime/internal/testdummy/dummy.go similarity index 100% rename from engine/internal/testdummy/dummy.go rename to runtime/internal/testdummy/dummy.go diff --git a/engine/internal/testdummy/dummy_test.go b/runtime/internal/testdummy/dummy_test.go similarity index 100% rename from engine/internal/testdummy/dummy_test.go rename to runtime/internal/testdummy/dummy_test.go diff --git a/engine/internal/testdummy/dummy_unix.go b/runtime/internal/testdummy/dummy_unix.go similarity index 100% rename from engine/internal/testdummy/dummy_unix.go rename to runtime/internal/testdummy/dummy_unix.go diff --git a/engine/internal/testdummy/dummy_windows.go b/runtime/internal/testdummy/dummy_windows.go similarity index 100% rename from engine/internal/testdummy/dummy_windows.go rename to runtime/internal/testdummy/dummy_windows.go diff --git a/engine/internal/testhelper/helper.go b/runtime/internal/testhelper/helper.go similarity index 96% rename from engine/internal/testhelper/helper.go rename to runtime/internal/testhelper/helper.go index 9a3fd16d..2c9a9047 100644 --- a/engine/internal/testhelper/helper.go +++ b/runtime/internal/testhelper/helper.go @@ -4,8 +4,8 @@ import ( "net" "testing" - "github.com/docker/secrets-engine/engine/internal/config" - "github.com/docker/secrets-engine/engine/internal/plugin" + "github.com/docker/secrets-engine/runtime/internal/config" + "github.com/docker/secrets-engine/runtime/internal/plugin" "github.com/docker/secrets-engine/x/logging" "github.com/docker/secrets-engine/x/telemetry" "github.com/docker/secrets-engine/x/testhelper" diff --git a/engine/otel.go b/runtime/otel.go similarity index 91% rename from engine/otel.go rename to runtime/otel.go index 1f359a4d..8d561e14 100644 --- a/engine/otel.go +++ b/runtime/otel.go @@ -1,4 +1,4 @@ -package engine +package runtime import ( "go.opentelemetry.io/otel" diff --git a/engine/supervisor.go b/runtime/supervisor.go similarity index 93% rename from engine/supervisor.go rename to runtime/supervisor.go index 0b65c703..e1e6842a 100644 --- a/engine/supervisor.go +++ b/runtime/supervisor.go @@ -1,4 +1,4 @@ -package engine +package runtime import ( "context" @@ -11,9 +11,9 @@ import ( "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/trace" - "github.com/docker/secrets-engine/engine/internal/config" - "github.com/docker/secrets-engine/engine/internal/plugin" - "github.com/docker/secrets-engine/engine/internal/registry" + "github.com/docker/secrets-engine/runtime/internal/config" + "github.com/docker/secrets-engine/runtime/internal/plugin" + "github.com/docker/secrets-engine/runtime/internal/registry" ) type runnable func(ctx context.Context) error diff --git a/store/.gomodguard.yaml b/store/.gomodguard.yaml index c06c78bd..8e37692f 100644 --- a/store/.gomodguard.yaml +++ b/store/.gomodguard.yaml @@ -3,7 +3,7 @@ blocked: modules: - github.com/docker/secrets-engine/client: reason: "Forbidden dependency" - - github.com/docker/secrets-engine/engine: + - github.com/docker/secrets-engine/runtime: reason: "Forbidden dependency" - github.com/docker/secrets-engine/injector: reason: "Forbidden dependency" diff --git a/x/api/resolver/v1/api.pb.go b/x/api/resolver/v1/api.pb.go index ac224d12..b873c318 100644 --- a/x/api/resolver/v1/api.pb.go +++ b/x/api/resolver/v1/api.pb.go @@ -284,7 +284,7 @@ func (x *RegisterPluginResponse) ClearRequestTimeout() { type RegisterPluginResponse_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. - // Name of the runtime engine is running in. + // Name of the secrets engine is running in. EngineName *string // Version of the runtime engine is running in. EngineVersion *string diff --git a/x/api/resolver/v1/api.proto b/x/api/resolver/v1/api.proto index 7f532445..1eb8d09d 100644 --- a/x/api/resolver/v1/api.proto +++ b/x/api/resolver/v1/api.proto @@ -22,7 +22,7 @@ message RegisterPluginRequest { } message RegisterPluginResponse { - // Name of the runtime engine is running in. + // Name of the secrets engine is running in. string engine_name = 1; // Version of the runtime engine is running in. string engine_version = 2; diff --git a/x/ipc/env.go b/x/ipc/env.go index db0966e2..1794c08a 100644 --- a/x/ipc/env.go +++ b/x/ipc/env.go @@ -26,7 +26,7 @@ func (c *PluginConfigFromEngine) ToString() (string, error) { func NewPluginConfigFromEngineEnv(in string) (*PluginConfigFromEngine, error) { var result PluginConfigFromEngine if err := json.Unmarshal([]byte(in), &result); err != nil { - return nil, fmt.Errorf("failed to decode plugin config from engine %q: %w", api.PluginLaunchedByEngineVar, err) + return nil, fmt.Errorf("failed to decode plugin config from runtime %q: %w", api.PluginLaunchedByEngineVar, err) } if result.Name == "" { return nil, errors.New("plugin name is required") diff --git a/x/release/helper/release_test.go b/x/release/helper/release_test.go index 4b643301..fbf1e59d 100644 --- a/x/release/helper/release_test.go +++ b/x/release/helper/release_test.go @@ -18,14 +18,14 @@ func Test_bumpIterative(t *testing.T) { "x/v1.0.0-do.not.use", "plugin/v0.1.1", "client/v1.0.3", - "engine/v0.2.4", + "runtime/v0.2.4", }) pluginIdx := getIndex(t, "plugin", m.tagsCreated) clientIdx := getIndex(t, "client", m.tagsCreated) assert.ElementsMatch(t, m.bumps, []bump{ - {"engine/go.mod", "x", "v1.0.0-do.not.use"}, - {"engine/go.mod", "plugin", "v0.1.1"}, - {"engine/go.mod", "client", "v1.0.3"}, + {"runtime/go.mod", "x", "v1.0.0-do.not.use"}, + {"runtime/go.mod", "plugin", "v0.1.1"}, + {"runtime/go.mod", "client", "v1.0.3"}, {"client/go.mod", "x", "v1.0.0-do.not.use"}, {"plugin/go.mod", "x", "v1.0.0-do.not.use"}, }) @@ -40,10 +40,10 @@ func Test_bumpIterative(t *testing.T) { assert.NoError(t, BumpIterative("plugin", Patch, repo, m)) assert.ElementsMatch(t, m.tagsCreated, []string{ "plugin/v0.1.1", - "engine/v0.2.4", + "runtime/v0.2.4", }) assert.ElementsMatch(t, m.bumps, []bump{ - {"engine/go.mod", "plugin", "v0.1.1"}, + {"runtime/go.mod", "plugin", "v0.1.1"}, }) require.Equal(t, 1, len(m.commits)) assert.Equal(t, "chore: bump plugin/v0.1.1", m.commits[0]) @@ -51,9 +51,9 @@ func Test_bumpIterative(t *testing.T) { t.Run("bump module without dependencies", func(t *testing.T) { repo := newMockRepoData() m := &mockFS{} - assert.NoError(t, BumpIterative("engine", Patch, repo, m)) + assert.NoError(t, BumpIterative("runtime", Patch, repo, m)) assert.ElementsMatch(t, m.tagsCreated, []string{ - "engine/v0.2.4", + "runtime/v0.2.4", }) assert.Empty(t, m.bumps) assert.Empty(t, m.commits) @@ -78,7 +78,7 @@ func Test_bumpModule(t *testing.T) { assert.NoError(t, BumpModule("x", Patch, repo["x"], m)) assert.ElementsMatch(t, m.tagsCreated, []string{"x/v0.0.4-do.not.use"}) assert.ElementsMatch(t, m.bumps, []bump{ - {"engine/go.mod", "x", "v0.0.4-do.not.use"}, + {"runtime/go.mod", "x", "v0.0.4-do.not.use"}, {"client/go.mod", "x", "v0.0.4-do.not.use"}, {"plugin/go.mod", "x", "v0.0.4-do.not.use"}, }) @@ -89,8 +89,8 @@ func Test_bumpModule(t *testing.T) { t.Run("bump module without version metadata and no dependencies", func(t *testing.T) { repo := newMockRepoData() m := &mockFS{} - assert.NoError(t, BumpModule("engine", Patch, repo["engine"], m)) - assert.ElementsMatch(t, m.tagsCreated, []string{"engine/v0.2.4"}) + assert.NoError(t, BumpModule("runtime", Patch, repo["runtime"], m)) + assert.ElementsMatch(t, m.tagsCreated, []string{"runtime/v0.2.4"}) assert.ElementsMatch(t, m.bumps, []bump{}) }) } @@ -100,7 +100,7 @@ func newMockRepoData() RepoData { modules.AddMod("x", Version{Current: "v0.0.3-do.not.use", KeepExtra: true}, []string{}) modules.AddMod("plugin", Version{Current: "v0.1.0"}, []string{"x"}) modules.AddMod("client", Version{Current: "v1.0.2"}, []string{"x"}) - modules.AddMod("engine", Version{Current: "v0.2.3"}, []string{"client", "plugin", "x"}) + modules.AddMod("runtime", Version{Current: "v0.2.3"}, []string{"client", "plugin", "x"}) return modules }