SDK for building Kubernetes applications. Provides high level APIs, useful abstractions, and project scaffolding.
APACHE-2.0 License
Bot releases are hidden (Show)
Published by jmrodri over 4 years ago
Published by estroz over 4 years ago
--interactive
to the command operator-sdk generate csv
in order to enable working with interactive prompts while generating CSV. (#2891)--output
to print the result of operator-sdk bundle validate
in JSON format to stdout. Logs are printed to stderr. (#3011)apiextensions.k8s.io/v1beta1
to apiextensions.k8s.io/v1
for commands that create or generate CRDs. (#2874)helm.operator-sdk/v1alpha1
. The k8s.io
domain is reserved, so CRDs should not use it without explicit appproval. See the API Review Process for details. (#2859)inotify-tools
as a dependency of Ansible based-operator images which was deprecated and it will no longer scaffold the /bin/ao-logs
which was using it to print the Ansible logs in the side-car since the side-car ansible container was removed in the previous versions. (#2852)healthz
endpoint is successfully called. (#3102)Published by estroz over 4 years ago
Note: using this release as a Go module will result in checksum errors. Use v0.17.2 or above instead.
helm.operator-sdk/upgrade-force
annotation value for Helm based-operators is not parsed. (#2894)pkg/kubemetrics.NewNamespacedMetricsStores
and pkg/kubemetrics.NewClusterScopedMetricsStores
to support this new feature. (#2809)generate csv --deploy-dir --apis-dir --crd-dir
flags to allow configuring input locations for operator manifests and API types directories to the CSV generator in lieu of a config. See the CLI reference doc or generate csv -h
help text for more details. (#2511)generate csv --output-dir
flag to allow configuring the output location for the catalog directory. (#2511)--watch-namespace
and --operator-namespace
was added to operator-sdk run --local
, operator-sdk test --local
and operator-sdk cleanup
commands in order to replace the flag --namespace
which was deprecated.(#2617)ctx.GetOperatorNamespace()
and ctx.GetWatchNamespace()
was added pkg/test
in order to replace ctx.GetNamespace()
which is deprecated. (#2617)--crd-version
flag was added to the new
, add api
, add crd
, and generate crds
commands so that users can opt-in to v1
CRDs. (#2684)--output-dir
flag instructs operator-sdk bundle create
to write manifests and metadata to a non-default directory. (#2715)--overwrite
flag instructs operator-sdk bundle create
to overwrite metadata, manifests, and bundle.Dockerfile
. (#2715)operator-sdk bundle validate
now accepts either an image tag or a directory arg. If the arg is a directory, its children must contain a manifests/
and a metadata/
directory. (#2737)helm.operator-sdk/upgrade-force: "True"
to allow force resources replacement (helm upgrade --force
) for Helm based-operators. (#2773)--make-manifests
flag directs operator-sdk generate csv
to create a manifests/
directory for the latest operator bundle, including CRDs. This flag is set by default. (#2776)operator-sdk run --olm
supports the new operator metadata format in metadata/annotations.yaml
. (#2840)v1.16.2
to v1.17.4
. (#2715)controller-runtime
version from v0.4.0
to v0.5.2
. (#2715)controller-tools
version from v0.2.4
to v0.2.8
. (#2715)helm
version from v3.0.2
to v3.1.2
. (#2715)prometheus-operator
version from v0.34.0
to v0.38.0
. (#2715)operator-registry
version from v1.5.7
to v1.6.2
. (#2715)operator-sdk bundle create
now creates a manifests/
directory under the parent directory of the argument passed to --directory
, and setting --generate-only=true
writes a Dockerfile to <project-root>/bundle.Dockerfile
that copies bundle manifests from that manifests/
directory. (#2715)1.16
to 1.17
. (#2753)2.22
to 3.0.2
. For instructions on upgrading your project to use the V3 Molecule version see here. (#2749)map[ConditionType]Condition
to []Condition
. (#2739)operator-sdk generate csv --output-dir
will search the output directory for bundles before searching the default location. (#2776)pkg/kubemetrics.NewMetricsStores
. Use pkg/kubemetrics.NewNamespacedMetricsStores
instead. (#2809)--namespace
flag from operator-sdk run --local
, operator-sdk test --local
and operator-sdk cleanup
command was deprecated and will be removed in the future versions. Use --watch-namespace
and --operator-namespace
instead of. (#2617)ctx.GetNamespace()
from the pkg/test
is deprecated and will be removed in future versions. Use ctx.GetOperatorNamespace()
and ctx.GetWatchNamespace()
instead of. (#2617)operator-sdk generate csv
, but updates will not occur in future versions. Use operator-sdk bundle create
to manage operator bundle metadata. (#2755)pkg/restmapper
which was deprecated in v0.14.0
. Projects that use this package must switch to the DynamicRESTMapper
implementation in controller-runtime. (#2544)operator-sdk generate openapi
subcommand. (#2740)generate csv --deploy-dir --apis-dir --crd-dir
, and configuring output locations via generate csv --output-dir
. (#2511)exec
API (#2716)pkg/test
no longer double-registers the --kubeconfig
flag. Related bug: kubernetes-sigs/controller-runtime#878. (#2731)operator-sdk generate k8s
no longer requires users to explicitly set GOROOT in their environment. Now, GOROOT is detected using go env GOROOT
and set automatically. (#2754)operator-sdk generate csv
and operator-sdk test local
now parse multi-manifest files correctly. (#2758)status.Conditions
. (#2739)Note:
Published by varshaprasad96 over 4 years ago
--zap-stacktrace-level
) (#2319)pkg/status
with several new types and interfaces that can be used in Status
structs to simplify handling of status conditions. (#1143)generate csv
, populate a CSV manifest’s spec.icon
, spec.keywords
, and spec.mantainers
fields with empty values to better inform users how to add data. (#2521)cmd/manager/main.go
for Go operators and add logic to Ansible/Helm operators to handle multinamespace caching if WATCH_NAMESPACE
contains multiple namespaces. (#2522)--skip-cleanup-error
) to the test framework to allow skip the function which will remove all artefacts when an error be faced to perform this operation. (#2512)build/Dockerfile
. New projects will have a requirements.yml
scaffolded that includes the community.kubernetes
collection, as well as the corresponding install step in the build/Dockerfile
. (#2646)The operator_sdk.util
collection is no longer installed by default in the base image. Existing projects will need to install it in the build/Dockerfile
. New projects will have a requirements.yml
scaffolded that includes the operator_sdk.util
collection, as well as the corresponding install step in the build/Dockerfile
. (#2652)cluster
scenario that can be used to test against an existing clusterdeploy/
directory, any templates used for testing will be located in molecule/templates/
instead.k8s
wait
option to simplify the deployment logic./etc/passwd
. To use dynamic runtime users, use a container runtime that supports it (e.g. CRI-O). (#2469)Writing into CRs has an effect
, to include the http.MethodPatch as part of its test criteria alongside http.MethodPut and http.MethodPost. (#2509)v3.0.1
to v3.0.2
. (#2621)serveCRMetrics
to use the namespaces informed in the environment variable WATCH_NAMESPACE
in the MultiNamespace scenario. (#2603)The type name TestCtx
in pkg/test
has been deprecated and renamed to Context
. It now exists only as a type alias to maintain backwards compatibility. Users of the e2e framework should migrate to use the new name, Context
. The TestCtx
alias will be removed in a future version. (2549)
The additional of the dependency inotify-tools
on Ansible based-operator images. (#2586)
Breaking Change: The scorecard feature now only supports YAML config files. So, any config file with other extension is deprecated and should be changed for the YAML format. For further information see scorecard config file
(#2591)
openshift/api
repository (#2466)operator-sdk run
command that caused --local
flags to be ignored (#2478)operator-sdk run --local
which was not working on Windows. (#2481)ServiceMonitor
creation when the operator is cluster-scoped and the environment variable WATCH_NAMESPACE
has a different value than the namespace where the operator is deployed. (#2601)ansible.operator-sdk/verbosity
annotation for Ansible based-operators is 0 or less. (#2651)Note:
Published by camilamacedo86 over 4 years ago
/etc/passwd
. To use dynamic runtime users, use a container runtime that supports it (e.g. CRI-O). (#2469)operator-sdk run
command that caused --local
flags to be ignored (#2478)Published by jmccormick2001 over 4 years ago
cleanup
subcommand and run --olm
to manage deployment/deletion of operators. These commands currently interact with OLM via an in-cluster registry-server created using an operator's on-disk manifests and managed by operator-sdk
. (#2402, #2441)bundle create
which builds, and optionally generates metadata for, operator bundle images. (#2076, #2438)bundle validate
which validates operator bundle images. (#2411)olm-catalog gen-csv
to the generate csv
subcommand. (#2439)run ansible/helm
are now the hidden commands exec-entrypoint ansible/helm
. All functionality of each subcommand is the same. (#2441)up local
is now run --local
. All functionality of this command is the same. (#2441)olm
subcommand from alpha
to its own subcommand. All functionality of this command is the same. (#2447)pkg/test/NewCtx()
now creates a unique id instead of using the test name. TestCtx.GetNamespace()
uses this unique id to create a namespace that avoids this scenario. (#2335)Note: See how to upgrade your project to the version v0.15.0 by checking the Version Upgrade Guide
Published by joelanford over 4 years ago
Note: See how to upgrade your project to the version v0.14.1 by checking the Version Upgrade Guide
Published by estroz almost 5 years ago
--bundle
flag to the operator-sdk scorecard
command to support bundle validation testing using the validation API (https://github.com/operator-framework/api). (#1916
log
field to the operator-sdk scorecard
v1alpha2 output to support tests that produce logging. (#1916
bundle validation
test to the operator-sdk scorecard
OLM tests. (#1916
watches.yaml
file for Helm-based operators. (#2325)github.com/operator-framework/operator-sdk/pkg/restmapper.DynamicRESTMapper
with sigs.k8s.io/controller-runtime/pkg/client/apiutil.DynamicRESTMapper
. (#2309)operator-sdk olm-catalog gen-csv
if it is not run from a project's root, which the command already assumes is the case. (#2322)k8s_status
, which is now provided by the operator_sdk.util
Ansible collection. See developer_guide for new usage. (#2310)2.6
to 2.9
for collections support. (#2310)controller-tools
version from v0.2.2
to v0.2.4
. (#2368)github.com/operator-framework/operator-sdk/pkg/restmapper
in favor of the DynamicRESTMapper
implementation in controller-runtime. (#2309)operator-sdk build
's --image-build-args
to support spaces within quotes like --label some.name="First Last"
. (#2312)Note: See how to upgrade your project to the version v0.14.0 by checking the Version Upgrade Guide
Published by joelanford almost 5 years ago
"ansible.operator-sdk/verbosity"
annotation on Custom Resources watched by Ansible based operators to override verbosity on an individual resource. (#2102)operator-sdk generate crds
subcommand, which generates CRDs from Go types. (#2276)spec.customresourcedefinitions.owned
field on invoking olm-catalog gen-csv
. (#1162)2.4
to 2.6
. (#2107)kubernetes-1.15.4
to kubernetes-1.16.2
. (#2145)v2.15.0
to v2.16.1
. (#2145)controller-runtime
version from v0.3.0
to v0.4.0
. (#2145)pkg/test/e2eutil.WaitForDeployment()
and pkg/test/e2eutil.WaitForOperatorDeployment()
to successfully complete waiting when the available replica count is at least (rather than exactly) the minimum replica count required. (#2248)k8s_info
for k8s_facts
which is deprecated. (#2168)2.8
to 2.9
on the Ansible based operators image. (#2168)"*"
with list of verb strings in generated files so the Role is compatible with OpenShift and Kubernetes. (#2175)spec.customresourcedefinitions.owned
is now always overwritten except for each name
, version
, and kind
on invoking olm-catalog gen-csv
when Go API code annotations are present. (#1162)operator-sdk generate openapi
command. CRD generation is still supported with operator-sdk generate crds
. It is now recommended to use openapi-gen directly for OpenAPI code generation. The generate openapi
subcommand will be removed in a future release. (#2276)jmespath
queries are used because it was not installed. (#2252)operator-sdk build
for go operators to compile the operator binary based on Go's built-in GOARCH detection. This fixes an issue that caused an amd64
binary to be built into non-amd64
base images when using operator-sdk on non-amd64
architectures. (#2268)olm-deployed
is set to true
. (#2274)operator-name
field will be used if --operator-name
is not set. (#2297)spec.install
strategy if either name or strategy body are missing with a deployment-type strategy. (#2298)Note: See how to upgrade your project to the version v0.13.0 by checking the Version Upgrade Guide
Published by joelanford almost 5 years ago
Operator Version: X.Y.Z
information in the operator logs.(#1953)ansible-verbosity
flag. (#2087)1.12
to 1.13
. This change applies to the SDK project itself and Go projects scaffolded by the SDK. Projects that import this version of the SDK require Go 1.13 to compile. (#1949)kubernetes-1.14.1
to kubernetes-1.15.4
. (#2083)v2.14.1
to v2.15.0
. (#2083)controller-runtime
version from v0.2.0
to v0.3.0
. (#2083)controller-tools
version from v0.2.1+git
to v0.2.2
. (#2083)--dep-manager
flag and support for dep
-based projects. Projects will be scaffolded to use Go modules. (#1949)deployments
, which is required to create the metrics service for the operator. (#2090)Note: See how to upgrade your project to the version v0.12.0 by checking the Version Upgrade Guide
Published by hasbro17 about 5 years ago
--skip-generation
flag to the operator-sdk add api
command to support skipping generation of deepcopy and OpenAPI code and OpenAPI CRD specs. (#1890)operator-sdk olm-catalog gen-csv
command now produces indented JSON for the alm-examples
annotation. (#1793)--dep-manager
to command operator-sdk print-deps
to specify the type of dependency manager file to print. The choice of dependency manager is inferred from top-level dependency manager files present if --dep-manager
is not set. (#1819)operator-sdk version
(#1863)ppc64le-linux
for the operator-sdk
binary and the Helm operator base image. (#1533)olm uninstall
and olm status
no longer use a --version
flag to specify OLM version. This information is now retrieved from the running cluster. (#1634)spec.version
is still supported, but users will see a warning message if spec.versions
is not present and an error if spec.versions
is populated but the version in spec.version
is not in spec.versions
. (#1876)registry.access.redhat.com/ubi7/ubi-minimal:latest
to registry.access.redhat.com/ubi8/ubi-minimal:latest
. (#1952)registry.access.redhat.com/ubi7/ubi:latest
to registry.access.redhat.com/ubi8/ubi:latest
. (#1990 and #2004)v1.6.0
to v1.7.2
. (#1943)See the v0.11.x version upgrade guide for more details on how to adjust for these breaking changes.
kubernetes-1.13.4
to kubernetes-1.14.1
(#1876)github.com/operator-framework/operator-lifecycle-manager
version from b8a4faf68e36feb6d99a6aec623b405e587b17b1
to 0.10.1
(#1876)controller-runtime
version from v0.1.12
to v0.2.0
(#1876)
sigs.k8s.io/controller-runtime/pkg/runtime/scheme
is deprecated, and contains no code. Replace this import with sigs.k8s.io/controller-runtime/pkg/scheme
where relevant.sigs.k8s.io/controller-runtime/pkg/runtime/log
is deprecated. Replace this import with sigs.k8s.io/controller-runtime/pkg/log
where relevant.sigs.k8s.io/controller-runtime/pkg/runtime/signals
is deprecated. Replace this import with sigs.k8s.io/controller-runtime/pkg/manager/signals
where relevant.sigs.k8s.io/controller-runtime/pkg/client.Client
(except for Get()
) have been updated. Instead of each using a struct
-typed or variadic functional option parameter, or having no option parameter, each now uses a variadic interface option parameter typed for each method. See List()
below for an example.sigs.k8s.io/controller-runtime/pkg/client.Client
's List()
method signature has been updated: List(ctx context.Context, opts *client.ListOptions, list runtime.Object) error
is now List(ctx context.Context, list runtime.Object, opts ...client.ListOption) error
. To migrate:
import (
"context"
"sigs.k8s.io/controller-runtime/pkg/client"
)
...
// Old
listOpts := &client.ListOptions{}
listOpts.InNamespace("namespace")
err = r.client.List(context.TODO(), listOps, podList)
// New
listOpts := []client.ListOption{
client.InNamespace("namespace"),
}
err = r.client.List(context.TODO(), podList, listOpts...)
pkg/test.FrameworkClient
methods List()
and Delete()
have new signatures corresponding to the homonymous methods of sigs.k8s.io/controller-runtime/pkg/client.Client
. (#1876)<group>_<version>_<kind>_crd.yaml
. Now that CRD manifest spec.version
is deprecated in favor of spec.versions
, i.e. multiple versions can be specified in one CRD, CRD file names have the form <full group>_<resource>_crd.yaml
. <full group>
is the full group name of your CRD while <group>
is the last subdomain of <full group>
, ex. foo.bar.com
vs foo
. <resource>
is the plural lower-case CRD Kind found at spec.names.plural
. (#1876)2.7
to 3.6
, Ansible version from 2.8.0
to ~=2.8
and ansible-runner from 1.2
to 1.3.4
in the Ansible based images. (#1947)pkg/kube-metrics.NewCollectors()
with pkg/kube-metrics.NewMetricsStores()
and changed exported function signature for pkg/kube-metrics.ServeMetrics()
due to a breaking change in kube-state-metrics. (#1943)--as-file
from command operator-sdk print-deps
, which now only prints packages and versions in dependency manager file format. The choice of dependency manager type is set by --dep-manager
or inferred from top-level dependency manager files present if --dep-manager
is not set. (#1819)operator-sdk add crd
and prevent the command from running outside of an operator project. (#1660)gen-csv
respect the --operator-name
flag, channel names are checked for duplicates before (re-)generation. (#1693)ansible_python_interpreter
to {{ ansible_playbook_python }}
, to properly match the implicit localhost. (#1952)operator-sdk olm-catalog gen-csv
where the generated CSV is missing the expected set of owned CRDs. (#2017)operator-sdk olm-catalog gen-csv --csv-version=<version> --update-crds
would fail to copy over CRD manifests into deploy/olm-catalog
for manifests whose name didn't end with a _crd.yaml
suffix. This has been fixed so gen-csv
now copies all CRD manifests specified by deploy/olm-catalog/csv_config.yaml
by checking the type of the manifest rather than the filename suffix. (#2015)jmespath
dependency to Ansible-based Operator .travis.yml file template. (#2027)logr.Logger.Info()
in the Ansible-based operator implementation, which caused unnecessary operator panics. (#2031)Note: See how to upgrade your project to the version v0.11.0 by checking the Version Upgrade Guide
Published by hasbro17 about 5 years ago
operator-sdk olm-catalog gen-csv --csv-version=<version> --update-crds
would fail to copy over CRD manifests into deploy/olm-catalog
for manifests whose name didn't end with a _crd.yaml
suffix. This has been fixed so gen-csv
now copies all CRD manifests specified by deploy/olm-catalog/csv_config.yaml
by checking the type of the manifest rather than the filename suffix. (#2015)operator-sdk olm-catalog gen-csv
where the generated CSV is missing the expected set of owned CRDs. (#2017)logr.Logger.Info()
in the Ansible-based operator implementation, which caused unnecessary operator panics. (#2031)Note: See how to upgrade your project to the version v0.10+ by checking the Version Upgrade Guide
Published by joelanford about 5 years ago
mercurial
in user-facing documentation. (#1683)--zap-time-encoding
to the flagset provided by pkg/log/zap
. This flag configures the timestamp format produced by the zap logger. See the logging doc for more information. (#1529)role-path
is now role-paths
and takes a list of strings. Users can now specify multiple Role
and ClusterRole
manifests using role-paths
. (#1704)ready
package idempotent. Now, a user can call Set()
or Unset()
to set the operator's readiness without knowing the current state. (#1761)metadata.annotations['alm-examples']
is non-empty before creating contained CR manifests in the scorecard. (#1789)Note: See how to upgrade your project to the version v0.10+ by checking the Version Upgrade Guide
Published by estroz about 5 years ago
metadata.annotations['olm.targetNamespaces']
, and if one is not found a reference will be added to the WATCH_NAMESPACE
env var for all containers in the deployment. This is a bug because any other value that references the CSV's namespace is incorrect. (#1396)-trimpath
was not being respected. $GOPATH
was not expanding because exec.Cmd{}
is not executed in a shell environment. (#1535)--olm-deployed
will now only use the first CR set in either the cr-manifest
config option or the CSV's metadata.annotations['alm-examples']
as was intended, and access manifests correctly from the config. (#1565)Note: See how to upgrade your project to the version v0.8+ by checking the Version Upgrade Guide
Published by estroz over 5 years ago
Note: an operator created or managed by this release requires that mercurial v3.9+
is installed to manage modules.
operator-sdk build --image-builder=podman
. (#1488)operator-sdk up local --enable-delve
, which can be used to start the operator in remote debug mode with the delve debugger listening on port 2345. (#1422)--vendor
and --skip-validation
for operator-sdk new
that direct the SDK to initialize a new project with a vendor/
directory, and without validating project dependencies. vendor/
is not written by default. (#1519)pkg/apis/<group>/group.go
package file to avoid go/build
errors when running Kubernetes code generators. (#1401)--repo
for subcommands new
and migrate
specifies the repository path to be used in Go source files generated by the SDK. This flag can only be used with Go modules. (#1475)--go-build-args
flag to operator-sdk build
for providing additional Go build arguments. (#1582)--csv-channel
and --default-channel
for subcommand gen-csv
that add channels to and update the package manifest in deploy/olm-catalog/<operator-name>
when generating a new CSV or updating an existing one. (#1364)go.mod
and go.sum
to switch from dep
to Go modules to manage dependencies for the SDK project itself. (#1566)--operator-name
for operator-sdk olm-catalog gen-csv
to specify the operator name, ex. memcached-operator
, to use in CSV generation. The project's name is used (old behavior) if --operator-name
is not set. (#1571)--local-operator-flags
for operator-sdk test local --up-local
to specify flags to run a local operator with during a test. (#1509)v0.1.10
to v0.1.12
. (#1612)pkg/apis
in code generators. API dir structures can now be of the format pkg/apis/<group>/<anything>
, where <anything>
was previously required to be in the Kubernetes version format, ex. v1alpha1
. (#1525)$GOPATH/src
when using Go modules. (#1475)CreateMetricsService()
function from the metrics package accepts a REST config (*rest.Config) and an array of ServicePort objects ([]v1.ServicePort) as input to create Service metrics. CRPortName
constant is added to describe the string of custom resource port name. (#1560 and #1626)--skip-git-init
to --git-init
. This changes the default behavior of operator-sdk new
to not initialize the new project directory as a git repository with git init
. This behavior is now opt-in with --git-init
. (#1588)operator-sdk new
will no longer create the initial commit for a new project, even with --git-init=true
. (#1588)operator-sdk new --type=helm
now falls back to a default RBAC role instead of failing. (#1627)vendor/
directory to manage dependencies only if using Go modules. The SDK and operator projects will only use vendoring if using dep
, or modules and a vendor/
dir is present. (#1519)ExposeMetricsPort
is removed and replaced with CreateMetricsService()
function. PrometheusPortName
constant is replaced with OperatorPortName
. (#1560)Gopkg.toml
and Gopkg.lock
to drop the use of dep
in favor of Go modules to manage dependencies for the SDK project itself. (#1566)metadata.annotations['olm.targetNamespaces']
, and if one is not found a reference will be added to the WATCH_NAMESPACE
env var for all containers in the deployment. This is a bug because any other value that references the CSV's namespace is incorrect. (#1396)-trimpath
was not being respected. $GOPATH
was not expanding because exec.Cmd{}
is not executed in a shell environment. (#1535)--olm-deployed
will now only use the first CR set in either the cr-manifest
config option or the CSV's metadata.annotations['alm-examples']
as was intended, and access manifests correctly from the config. (#1565)Note: See how to upgrade your project to the version v0.9+ by checking the Version Upgrade Guide
Published by joelanford over 5 years ago
Note: See how to upgrade your project to the version v0.8+ by checking the Version Upgrade Guide
Published by AlexNPavel over 5 years ago
ReleaseFailed
condition is now correctly removed. (#1321)Note: See how to upgrade your project to the version v0.7+ by checking the Version Upgrade Guide
Published by AlexNPavel over 5 years ago
operator-sdk build --image-builder
, which can be used to specify which image builder to use. Adds support for buildah. (#1311)DynamicRESTMapper
, which accounts for the fact that the default RESTMapper
, which only checks resource types at startup, can't handle the case of first creating a CRD and then an instance of that CRD. (#1329)--verbose
flag (#1361)--dep-manager
flag, available in operator-sdk new
and operator-sdk migrate
. dep
is still available through --dep-manager=dep
. (#1001)--custom-api-import
for operator-sdk add controller
to specify that the new controller reconciles a built-in or external Kubernetes API, and what import path and identifier it should have. (#1344)deploy/role.yaml
based on the chart's default manifest. (#1188)operator-sdk add api
's --api-version
flag can now have no subdomains, ex core/v1
. See (#1191) for discussion. (#1313)--docker-build-args
option to --image-build-args
option for build
subcommand, because this option can now be shared with other image build tools than docker when --image-builder
option is specified. (#1311)status.conditions
to a new top-level deployedRelease
field. (#1309)
operator-sdk generate openapi
. Users can now rely on +kubebuilder
annotations in their API code, which provide access to most OpenAPIv3 validation properties (the full set will be supported in the near future, see this PR) and other CRD fields. (#1278)registry.access.redhat.com/ubi7/ubi-minimal:latest
base image for the Go and Helm operators and scorecard proxy (#1376)defaulter-gen
on running operator-sdk generate k8s
. Defaulting for CRDs should be handled with mutating admission webhooks. (#1288)--version
flag was removed. Users should use the operator-sdk version
command. (#1444)test cluster
subcommand and the corresponding --enable-tests
flag for the build
subcommand have been removed (#1414)--cluster-scoped
flag for operator-sdk new
has been removed so it won't scaffold a cluster-scoped operator. Read the operator scope documentation on the changes needed to run a cluster-scoped operator. (#1434)ReleaseFailed
condition is now correctly removed. (#1321)operator-sdk generate openapi
no longer overwrites CRD values derived from +kubebuilder
annotations in Go API code. See issues (#1212) and (#1323) for discussion. (#1278)operator-sdk gen-csv
on operators that do not have a CRDs directory, ex. deploy/crds
, or do not have any owned CRDs, will not generate a "deploy/crds not found" error.Note: See how to upgrade your project to the version v0.8+ by checking the Version Upgrade Guide