| OLD | NEW |
| (Empty) | |
| 1 // Copyright 2015 The LUCI Authors. All rights reserved. |
| 2 // Use of this source code is governed under the Apache License, Version 2.0 |
| 3 // that can be found in the LICENSE file. |
| 4 |
| 5 // Package cfgclient contains service implementations for the LUCI configuration |
| 6 // service defined in github.com/luci/luci-go/common/config. |
| 7 // |
| 8 // This defines an interface to the LUCI configuration service properties and |
| 9 // files. The interface is designed to be used by services which handle user |
| 10 // data, and has the ability to operate on behalf of authorities, either the |
| 11 // service itself (privileged), on behalf of the user (delegation), or |
| 12 // anonymously. |
| 13 // |
| 14 // This package also offers the concept of resolution, where a configuration |
| 15 // value is transformed into a more versatile application format prior to being |
| 16 // cached and/or returned. Resolution allows configuration data consumers to |
| 17 // handle configuration data as native Go types instead of raw configuration |
| 18 // service data. |
| 19 // |
| 20 // Configuration requests pass through the following layers: |
| 21 // 1) A Backend, which is the configured configuration authority. |
| 22 // 2) Cache resolution, which optionally transforms the data into an |
| 23 // application-specific cachable format. |
| 24 // 3) A cache layer, which caches the data. |
| 25 // 4) Value resolution, which transforms the cached data format from (2) into |
| 26 // a Go value. |
| 27 // 5) The Go value is retuned to the user. |
| 28 // |
| 29 // Layers (2) and (4) are managed by the Resolver type, which is associated by |
| 30 // the application with the underlying configuration data. |
| 31 package cfgclient |
| OLD | NEW |