Configuring proxies
If you need r10k to use a proxy connection, use the
proxy
parameter. You can set a global proxy for all
HTTP(S) operations, proxies for Git or Forge operations, or proxies for individual Git repositories.
Where you specify the proxy
parameter depends on how you
want to apply the setting:
- To set a proxy for all r10k operations occurring
over an HTTP(S) transport, set the global
proxy
setting.If you don't supply a globalproxy
, but you have defined a proxy in an environment variable, r10k uses the value from the highest-ranking*_proxy
environment variable as the global r10kproxy
. In order of precedence, r10k looks forHTTPS_PROXY
, thenhttps_proxy
, thenHTTP_PROXY
, and finallyhttp_proxy
. If you have defined neither a globalproxy
nor any*_proxy
environment variables, the globalproxy
setting defaults to no proxy. - To set proxies only for Git operations or
individual Git repos, set the appropriate
proxy
key under thegit_settings
parameter. - To set a proxy only for Forge operations, set the
proxy
key under theforge_settings
parameter.
You can set an unauthenticated proxy or an authenticated proxy with either Basic or Digest authentication. For example, this setting is for an unauthenticated proxy:
proxy: 'http://proxy.example.com:3128'
Whereas this setting is for a password-authenticated proxy:
proxy: 'http://user:password@proxy.example.com:3128'
Override proxy settings
You can override the global proxy
setting if you want to:
- Set a different proxy setting for Git or Forge operations.
- Specify a different proxy setting for an individual Git repo.
- Specify a mix of proxy and non-proxy connections.
To override the global proxy setting for all Git
or Forge operations, you need to set the
proxy
key under the git_settings
or forge_settings
parameters.
To set a proxy for an individual Git repository (or if
you have multiple control repos), set the proxy
key
in the repositories
hash under the git_settings
parameter.
If you have set a global, Git, or Forge proxy, but you don't want a certain
setting to use any proxy, set the proxy
parameter to
an empty string. For example, if you set a global proxy
, but you don't want Forge
operations to use a proxy, you would specify an empty string under the forge_settings
parameter, such
as:
puppet_enterprise::master::code_manager::forge_settings: proxy: ''
Proxy server logging
If r10k uses proxy server during a deployment,
r10k logs the server at the debug
log level.