Skip to content

Releases: clusterpedia-io/clusterpedia

v0.3.0

01 Jun 09:55
1377c02
Compare
Choose a tag to compare

What's New

APIServer

  • Added a new feature gate of RemainingItemCount to set whether the number of remained resources will be included in the response by default (#197, #166, @cleverhu, @feeltimeQ)

The feature gate of RemainingItemCount defaults to false, and the number of remained resources can be included by default with --feature-gates RemainingItemCount=true.

Collection Resources

  • Added kuberesources to support for search and paging of all kube's build-in types of resources through a single api (#186, @cleverhu)

  • Added support for getting only the metadata of resources (#193, @cleverhu)

$ kubectl get collectionresources
NAME            RESOURCES
workloads       deployments.apps,daemonsets.apps,statefulsets.apps
kuberesources   *,*.admission.k8s.io,*.admissionregistration.k8s.io,*.apiextensions.k8s.io,*.apps,*.authentication.k8s.io,*.authorization.k8s.io,*.autoscaling,*.batch,*.certificates.k8s.io,*.coordination.k8s.io,*.discovery.k8s.io,*.events.k8s.io,*.extensions,*.flowcontrol.apiserver.k8s.io,*.imagepolicy.k8s.io,*.internal.apiserver.k8s.io,*.networking.k8s.io,*.node.k8s.io,*.policy,*.rbac.authorization.k8s.io,*.scheduling.k8s.io,*.storage.k8s.io

# path is /apis/clusterpedia.io/v1beta1/collectionresources/kuberesources
$ kubectl get collectionresources kuberesources

ClusterSynchro Manager

  • Added support for using wildcards to set syncResources, and you can sync all resources in a cluster (#188, @Iceber)
# PediaCluster
spec:
  syncResources:
  - group: "*"
    resources:
    - "*"

or

# PediaCluster
spec:
  syncResources:
  - group: "apps"
    resources:
    - "*"
  • Optimized support for custom resources and aggregated resources, with the capability of updating resource-sync versions in real time based on changes to CRDs and API (#180, #136, @Iceber)

  • Optimized the sync status of resources, and added exception messages due to permission or other problems (#161, @ycsk02)

  • Added the ClusterSynchroInitialized condition to PediaCluster (#142, @ycsk02)

  • Added support for using the singular and plural of resources when setting up sync resources, and the capability of using any upper- or lower-case format (#152, @Iceber)

# PediaCluster
spec:
  syncResources:
  - group: "apps"
    resources:
    - "deployment"
    - "DaemonSet"
  • Added support for syncing all custom resources (#112, @Iceber)
# need to set feature gate AllowSyncAllCustomResources to true, eg. `./apiserver --feature-gates=AllowSyncAllCustomResources=true`
# PediaCluster
spec:
  syncAllCustomResources: true
  • Removed the flowcontrol controller to avoid dependencies on the kube version (#198, @cleverhu)

Default Storage Layer

  • Added support for configuring the database connection pool (#190, @cleverhu)
# storage-config.yaml
connPool:
  maxIdleConns: 10
  maxOpenConns: 100
  connMaxLifetim: 1h
  • Added support for rollover of storage logs to avoid a large buildup (#182, @RuliXu)
# storage-config.yaml
log:
  logger:
    filename: "/var/log/clusterpedia/apiserver.log"
    maxSize: 100
    maxBackups: 1

For details see Lubmerjack configuration.

  • Added support for some advanced search, allowing users to customize SQL statements for more complex searches (#160, @cleverhu)
# need to set feature gate AllowRawSQLQuery to true, eg. `./apiserver --feature-gates=AllowRawSQLQuery=true`
URL="/apis/clusterpedia.io/v1beta1/resources/apis/apps/v1/deployments"
kubectl get --raw="$URL?whereSQL=(namespace='default') or (name like '%25b%25')"

Bug Fix

Others

Contributors

Thanks everyone who contributed to this release!

The following users (sort alphabetically) are those who committed much in this release. Thank you!

And thanks to @windsonsea for proofreading the release notes.

v0.2.0

08 Apr 05:16
1742773
Compare
Choose a tag to compare

What's New

APIServer

  • Support for filtering resources by a period of creation (#113, @cleverhu)
  • Support for searching for resources by an Owner name. Now, the feature of Search by Owner is officially released. (#91, @Iceber)

Default Storage Layer

  • Support for fuzzy search by a resource name (#117, @cleverhu)
  • RemainingItemCount can be a negative number. We can still use offset + len(items) + remainingItemCount to calculate the total amount of resources if the Offset is too large. (#123, @cleverhu)

Bug Fixes

  • Fixed unnecessary json.Unmarshal and improved performance when searching (#89, #92, @Iceber)

Deprecation

  • Search by Owner has been released as an official feature. internalstorage.clusterpedia.io/owner-name and internalstorage.clusterpedia.io/owner-seniority will be removed in the next release. (#91, @Iceber)

Other

  • golangci-lint is used as a static checking tool (#86, #88, @Iceber)
  • Added CI Workloads such as static checking and unit testing for code #87, @Iceber)

Contributors

Thanks everyone who contributed to this release!

The following users (sort alphabetically) are those who committed much in this release. Thank you!

v0.1.0

15 Feb 08:34
ba1799e
Compare
Choose a tag to compare

This is the first release of Clusterpedia πŸ₯³πŸ₯³πŸ₯³, and it also means that it is officially in the iteration phase.

Compared to the initial v0.0.8 and v0.0.9-alpha, v0.1.0 add a lot of features and makes some incompatible updates.

If upgrading from v0.0.9-alpha or v0.0.8, you can refer to Upgrade to Clusterpedia 0.1.0

What's New

  • pedia.clusterpedia.io/v1alpha1 for resource search changed to clusterpedia.io/v1beta1 (#73, @Iceber)
  • Optimized the PediaCluster schema, and move clusters.clusterpedia.io/v1alpha1 to cluster.clusterpedia.io (#27 #67 #76 #74 #78, @Iceber @wzshiming)
  • Support for synchronization and search of Custom Resources (#10, @Iceber)
  • Move the cluster information inserted into the resource from the metadata.labels to metadata.annotations (#37, @calvin0327)
  • Added manifests for deploying the storage component - postgres (#52, @Iceber)

APIServer

  • Support for the List object with RemainintItemCount and Continue (#33, @Iceber)
  • Enhanced support for Field Selector, which is compatible with the native Field Selector an supports the same complex operators as LabelSelector (#36, @Iceber)
  • Added warning alerts when searching for resources in clusters with exception status (#35, @scydas)
  • Consistent with the url query used for paging Limit, change the search label from search.clusterpedia.io/size to search.clusterpedia.io/limit (#42, @calvin0327)

Bug Fixes

  • Fix requestInfo to set requestInfo.Namespace field when resolving namespace resources (#17, @Iceber)
  • Fix the abnormality of resource synchronization status display due to specified version of build-in resources during synchronization (#58, @Iceber)

ClusterSynchro Manager

  • Prune the managedFields and last-applied-configuration fields via features gates (#19, @Iceber)

Bug Fixes

Default Storage Layer

  • The default storage layer no longer provides the user with a default sort order, and the user is left to actively set the sort (#44, @Iceber)
  • Added some indexes and fixed an issue with gorm ignoring empty fields (#41, @Iceber)
  • Support search by parent or ancestor owner (#50, @Iceber)

Bug Fixes

  • Fix JSON SQL generation (#60 #62 #78, @Iceber)
  • Fix the bug that the resources obtained when filtering CollectionResource are not accurate (#61, @Iceber)

Contributors

Thank you to everyone who contributed to this release!

Users whose commits are in this release (alphabetically by user name)