Skip to content

Commit 052ad43

Browse files
committed
docs: update docs for new enterprise default cfg
Add documentation about the new enterprise/registry settings.
1 parent 4d250b3 commit 052ad43

File tree

4 files changed

+60
-2
lines changed

4 files changed

+60
-2
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@ See detailed information [here](https://aka.ms/gcmcore-httpproxy).
189189
- [Command-line usage](docs/usage.md)
190190
- [Configuration options](docs/configuration.md)
191191
- [Environment variables](docs/environment.md)
192+
- [Enterprise configuration](docs/enterprise-config.md)
192193
- [Network and HTTP configuration](docs/netconfig.md)
193194
- [Architectural overview](docs/architecture.md)
194195
- [Host provider specification](docs/hostprovider.md)

docs/configuration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Global configuration settings override system configuration settings, and local
88
GCM Core honors several levels of settings, in addition to the standard local \> global \> system tiering Git uses.
99
URL-specific settings or overrides can be applied to any value in the `credential` namespace with the syntax below.
1010

11-
Additionally, GCM Core respects several GCM-specific [environment variables](environment.md) **which take precedence over configuration options.**
11+
Additionally, GCM Core respects several GCM-specific [environment variables](environment.md) **which take precedence over configuration options**. System administrators may also configure [default values](enterprise-config.md) for many settings used by GCM Core.
1212

1313
GCM Core will only be used by Git if it is installed and configured. Use `git config --global credential.helper manager-core` to assign GCM Core as your credential helper. Use `git config credential.helper` to see the current configuration.
1414

docs/enterprise-config.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Enterprise configuration defaults
2+
3+
Git Credential Manager Core (GCM Core) can be configured using multiple
4+
different mechanisms. In order of preference, those mechanisms are:
5+
6+
1. [Environment variables](environment.md)
7+
2. [Standard Git configuration files](configuration.md)
8+
1. Repository/local configuration (`.git/config`)
9+
2. User/global configuration (`$HOME/.gitconfig` or `%HOME%\.gitconfig`)
10+
3. Installation/system configuration (`etc/gitconfig`)
11+
3. Operating system specific configuration store
12+
13+
This model largely matches what Git itself supports, namely environment
14+
variables that take precedence over Git configuration files.
15+
16+
The addition of the operating system specific configuration store enables system
17+
administrators to configure defaults for many settings that may be required in
18+
an enterprise or corporate setting.
19+
20+
---
21+
22+
**Important:** We believe the user should _always_ be at liberty to configure
23+
Git and GCM exactly as they wish. By prefering environment variables and Git
24+
configuration files over OS store values, these only act as _default values_
25+
that can always be overriden by the user in the usual ways.
26+
27+
---
28+
29+
## Windows
30+
31+
Default setting values come from the Windows Registry, specifically the
32+
`HKEY_LOCAL_MACHINE` hive under the following key:
33+
34+
```text
35+
SOFTWARE\GitCredentialManager\Configuration
36+
```
37+
38+
By using the Windows Registry system administrators can use Group Policy to
39+
easily set defaults for GCM Core's settings.
40+
41+
The names and possible values of all settings under this key are the same as
42+
those of the [Git configuration](configuration.md) settings.
43+
44+
The type of each registry key can be either `REG_SZ` (string) or `REG_DWORD`
45+
(integer).
46+
47+
**Note:** GCM Core is a 32-bit executable on Windows. When running on a 64-bit
48+
installation of Windows registry access is transparently redirected to the
49+
`WOW6432Node`. This means the actual registry key on 64-bit Windows is:
50+
51+
```text
52+
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\GitCredentialManager\Configuration
53+
```
54+
55+
## macOS/Linux
56+
57+
Default configuration setting stores has not been implemented.

docs/environment.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[Git Credential Manager Core](usage.md) works out of the box for most users. Configuration options are available to customize or tweak behavior.
44

5-
Git Credential Manager Core (GCM Core) can be configured using environment variables. **Environment variables take precedence over [configuration](configuration.md) options.**
5+
Git Credential Manager Core (GCM Core) can be configured using environment variables. **Environment variables take precedence over [configuration](configuration.md) options**. System administrators may also configure [default values](enterprise-config.md) for many settings used by GCM Core.
66

77
For the complete list of environment variables GCM Core understands, see the list below.
88

0 commit comments

Comments
 (0)