IP Library Granted Patent US 12,284,076
Granted Patent B2
US 12,284,076 · App. 17/361,065 · Granted Apr 22, 2025

Generating configuration files for configuring an information technology infrastructure

Inventors: Mitchell Hashimoto (Los Angeles, CA); Armon Dadgar (San Francisco, CA); Paul Hinze (Chicago, IL)
Assignee: HashiCorp
H04L41/0803G06F3/0481G06F3/0484G06F8/71G06F9/44505G06F9/451G06F9/453H04L41/0806H04L41/0866H04L41/0893H04L41/22
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,284,076
App. No.
17/361,065
Granted
Apr 22, 2025
Kind
B2
Abstract

A method for generating a configuration file for configuring an information technology infrastructure is provided. The method may include receiving, from a first user at a first client, a first indication to publish an infrastructure module comprising a set of configurations to apply to an information technology infrastructure. The infrastructure module may be stored in a module registry in response to the first indication. A second indication selecting the infrastructure module may be received from a second user at a second client. In response to the second indication, the infrastructure module may be sent from the module registry to the second client for insertion into a configuration file being created at the second client. The insertion of the infrastructure module may incorporate, into configuration file, the set of configurations to apply to the information technology infrastructure. Related systems and articles of manufacture, including computer program products, are also provided.

Claims (36)

1. A system for provisioning an information technology infrastructure, the system comprising:

at least one data processor; and

at least one memory storing instructions which, when executed by the at least one data processor, result in operations comprising:

receiving, from a first client, a request to publish a first set of configurations for the information technology infrastructure;

storing, in a module registry, a first infrastructure module comprising the first set of configurations;

receiving, from a second client, a selection for the first infrastructure module; and sending, from the module registry to the second client, the first infrastructure module for insertion into a configuration file associated with the second client, the insertion of the first infrastructure module incorporating the first set of configurations for the information technology infrastructure.

2. The system of claim 1 , further comprising:

registering, at a version controller, a webhook configured to post a notification in response to a first version of the first infrastructure module and/or a second version of the first infrastructure module provided to the version controller.

3. The system of claim 2 , further comprising:

retrieving, from the version controller, the first version of the first infrastructure module and/or the second version of the first infrastructure module.

4. The system of claim 1 , further comprising:

generating a user interface configured to display, at the second client, a selection of infrastructure modules for insertion into the configuration file, the selection of infrastructure modules including the first infrastructure module, and the selection of infrastructure modules further including a second infrastructure module that comprises a second set of configurations to apply to the information technology infrastructure.

5. The system of claim 4 , further comprising merging, based on input to the user interface, the configuration file into a workspace at the second client, the workspace being configured to maintain a plurality of configurations to apply to the information technology infrastructure, and the merging of the configuration file into the workspace incorporates, into the plurality of configurations maintained by the workspace, the first set of configurations associated with the first infrastructure module.

6. The system of claim 5 , further comprising:

in response to the configuration file being merged into the workspace, sending, to the first client, an indication of the first infrastructure module being used in the workspace.

7. The system of claim 4 , wherein the selection of infrastructure modules further includes a first version of the first infrastructure module and a second version of the first infrastructure module, and wherein an indication from the second client further selects the first version of the first infrastructure module or the second version of the first infrastructure module for insertion into the configuration file.

8. The system of claim 1 , wherein the configuration file includes a programming code-based representation of one or more resources at the information technology infrastructure.

9. The system of claim 1 , wherein applying the first set of configurations at the information technology infrastructure includes provisioning, modifying, and/or de-provisioning one or more resources at the information technology infrastructure.

10. The system of claim 1 , wherein the module registry is associated with an organization, and wherein the module registry is accessible to at least one user based on a role and/or permission associated with the organization.

11. A computer-implemented method for provisioning an information technology infrastructure, the method comprising:

receiving, from a first client, a request to publish a first set of configurations for the information technology infrastructure;

storing, in a module registry, a first infrastructure module comprising the first set of configurations;

receiving, from a second client, a selection for the first infrastructure module; and sending, from the module registry to the second client, the first infrastructure module for insertion into a configuration file associated with the second client, the insertion of the first infrastructure module incorporating the first set of configurations for the information technology infrastructure.

12. The method of claim 11 , further comprising:

registering, at a version controller, a webhook configured to post a notification in response to a first version of the first infrastructure module and/or a second version of the first infrastructure module provided to the version controller.

13. The method of claim 12 , further comprising:

retrieving, from the version controller, the first version of the first infrastructure module and/or the second version of the first infrastructure module.

14. The method of claim 11 , further comprising:

generating a user interface configured to display, at the second client, a selection of infrastructure modules for insertion into the configuration file, the selection of infrastructure modules including the first infrastructure module, and the selection of infrastructure modules further including a second infrastructure module that comprises a second set of configurations to apply to the information technology infrastructure.

15. The method of claim 14 , further comprising merging, based on input to the user interface, the configuration file into a workspace at the second client, the workspace being configured to maintain a plurality of configurations to apply to the information technology infrastructure, and the merging of the configuration file into the workspace incorporates, into the plurality of configurations maintained by the workspace, the first set of configurations associated with the first infrastructure module.

16. The method of claim 15 , further comprising:

in response to the configuration file being merged into the workspace, sending, to the first client, indication of the first infrastructure module being used in the workspace.

17. The method of claim 14 , wherein the selection of infrastructure modules further includes a first version of the first infrastructure module and a second version of the first infrastructure module, and wherein an indication from the second client further selects the first version of the first infrastructure module or the second version of the first infrastructure module for insertion into the configuration file.

18. The method of claim 11 , wherein the configuration file includes a programming code-based representation of one or more resources at the information technology infrastructure.

19. The method of claim 11 , wherein applying the first set of configurations at the information technology infrastructure includes provisioning, modifying, and/or de-provisioning one or more resources at the information technology infrastructure.

20. The method of claim 11 , wherein the module registry is associated with an organization, and wherein the module registry is accessible to at least one user based on a role and/or permission associated with the organization.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2025
From: HASHICORP, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 072476/0436 →
ASSIGNMENT BY DECLARATION OF AFFIDAVIT ERRONEOUSLY FILED AGAINST REEL/FRAME 062789/0083 Recorded Jul 25, 2025
From: HASHICORP, INC.
To: HASHICORP, INC.
Reel/Frame 072224/0716 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2023
From: HASHIMOTO, MITCHELL; DADGAR, ARMON; HINZE, PAUL
To: HASHICORP
Reel/Frame 062789/0083 →
Continuity (6)
Continuation 16503422 · Jul 3, 2019
Continuation In Part 16391258 · Apr 22, 2019
Provisional Application 62776434 · Dec 6, 2018
Provisional Application 62776437 · Dec 6, 2018
Provisional Application 62776433 · Dec 6, 2018
Related Publication 20210328864A1 · Oct 21, 2021
References Cited (73)
US 7512965B1 · Amdur et al. · 2009 [cited by applicant]
US 7865578B1 · Gerraty · 2011 [cited by applicant]
US 9003406B1 · Hodge et al. · 2015 [cited by applicant]
US 9298847B1 · Rohde · 2016 [cited by applicant]
US 9992064B1 · Chawla et al. · 2018 [cited by applicant]
US 10200246B1 · Rachamadugu · 2019 [cited by applicant]
US 10318265B1 · To · 2019 [cited by examiner]
US 10318285B1 · Jodoin et al. · 2019 [cited by applicant]
US 10417013B1 · Anderson · 2019 [cited by examiner]
US 10469330B1 · Roth et al. · 2019 [cited by applicant]
US 10778539B1 · Hussain et al. · 2020 [cited by applicant]
US 11050613B2 · Hashimoto et al. · 2021 [cited by applicant]
US 11050625B2 · Hashimoto et al. · 2021 [cited by applicant]
US 20050262194A1 · Mamou et al. · 2005 [cited by applicant]
US 20060015591A1 · Datla et al. · 2006 [cited by applicant]
US 20060069717A1 · Mamou et al. · 2006 [cited by applicant]
US 20060245354A1 · Gao et al. · 2006 [cited by applicant]
US 20080004922A1 · Eder · 2008 [cited by applicant]
US 20080071588A1 · Eder · 2008 [cited by applicant]
US 20090150887A1 · Sanghvi et al. · 2009 [cited by applicant]
US 20090222540A1 · Mishra et al. · 2009 [cited by applicant]
US 20100161805A1 · Yoshizawa et al. · 2010 [cited by applicant]
US 20110022694A1 · Dalal et al. · 2011 [cited by applicant]
US 20130191543A1 · Abbondanzio et al. · 2013 [cited by applicant]
US 20130232463A1 · Nagaraja et al. · 2013 [cited by applicant]
US 20140282395A1 · Wang et al. · 2014 [cited by applicant]
US 20140365662A1 · Dave et al. · 2014 [cited by applicant]
US 20150052402A1 · Gurumurthy et al. · 2015 [cited by applicant]
US 20150334696A1 · Gu et al. · 2015 [cited by applicant]
US 20150341230A1 · Dave · 2015 [cited by examiner]
US 20160132368A1 · Nano et al. · 2016 [cited by applicant]
US 20170004018A1 · Mangtani et al. · 2017 [cited by applicant]
US 20170026416A1 · Carpenter et al. · 2017 [cited by applicant]
US 20170034023A1 · Nickolov et al. · 2017 [cited by applicant]
US 20170237679A1 · Kumar et al. · 2017 [cited by applicant]
US 20170272321A1 · Ramos da Rocha et al. · 2017 [cited by applicant]
US 20170286136A1 · Dimitrakos · 2017 [cited by examiner]
US 20180027051A1 · Parees et al. · 2018 [cited by applicant]
US 20180165122A1 · Dobrev · 2018 [cited by applicant]
US 20180210707A1 · Stallmann · 2018 [cited by examiner]
US 20190065221A1 · Chauhan · 2019 [cited by examiner]
US 20190068445A1 · Chauhan et al. · 2019 [cited by applicant]
US 20190079751A1 · Foskett et al. · 2019 [cited by applicant]
US 20190294477A1 · Koppes et al. · 2019 [cited by applicant]
US 20190324743A1 · Sajadi · 2019 [cited by applicant]
US 20190327144A1 · Tembey et al. · 2019 [cited by applicant]
US 20200004529A1 · Ravipati et al. · 2020 [cited by applicant]
U.S. Appl. No. 16/391,227, “Final Office Action”, Jul. 28, 2022, 39 pages. [cited by applicant]
U.S. Appl. No. 16/391,227, “Non-Final Office Action”, Feb. 9, 2023, 39 pages. [cited by applicant]
U.S. Appl. No. 16/391,255, “Final Office Action”, Sep. 15, 2022, 25 pages. [cited by applicant]
U.S. Appl. No. 16/503,420, “Final Office Action”, Dec. 2, 2022, 39 pages. [cited by applicant]
U.S. Appl. No. 16/503,421, “Final Office Action”, Jun. 28, 2022, 17 pages. [cited by applicant]
U.S. Appl. No. 16/503,421, “Notice of Allowance”, Jan. 24, 2023, 10 pages. [cited by applicant]
Non-Final Office Action dated Mar. 16, 2020 in U.S. Appl. No. 16/391,227, 30 pages. [cited by applicant]
Non-Final Office Action dated May 8, 2020 in U.S. Appl. No. 16/503,420, 30 pages. [cited by applicant]
Final Office Action dated Jun. 11, 2020 in U.S. Appl. No. 16/391,227, 37 pages. [cited by applicant]
Non-Final Office Action dated Jul. 9, 2020 in U.S. Appl. No. 16/503,421, 18 pages. [cited by applicant]
Final Office Action dated Sep. 3, 2020 in U.S. Appl. No. 16/503,420, 36 pages. [cited by applicant]
Advisory Action dated Nov. 19, 2020 in U.S. Appl. No. 16/391,227, 4 pages. [cited by applicant]
Non-Final Office Action dated Jan. 1, 2021 in U.S. Appl. No. 16/391,255, 23 pages. [cited by applicant]
Non-Final Office Action dated Jan. 28, 2021 in U.S. Appl. No. 16/391,227, 36 pages. [cited by applicant]
Non-Final Office Action dated Feb. 3, 2021 in U.S. Appl. No. 16/391,258, 8 pages. [cited by applicant]
Non-Final Office Action dated Feb. 3, 2021 in U.S. Appl. No. 16/503,422, 8 pages. [cited by applicant]
Final Office Action dated Feb. 9, 2021 in U.S. Appl. No. 16/503,421, 13 pages. [cited by applicant]
Notice of Allowance dated Feb. 22, 2021 in U.S. Appl. No. 16/391,258, 11 pages. [cited by applicant]
Notice of Allowance dated Feb. 22, 2021 in U.S. Appl. No. 16/503,422, 10 pages. [cited by applicant]
Non-Final Office Action dated May 17, 2021 in U.S. Appl. No. 16/503,420, 34 pages. [cited by applicant]
Final Office Action dated Jul. 15, 2021 in U.S. Appl. No. 16/391,227, 37 pages. [cited by applicant]
Final Office Action dated Jul. 26, 2021 in U.S. Appl. No. 16/391,255, 24 pages. [cited by applicant]
Non-Final Office Action dated Sep. 3, 2021 in U.S. Appl. No. 16/503,421, 16 pages. [cited by applicant]
Final Office Action dated Dec. 2, 2021 in U.S. Appl. No. 16/503,420, 39 pages. [cited by applicant]
Advisory Action dated Jan. 20, 2022, from U.S. Appl. No. 16/391,255, 3 pages. [cited by applicant]
Non-Final Office Action dated Feb. 4, 2022, from U.S. Appl. No. 16/391,227, 39 pages. [cited by applicant]