IP Library Granted Patent US 12,360,880
Granted Patent B2
US 12,360,880 · App. 18/734,726 · Granted Jul 15, 2025

Infrastructure quality assurance framework

Inventors: Srirama Murthy Chivukula (Louisville, KY); Mohan Chintakayala (Louisville, KY); Sumit Kumar Singh (Columbia, MO); Keith Hamilton Meyer (Louisville, KY); Stephen Beasey (Louisville, KY)
Assignee: Humana Inc.
G06F11/3616G06F8/73G06F11/3688G06F21/577G06F2221/033
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,360,880
App. No.
18/734,726
Granted
Jul 15, 2025
Kind
B2
Abstract

Systems and methods for providing an automated quality assurance framework for infrastructure as code (“IaC”) implementations are provided. Pull requests with proposed change to existing IaC source code (“changed code”) are received from user devices, each associated with either a service enablement team member or an applications development team member. Team specific versions of the quality assurance framework are automatically triggered for the changed code which require successful passage through multiple modules, such as in a successive manner, before automatically being merged into the existing IaC source code.

Claims (127)

1. A method for providing an automated quality assurance framework for infrastructure as code (“IaC”) implementations, said method comprising the steps of:

electronically receiving a pull request associated with a proposed change to existing IaC source code (“changed code”) from a device identified as associated with one of: a service enablement team member and an applications development team member;

where said pull request originates from a device indicated as associated with the service enablement team member, electronically and automatically:

applying a naming and documentation check module to the changed code which compares names in the changed code against a database of names for a match and verifies that updates have been made to an electronic log;

applying a coding standards check module to the changed code which verifies that predetermined syntax standards are adhered to in the changed code; and

applying a test case and security check module to the changed code which verifies that a predetermined test case is executable in the changed code and that configurations are utilized in the changed code; and

where said pull request originates from a device indicated as associated with the applications development team member, electronically and automatically:

applying an infrastructure validations module to the changed code which compares at least part of the changed code against at least some aspects of a prior version of the existing IaC source code;

applying a coding standards and compliance check module to the changed code which verifies that predetermined standards present in the changed code; and

applying the test case and security check module to the changed code.

2. The method of claim 1 further comprising:

creating a new working code area within said a source code repository for temporary storage of said changed code for each of said pull requests;

upon receipt of data indicating successful completion of the quality assurance framework, automatically and electronically merging the changed code into the existing IaC source code;

generating a failure notification where the quality assurance framework associated with the respective one of the pull requests is not successfully passed; and

transmitting the respective one of the failure notifications to a user device from which the respective one of the pull requests is indicated as originating, wherein each of said failure notifications comprise an indication of which portion of said quality assurance framework was not successfully passed for said respective one of said pull requests.

3. The method of claim 2 wherein:

said step of merging the changed code into the existing IaC source code comprises:

creating a new release; and

tagging the changed code with a new tag.

4. The method of claim 1 further comprising:

triggering a manual review of the changed code.

5. The method of claim 1 wherein:

said naming and documentation check module comprises:

a branch naming standards module which compares branch names used against a database of predetermined, acceptable naming standards; and

a documentation check module which verifies that modifications have been made to a change log file.

6. The method of claim 1 wherein:

said coding standards check module comprises:

a parameter syntax check module which verifies that variable types and descriptions are provided; and

a provider syntax check module which verifies that specific provider configuration fields are provided.

7. The method of claim 1 wherein:

said test case and security check module comprises:

a predefined test cases module which applies a predefined test case simulating deployment or use to the changed code; and

a security check module which verifies that certain predetermined, recommended security configurations are utilized in the changed code.

8. The method of claim 1 wherein:

the infrastructure validations module comprises a day zero infrastructure comparison module which compares the changed code against a prior version of the existing IaC source code values provided by a user.

9. The method of claim 1 wherein:

the coding standards and compliance check module comprises:

a lifecycle check module which verifies that an up-to-date tag is provided with the changed code;

a parameter value check module which verifies that certain predetermined disaster recommendations are followed; and

a provider syntax check module which compares the changed code against a database of acceptable syntax.

10. The method of claim 1 wherein:

said naming and documentation check module comprises:

a branch naming standards module which compares branch names used against a database of predetermined, acceptable naming standards; and

a documentation check module which verifies that modifications have been made to a change log file;

said coding standards check module comprises:

a parameter syntax check module which verifies that variable types and descriptions are provided; and

a provider syntax check module which verifies that specific provider configuration fields are provided;

said test case and security check module comprises:

a predefined test cases module which applies a predefined test case simulating deployment or use to the changed code; and

a security check module which verifies that certain predetermined, recommended security configurations are utilized in the changed code;

the infrastructure validations module comprises a day zero infrastructure comparison module which compares the changed code against a prior version of the existing IaC source code values provided by a user; and

the coding standards and compliance check module comprises:

a lifecycle check module which verifies that an up-to-date tag is provided with the changed code;

a parameter value check module which verifies that certain predetermined disaster recommendations are followed; and

a provider syntax check module which compares the changed code against a database of acceptable syntax.

11. A system for providing an automated quality assurance framework for infrastructure as code (“IaC”) implementations, said system comprising:

an IaC source code repository storing existing IaC source code;

user devices, a first of which is associated with an applications development team member, and a second of which is associated with a service enablement team member;

one or more electronic storage devices comprising software instructions, which when executed, configure one or more processors to:

receive pull requests, each associated with a proposed change to the existing IaC source code (“changed code”) and indicated as originating from the first one or the second one of the user devices;

where a respective one of the pull requests is indicated as originating from the first one of the user devices:

apply a naming and documentation check module to the changed code which compares certain names in the changed code against a database of names for a match and verify that updates have been made to a certain log when applied;

apply a coding standards check module to the changed code which verifies that certain predetermined syntax standards are adhered to in the changed code when applied; and

apply a test case and security check module to the changed code which verifies that at least one predetermined test case is executable in the changed code and that certain configurations are utilized in the changed code when applied;

where the respective one of the pull requests is indicated as originating from the second one of the user devices:

apply an infrastructure validations module to the changed code which compares at least part of the changed code against at least certain aspects of at least one prior version of the existing IaC source code when applied;

apply a coding standards and compliance check module to the changed code which verifies that certain predetermined standards present in the changed code when applied; and

apply the test case and security check module to the changed code.

12. The system of claim 11 wherein:

said one or more electronic storage devices comprise additional software instructions, which when executed, configure the one or more processors to:

create a new working code area within said source code repository for temporary storage of said changed code for each of said pull requests;

automatically merge the changed code into the existing IaC source code stored at the IaC source code repository following receipt of data indicating successful completion of the quality assurance framework;

generate a failure notification where the quality assurance framework associated with the respective one of the pull requests is not successfully passed; and

transmit the respective one of the failure notifications to the user device from which the respective one of the pull requests is indicated as originating, wherein each of said failure notifications comprise an indication of which portion of said quality assurance framework was not successfully passed for said respective one of said pull requests.

13. The system of claim 11 wherein:

said naming and documentation check module comprises:

a branch naming standards module which compares branch names used against a database of predetermined, acceptable naming standards; and

a documentation check module which verifies that modifications have been made to a change log file;

said coding standards check module comprises:

a parameter syntax check module which verifies that variable types and descriptions are provided; and

a provider syntax check module which verifies that specific provider configuration fields are provided;

said test case and security check module comprises:

a predefined test cases module which applies a predefined test case simulating deployment or use to the changed code; and

a security check module which verifies that certain predetermined, recommended security configurations are utilized in the changed code;

the infrastructure validations module comprises a day zero infrastructure comparison module which compares the changed code against a prior version of the existing IaC source code values provided by a user; and

the coding standards and compliance check module comprises:

a lifecycle check module which verifies that an up-to-date tag is provided with the changed code;

a parameter value check module which verifies that certain predetermined disaster recommendations are followed; and

a provider syntax check module which compares the changed code against a database of acceptable syntax.

14. The system of claim 11 wherein:

said naming and documentation check module comprises:

a branch naming standards module which compares branch names used against a database of predetermined, acceptable naming standards; and

a documentation check module which verifies that modifications have been made to a change log file.

15. The system of claim 11 wherein:

said coding standards check module comprises:

a parameter syntax check module which verifies that variable types and descriptions are provided; and

a provider syntax check module which verifies that specific provider configuration fields are provided.

16. The system of claim 11 wherein:

said test case and security check module comprises:

a predefined test cases module which applies a predefined test case simulating deployment or use to the changed code; and

a security check module which verifies that certain predetermined, recommended security configurations are utilized in the changed code.

17. The system of claim 11 wherein:

the infrastructure validations module comprises a day zero infrastructure comparison module which compares the changed code against a prior version of the existing IaC source code values provided by a user.

18. The system of claim 11 wherein:

the coding standards and compliance check module comprises:

a lifecycle check module which verifies that an up-to-date tag is provided with the changed code;

a parameter value check module which verifies that certain predetermined disaster recommendations are followed; and

a provider syntax check module which compares the changed code against a database of acceptable syntax.

19. A system for providing an automated quality assurance framework for infrastructure as code (“IaC”) implementations, said system comprising:

an IaC source code repository storing existing IaC source code;

user devices, a first of which is associated with an applications development team member, and a second of which is associated with a service enablement team member;

one or more electronic storage devices comprising software instructions, which when executed, configure one or more processors to:

receive pull requests, each associated with a proposed change to the existing IaC source code (“changed code”) and indicated as originating from the first one or the second one of the user devices;

create a new working code area within said source code repository for temporary storage of said changed code for each of said pull requests;

where a respective one of the pull requests is indicated as originating from the first one of the user devices, automatically apply an applications development specific quality assurance framework module;

where the respective one of the pull requests is indicated as originating from the second one of the user devices, automatically apply a service enablement team specific quality assurance framework module which is different from the applications development specific quality assurance framework module;

following receipt of data indicating successful completion of respective the quality assurance framework module for the changed code associated with the respective one of the pull requests, merge the changed code from the new working code area into the existing IaC source code stored at the IaC source code repository for execution;

following receipt of data indicating that the respective quality assurance framework module is not successfully passed for the changed code associated with the respective one of the pull requests, generate and transmit a failure notification to the user device from which the respective one of the pull requests is indicated as originating, where said failure notification indicates which portion of said quality assurance framework module was not successfully passed for said respective one of said pull requests.

20. The system of claim 19 wherein:

the applications development specific quality assurance framework module, when executed, configures the one or more processor to:

apply a naming and documentation check module to the changed code which compares certain names in the changed code against a database of names for a match and verify that updates have been made to a certain log when applied;

apply a coding standards check module to the changed code which verifies that certain predetermined syntax standards are adhered to in the changed code when applied; and

apply a test case and security check module to the changed code which verifies that at least one predetermined test case is executable in the changed code and that certain configurations are utilized in the changed code when applied; and

the service enablement team specific quality assurance framework module, when executed, configures the one or more processor to:

apply an infrastructure validations module to the changed code which compares at least part of the changed code against at least certain aspects of at least one prior version of the existing IaC source code when applied;

apply a coding standards and compliance check module to the changed code which verifies that certain predetermined standards present in the changed code when applied; and

apply the test case and security check module to the changed code.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2024
From: CHIVUKULA, SRIRAMA MURTHY; CHINTAKAYALA, MOHAN; SINGH, SUMIT KUMAR; MEYER, KEITH HAMILTON; BEASEY, STEPHEN
To: HUMANA INC.
Reel/Frame 069297/0690 →
Continuity (2)
Continuation 17517739 · Nov 3, 2021
Related Publication 20240330150A1 · Oct 3, 2024
References Cited (24)
US 10827036B2 · Newman et al. · 2020 [cited by applicant]
US 11301357B1 · Gacek et al. · 2022 [cited by applicant]
US 11537392B2 · Kay et al. · 2022 [cited by applicant]
US 11604626B1 · Sawant et al. · 2023 [cited by applicant]
US 12026082B2 · Chivukula · 2024 [cited by examiner]
US 20130152047A1 · Moorthi · 2013 [cited by examiner]
US 20190294528A1 · Avisror et al. · 2019 [cited by applicant]
US 20190324727A1 · Carranza et al. · 2019 [cited by applicant]
US 20200177457A1 · Seenappa et al. · 2020 [cited by applicant]
US 20200394036A1 · Morneau · 2020 [cited by applicant]
US 20210011714A1 · Goodsitt et al. · 2021 [cited by applicant]
US 20210406152A1 · Quemy · 2021 [cited by applicant]
US 20230124113A1 · Hudson et al. · 2023 [cited by applicant]
US 20230132560A1 · Bunciak et al. · 2023 [cited by applicant]
US 20230136623A1 · Chivukula et al. · 2023 [cited by applicant]
Jlpiedrahita, “branch-naming-check”, Github (Year: 2018). [cited by applicant]
Azizfcb, “Adding a checker mode to verify that all variables referenced in tasks or roles are defined”, Github (Year: 2016). [cited by applicant]
Cpdohert et al., “Required features field in provider configuration”. Github (Year: 2020). [cited by applicant]
Rajora, “Git Tags”, toolsqa.com, (Year: 2021). [cited by applicant]
Levedahl, “git-bundle(1)—Linux man page”, linux.die.net, (Year: 2016). [cited by applicant]
Vonc et al., “Backup a GitHub repository”, stackoverflow.com (Year: 2009). [cited by applicant]
“About Pull Requests”, Github (Year: 2021). [cited by applicant]
Git, “Recording Changes to the Repository”, git-scm.com (Year: 2021). [cited by applicant]
Sunriax et al., “C# Check if github Changelog is changed and make label it's a new Update”, Stackoverflow (Year: 2020). [cited by applicant]