- The SDK's Kubernetes Golang dependency versions/revisions have been updated from
v1.11.2
tov1.12.3
. (#807) - The controller-runtime version has been updated from
v0.1.4
tov0.1.8
. See thev0.1.8
release notes for details.
- Pin controller-runtime version to v0.1.4 to fix dependency issues and pin ansible idna package to version 2.7 (#831)
- The SDK now uses logr as the default logger to unify the logging output with the controller-runtime logs. Users can still use a logger of their own choice. See the logging doc on how the SDK initializes and uses logr.
- Ansible Operator CR status better aligns with conventions. (#639)
- The SDK now generates the CRD with the status subresource enabled by default. See the client doc on how to update the status ssubresource. (#787)
- A new command
operator-sdk print-deps
which prints Golang packages and versions expected by the current Operator SDK version. Supplying--as-file
prints packages and versions in Gopkg.toml format. (#772) - Add
cluster-scoped
flag tooperator-sdk new
command (#747) - Add
up-local
flag totest local
subcommand (#781) - Add
no-setup
flag totest local
subcommand (#770) - Add
image
flag totest local
subcommand (#768) - Ansible Operator log output includes much more information for troubleshooting ansible errors. (#713)
- Ansible Operator periodic reconciliation can be disabled (#739)
- Make operator-sdk command work with composed GOPATH (#676)
- Ansible Operator "--kubeconfig" command line option fixed (#705)
- Fix hardcoded CRD version in crd scaffold (#690)
- Use controller runtime library for controller and client APIs
- See migration guide to migrate your project to
v0.1.0
- Service account generation (#454)
- Leader election (#530)
- Incluster test support for test framework (#469)
- Ansible type operator generation support (#486, #559)
- Moved the rendering of
deploy/operator.yaml
to theoperator-sdk new
command instead ofoperator-sdk build
- Added
operator-sdk up
command to help deploy an operator. Currently supports running an operator locally against an existing cluster e.goperator-sdk up local --kubeconfig=<path-to-kubeconfig> --namespace=<operator-namespace>
. Seeoperator-sdk up -h
for help. #219 #274 - Added initial default metrics to be captured and exposed by Prometheus. #323 exposes the metrics port and #349 adds the initial default metrics.
- Added initial test framework for operators #377, #392, #393
- All the modules in
pkg/sdk
have been combined into a single package.action
,handler
,informer
types
andquery
pkgs have been consolidated intopkg/sdk
. #242 - The SDK exposes the Kubernetes clientset via
k8sclient.GetKubeClient()
#295 - The SDK now vendors the k8s code-generators for an operator instead of using the prebuilt image
gcr.io/coreos-k8s-scale-testing/codegen:1.9.3
#319 - The SDK exposes the Kubernetes rest config via
k8sclient.GetKubeConfig()
#338 - Use
time.Duration
instead ofint
forsdk.Watch
#427
- The cache of available clients is being reset every minute for discovery of newely added resources to a cluster. #280