Skip to content

Releases: clusterpedia-io/clusterpedia

Clusterpedia v0.5.1

30 Sep 06:40
fb84406
Compare
Choose a tag to compare

Notable Changes since v0.5.0

InternalStorage

Bug Fix

  • Fix notin and != operators in JSONBuilder (#404, @Iceber)

Helm Charts

helm install clusterpedia . --set "apiserver.enableSHA1Cert=true"
  • Support create database to external storage (#400, @RuliXu)
    --set externalStorage.createDatabase=true will render an init container for creating the database into the core component deployments.
# external-storage-values.yaml
installCRDs: true

storageInstallMode: "external"
persistenceMatchNode: "None"
postgresql:
  enabled: false
externalStorage:
  type: "postgres"
  host: "10.6.173.102"
  port: "32556"
  user: "postgres"
  password: "dangerous0"
  database: "test"

  createDatabase: true

Contributor

Thanks everyone who contributed to this release!

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

Clusterpedia v0.5.0

14 Sep 04:34
0d8d972
Compare
Choose a tag to compare

Notable Changes since v0.4.1

ClusterSynchro Manager

Bug Fix

  • Fix the synchronization of APIServices resources (#335, @cleverhu)

Controller Manager

  • Add source.selectorTemplate field for ClusterImportPolicy (#319, @Iceber)
apiVersion: policy.clusterpedia.io/v1alpha1
kind: ClusterImportPolicy
spec:
  source:
    group: ""
    resource: secrets
    selectorTemplate: |
      {{ if eq .source.metadata.namespace "default" }} true {{ end }}

Others

Contributor

Thanks everyone who contributed to this release!

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

Clusterpedia v0.5.0-beta.0

06 Sep 05:53
ff15c02
Compare
Choose a tag to compare
Pre-release

Notable Changes since v0.4.1

ClusterSynchro Manager

Bug Fix

  • Fix the synchronization of APIServices resources (#335, @cleverhu)

Controller Manager

  • Add source.selectorTemplate field for ClusterImportPolicy (#319, @Iceber)
apiVersion: policy.clusterpedia.io/v1alpha1
kind: ClusterImportPolicy
spec:
  source:
    group: ""
    resource: secrets
    selectorTemplate: |
      {{ if eq .source.metadata.namespace "default" }} true {{ end }}

Others

Contributor

Thanks everyone who contributed to this release!

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

v0.4.1

04 Aug 05:41
d1652e8
Compare
Choose a tag to compare

Changes since v0.4.0

Primarily fixed pediaclusterlifecycle controller bugs and made some optimizations to clustersynchro manager

ClusterSynchro Manager

  • Optimize the conditions of the pediacluster status (#284, @Iceber)

The printer columns of the pediacluster is updated, please update the PediaCluster CRD

$ kubectl get pediacluster
NAME                READY   VERSION   APISERVER
cluster-example     True    v1.22.2   https://10.6.100.10:6443

$ kubectl get pediacluster -o wide
NAME                READY   VERSION   APISERVER                   VALIDATED       SYNCHRORUNNING   CLUSTERHEALTHY
cluster-example     True    v1.22.2   https://10.6.100.10:6443    Validated       Running          Healthy
  • Retry to reconcile pediaclusters based on RetryableError (#283, @Iceber)

Controller Manager

Bug Fix

  • Fix set dependent resources of the pediacluster lifecycle (#287, @Iceber)

Contributor

Thanks everyone who contributed to this release!

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

v0.4.0

20 Jul 13:55
fbf0f4f
Compare
Choose a tag to compare

Notable Changes since v0.3.0

APIServer

  • Optimized the response message when getting a specific resource using the resource name without setting the cluster name in url path (#208, @wuyingjun-lucky)
  • The Any CollectionResource has been added, which supports users to combine resource types at will to retrieve, Lean More (#266, @Iceber)
  • The Collection Resource supports withRemainingCount and withContinue, Lean More (#267, @Iceber)

Bug Fix

ClusterSynchro Manager

Bug Fix

  • Fix duplicate log flags in the clustersynchro-manager cmd (#246, @ONE7live)

Controller Manager

The Controller Manager component has been added, include ClusterImportPolicy Controller and PediaClusterLifecycle Controller

  • New custom resources ClusterImportPolicy and PediaClusterLifecycle to support automatic conversion of other resources to PediaCluster, Lean More (#259, @Iceber)

Default Storage Layer

  • When only fetching the resource metadata, only the metadata will be selected from the database (#227, @Iceber)

Contributor

Thanks everyone who contributed to this release!

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

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)