Skip to content

Commit ab43854

Browse files
authored
(feat): Externalize the plugins package (#3)
Signed-off-by: Bryce Palmer <[email protected]>
1 parent 54d3e49 commit ab43854

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+79
-175
lines changed

.github/workflows/unit.yml

-3
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,3 @@ jobs:
1414
with:
1515
fetch-depth: 0
1616
- run: make test-unit
17-
- uses: shogo82148/actions-goveralls@v1
18-
with:
19-
path-to-profile: coverage.out

Makefile

+24-6
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,15 @@ SHELL = /bin/bash
44
# This value must be updated to the release tag of the most recent release, a change that must
55
# occur in the release commit. IMAGE_VERSION will be removed once each subproject that uses this
66
# version is moved to a separate repo and release process.
7-
export IMAGE_VERSION = v1.30.0
7+
export IMAGE_VERSION = v1.31.0
88
# Build-time variables to inject into binaries
99
export SIMPLE_VERSION = $(shell (test "$(shell git describe --tags)" = "$(shell git describe --tags --abbrev=0)" && echo $(shell git describe --tags)) || echo $(shell git describe --tags --abbrev=0)+git)
1010
export GIT_VERSION = $(shell git describe --dirty --tags --always)
1111
export GIT_COMMIT = $(shell git rev-parse HEAD)
1212
export K8S_VERSION = 1.26.0
1313

14+
export OPERATOR_SDK_VERSION = $(IMAGE_VERSION)
15+
1416
# Build settings
1517
export TOOLS_DIR = tools/bin
1618
export SCRIPTS_DIR = tools/scripts
@@ -35,17 +37,17 @@ export PATH := $(PWD)/$(BUILD_DIR):$(PWD)/$(TOOLS_DIR):$(PATH)
3537
##@ Development
3638

3739
.PHONY: generate
38-
generate: build # Generate CLI docs and samples
40+
generate: operator-sdk build # Generate CLI docs and samples
3941
rm -rf testdata
40-
go run ./hack/generate/samples/generate_testdata.go
42+
go run ./hack/generate/samples/generate_testdata.go --bin $(OPERATOR_SDK)
4143
go generate ./...
4244

4345
.PHONY: fix
4446
fix: ## Fixup files in the repo.
4547
go mod tidy
4648
go fmt ./...
4749
make setup-lint
48-
$(TOOLS_DIR)/golangci-lint run --fix
50+
$(TOOLS_DIR)/golangci-lint run --fix --timeout=2m
4951

5052
.PHONY: setup-lint
5153
setup-lint: ## Setup the lint
@@ -140,7 +142,7 @@ e2e_targets := test-e2e $(e2e_tests)
140142
export KIND_CLUSTER := osdk-test
141143

142144
KUBEBUILDER_ASSETS = $(PWD)/$(shell go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest && $(shell go env GOPATH)/bin/setup-envtest use $(K8S_VERSION) --bin-dir tools/bin/ -p path)
143-
test-e2e-setup:: build dev-install cluster-create
145+
test-e2e-setup:: operator-sdk build dev-install cluster-create
144146

145147
.PHONY: cluster-create
146148
cluster-create::
@@ -162,13 +164,29 @@ test-e2e-teardown:
162164
$(e2e_targets):: test-e2e-setup
163165
test-e2e:: $(e2e_tests) ## Run e2e tests
164166

165-
test-e2e-ansible:: image/ansible-operator ## Run Ansible e2e tests
167+
test-e2e-ansible:: operator-sdk image/ansible-operator ## Run Ansible e2e tests
166168
go test -count=1 ./internal/ansible/proxy/...
167169
go test ./test/e2e/ansible -v -ginkgo.v
168170
test-e2e-ansible-molecule:: install dev-install image/ansible-operator ## Run molecule-based Ansible e2e tests
169171
go run ./hack/generate/samples/molecule/generate.go
170172
./hack/tests/e2e-ansible-molecule.sh
171173

174+
## Location to install dependencies to
175+
LOCALBIN ?= $(shell pwd)/bin
176+
$(LOCALBIN):
177+
mkdir -p $(LOCALBIN)
178+
179+
.PHONY: operator-sdk
180+
OPERATOR_SDK ?= $(LOCALBIN)/operator-sdk
181+
operator-sdk: ## Download operator-sdk locally if necessary.
182+
@{ \
183+
set -e ;\
184+
mkdir -p $(dir $(OPERATOR_SDK)) ;\
185+
OS=$(shell go env GOOS) && ARCH=$(shell go env GOARCH) && \
186+
curl -sSLo $(OPERATOR_SDK) https://github.com/operator-framework/operator-sdk/releases/download/$(OPERATOR_SDK_VERSION)/operator-sdk_$${OS}_$${ARCH} ;\
187+
chmod +x $(OPERATOR_SDK) ;\
188+
}
189+
172190
.DEFAULT_GOAL := help
173191
.PHONY: help
174192
help: ## Show this help screen.

go.mod

-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ require (
1919
github.com/spf13/pflag v1.0.5
2020
github.com/spf13/viper v1.10.0
2121
github.com/stretchr/testify v1.8.2
22-
github.com/thoas/go-funk v0.8.0
2322
golang.org/x/text v0.9.0
2423
k8s.io/api v0.26.2
2524
k8s.io/apiextensions-apiserver v0.26.2

go.sum

-2
Original file line numberDiff line numberDiff line change
@@ -574,8 +574,6 @@ github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o
574574
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
575575
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
576576
github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
577-
github.com/thoas/go-funk v0.8.0 h1:JP9tKSvnpFVclYgDM0Is7FD9M4fhPvqA0s0BsXmzSRQ=
578-
github.com/thoas/go-funk v0.8.0/go.mod h1:+IWnUfUmFO1+WVYQWQtIJHeRRdaIyyYglZN7xzUPe4Q=
579577
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
580578
github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
581579
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=

internal/plugins/util/legacy_keys.go

-93
This file was deleted.

internal/testutils/utils.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import (
2929
kbtestutils "sigs.k8s.io/kubebuilder/v3/test/e2e/utils"
3030
)
3131

32-
const BinaryName = "operator-sdk"
32+
const BinaryName = "bin/operator-sdk"
3333

3434
// TestContext wraps kubebuilder's e2e TestContext.
3535
type TestContext struct {

internal/plugins/ansible/v1/api.go renamed to pkg/plugins/ansible/v1/api.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ import (
2626
"sigs.k8s.io/kubebuilder/v3/pkg/plugin"
2727
pluginutil "sigs.k8s.io/kubebuilder/v3/pkg/plugin/util"
2828

29-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/scaffolds"
30-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/util"
29+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/scaffolds"
30+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/util"
3131
)
3232

3333
const (

internal/plugins/ansible/v1/init.go renamed to pkg/plugins/ansible/v1/init.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ import (
2525
"sigs.k8s.io/kubebuilder/v3/pkg/plugin"
2626
"sigs.k8s.io/kubebuilder/v3/pkg/plugin/util"
2727

28-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/scaffolds"
29-
sdkpluginutil "github.com/operator-framework/ansible-operator-plugins/internal/plugins/util"
28+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/scaffolds"
29+
sdkpluginutil "github.com/operator-framework/ansible-operator-plugins/pkg/plugins/util"
3030
)
3131

3232
const (

internal/plugins/ansible/v1/plugin.go renamed to pkg/plugins/ansible/v1/plugin.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import (
1919
cfgv3 "sigs.k8s.io/kubebuilder/v3/pkg/config/v3"
2020
"sigs.k8s.io/kubebuilder/v3/pkg/plugin"
2121

22-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins"
22+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins"
2323
)
2424

2525
const pluginName = "base.ansible" + plugins.DefaultNameQualifier

internal/plugins/ansible/v1/scaffolds/api.go renamed to pkg/plugins/ansible/v1/scaffolds/api.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@ import (
2323
"sigs.k8s.io/kubebuilder/v3/pkg/model/resource"
2424
"sigs.k8s.io/kubebuilder/v3/pkg/plugins"
2525

26-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/constants"
27-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/scaffolds/internal/templates"
28-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/scaffolds/internal/templates/config/crd"
29-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/scaffolds/internal/templates/config/rbac"
30-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/scaffolds/internal/templates/molecule/mdefault"
31-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/scaffolds/internal/templates/playbooks"
32-
ansibleroles "github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/scaffolds/internal/templates/roles"
26+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/constants"
27+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/scaffolds/internal/templates"
28+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/scaffolds/internal/templates/config/crd"
29+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/scaffolds/internal/templates/config/rbac"
30+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/scaffolds/internal/templates/molecule/mdefault"
31+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/scaffolds/internal/templates/playbooks"
32+
ansibleroles "github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/scaffolds/internal/templates/roles"
3333
)
3434

3535
var _ plugins.Scaffolder = &apiScaffolder{}

internal/plugins/ansible/v1/scaffolds/init.go renamed to pkg/plugins/ansible/v1/scaffolds/init.go

+8-8
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,15 @@ import (
2323
"sigs.k8s.io/kubebuilder/v3/pkg/plugins"
2424
kustomizev2Alpha "sigs.k8s.io/kubebuilder/v3/pkg/plugins/common/kustomize/v2-alpha"
2525

26-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/scaffolds/internal/templates"
27-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/scaffolds/internal/templates/config/rbac"
28-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/scaffolds/internal/templates/config/testing"
29-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/scaffolds/internal/templates/config/testing/pullpolicy"
30-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/scaffolds/internal/templates/molecule/mdefault"
31-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/scaffolds/internal/templates/molecule/mkind"
32-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/scaffolds/internal/templates/playbooks"
33-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/scaffolds/internal/templates/roles"
3426
"github.com/operator-framework/ansible-operator-plugins/internal/version"
27+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/scaffolds/internal/templates"
28+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/scaffolds/internal/templates/config/rbac"
29+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/scaffolds/internal/templates/config/testing"
30+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/scaffolds/internal/templates/config/testing/pullpolicy"
31+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/scaffolds/internal/templates/molecule/mdefault"
32+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/scaffolds/internal/templates/molecule/mkind"
33+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/scaffolds/internal/templates/playbooks"
34+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/scaffolds/internal/templates/roles"
3535
)
3636

3737
const imageName = "controller:latest"

internal/plugins/ansible/v1/scaffolds/internal/templates/dockerfile.go renamed to pkg/plugins/ansible/v1/scaffolds/internal/templates/dockerfile.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import (
1919

2020
"sigs.k8s.io/kubebuilder/v3/pkg/machinery"
2121

22-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/constants"
22+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/constants"
2323
)
2424

2525
var _ machinery.Template = &Dockerfile{}

internal/plugins/ansible/v1/scaffolds/internal/templates/roles/defaults_main.go renamed to pkg/plugins/ansible/v1/scaffolds/internal/templates/roles/defaults_main.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import (
1919

2020
"sigs.k8s.io/kubebuilder/v3/pkg/machinery"
2121

22-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/constants"
22+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/constants"
2323
)
2424

2525
var _ machinery.Template = &DefaultsMain{}

internal/plugins/ansible/v1/scaffolds/internal/templates/roles/files_dir.go renamed to pkg/plugins/ansible/v1/scaffolds/internal/templates/roles/files_dir.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import (
1919

2020
"sigs.k8s.io/kubebuilder/v3/pkg/machinery"
2121

22-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/constants"
22+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/constants"
2323
)
2424

2525
var _ machinery.Template = &RoleFiles{}

internal/plugins/ansible/v1/scaffolds/internal/templates/roles/handlers_main.go renamed to pkg/plugins/ansible/v1/scaffolds/internal/templates/roles/handlers_main.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import (
1919

2020
"sigs.k8s.io/kubebuilder/v3/pkg/machinery"
2121

22-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/constants"
22+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/constants"
2323
)
2424

2525
var _ machinery.Template = &HandlersMain{}

internal/plugins/ansible/v1/scaffolds/internal/templates/roles/meta_main.go renamed to pkg/plugins/ansible/v1/scaffolds/internal/templates/roles/meta_main.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import (
1919

2020
"sigs.k8s.io/kubebuilder/v3/pkg/machinery"
2121

22-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/constants"
22+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/constants"
2323
)
2424

2525
var _ machinery.Template = &MetaMain{}

internal/plugins/ansible/v1/scaffolds/internal/templates/roles/readme.go renamed to pkg/plugins/ansible/v1/scaffolds/internal/templates/roles/readme.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import (
1919

2020
"sigs.k8s.io/kubebuilder/v3/pkg/machinery"
2121

22-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/constants"
22+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/constants"
2323
)
2424

2525
const ReadmePath = "README.md"

internal/plugins/ansible/v1/scaffolds/internal/templates/roles/tasks_main.go renamed to pkg/plugins/ansible/v1/scaffolds/internal/templates/roles/tasks_main.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import (
1919

2020
"sigs.k8s.io/kubebuilder/v3/pkg/machinery"
2121

22-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/constants"
22+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/constants"
2323
)
2424

2525
var _ machinery.Template = &TasksMain{}

internal/plugins/ansible/v1/scaffolds/internal/templates/roles/templates_dir.go renamed to pkg/plugins/ansible/v1/scaffolds/internal/templates/roles/templates_dir.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import (
1919

2020
"sigs.k8s.io/kubebuilder/v3/pkg/machinery"
2121

22-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/constants"
22+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/constants"
2323
)
2424

2525
var _ machinery.Template = &RoleTemplates{}

internal/plugins/ansible/v1/scaffolds/internal/templates/roles/vars_main.go renamed to pkg/plugins/ansible/v1/scaffolds/internal/templates/roles/vars_main.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import (
1919

2020
"sigs.k8s.io/kubebuilder/v3/pkg/machinery"
2121

22-
"github.com/operator-framework/ansible-operator-plugins/internal/plugins/ansible/v1/constants"
22+
"github.com/operator-framework/ansible-operator-plugins/pkg/plugins/ansible/v1/constants"
2323
)
2424

2525
var _ machinery.Template = &VarsMain{}
File renamed without changes.
File renamed without changes.
File renamed without changes.

test/e2e/ansible/scorecard_test.go

+5-6
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,9 @@
1414

1515
package e2e_ansible_test
1616

17-
import (
18-
. "github.com/onsi/ginkgo/v2"
17+
// import (
18+
// . "github.com/onsi/ginkgo/v2"
19+
// )
1920

20-
"github.com/operator-framework/ansible-operator-plugins/test/common"
21-
)
22-
23-
var _ = Describe("scorecard", common.ScorecardSpec(&tc, "ansible"))
21+
// For now don't run Scorecard tests
22+
// var _ = Describe("scorecard", common.ScorecardSpec(&tc, "ansible"))

0 commit comments

Comments
 (0)