System and method for enterprise configuration services
Aspects of the present disclosure include systems and methods for building utilization. In one example, a method includes receiving, via an enterprise configuration service, a request from a client device for configuration data, wherein the request identifies the client device, and authenticating, via the enterprise configuration service, the client device against an authentication system to verify an identity of the client device based on the request. The method also includes retrieving, via the enterprise configuration service, the configuration data from a plurality of configuration data sources by making separate requests to each of the plurality of configuration data sources based on the request from the client device, and aggregating, via the enterprise configuration service, the configuration data from the plurality of configuration data sources into a single aggregated response. The method further includes transmitting the configuration data to the client device in the single aggregated response.
1 . A system, comprising:
a memory storing executable instructions; and
one or more processors configured to execute the instructions to:
receive, via a tenancy configuration system installation of an enterprise configuration service, a request from a client device for configuration data, wherein the request identifies the client device, wherein the tenancy configuration system comprises a local installation of the enterprise configuration system accessible to a local team only;
authenticate, via the enterprise configuration service, the client device with an authentication system to verify an identity of the client device based on the request;
retrieve, via the tenancy configuration system installation of the enterprise configuration service, the configuration data from a plurality of configuration data sources comprising at least a property storage system configured to store source code configuration data, a secrets storage system configured to store encrypted sensitive data, and a certificate management system configured to store security certificates, by making separate requests to each of the plurality of configuration data sources based on the request from the client device;
aggregate, via the tenancy configuration system installation of the enterprise configuration service, the configuration data from the plurality of configuration data sources into a single aggregated response; and
transmit the configuration data to the client device in the single aggregated response.
2 . The system of claim 1 , wherein the one or more processors are further configured to: receive, via the enterprise configuration service, a second request from the client device to save a second configuration data, wherein the second request identifies the client device;
authenticate, via the enterprise configuration service, the client device against the authentication system to verify the identity of the client device based on the second request;
divide the second configuration data into a first configuration save request and a second configuration save request; and
save the second configuration data into at least two of the plurality of configuration data sources by transmitting the first configuration save request to a first configuration data source of the plurality of configuration data sources and the second configuration save request to a second configuration data source of the plurality of configuration data sources.
3 . The system of claim 1 , wherein the one or more processors are further configured to execute the instructions to prepare the request, via the client device, by selecting a subset of all accessible configuration data as the configuration data.
4 . The system of claim 1 , wherein the one or more processors are further configured to execute the instructions to subscribe, via the client device, to an event notifier to receive a notification based on a change to the configuration data, and to transmit, via the client device, to the enterprise configuration system, a second request for the configuration data upon receipt of the notification.
5 . The system of claim 1 , comprising a software development and version control system configured to manage source code.
6 . The system of claim 1 , wherein the source code configuration data comprises a static property, a dynamic property, a generated configuration, an infrastructure configuration, or a combination thereof, and wherein the secrets storage system is configure to manage private configuration data, the private configuration data comprising a credential, a password, an application programming interface (API) key, a security certificate, or a combination thereof.
7 . The system of claim 1 , wherein the one or more processors are further configured to execute the instructions to apply, via the client device, the configuration data during startup to set up the client device.
8 . The system of claim 1 , wherein the one or more processors are further configured to install a local configuration service based on receiving a tenancy request, and wherein the local configuration service is included in the tenancy configuration system installation.
9 . The system of claim 8 , wherein the one or more processors are further configured to execute the instructions to:
receive, via the local configuration service, a second request from the client device for a second configuration data, wherein the second request identifies the client device;
authenticate, via the local configuration service, the client device against the authentication system to verify the identity of the client device based on the second request;
retrieve, via the local configuration service, the second configuration data from the plurality of configuration data sources by making separate second requests to each of the plurality of configuration data sources based on the second request from the client device;
aggregate, via the local configuration service, the second configuration data from the plurality of configuration data sources into a second single aggregated response; and
transmit the second configuration data to the client device in the second single aggregated response, wherein the local configuration service is accessible only to users who are members of a team.
10 . The system of claim 9 , wherein the one or more processors are further configured to execute the instructions to permit access to the configuration data only to user accounts belonging to the members of the local team.
11 . The system of claim 8 , wherein the one or more processors are further configured to execute the instructions to install the local configuration service in a server accessible by users who are members of the local team.
12 . The system of claim 1 , wherein the one or more processors are further configured to execute the instructions to display a first native user interface (UI) and second native UI, wherein the first native UI is only operatively coupled to a first configuration data source of the plurality of configuration data sources and configured to issue first native commands to the first configuration data source, and wherein the second native UI is only operatively coupled to a second configuration data source of the plurality of configuration data sources and configured to issue second native commands to the second configuration data source.
13 . The system of claim 12 , wherein the one or more processors are further configured to execute the instructions to display a unified UI operatively coupled to the first configuration data source and to the second configuration data source, and wherein the unified UI is configured to issue the first native commands and the second native commands.
14 . The system of claim 13 , wherein the first and the second native commands comprise a create, a read, an update, and a delete command.
15 . The system of claim 14 , wherein the one or more processors are further configured to display, via the unified UI, a secrets interface configured to create a data path pointing to a private data stored by at least one of the plurality of configuration data sources.
16 . The system of claim 15 , wherein the one or more processors are further configured to validate, via the secrets interface, the data path and to visually indicate if the data path is valid.
17 . A non-transitory machine-readable medium storing instructions that, when executed by a computer system, cause the computer system to perform operations comprising:
receiving, via a tenancy configuration system installation of an enterprise configuration service, a request from a client device for configuration data, wherein the request identifies the client device, wherein the tenancy configuration system comprises a local installation of the enterprise configuration system accessible to a local team only;
authenticating, via the enterprise configuration service, the client device against an authentication system to verify an identity of the client device based on the request;
retrieving, via the tenancy configuration system installation of the enterprise configuration service, the configuration data from a plurality of configuration data sources comprising at least a property storage system configured to store source code configuration data, a secrets storage system configured to store encrypted sensitive data, and a certificate management system configured to store security certificates, by making separate requests to each of the plurality of configuration data sources based on the request from the client device;
aggregating, via the tenancy configuration system installation of the enterprise configuration service, the configuration data from the plurality of configuration data sources into a single aggregated response; and
transmitting the configuration data to the client device in the single aggregated response.
18 . The non-transitory machine-readable medium of claim 17 , wherein the operations further comprise:
receiving, via the enterprise configuration service, a second request from the client device to save a second configuration data, wherein the second request identifies the client device;
authenticating, via the enterprise configuration service, the client device against the authentication system to verify the identity of the client device based on the second request;
dividing the second configuration data into a first configuration save request and a second configuration save request; and
saving the second configuration data into at least two of the plurality of configuration data sources by transmitting the first configuration save request to a first configuration data source of the plurality of configuration data sources and the second configuration save request to a second configuration data source of the plurality of configuration data sources.
19 . A method, comprising:
receiving, via a tenancy configuration system installation of an enterprise configuration service, a request from a client device for configuration data, wherein the request identifies the client device, wherein the tenancy configuration system comprises a local installation of the enterprise configuration system accessible to a local team only;
authenticating, via the enterprise configuration service, the client device against an authentication system to verify an identity of the client device based on the request;
retrieving, via the tenancy configuration system installation of the enterprise configuration service, the configuration data from a plurality of configuration data sources by making separate requests to each of the plurality of configuration data sources comprising at least a property storage system configured to store source code configuration data, a secrets storage system configured to store encrypted sensitive data, and a certificate management system configured to store security certificates, based on the request from the client device;
aggregating, via the tenancy configuration system installation of the enterprise configuration service, the configuration data from the plurality of configuration data sources into a single aggregated response; and
transmitting the configuration data to the client device in the single aggregated response.
20 . The method of claim 19 , further comprising:
receiving, via the enterprise configuration service, a second request from the client device to save a second configuration data, wherein the second request identifies the client device;
authenticating, via the enterprise configuration service, the client device against the authentication system to verify the identity of the client device based on the second request;
dividing the second configuration data into a first configuration save request and a second configuration save request; and
saving the second configuration data into at least two of the plurality of configuration data sources by transmitting the first configuration save request to a first configuration data source of the plurality of configuration data sources and the second configuration save request to a second configuration data source of the plurality of configuration data sources.