IP Library Granted Patent US 12,131,189
Granted Patent B2
US 12,131,189 · App. 18/104,806 · Granted Oct 29, 2024

Change management service

Inventors: Thomas James O'Rourke (Surrey, GB); Brian Davis (Valrico, FL); Abhinandan Baheti (Bhilwara, IN); Matthew Carpenter (Kent, GB); Vivek Kumar Singh (Zurich, CH)
Assignee: VMware LLC
G06F9/5005G06F9/54H04L41/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,131,189
App. No.
18/104,806
Granted
Oct 29, 2024
Kind
B2
Abstract

A computer-implemented method, computer-readable medium, and computer system that involve operations including receiving, from a computing cluster, a first request for changing a first object type specified by an approval policy resource, where the approval policy resource is a first one of a plurality of custom resources; identifying, in response to receiving the first request and using a second custom resource of the plurality, an approval process associated with the first object type; performing the approval process associated with the first object type; and sending, to the computing cluster, a first notification indicating that the request has been approved.

Claims (58)

1. A computer-implemented method performed by an operator in a containerized environment, the method comprising:

receiving, from a computing cluster in the containerized environment, a first request for changing a first object type specified by an approval policy resource, wherein the approval policy resource is a first one of a plurality of custom resources, the computing cluster comprising a plurality of nodes running containerized applications;

identifying, in response to receiving the first request and using a second custom resource of the plurality, an approval process associated with the first object type;

performing the approval process associated with the first object type, wherein performing the approval process associated with the first object type comprises adding an annotation to the first object type that indicates that the first object type is approved; and

sending, to the computing cluster, a first notification indicating that the request has been approved.

2. The computer-implemented method of claim 1 , wherein the operator comprises a mutating admission webhook, and wherein receiving, from a computing cluster, a first request for changing a first object type specified by the approval policy resource comprises:

monitoring, using the mutating admission webhook, a plurality of requests received via a Kubernetes application programming interface (API), each of the plurality of requests comprising an API kind;

comparing each of the API kinds to a plurality of object types specified by the approval policy resource; and

determining that a first API kind in the first request corresponds to the first object type.

3. The computer-implemented method of claim 1 , wherein performing the approval process associated with the first object type further comprises:

identifying, using a third custom resource of the plurality, one or more approvers responsible for approving the first object type;

assigning the first request to the one or more approvers; and

receiving an indication, from the one or more approvers, that the first request has been approved.

4. The computer-implemented method of claim 1 , further comprising:

sending, to the computing cluster, a second notification indicating that the first request is undergoing an approval process.

5. The computer-implemented method of claim 4 , wherein the second notification comprises at least one of: an approval identifier (ID) associated with the first request or a link to a user interface for tracking a status of the first request.

6. The computer-implemented method of claim 1 , wherein the approval policy resource specifies a plurality of object types that require approval, the plurality of object types comprising one or more of: (i) Node Group requests, (ii) Compliance and security exceptions, (iii) New infrastructure requests, (iv) Network changes, (v) protected application configuration changes, and Cluster-level resource access.

7. The computer-implemented method of claim 1 , further comprising:

receiving a second request for changing the first object type; and

automatically approving, based at least in part on the annotation, the second request without performing the approval process associated with the first object type.

8. The computer-implemented method of claim 1 , wherein the operator is a Kubernetes operator and the computing cluster is a Kubernetes cluster.

9. A non-transitory computer-readable medium storing instructions which, when executed by a hardware-based processor, performs operations comprising:

receiving, by an operator in a containerized environment and from a computing cluster, a first request for changing a first object type specified by an approval policy resource, wherein the approval policy resource is a first one of a plurality of custom resources;

identifying, in response to receiving the first request and using a second custom resource of the plurality, an approval process associated with the first object type;

performing the approval process associated with the first object type, wherein performing the approval process comprises adding an annotation to the first object type that indicates that the first object type is approved; and

sending, to the computing cluster, a first notification indicating that the request has been approved.

10. The non-transitory computer-readable medium of claim 9 , wherein the operator comprises a mutating admission webhook, and wherein receiving, from the computing cluster, a first request for changing a first object type specified by the approval policy resource comprises:

monitoring, using the mutating admission webhook, a plurality of requests received via an application programming interface (API), each of the plurality of requests comprising an API kind;

comparing each of the API kinds to a plurality of object types specified by the approval policy resource; and

determining that a first API kind in the first request corresponds to the first object type.

11. The non-transitory computer-readable medium of claim 9 , wherein performing the approval process associated with the first object type further comprises:

identifying, using a third custom resource of the plurality, one or more approvers responsible for approving the first object type;

assigning the first request to the one or more approvers; and

receiving an indication, from the one or more approvers, that the first request has been approved.

12. The non-transitory computer-readable medium of claim 9 , the operations further comprising:

sending, to the computing cluster, a second notification indicating that the first request is undergoing an approval process.

13. The non-transitory computer-readable medium of claim 12 , wherein the second notification comprises at least one of: an approval identifier (ID) associated with the first request or a link to a user interface for tracking a status of the first request.

14. The non-transitory computer-readable medium of claim 9 , wherein the approval policy resource specifies a plurality of object types that require approval, the plurality of object types comprising one or more of: (i) Node Group requests, (ii) Compliance and security exceptions, (iii) New infrastructure requests, (iv) Network changes, (v) protected application configuration changes, and Cluster-level resource access.

15. The non-transitory computer-readable medium of claim 9 , further comprising:

receiving a second request for changing the first object type; and

automatically approving, based at least in part on the annotation, the second request without performing the approval process associated with the first object type.

16. The non-transitory computer-readable medium of claim 9 , wherein the operator is a Kubernetes operator and the computing cluster is a Kubernetes cluster.

17. A system comprising:

one or more processors including a hardware-based processor; and

a memory storage including a non-transitory computer-readable medium storing instructions which, when executed by the one or more processors including the hardware-based processor, performs operations comprising:

receiving, by an operator in a containerized environment and from a computing cluster, a first request for changing a first object type specified by an approval policy resource, wherein the approval policy resource is a first one of a plurality of custom resources;

identifying, in response to receiving the first request and using a second custom resource of the plurality, an approval process associated with the first object type;

performing the approval process associated with the first object type, wherein performing the approval process comprises adding an annotation to the first object type that indicates that the first object type is approved; and

sending, to the computing cluster, a first notification indicating that the request has been approved.

18. The system of claim 17 , wherein the operator comprises a mutating admission webhook, and wherein receiving, from the computing cluster, a first request for changing a first object type specified by the approval policy resource comprises:

monitoring, using the mutating admission webhook, a plurality of requests received via an application programming interface (API), each of the plurality of requests comprising an API kind;

comparing each of the API kinds to a plurality of object types specified by the approval policy resource; and

determining that a first API kind in the first request corresponds to the first object type.

19. The system of claim 18 , wherein performing the approval process associated with the first object type further comprises:

identifying, using a third custom resource of the plurality, one or more approvers responsible for approving the first object type;

assigning the first request to the one or more approvers; and

receiving an indication, from the one or more approvers, that the first request has been approved.

20. The system of claim 18 , wherein the operator is a Kubernetes operator and the computing cluster is a Kubernetes cluster.

Assignments (2)
CHANGE OF NAME Recorded May 8, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067355/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2023
From: O'ROURKE, THOMAS JAMES; DAVIS, BRIAN; BAHETI, ABHINANDAN; CARPENTER, MATTHEW; SINGH, VIVEK KUMAR
To: VMWARE, INC.
Reel/Frame 062567/0187 →
Priority Claims (1)
IN 202241069046 · Nov 30, 2022 · national
Continuity (1)
Related Publication 20240176660A1 · May 30, 2024