Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature][Version Management] Track the distinct versions across customers and the lead time for the customers to upgrade to the latest version #7415

Open
2 of 3 tasks
Startrekzky opened this issue Apr 30, 2024 · 1 comment
Assignees
Labels
type/feature-request This issue is a proposal for something new
Milestone

Comments

@Startrekzky
Copy link
Contributor

Search before asking

  • I had searched in the issues and found no similar feature requirement.

Use case

This is a use case contributed by a DevLake user:

Untitled-2023-09-13-1844

They release a new "cluster chart" at regular intervals, but enterprise customers, each with unique change requirements and schedules, may not upgrade immediately.

As shown in the diagram, they serve multiple customers. Each customer may have one or more management clusters, primarily for georeplication. Each management cluster oversees multiple workload clusters (corresponding to different development stages like dev, staging, prod).

This DevLake user's primary concern is to minimize the number of distinct cluster chart versions in circulation to reduce maintenance costs. They track the time from a new cluster chart release to its deployment across most workload clusters. Additionally, they need to segment deployment data by customer, management cluster name, type (WAS, Azure, VMware, bare metal), and workload cluster name.

To measure the percentage of workload clusters on a specific release version, we need to know how many workload clusters are there in total. We can approximate this number using the total number of workload clusters we have seen in the past.

Description

No response

Related issues

#6959

Are you willing to submit a PR?

  • Yes I am willing to submit a PR!

Code of Conduct

@Startrekzky Startrekzky added the type/feature-request This issue is a proposal for something new label Apr 30, 2024
@Startrekzky Startrekzky added this to the v1.1 milestone Apr 30, 2024
@d4x1
Copy link
Contributor

d4x1 commented Apr 30, 2024

To accomplish this feature. I think these things must be done:

  1. Fetch upcoming and historical releases automatically. For example, if users are using GitHub to manage releases, then we can fetch release via GitHub's API (https://docs.github.com/en/graphql/reference/objects#release).
    Optional: Add a new webhook which can be used to post releases by users.
  2. add a new table called cicd_deployment_attributes, use it to store the deployments additional attributes. It has three columns deployment_id attribute_name and attribute_value at least.

With these changes, we can calculate deployments's metrics group by custom attributes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/feature-request This issue is a proposal for something new
Projects
None yet
Development

No branches or pull requests

2 participants