v1.0.0-alpha.1
Pre-release
Pre-release
·
1143 commits
to master
since this release
v1.0.0-alpha.1
For documentation on this release, please visit https://master.sdk.operatorframework.io.
This site tracks the master
branch, so documentation updates based on feedback from this alpha release will automatically be reflected until v1.0.0
is released.
Additions
- The
snakeCaseParameters
option has been added to thewatches.yaml
for Ansible-based Operators. This allows the user to configure whether parameters in the resource spec are automatically converted fromcamelCase
tosnake_case
. The default istrue
, so there is no behavior change for existing operators, but it can now be disabled. (#3245) - Added
projectName
key to the PROJECT config file (v3-alpha+). (#3438) - Added the
--from-version
flag togenerate packagemanifests
. (#3509) - The
generate bundle
command now adds scorecard bundle metadata tobundle.Dockerfile
andannotations.yaml
if--overwrite
is set (the default in a project'sMakefile
) or both files do not exist. (#3474) - Added
config/scorecard
kustomize scaffolds toinit
. (#3490)
Changes
- Use structured logging in Ansible and Helm operator base images when printing version information. (#3564)
- The Ansible and Helm-based operators now use the controller-runtime's lease-based leader election instead of SDK's leader-for-life mechanism. (#3457) & (#3446)
- Breaking change: Added
--metrics-addr
flag to the Ansible and Helm-based operators to make it configurable, and changed the default port from:8383
to:8080
. (#3489) & (#3440) - Breaking change: Changed domain suffix used for plugins and CR annotations to consistently use
.sdk.operatorframework.io
. (#3527) - Breaking change: Removed the implementation for
EnqueueRequestForAnnotation
handler from the SDK repository and referenced it from operator-lib instead. (#3506) - Breaking change: The Ansible operator implementation in
pkg/ansible
was moved tointernal/ansible
. (#3560) - Breaking change: The Helm operator implementation in
pkg/helm
was moved tointernal/helm
. (#3537) - Breaking change: The Ansible operator's
--max-workers
flag andWORKERS_<Kind>_<Group>
environment variable have been renamed to--max-concurrent-reconciles
andMAX_CONCURRENT_RECONCILES_<Kind>_<Group>
respectively. (#3452) - Breaking change: The
meta
variable passed to Ansible playbooks and roles has been renamed toansible_operator_meta
. (#3562) - Breaking change: The scorecard configuration is now implemented as a componentconfig object and now includes a new top-level
stages
field, which allows users to define stages of tests and to enable parallelism within each stage. (#3490) & (#3434) - When a namespace is not provided on the command line, the scorecard command now looks for a namespace in the kubeconfig. If a namespace can not be found in the kubeconfig file, then 'default' is used. (#3478)
- Use on-disk bundle metadata in scorecard (either unpacked from an image or directly if a directory is passed) as the source of truth for bundle metadata, and not image labels which are informative only. (#3450)
- Breaking change: The
alpha scorecard
command has been promoted to the standard scorecard command. (#3444) - Breaking change: Changed scorecard text and json output to use a
v1alpha3.TestList
instead of aggregating all test results under a singlev1alpha3.Test
and set exit status to 1 when a test fails. (#3427) - Ansible & Helm-based Operators switched to using the
InstrumentedEnqueueRequestForObject
from operator-lib instead of controller-runtime'sEnqueueRequestForObject
. (#3523)
Removals
- Breaking change: Removed support for the legacy layout. Operator SDK has a new CLI and project layout that is aligned with Kubebuilder. (#3327) (#3343) (#3547) (#3566) (#3343) (#3466) (#3531) (#3451) (#3414) (#3414) (#3414) (#3414) (#3385) (#3406)
- Breaking change: Moved
pkg/log/zap
tointernal/log/zap
, therefore it is no longer a public API. (#3525) - Breaking change: Removed
pkg/predicate
:ResourceFilterPredicate
. (#3532) - Breaking change: Refactored and moved
pkg/predicate.GenerationChangedPredicate
(see this operator-lib PR for details). (#3532) - Breaking change: Removed
test
subcommand and the test frameworkpkg/test
. (#3409) - Breaking change: Removed
pkg/k8sutils
and its helpers methodsGetWatchNamespace()
,GetOperatorNamespace()
,GetOperatorName()
,ResourceExists()
,GetPod()
,GetGVKsFromAddToScheme()
andSupportsOwnerReference()
. (#3475) - Breaking change: Removed
pkg/kube-metrics
and its associated helpersNewNamespacedMetricsStores()
,NewClusterScopedMetricsStores()
,ServeMetrics()
, andGenerateAndServeCRMetrics()
. (#3484) - Breaking change: Removed
pkg/leader
andpkg/status
. These are now part of operator-lib. (#3503) - Breaking change: Removed
pkg/metrics
and its helpersGenerateAndServeCRMetrics()
andGetNamespacesForMetrics()
. (#3484) - Breaking change: Removed
pkg/ready
and its helper utilsReady
,Set()
,Unset()
. (#3476) - Breaking change: Removed
pkg/tls
since that pkg is a leftover from an earlier effort to make certificate management easier, but was abandoned in favor of alternatives like cert-manager. (#3468)
Bug Fixes
- Fixed a bug that caused the Ansible operator not to set the environment variables
ANSIBLE_ROLES_PATH
andANSIBLE_COLLECTIONS_PATH
based on the flags--ansible-roles-path
and--ansible-collections-path
. (#3549) - Use group and kind instead of only kind when parsing manifests in the CSV generator to avoid marshaling them into the wrong Go types. (#3334)
- Fixed issue that caused scorecard to fail loading local bundle due to a bug search method for the bundle metadata directory. (#3408)
- Fixed CVE-2020-14040 by updating to
golang.org/x/text/0.3.3
. (#3458) - The
scorecard
subcommand now removes existing pods if the--wait-time
deadline is exceeded and--skip-cleanup=false
(the default). Fixes #3419. (#3526) - Fixed a bug in scorecard that caused tests to fail with permission errors when loading the bundle. (#3428)