PackageTrack
Sign in Get early access

github.com/clusterpedia-io/clusterpedia

v0.9.1 #2541 most downloaded on Go modules clusterpedia-io/clusterpedia

What this package is like to depend on

Last release 1 months ago

24 Jul 2026

Release timing varies

gaps range from 9 days to 3 months

Rarely documented

notes for 3 of 21 stable releases

Nothing withdrawn

no release was ever pulled

5 years old

183 releases · first in 2021

33 releases in the last 12 months

see the full history below

Release timeline

183 releases · Dec 2021 to Jul 2026
2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 183
  1. v0.9.1 16 Apr 2026
    Release notes

    What's Changed

    Full Changelog: v0.9.0...v0.9.1

    Open source →
    Release notes

    Clusterpedia v0.9.1 Latest

    Latest

    Compare

    Choose a tag to compare

    Open source →
  2. v0.9.1-k8s1.32.13 16 Apr 2026 pre-release
    Release notes

    What's Changed

    • [release/0.9-k8s1.32] bump Kubernetes dependencies from 1.31 to 1.32 by @Iceber in #827
    • kubeapiserver: normalize pod portforward proxy subresource option by @officialasishkumar in #830

    Full Changelog: v0.9.0...v0.9.1-k8s1.32.13

    Open source →
    Release notes

    Clusterpedia v0.9.1-k8s1.32.13

    Compare

    Choose a tag to compare

    Open source →
  3. v0.9.1-0.20260724083401-e45a0e5e78cd 24 Jul 2026 pre-release

    Nothing published for this version

  4. v0.9.1-0.20260629010024-8e9202c71f79 29 Jun 2026 pre-release

    Nothing published for this version

  5. v0.9.1-0.20260430094436-bece343b7252 30 Apr 2026 pre-release

    Nothing published for this version

  6. v0.9.1-0.20260421050331-a6601517cd23 21 Apr 2026 pre-release

    Nothing published for this version

  7. v0.9.1-0.20260416060445-4fce814e0006 16 Apr 2026 pre-release

    Nothing published for this version

  8. v0.9.1-0.20260413074405-868dcaabdb19 13 Apr 2026 pre-release

    Nothing published for this version

  9. v0.9.1-0.20260409013704-92e3fafb6a0d 09 Apr 2026 pre-release

    Nothing published for this version

  10. v0.9.1-0.20260330084354-d39e96c07b35 30 Mar 2026 pre-release

    Nothing published for this version

  11. v0.9.1-0.20251219014442-75e50535ad03 19 Dec 2025 pre-release

    Nothing published for this version

  12. v0.9.1-0.20251203014027-fc87a8e1b7dd 03 Dec 2025 pre-release

    Nothing published for this version

  13. v0.9.1-0.20251117100500-6412e4252749 17 Nov 2025 pre-release

    Nothing published for this version

  14. v0.9.1-0.20251028020222-855a50e64e42 28 Oct 2025 pre-release

    Nothing published for this version

  15. v0.9.1-0.20251009054952-0f3a9411bf21 09 Oct 2025 pre-release

    Nothing published for this version

  16. v0.9.1-0.20250927055501-9cdb5390c2d3 27 Sep 2025 pre-release

    Nothing published for this version

  17. v0.9.1-0.20250813054056-2c3c0ea7ccbc 13 Aug 2025 pre-release

    Nothing published for this version

  18. v0.9.1-0.20250707082703-dc19b2373b3e 07 Jul 2025 pre-release

    Nothing published for this version

  19. v0.9.0 07 Jul 2025
    Release notes

    Notable Changes since v0.8.0

    Global Features

    Associated Storage and Querying of Resource-Specific Events

    The related PRs: (@Iceber, #783, #785, #786, #788, #787)

    This feature implements the basic functionality for storing and retrieving event associations. It will be continuously iterated on based on user needs in the future.

    apiVersion: cluster.clusterpedia.io/v1alpha2
    kind: PediaCluster
    metadata:
      name: cluster-example
    spec:
      kubeconfig: "**base64**"
      syncResources:
        - group: ""
          resources:
          - "*"
          eventsInvolvedResources:
          - "pods"
          - "nodes"
    

    Use spec.syncResources.[].eventsInvolvedResources to specify the resources whose events need to be synchronized.
    Note: If eventsInvolvedResources includes resources that have already been synchronized, you'll need to restart the clustersynchro-manager. This behavior will be optimized in the future based on user needs.

    Get Events

    Use the search label search.clusterpedia.io/inject-events=true to request that the returned data includes events.
    The events will be injected into the shadow.clusterpedia.io/events annotation.

    Note: The events are not currently sorted. Event filtering and sorting may be added in the future.

    $ kubectl --cluster kpanda-global -n kpanda-system get po -l "search.clusterpedia.io/inject-events=true" -o yaml
    ...
    - apiVersion: v1
      kind: Pod
      metadata:
        annotations:
          shadow.clusterpedia.io/cluster-name: kpanda-global
          shadow.clusterpedia.io/events: '[{"kind":"Event","apiVersion":"v1","metadata":{"name":"kpanda-clusterpedia-controller-manager-67758bb46d-mpl49.1843f13522e37ad9","namespace":"kpanda-system","uid":"2220a44a-5414-4698-bc89-16ae411f5dc1","resourceVersion":"23444068","creationTimestamp":"2025-06-23T01:49:12Z"},"involvedObject":{"kind":"Pod","namespace":"kpanda-system","name":"kpanda-clusterpedia-controller-manager-67758bb46d-mpl49","uid":"1918b3fb-cf36-4a2f-8f35-2e105210c38c","apiVersion":"v1","resourceVersion":"7019","fieldPath":"spec.containers{kpanda-clusterpedia-controller-manager}"},"reason":"Created","message":"Created container: kpanda-clusterpedia-controller-manager","source":{"component":"kubelet","host":"g-master68"},"firstTimestamp":"2025-05-29T08:11:30Z","lastTimestamp":"2025-06-23T02:57:05Z","count":393,"type":"Normal","eventTime":null,"reportingComponent":"kubelet","reportingInstance":"g-master68"},{"kind":"Event","apiVersion":"v1","metadata":{"name":"kpanda-clusterpedia-controller-manager-67758bb46d-mpl49.1843f215c90791e6","namespace":"kpanda-system","uid":"3e1417e9-68df-4b2a-947e-f8a37178429b","resourceVersion":"23444060","creationTimestamp":"2025-06-23T01:49:12Z"},"involvedObject":{"kind":"Pod","namespace":"kpanda-system","name":"kpanda-clusterpedia-controller-manager-67758bb46d-mpl49","uid":"1918b3fb-cf36-4a2f-8f35-2e105210c38c","apiVersion":"v1","resourceVersion":"7019","fieldPath":"spec.containers{kpanda-clusterpedia-controller-manager}"},"reason":"Pulled","message":"Container ....'
    ...

    Historical Events and Cleanup Policy

    Associated stored events will not be deleted when the corresponding events in the cluster are cleaned up. This means historical events will be retained permanently until the related resource itself is deleted.

    Get Cluster Authentication Info from Secrets

    The related PRs: (@Iceber @scydas, #753, #747)

    You need to enable the feature gate --feature-gates=ClusterAuthenticationFromSecret=true for both clusterpedia-apiserver and clustersynchro-manager.

    Then, configure the PediaCluster and its corresponding authentication Secrets.

    apiVersion: cluster.clusterpedia.io/v1alpha2
    kind: PediaCluster
    metadata:
      name: cluster-example
    spec:
      apiserver: "https://cluster-example.io:8080"
      authenticationFrom:
        kubeconfig:
          name: "cluster-example-auth-kubeconfig"
          key: "kubeconfig"
        ca:
          name: "cluster-example-auth"
          key: "ca.crt"
        cert:
          name: "cluster-example-auth"
          key: "client.crt"
        key:
          name: "cluster-example-auth"
          key: "client.key"
        token:
          name: "cluster-example-auth"
          key: "token"
      syncResources:
        - group: ""
          resources:
          - "*"
    ---
    apiVersion: v1
    data:
      ca.crt: LS0tLS1...base64
      client.crt: LS0tLS1...base64
      client.key: LS0tLS1...base64
    kind: Secret
    metadata:
      name: cluster-example-cert
      namespace: clusterpedia-system
    type: Opaque

    Note: You don’t need to configure every field in spec.authenticationFrom. Just provide a valid combination, such as: 1. Only kubeconfig 2. ca + cert + key 3. ca + token

    Authentication Priority:

    1. spec.kubeconfig > spec.cert & spec.key&spec.token > spec.authenticationFrom
    2. spec.authenticationFrom: .kubeconfig > .cert & .key & .token

    The namespace of the cluster authentication secrets must match the namespace where the Clusterpedia components are deployed.

    Clusterpedia Apiserver

    • apiserver: remove admission middleware (@Iceber, #674)

    Request Forwarding

    In this version, Clusterpedia supports request forwarding to member clusters. This feature is divided into two categories:

    1. Proxy specific subresource requests
    2. Pass through all requests directly

    Stricter authentication configurations have also been introduced for this feature.

    To enable it, you need to turn on the AllowProxyRequestToClusters feature gate and set the appropriate flags in the Clusterpedia API server.

    $ ./bin/apiserver --help
    Resource server flags:
    
          --allow-forward-unsync-resource-request
                    Allow forwarding requests for unsynchronized resource types.By default, only requests for resource types configured in PediaCluster can be forwarded.
          --allow-pediacluster-config-for-proxy-request
                    Allow proxy requests to use the cluster configuration from PediaCluster when authentication information cannot be got from the header.
          --allowed-proxy-subresources strings
                    List of subresources that support proxying requests to the specified cluster, formatted as '[resource/subresource],[subresource],...'. Supported proxy subresources include
                    "services/proxy,pods/proxy,pods/log,pods/exec,pods/attach,pods/portfowrd,nodes/proxy".
          --enable-proxy-path-for-forward-request
                    Add a '/proxy' path in the API to proxy any request.

    Proxying Subresource Requests

    The related PRs: (@Iceber @scydas, #715, #717, #723 , #719)

    Enable this by setting the --allowed-proxy-subresources flag in the Clusterpedia API server.

    $ # Enable the proxy subresources for all resources and the exec subresources of the pods.
    $ ./bin/apiserver --allowed-proxy-subresources "pods/exec,proxy"

    Currently supported subresource requests include:

    • pods/log
    • pods/exec
    • pods/attach
    • pods/portfowrd
    • pods/proxy
    • nodes/proxy
    • services/proxy

    The usage is consistent with native Kubernetes behavior. You can use kubectl to make calls. For example:

    $ kubectl --cluster cluster-example logs nginx
    $ kubectl --cluster cluster-example exec -ti nginx bash

    Request Forwarding

    The related PRs: (@Iceber @scydas, #716, #741, #748, #752)

    Clusterpedia supports three ways to forward requests directly to member clusters:

    1. Enable the --enable-proxy-path-for-forward-request flag. The API server will support proxy-style paths like:
      /apis/clusterpedia.io/v1beta1/resources/clusters//proxy/
    2. Use the HTTP header: X-CLUSTERPEDIA-FORWARD: true
    3. For list requests, use the search label —— search.clusterpedia.io/forward to enable forwarding.
    # kubeconfig
    - cluster:
        insecure-skip-tls-verify: true
        server: https://127.0.0.1:8443/apis/clusterpedia.io/v1beta1/resources/clusters/cluster-example/
      name: cluster-example
    - cluster:
        insecure-skip-tls-verify: true
        server: https://127.0.0.1:8443/apis/clusterpedia.io/v1beta1/resources/clusters/cluster-example/proxy
      name: cluster-example-proxy
    $ kubectl --cluster cluster-example-proxy get po -A
    
    $ kubectl --cluster cluster-example get po -l search.clusterpedia.io/forward=true
    
    $ curl -v -k --cert-type P12 --cert client.p12:password  -H "X-CLUSTERPEDIA-FORWARD: true" "https://localhost:8443/apis/clusterpedia.io/v1beta1/resources/clusters/cluster-example/api/v1/namespaces/clusterpedia-system/pods"

    You can enable a more relaxed mode by setting the --allow-forward-unsync-resource-request flag to allow forwarding requests for unsynchronized resources.

    Authentication for Proxy Requests

    • apiserver: set proxy auth info via request header (@Iceber, #727)

    By default, proxy requests require authentication headers to be passed in the request for the target cluster. These headers include the necessary credentials.

    1. X-Clusterpedia-Proxy-CA
    2. X-Clusterpedia-Proxy-Token
    3. X-Clusterpedia-Proxy-Client-Cert
    4. X-Clusterpedia-Proxy-Client-Key

    Alternatively, you can enable --allow-pediacluster-config-for-proxy-request to reuse the authentication config defined in the PediaCluster.

    Observability

    $ ./bin/apiserver --help
    ...
    Metrics flags:
    
          --allow-metric-labels stringToString
                    The map from metric-label to value allow-list of this label. The key's format is <MetricName>,<LabelName>. The value's format is <allowed_value>,<allowed_value>...e.g.
                    metric1,label1='v1,v2,v3', metric1,label2='v1,v2,v3' metric2,label1='v1,v2,v3'. (default [])
          --allow-metric-labels-manifest string
                    The path to the manifest file that contains the allow-list mapping. The format of the file is the same as the flag --allow-metric-labels. Note that the flag --allow-metric-labels will
                    override the manifest file.
          --disabled-metrics strings
                    This flag provides an escape hatch for misbehaving metrics. You must provide the fully qualified metric name in order to disable it. Disclaimer: disabling metrics is higher in precedence
                    than showing hidden metrics.
          --show-hidden-metrics-for-version string
                    The previous version for which you want to show hidden metrics. Only the previous minor version is meaningful, other values will not be allowed. The format is <major>.<minor>, e.g.:
                    '1.16'. The purpose of this format is make sure you have the opportunity to notice if the next release hides additional metrics, rather than being surprised when they are permanently
                    removed in the release after that.
    ...
    • Metrics now include build info for both Clusterpedia API server and Kubernetes (@Iceber, #695, #694)
    # HELP clusterpedia_build_info [ALPHA] A metric with a constant '1' value labeled by git version, git commit, git tree state, build date, Go version, and compiler from which Clusterpedia was built, and platform on which it is running.
    # TYPE clusterpedia_build_info gauge
    clusterpedia_build_info{build_date="2025-06-17T07:06:13Z",compiler="gc",git_commit="ee85edb72c541ece9e0b2d7da54c0f442e9a1536",git_tree_state="clean",git_version="v0.9.0-beta.0",go_version="go1.23.10",platform="linux/arm64"} 1
    # HELP kubernetes_build_info [ALPHA] A metric with a constant '1' value labeled by major, minor, git version, git commit, git tree state, build date, Go version, and compiler from which Kubernetes was built, and platform on which it is running.
    # TYPE kubernetes_build_info gauge
    kubernetes_build_info{build_date="2025-06-17T07:06:13Z",compiler="gc",git_commit="ee85edb72c541ece9e0b2d7da54c0f442e9a1536",git_tree_state="clean",git_version="v1.31.2",go_version="go1.23.10",major="1",minor="31",platform="linux/arm64"} 1
    

    Other

    • fix the version order of 'discovery.k8s.io' (@Iceber, #659)
    • kubeapiserver: allow using the storage version in request handling (@Iceber, #771)
    • install storagemigration group to LegacyResourceScheme (@Iceber, #672)

    Cluster Storage Layer

    Internal Storage Observability

    Metrics with prefix storage_dbstats are now available.

     HELP storage_dbstats_idle The number of idle connections.
    # TYPE storage_dbstats_idle gauge
     storage_dbstats_idle{db_name="clusterpedia"} 1
    # HELP storage_dbstats_in_use The number of connections currently in use.
    # TYPE storage_dbstats_in_use gauge
     storage_dbstats_in_use{db_name="clusterpedia"} 0
    # HELP storage_dbstats_max_idle_closed The total number of connections closed due to SetMaxIdleConns.
    # TYPE storage_dbstats_max_idle_closed gauge
     storage_dbstats_max_idle_closed{db_name="clusterpedia"} 0
    # HELP storage_dbstats_max_idletime_closed The total number of connections closed due to SetConnMaxIdleTime.
    # TYPE storage_dbstats_max_idletime_closed gauge
    ...
    

    Other

    • A shutdown function has been added to the storage factory to allow manual release of the connection pool (@learner0810 @scydas, #724, #749)
    • support for storage to implement custom resource synchro (@Iceber, #677)

    Memory Storage

    • support cluster filter when use memory storage (@huiwq1990, #649)
    • memorystorage: fix deleting cluster info when cleaning a resource (@Iceber, #706)

    Clustersynchro Manager

    • clustersynchro: add initial list phase (@Iceber, #791)

    If a resource is in the status.resources[].initialListPhase state, it means that the cluster data in Clusterpedia Storage is still being initialized and not yet consistent with the source cluster.

    • clustersynchro: add resource synchro metrics (@Iceber, #718)

    Dependency Upgrades

    dependency old version new version
    gorm.io/gorm v1.24.1 1.30.0
    gorm.io/driver/mysql v1.4.4 v1.6.0
    gorm.io/driver/postgres v1.4.5 v1.6.0
    gorm.io/driver/sqlite v1.4.4 v1.6.0
    gorm.io/datatypes v1.0.7 v1.2.5
    github.com/jackc/pgx v4.17.2 v5.7.5
    github.com/go-sql-driver/mysql v1.6.0 v1.9.3

    Contributers

    Thanks everyone who contributed to this release!

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

    Open source →
    Release notes

    Clusterpedia v0.9.0

    Compare

    Choose a tag to compare

    Open source →
  20. v0.9.0-beta.3 02 Jul 2025 pre-release
    Release notes

    What's Changed

    • fix MySQL not allowing default values for JSON column by @scydas in #805
    • internalstorage: fix json builder func for mysql by @Iceber in #806

    Full Changelog: v0.9.0-beta.2...v0.9.0-beta.3

    Open source →
    Release notes

    Clusterpedia v0.9.0-beta.3 Pre-release

    Pre-release

    Compare

    Choose a tag to compare

    Open source →
  21. v0.9.0-beta.2 25 Jun 2025 pre-release
    Release notes

    Merge pull request #802 from Iceber/fix_hack_script

    fix hack/verify-forked-code.sh

    Open source →
    Release notes

    Clusterpedia v0.9.0-beta.2 Pre-release

    Pre-release

    Compare

    Choose a tag to compare

    Open source →
  22. v0.9.0-beta.1 24 Jun 2025 pre-release
    Release notes

    Notable Changes since v0.8.0

    Global Features

    Associated Storage and Querying of Resource-Specific Events

    The related PRs: (@Iceber, #783, #785, #786, #788, #787)

    This feature implements the basic functionality for storing and retrieving event associations. It will be continuously iterated on based on user needs in the future.

    apiVersion: cluster.clusterpedia.io/v1alpha2
    kind: PediaCluster
    metadata:
      name: cluster-example
    spec:
      kubeconfig: "**base64**"
      syncResources:
        - group: ""
          resources:
          - "*"
          eventsInvolvedResources:
          - "pods"
          - "nodes"
    

    Use spec.syncResources.[].eventsInvolvedResources to specify the resources whose events need to be synchronized.
    Note: If eventsInvolvedResources includes resources that have already been synchronized, you'll need to restart the clustersynchro-manager. This behavior will be optimized in the future based on user needs.

    Get Events

    Use the search label search.clusterpedia.io/inject-events=true to request that the returned data includes events.
    The events will be injected into the shadow.clusterpedia.io/events annotation.

    Note: The events are not currently sorted. Event filtering and sorting may be added in the future.

    $ kubectl --cluster kpanda-global -n kpanda-system get po -l "search.clusterpedia.io/inject-events=true" -o yaml
    ...
    - apiVersion: v1
      kind: Pod
      metadata:
        annotations:
          shadow.clusterpedia.io/cluster-name: kpanda-global
          shadow.clusterpedia.io/events: '[{"kind":"Event","apiVersion":"v1","metadata":{"name":"kpanda-clusterpedia-controller-manager-67758bb46d-mpl49.1843f13522e37ad9","namespace":"kpanda-system","uid":"2220a44a-5414-4698-bc89-16ae411f5dc1","resourceVersion":"23444068","creationTimestamp":"2025-06-23T01:49:12Z"},"involvedObject":{"kind":"Pod","namespace":"kpanda-system","name":"kpanda-clusterpedia-controller-manager-67758bb46d-mpl49","uid":"1918b3fb-cf36-4a2f-8f35-2e105210c38c","apiVersion":"v1","resourceVersion":"7019","fieldPath":"spec.containers{kpanda-clusterpedia-controller-manager}"},"reason":"Created","message":"Created container: kpanda-clusterpedia-controller-manager","source":{"component":"kubelet","host":"g-master68"},"firstTimestamp":"2025-05-29T08:11:30Z","lastTimestamp":"2025-06-23T02:57:05Z","count":393,"type":"Normal","eventTime":null,"reportingComponent":"kubelet","reportingInstance":"g-master68"},{"kind":"Event","apiVersion":"v1","metadata":{"name":"kpanda-clusterpedia-controller-manager-67758bb46d-mpl49.1843f215c90791e6","namespace":"kpanda-system","uid":"3e1417e9-68df-4b2a-947e-f8a37178429b","resourceVersion":"23444060","creationTimestamp":"2025-06-23T01:49:12Z"},"involvedObject":{"kind":"Pod","namespace":"kpanda-system","name":"kpanda-clusterpedia-controller-manager-67758bb46d-mpl49","uid":"1918b3fb-cf36-4a2f-8f35-2e105210c38c","apiVersion":"v1","resourceVersion":"7019","fieldPath":"spec.containers{kpanda-clusterpedia-controller-manager}"},"reason":"Pulled","message":"Container ....'
    ...

    Historical Events and Cleanup Policy

    Associated stored events will not be deleted when the corresponding events in the cluster are cleaned up. This means historical events will be retained permanently until the related resource itself is deleted.

    Get Cluster Authentication Info from Secrets

    The related PRs: (@Iceber @scydas, #753, #747)

    You need to enable the feature gate --feature-gates=ClusterAuthenticationFromSecret=true for both clusterpedia-apiserver and clustersynchro-manager.

    Then, configure the PediaCluster and its corresponding authentication Secrets.

    apiVersion: cluster.clusterpedia.io/v1alpha2
    kind: PediaCluster
    metadata:
      name: cluster-example
    spec:
      apiserver: "https://cluster-example.io:8080"
      authenticationFrom:
        kubeconfig:
          name: "cluster-example-auth-kubeconfig"
          key: "kubeconfig"
        ca:
          name: "cluster-example-auth"
          key: "ca.crt"
        cert:
          name: "cluster-example-auth"
          key: "client.crt"
        key:
          name: "cluster-example-auth"
          key: "client.key"
        token:
          name: "cluster-example-auth"
          key: "token"
      syncResources:
        - group: ""
          resources:
          - "*"
    ---
    apiVersion: v1
    data:
      ca.crt: LS0tLS1...base64
      client.crt: LS0tLS1...base64
      client.key: LS0tLS1...base64
    kind: Secret
    metadata:
      name: cluster-example-cert
      namespace: clusterpedia-system
    type: Opaque

    Note: You don’t need to configure every field in spec.authenticationFrom. Just provide a valid combination, such as: 1. Only kubeconfig 2. ca + cert + key 3. ca + token

    Authentication Priority:

    1. spec.kubeconfig > spec.cert & spec.key&spec.token > spec.authenticationFrom
    2. spec.authenticationFrom: .kubeconfig > .cert & .key & .token

    The namespace of the cluster authentication secrets must match the namespace where the Clusterpedia components are deployed.

    Clusterpedia Apiserver

    • apiserver: remove admission middleware (@Iceber, #674)

    Request Forwarding

    In this version, Clusterpedia supports request forwarding to member clusters. This feature is divided into two categories:

    1. Proxy specific subresource requests
    2. Pass through all requests directly

    Stricter authentication configurations have also been introduced for this feature.

    To enable it, you need to turn on the AllowProxyRequestToClusters feature gate and set the appropriate flags in the Clusterpedia API server.

    $ ./bin/apiserver --help
    Resource server flags:
    
          --allow-forward-unsync-resource-request
                    Allow forwarding requests for unsynchronized resource types.By default, only requests for resource types configured in PediaCluster can be forwarded.
          --allow-pediacluster-config-for-proxy-request
                    Allow proxy requests to use the cluster configuration from PediaCluster when authentication information cannot be got from the header.
          --allowed-proxy-subresources strings
                    List of subresources that support proxying requests to the specified cluster, formatted as '[resource/subresource],[subresource],...'. Supported proxy subresources include
                    "services/proxy,pods/proxy,pods/log,pods/exec,pods/attach,pods/portfowrd,nodes/proxy".
          --enable-proxy-path-for-forward-request
                    Add a '/proxy' path in the API to proxy any request.

    Proxying Subresource Requests

    The related PRs: (@Iceber @scydas, #715, #717, #723 , #719)

    Enable this by setting the --allowed-proxy-subresources flag in the Clusterpedia API server.

    $ # Enable the proxy subresources for all resources and the exec subresources of the pods.
    $ ./bin/apiserver --allowed-proxy-subresources "pods/exec,proxy"

    Currently supported subresource requests include:

    • pods/log
    • pods/exec
    • pods/attach
    • pods/portfowrd
    • pods/proxy
    • nodes/proxy
    • services/proxy

    The usage is consistent with native Kubernetes behavior. You can use kubectl to make calls. For example:

    $ kubectl --cluster cluster-example logs nginx
    $ kubectl --cluster cluster-example exec -ti nginx bash

    Request Forwarding

    The related PRs: (@Iceber @scydas, #716, #741, #748, #752)

    Clusterpedia supports three ways to forward requests directly to member clusters:

    1. Enable the --enable-proxy-path-for-forward-request flag. The API server will support proxy-style paths like:
      /apis/clusterpedia.io/v1beta1/resources/clusters//proxy/
    2. Use the HTTP header: X-CLUSTERPEDIA-FORWARD: true
    3. For list requests, use the search label —— search.clusterpedia.io/forward to enable forwarding.
    # kubeconfig
    - cluster:
        insecure-skip-tls-verify: true
        server: https://127.0.0.1:8443/apis/clusterpedia.io/v1beta1/resources/clusters/cluster-example/
      name: cluster-example
    - cluster:
        insecure-skip-tls-verify: true
        server: https://127.0.0.1:8443/apis/clusterpedia.io/v1beta1/resources/clusters/cluster-example/proxy
      name: cluster-example-proxy
    $ kubectl --cluster cluster-example-proxy get po -A
    
    $ kubectl --cluster cluster-example get po -l search.clusterpedia.io/forward=true
    
    $ curl -v -k --cert-type P12 --cert client.p12:password  -H "X-CLUSTERPEDIA-FORWARD: true" "https://localhost:8443/apis/clusterpedia.io/v1beta1/resources/clusters/cluster-example/api/v1/namespaces/clusterpedia-system/pods"

    You can enable a more relaxed mode by setting the --allow-forward-unsync-resource-request flag to allow forwarding requests for unsynchronized resources.

    Authentication for Proxy Requests

    • apiserver: set proxy auth info via request header (@Iceber, #727)

    By default, proxy requests require authentication headers to be passed in the request for the target cluster. These headers include the necessary credentials.

    1. X-Clusterpedia-Proxy-CA
    2. X-Clusterpedia-Proxy-Token
    3. X-Clusterpedia-Proxy-Client-Cert
    4. X-Clusterpedia-Proxy-Client-Key

    Alternatively, you can enable --allow-pediacluster-config-for-proxy-request to reuse the authentication config defined in the PediaCluster.

    Observability

    $ ./bin/apiserver --help
    ...
    Metrics flags:
    
          --allow-metric-labels stringToString
                    The map from metric-label to value allow-list of this label. The key's format is <MetricName>,<LabelName>. The value's format is <allowed_value>,<allowed_value>...e.g.
                    metric1,label1='v1,v2,v3', metric1,label2='v1,v2,v3' metric2,label1='v1,v2,v3'. (default [])
          --allow-metric-labels-manifest string
                    The path to the manifest file that contains the allow-list mapping. The format of the file is the same as the flag --allow-metric-labels. Note that the flag --allow-metric-labels will
                    override the manifest file.
          --disabled-metrics strings
                    This flag provides an escape hatch for misbehaving metrics. You must provide the fully qualified metric name in order to disable it. Disclaimer: disabling metrics is higher in precedence
                    than showing hidden metrics.
          --show-hidden-metrics-for-version string
                    The previous version for which you want to show hidden metrics. Only the previous minor version is meaningful, other values will not be allowed. The format is <major>.<minor>, e.g.:
                    '1.16'. The purpose of this format is make sure you have the opportunity to notice if the next release hides additional metrics, rather than being surprised when they are permanently
                    removed in the release after that.
    ...
    • Metrics now include build info for both Clusterpedia API server and Kubernetes (@Iceber, #695, #694)
    # HELP clusterpedia_build_info [ALPHA] A metric with a constant '1' value labeled by git version, git commit, git tree state, build date, Go version, and compiler from which Clusterpedia was built, and platform on which it is running.
    # TYPE clusterpedia_build_info gauge
    clusterpedia_build_info{build_date="2025-06-17T07:06:13Z",compiler="gc",git_commit="ee85edb72c541ece9e0b2d7da54c0f442e9a1536",git_tree_state="clean",git_version="v0.9.0-beta.0",go_version="go1.23.10",platform="linux/arm64"} 1
    # HELP kubernetes_build_info [ALPHA] A metric with a constant '1' value labeled by major, minor, git version, git commit, git tree state, build date, Go version, and compiler from which Kubernetes was built, and platform on which it is running.
    # TYPE kubernetes_build_info gauge
    kubernetes_build_info{build_date="2025-06-17T07:06:13Z",compiler="gc",git_commit="ee85edb72c541ece9e0b2d7da54c0f442e9a1536",git_tree_state="clean",git_version="v1.31.2",go_version="go1.23.10",major="1",minor="31",platform="linux/arm64"} 1
    

    Other

    • fix the version order of 'discovery.k8s.io' (@Iceber, #659)
    • kubeapiserver: allow using the storage version in request handling (@Iceber, #771)
    • install storagemigration group to LegacyResourceScheme (@Iceber, #672)

    Cluster Storage Layer

    Internal Storage Observability

    Metrics with prefix storage_dbstats are now available.

     HELP storage_dbstats_idle The number of idle connections.
    # TYPE storage_dbstats_idle gauge
     storage_dbstats_idle{db_name="clusterpedia"} 1
    # HELP storage_dbstats_in_use The number of connections currently in use.
    # TYPE storage_dbstats_in_use gauge
     storage_dbstats_in_use{db_name="clusterpedia"} 0
    # HELP storage_dbstats_max_idle_closed The total number of connections closed due to SetMaxIdleConns.
    # TYPE storage_dbstats_max_idle_closed gauge
     storage_dbstats_max_idle_closed{db_name="clusterpedia"} 0
    # HELP storage_dbstats_max_idletime_closed The total number of connections closed due to SetConnMaxIdleTime.
    # TYPE storage_dbstats_max_idletime_closed gauge
    ...
    

    Other

    • A shutdown function has been added to the storage factory to allow manual release of the connection pool (@learner0810 @scydas, #724, #749)
    • support for storage to implement custom resource synchro (@Iceber, #677)

    Memory Storage

    • support cluster filter when use memory storage (@huiwq1990, #649)
    • memorystorage: fix deleting cluster info when cleaning a resource (@Iceber, #706)

    Clustersynchro Manager

    • clustersynchro: add initial list phase (@Iceber, #791)

    If a resource is in the status.resources[].initialListPhase state, it means that the cluster data in Clusterpedia Storage is still being initialized and not yet consistent with the source cluster.

    • clustersynchro: add resource synchro metrics (@Iceber, #718)

    Dependency Upgrades

    dependency old version new version
    gorm.io/gorm v1.24.1 1.30.0
    gorm.io/driver/mysql v1.4.4 v1.6.0
    gorm.io/driver/postgres v1.4.5 v1.6.0
    gorm.io/driver/sqlite v1.4.4 v1.6.0
    gorm.io/datatypes v1.0.7 v1.2.5
    github.com/jackc/pgx v4.17.2 v5.7.5
    github.com/go-sql-driver/mysql v1.6.0 v1.9.3

    Contributers

    Thanks everyone who contributed to this release!

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

    Open source →
    Release notes

    Clusterpedia v0.9.0-beta.1 Pre-release

    Pre-release

    Compare

    Choose a tag to compare

    Open source →
  23. v0.9.0-beta.0.0.20250621062046-86549206cfa8 21 Jun 2025 pre-release

    Nothing published for this version

  24. v0.9.0-beta.0 17 Jun 2025 pre-release
    Release notes

    What's Changed

    • build(deps): bump golang from 1.21.5 to 1.21.6 by @dependabot in #640
    • Change the storage plugin name to sample-storage by @mayur-tolexo in #641
    • feat: add pprof router by @jiuker in #646
    • fix otel trace handler WithTracing, use another func by @KubeKyrie in #638
    • remove useless code and fix typo error by @googs1025 in #653
    • build(deps): bump golangci/golangci-lint-action from 3 to 4 by @dependabot in #652
    • support cluster filter when use memory storage by @huiwq1990 in #649
    • build(deps): bump golangci/golangci-lint-action from 4 to 5 by @dependabot in #658
    • fix the version order of 'discovery.k8s.io' by @Iceber in #659
    • build(deps): bump golangci/golangci-lint-action from 5 to 6 by @dependabot in #664
    • use a separate action to validate the forked code by @Iceber in #669
    • Bump kubernetes to v1.30.2 by @Iceber in #668
    • update hack/.import-aliases by @Iceber in #670
    • golangci-lint: remove deprecated linters by @Iceber in #671
    • install storagemigration group to LegacyResourceScheme by @Iceber in #672
    • apiserver: remove admission middleware by @Iceber in #674
    • apiserver: unlock the RemainingItemCount feature gate by @Iceber in #675
    • e2e: add test for several control plane versions by @Iceber in #676
    • Use actions to install kwokctl by @wzshiming in #596
    • fix the memory version returned by storageconfig factory by @Iceber in #679
    • move discovery, scheme and informer to pkg/runtime by @Iceber in #682
    • add pkg/runtime/resourceconfig.ResourceConfig by @Iceber in #678
    • bump alpine from 3.18.5 to 3.18.8 by @Iceber in #688
    • bump golang from 1.22.4 to 1.22.6 by @Iceber in #689
    • dependabot: ignore minor version for golang and alpine images by @Iceber in #690
    • Bump kubernetes to v1.31.0 by @Iceber in #691
    • bump controller-runtime and controller-tools by @Iceber in #692
    • metrics: use legacyregister instead of new registry by @Iceber in #694
    • kustomize: remove traces config by @Iceber in #693
    • metrics: register clusterpedia and kubernetes build info by @Iceber in #695
    • metrics: add component-base/metrics.Options by @scydas in #696
    • support for storage to implement custom resource synchro by @Iceber in #677
    • build(deps): bump alpine from 3.18.8 to 3.18.9 by @dependabot in #698
    • build(deps): bump golang from 1.22.6 to 1.22.7 by @dependabot in #697
    • build(deps): bump golang from 1.22.7 to 1.22.8 by @dependabot in #701
    • bump kubernetes to v1.31.2 by @Iceber in #704
    • test: check the clusterpedia apiserver before test cases by @Iceber in #705
    • build(deps): bump golang from 1.22.8 to 1.22.9 by @dependabot in #702
    • memorystorage: fix deleting cluster info when cleaning a resource by @Iceber in #706
    • add kubeVela and vCluster in Readme by @pacoxu in #707
    • add memory storage layer v2 by @Iceber in #708
    • internalstorage: add gorm database metrics by @Iceber in #711
    • build(deps): bump golang from 1.22.9 to 1.22.10 by @dependabot in #710
    • internalstorage: add metrics config by @Iceber in #712
    • internalstorage: change the prefix of the db stats metrics by @scydas in #713
    • internalstorage: add trace by @scydas in #714
    • support pod subresources by @Iceber in #715
    • apiserver: Adding RemoteProxyREST for pass-through any requests by @Iceber in #716
    • apiserver: add proxy the proxy subresources of pod/node/service by @scydas in #717
    • apiserver: fix covert connect methods to kube verbs by @scydas in #719
    • build(deps): bump alpine from 3.18.9 to 3.18.10 by @dependabot in #720
    • build(deps): bump alpine from 3.18.10 to 3.18.11 by @dependabot in #721
    • build(deps): bump golang from 1.22.10 to 1.22.11 by @dependabot in #722
    • ci: bump upload artifact to v4 by @Iceber in #726
    • build(deps): bump golang from 1.22.11 to 1.22.12 by @dependabot in #725
    • Support shutting down storage factory by @learner0810 in #724
    • apiserver: add enable subresource options by @Iceber in #723
    • apiserver: set proxy auth info via request header by @Iceber in #727
    • clustersynchro: add resource synchro metrics by @Iceber in #718
    • build(deps): bump alpine from 3.18.11 to 3.18.12 by @dependabot in #728
    • bump go.uber.org/atomic from 1.10.0 to 1.11.0 by @Iceber in #737
    • apiserver: forward request with prefix path or header by @Iceber in #741
    • fix shutdown the storage factory by @scydas in #749
    • apiserver: forward list request with labelselector by @scydas in #748
    • apiserver: fix the query param in proxy requests by @scydas in #750
    • support referencing cluster authentication info from secrets by @Iceber in #747
    • apiserver: add feature gate AllowProxyRequestToClusters by @scydas in #752
    • add feature gate ClusterAuthenticationFromSecret by @scydas in #753
    • bump github.com/stretchr/testify from 1.9.0 to 1.10.0 by @Iceber in #757
    • bump github.com/jinzhu/configor from 1.2.1 to 1.2.2 by @Iceber in #758
    • bump gorm.io dependencies and fix conflicts by @Iceber in #767
    • bump gorm.io/driver/sqlite to v1.5.7 by @Iceber in #769
    • bump github.com/DATA-DOG/go-sqlmock to v1.5.2 by @Iceber in #768
    • bump github.com/jackc/pgx/v5 from 5.5.5 to 5.7.2 by @Iceber in #772
    • kubeapiserver: allow using the storage version in request handling by @Iceber in #771
    • bump golangci-lint to v2 by @Iceber in #784
    • record events for resources by @Iceber in #783
    • internalstorage: add methods for getting resource events by @Iceber in #785
    • add search label to inject events annotation by @Iceber in #786
    • EventsSynchro: handle orphan events by @Iceber in #788
    • EventsSynchro: delete cached event key by @Iceber in #787
    • kubeapiserver: fix typo by @Iceber in #790
    • clustersynchro: check the fields of resourceversions from storage by @Iceber in #789
    • clustersynchro: add initial list phase by @Iceber in #791
    • use sync/atomic instead of go.uber.org/atomic by @Iceber in #792
    • bump gorm.io dependencies by @Iceber in #793

    New Contributors

    Full Changelog: v0.8.0...v0.9.0-beta.0

    Open source →
    Release notes

    Clusterpedia v0.9.0-beta.0 Pre-release

    Pre-release

    Compare

    Choose a tag to compare

    Open source →
  25. v0.9.0-alpha.2 19 May 2025 pre-release
    Release notes

    What's Changed

    • bump gorm.io dependencies and fix conflicts by @Iceber in #767
    • bump gorm.io/driver/sqlite to v1.5.7 by @Iceber in #769
    • bump github.com/DATA-DOG/go-sqlmock to v1.5.2 by @Iceber in #768
    • bump github.com/jackc/pgx/v5 from 5.5.5 to 5.7.2 by @Iceber in #772
    • kubeapiserver: allow using the storage version in request handling by @Iceber in #771
    • bump golangci-lint to v2 by @Iceber in #784
    • record events for resources by @Iceber in #783
    • internalstorage: add methods for getting resource events by @Iceber in #785
    • add search label to inject events annotation by @Iceber in #786
    • EventsSynchro: handle orphan events by @Iceber in #788
    • EventsSynchro: delete cached event key by @Iceber in #787

    Full Changelog: v0.9.0-alpha.1...v0.9.0-alpha.2

    Open source →
    Release notes

    Clusterpedia v0.9.0-alpha.2 Pre-release

    Pre-release

    Compare

    Choose a tag to compare

    Open source →
  26. v0.9.0-alpha.1.0.20250321080451-9df9853ef4df 21 Mar 2025 pre-release

    Nothing published for this version

  27. v0.9.0-alpha.1 18 Mar 2025 pre-release
    Release notes

    What's Changed

    • build(deps): bump golang from 1.21.5 to 1.21.6 by @dependabot in #640
    • Change the storage plugin name to sample-storage by @mayur-tolexo in #641
    • feat: add pprof router by @jiuker in #646
    • fix otel trace handler WithTracing, use another func by @KubeKyrie in #638
    • remove useless code and fix typo error by @googs1025 in #653
    • build(deps): bump golangci/golangci-lint-action from 3 to 4 by @dependabot in #652
    • support cluster filter when use memory storage by @huiwq1990 in #649
    • build(deps): bump golangci/golangci-lint-action from 4 to 5 by @dependabot in #658
    • fix the version order of 'discovery.k8s.io' by @Iceber in #659
    • build(deps): bump golangci/golangci-lint-action from 5 to 6 by @dependabot in #664
    • use a separate action to validate the forked code by @Iceber in #669
    • Bump kubernetes to v1.30.2 by @Iceber in #668
    • update hack/.import-aliases by @Iceber in #670
    • golangci-lint: remove deprecated linters by @Iceber in #671
    • install storagemigration group to LegacyResourceScheme by @Iceber in #672
    • apiserver: remove admission middleware by @Iceber in #674
    • apiserver: unlock the RemainingItemCount feature gate by @Iceber in #675
    • e2e: add test for several control plane versions by @Iceber in #676
    • Use actions to install kwokctl by @wzshiming in #596
    • fix the memory version returned by storageconfig factory by @Iceber in #679
    • move discovery, scheme and informer to pkg/runtime by @Iceber in #682
    • add pkg/runtime/resourceconfig.ResourceConfig by @Iceber in #678
    • bump alpine from 3.18.5 to 3.18.8 by @Iceber in #688
    • bump golang from 1.22.4 to 1.22.6 by @Iceber in #689
    • dependabot: ignore minor version for golang and alpine images by @Iceber in #690
    • Bump kubernetes to v1.31.0 by @Iceber in #691
    • bump controller-runtime and controller-tools by @Iceber in #692
    • metrics: use legacyregister instead of new registry by @Iceber in #694
    • kustomize: remove traces config by @Iceber in #693
    • metrics: register clusterpedia and kubernetes build info by @Iceber in #695
    • metrics: add component-base/metrics.Options by @scydas in #696
    • support for storage to implement custom resource synchro by @Iceber in #677
    • build(deps): bump alpine from 3.18.8 to 3.18.9 by @dependabot in #698
    • build(deps): bump golang from 1.22.6 to 1.22.7 by @dependabot in #697
    • build(deps): bump golang from 1.22.7 to 1.22.8 by @dependabot in #701
    • bump kubernetes to v1.31.2 by @Iceber in #704
    • test: check the clusterpedia apiserver before test cases by @Iceber in #705
    • build(deps): bump golang from 1.22.8 to 1.22.9 by @dependabot in #702
    • memorystorage: fix deleting cluster info when cleaning a resource by @Iceber in #706
    • add kubeVela and vCluster in Readme by @pacoxu in #707
    • add memory storage layer v2 by @Iceber in #708
    • internalstorage: add gorm database metrics by @Iceber in #711
    • build(deps): bump golang from 1.22.9 to 1.22.10 by @dependabot in #710
    • internalstorage: add metrics config by @Iceber in #712
    • internalstorage: change the prefix of the db stats metrics by @scydas in #713
    • internalstorage: add trace by @scydas in #714
    • support pod subresources by @Iceber in #715
    • apiserver: Adding RemoteProxyREST for pass-through any requests by @Iceber in #716
    • apiserver: add proxy the proxy subresources of pod/node/service by @scydas in #717
    • apiserver: fix covert connect methods to kube verbs by @scydas in #719
    • build(deps): bump alpine from 3.18.9 to 3.18.10 by @dependabot in #720
    • build(deps): bump alpine from 3.18.10 to 3.18.11 by @dependabot in #721
    • build(deps): bump golang from 1.22.10 to 1.22.11 by @dependabot in #722
    • ci: bump upload artifact to v4 by @Iceber in #726
    • build(deps): bump golang from 1.22.11 to 1.22.12 by @dependabot in #725
    • Support shutting down storage factory by @learner0810 in #724
    • apiserver: add enable subresource options by @Iceber in #723
    • apiserver: set proxy auth info via request header by @Iceber in #727
    • clustersynchro: add resource synchro metrics by @Iceber in #718
    • build(deps): bump alpine from 3.18.11 to 3.18.12 by @dependabot in #728
    • bump go.uber.org/atomic from 1.10.0 to 1.11.0 by @Iceber in #737
    • apiserver: forward request with prefix path or header by @Iceber in #741
    • fix shutdown the storage factory by @scydas in #749
    • apiserver: forward list request with labelselector by @scydas in #748
    • apiserver: fix the query param in proxy requests by @scydas in #750
    • support referencing cluster authentication info from secrets by @Iceber in #747
    • apiserver: add feature gate AllowProxyRequestToClusters by @scydas in #752
    • add feature gate ClusterAuthenticationFromSecret by @scydas in #753
    • bump github.com/stretchr/testify from 1.9.0 to 1.10.0 by @Iceber in #757
    • bump github.com/jinzhu/configor from 1.2.1 to 1.2.2 by @Iceber in #758

    New Contributors

    Full Changelog: v0.8.0...v0.9.0-alpha.1

    Open source →
    Release notes

    Clusterpedia v0.9.0-alpha.1 Pre-release

    Pre-release

    Compare

    Choose a tag to compare

    Open source →
  28. v0.8.1 29 Apr 2024
    Release notes

    What's Changed

    • [release/0.8] fix the version order of 'discovery.k8s.io' by @Iceber in #660

    Full Changelog: v0.8.0...v0.8.1

    Open source →
    Release notes

    Clusterpedia v0.8.1

    Compare

    Choose a tag to compare

    Open source →
  29. v0.8.1-0.20241129055837-d1abf478047a 29 Nov 2024 pre-release

    Nothing published for this version

  30. v0.8.1-0.20241127085957-7143cb0f919e 27 Nov 2024 pre-release

    Nothing published for this version

  31. v0.8.1-0.20241121004411-ec0fc8e29822 21 Nov 2024 pre-release

    Nothing published for this version

  32. v0.8.1-0.20241119074313-e769a26f8fb6 19 Nov 2024 pre-release

    Nothing published for this version

  33. v0.8.1-0.20241009062222-aca6589a7550 09 Oct 2024 pre-release

    Nothing published for this version

  34. v0.8.1-0.20240909032257-3fb5394a30cd 09 Sep 2024 pre-release

    Nothing published for this version

  35. v0.8.1-0.20240905023415-05f0505cfcec 05 Sep 2024 pre-release

    Nothing published for this version

  36. v0.8.1-0.20240624060847-ac764ed9e888 24 Jun 2024 pre-release

    Nothing published for this version

  37. v0.8.1-0.20240508012606-772b28455709 08 May 2024 pre-release

    Nothing published for this version

  38. v0.8.1-0.20240429042813-789e0b754085 29 Apr 2024 pre-release

    Nothing published for this version

  39. v0.8.1-0.20240219085138-9f61bd231446 19 Feb 2024 pre-release

    Nothing published for this version

  40. v0.8.1-0.20240130055443-1bc7cf6ab815 30 Jan 2024 pre-release

    Nothing published for this version

  41. v0.8.1-0.20240116022427-5750a280d79a 16 Jan 2024 pre-release

    Nothing published for this version

  42. v0.8.1-0.20240110002941-820355a58768 10 Jan 2024 pre-release

    Nothing published for this version

  43. v0.8.0 08 Jan 2024

    Nothing published for this version

  44. v0.8.0-beta.0 26 Dec 2023 pre-release

    Nothing published for this version

  45. v0.8.0-alpha.1.0.20231226052811-b4117dd63e0a 26 Dec 2023 pre-release

    Nothing published for this version

  46. v0.8.0-alpha.1 25 Dec 2023 pre-release

    Nothing published for this version

  47. v0.8.0-alpha.0.0.20231225065816-1f53fc71b511 25 Dec 2023 pre-release

    Nothing published for this version

  48. v0.8.0-alpha.0 21 Dec 2023 pre-release

    Nothing published for this version

  49. v0.7.2 29 Apr 2024

    Nothing published for this version

  50. v0.7.2-rc.0 29 Apr 2024 pre-release

    Nothing published for this version

  51. v0.7.2-0.20240429061749-a9d7bba3366d 29 Apr 2024 pre-release

    Nothing published for this version

  52. v0.7.1 21 Dec 2023

    Nothing published for this version

  53. v0.7.1-rc.1 20 Dec 2023 pre-release

    Nothing published for this version

  54. v0.7.1-rc.0.0.20231220091620-002486a7b89b 20 Dec 2023 pre-release

    Nothing published for this version

  55. v0.7.1-rc.0 27 Nov 2023 pre-release

    Nothing published for this version

  56. v0.7.1-0.20231221085400-0487c809bf23 21 Dec 2023 pre-release

    Nothing published for this version

  57. v0.7.1-0.20231128072140-b7253600480e 28 Nov 2023 pre-release

    Nothing published for this version

  58. v0.7.1-0.20231128051616-ff23b6191d31 28 Nov 2023 pre-release

    Nothing published for this version

  59. v0.7.1-0.20231127105825-cbf0518f039b 27 Nov 2023 pre-release

    Nothing published for this version

  60. v0.7.1-0.20231028211123-df00ef6651cd 28 Oct 2023 pre-release

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive