U.S. Patent Pub. No. 20220350587 - Prepared by Attorney David Tran for Salesforce, Inc. and filed by Weaver (WAVS IP)
Brief Description: The deployment orchestrator 310 may be configured to download the packaged service 215 (e.g., the Helm chart) from the artifact repository 220. The deployment orchestrator 310 may be configured to access configuration data 305 and use the configuration data 305 to update the packaged service 215 during run time. In some implementations, the configuration data 305 may include environment-related data 405 and infrastructure-related data 410 (as shown in diagram 400 of FIG. 4A). In some implementations, the environment-related data 405 may be stored in a bom.yaml configuration file, where “bom” represents “bill of material”, and “yaml” represents “yaml ain't markup language”. FIG. 4B1 shows an example environment-related data 405 in a bom.yaml file. In some implementations, the infrastructure-related data 410 may be stored in a fabric.yaml configuration file. FIG. 4B2 shows an example of infrastructure-related data 410 in a fabric.yaml configuration file. In some implementations, the configuration data 305 may be maintained by service owners or administrators associated with the service. The configuration data 305 may be generated independently of or external to the service. The configuration data 305 may be stored in a repository (e.g., GitHub repository). The deployment orchestrator 310 may be configured to read the configuration data 305 and incorporate them into the docker container associated with the deployment orchestrator 310. The deployment orchestrator 310 may be configured to retrieve a packaged service 215 from the artifact repository 220 based on the information included in the configuration data 305. In some implementations, the packaged service 215 may be generic with regard to certain configurable values. For example, the packaged service 215 may not have any values related to versioning such as a version of an application associated with the service and a version associated with a packaged service (e.g., Helm chart). Without the versioning information, it may be difficult to map a version of an application to a version of a packaged service. The deployment orchestrator 310 may use the values in the bom.yaml configuration file and the fabric.yaml configuration file to expand the values in the packaged service (e.g., Helm charts) 215 to enable the packaged service 215 to be deployable in the cluster 315. For example, the deployment orchestrator 310 may be configured to read the fabric.yaml configuration file shown in FIG. 4B2 for infrastructure details such as Kubernetes namespace, number of replicas and deployment timeout information.