Configuration
This part is about the shared configuration, i.e. the configuration any command can use.
It is taken either from the environment variables (CEZANNE_
prefix), the command line (--xxx
) or cezanne
section of cezanne.json
configuration file (it uses Microsoft configuration extension under the hood).
The two main configuration are related to:
- Kubernetes client (sections
cezanne>kubernetes
incezanne.json
) - Maven repositories (sections
cezanne>maven
incezanne.json
) - NuGet repositories (sections
cezanne>nuget
incezanne.json
)
Tip
Because we use Microsoft configuration binder, the separator between section/properties in the environment names are not _
but __
, ex: CEZANNE__KUBERNETES__KUBECONFIG
. Similarly, the integration with the command line arguments does not use -
as separator but :
, ex: --cezanne:kubernetes:KubeConfig=...
Kubernetes
- Base
-
Kubernetes HTTP API base url. It is auto-discovered from within a cluster.
Default value:
https://localhost:443
.Environment variable name:
CEZANNE__KUBERNETES__BASE
.Command line:
--cezanne:kubernetes:Base=<value>
.cezanne.json
sample:{ "cezanne": { "kubernetes": { "Base": "<value>" } } }
- Certificates
-
Kubernetes HTTP client certificates.
Default value:
/var/run/secrets/kubernetes.io/serviceaccount/ca.crt
.Environment variable name:
CEZANNE__KUBERNETES__CERTIFICATES
.Command line:
--cezanne:kubernetes:Certificates=<value>
.cezanne.json
sample:{ "cezanne": { "kubernetes": { "Certificates": "<value>" } } }
- DryRun
-
Should API calls be skipped and mocked with a HTTP 200.
Default value:
False
.Environment variable name:
CEZANNE__KUBERNETES__DRYRUN
.Command line:
--cezanne:kubernetes:DryRun=<value>
.cezanne.json
sample:{ "cezanne": { "kubernetes": { "DryRun": "<value>" } } }
- ImplicitlyDroppedAttributes
-
JSON-Pointers of dropped JSON nodes from the descriptors (enables to inject documentation for example or schema for completion).
Default value:
<>z__ReadOnlyArray
1[System.String]`.Environment variable name:
CEZANNE__KUBERNETES__IMPLICITLYDROPPEDATTRIBUTES
.Command line:
--cezanne:kubernetes:ImplicitlyDroppedAttributes=<value>
.cezanne.json
sample:{ "cezanne": { "kubernetes": { "ImplicitlyDroppedAttributes": "<value>" } } }
- Kubeconfig
-
Location or inline kubeconfig (default context being the one used).
Environment variable name:
CEZANNE__KUBERNETES__KUBECONFIG
.Command line:
--cezanne:kubernetes:Kubeconfig=<value>
.cezanne.json
sample:{ "cezanne": { "kubernetes": { "Kubeconfig": "<value>" } } }
- PrivateKey
-
Kubernetes HTTP client private key (for mTLS when token is not set).
Environment variable name:
CEZANNE__KUBERNETES__PRIVATEKEY
.Command line:
--cezanne:kubernetes:PrivateKey=<value>
.cezanne.json
sample:{ "cezanne": { "kubernetes": { "PrivateKey": "<value>" } } }
- PrivateKeyCertificate
-
Kubernetes HTTP client private key certificate (for mTLS).
Environment variable name:
CEZANNE__KUBERNETES__PRIVATEKEYCERTIFICATE
.Command line:
--cezanne:kubernetes:PrivateKeyCertificate=<value>
.cezanne.json
sample:{ "cezanne": { "kubernetes": { "PrivateKeyCertificate": "<value>" } } }
- SkipTls
-
Should TLS check be ignored.
Default value:
False
.Environment variable name:
CEZANNE__KUBERNETES__SKIPTLS
.Command line:
--cezanne:kubernetes:SkipTls=<value>
.cezanne.json
sample:{ "cezanne": { "kubernetes": { "SkipTls": "<value>" } } }
- Timeout
-
Kubernetes HTTP client timeout in milliseconds.
Default value:
60000
.Environment variable name:
CEZANNE__KUBERNETES__TIMEOUT
.Command line:
--cezanne:kubernetes:Timeout=<value>
.cezanne.json
sample:{ "cezanne": { "kubernetes": { "Timeout": "<value>" } } }
- Token
-
Kubernetes HTTP client token file location.
Default value:
/var/run/secrets/kubernetes.io/serviceaccount/token
.Environment variable name:
CEZANNE__KUBERNETES__TOKEN
.Command line:
--cezanne:kubernetes:Token=<value>
.cezanne.json
sample:{ "cezanne": { "kubernetes": { "Token": "<value>" } } }
- Verbose
-
Should API calls be logged.
Default value:
False
.Environment variable name:
CEZANNE__KUBERNETES__VERBOSE
.Command line:
--cezanne:kubernetes:Verbose=<value>
.cezanne.json
sample:{ "cezanne": { "kubernetes": { "Verbose": "<value>" } } }
Maven
- EnableDownload
-
Is remote downloading of transitive recipes enabled.
Default value:
False
.Environment variable name:
CEZANNE__MAVEN__ENABLEDOWNLOAD
.Command line:
--cezanne:maven:EnableDownload=<value>
.cezanne.json
sample:{ "cezanne": { "maven": { "EnableDownload": "<value>" } } }
- ForceCustomSettingsXml
-
If
true
we only usecache
value and never fallback on default maven settings.xml location.Default value:
False
.Environment variable name:
CEZANNE__MAVEN__FORCECUSTOMSETTINGSXML
.Command line:
--cezanne:maven:ForceCustomSettingsXml=<value>
.cezanne.json
sample:{ "cezanne": { "maven": { "ForceCustomSettingsXml": "<value>" } } }
- HttpHeaders
-
Properties to define the headers to set per repository, syntax is
host1=headerName headerValue
and it supports as much lines as used repositories. Note that you can use maven~/.m2/settings.xml
servers (potentially ciphered) username/password pairs. In this last case the server id must bebundlebee.<server host>
. Still in settings.xml case, if the username is null the password value is used as rawAuthorization
header else username/password is encoded as a basic header.Environment variable name:
CEZANNE__MAVEN__HTTPHEADERS
.Command line:
--cezanne:maven:HttpHeaders=<value>
.cezanne.json
sample:{ "cezanne": { "maven": { "HttpHeaders": "<value>" } } }
- LocalRepository
-
Where to cache maven dependencies. If set to
auto
, tries to read the system propertymaven.repo.local
then thesettings.xml
localRepository
and finally it would fallback on$HOME/.m2/repository
.Default value:
auto
.Environment variable name:
CEZANNE__MAVEN__LOCALREPOSITORY
.Command line:
--cezanne:maven:LocalRepository=<value>
.cezanne.json
sample:{ "cezanne": { "maven": { "LocalRepository": "<value>" } } }
- PreferLocalSettingsXml
-
If
false
we first try to readsettings.xml
file(s) incache
location before the default one.Default value:
True
.Environment variable name:
CEZANNE__MAVEN__PREFERLOCALSETTINGSXML
.Command line:
--cezanne:maven:PreferLocalSettingsXml=<value>
.cezanne.json
sample:{ "cezanne": { "maven": { "PreferLocalSettingsXml": "<value>" } } }
- ReleaseRepository
-
Default remote release repository.
Default value:
https://repo.maven.apache.org/maven2/
.Environment variable name:
CEZANNE__MAVEN__RELEASEREPOSITORY
.Command line:
--cezanne:maven:ReleaseRepository=<value>
.cezanne.json
sample:{ "cezanne": { "maven": { "ReleaseRepository": "<value>" } } }
- SnapshotRepository
-
Default remote snapshot repository (if set).
Default value:
https://repo.maven.apache.org/maven2/
.Environment variable name:
CEZANNE__MAVEN__SNAPSHOTREPOSITORY
.Command line:
--cezanne:maven:SnapshotRepository=<value>
.cezanne.json
sample:{ "cezanne": { "maven": { "SnapshotRepository": "<value>" } } }
- Timeout
-
HTTP timeout.
Default value:
30000
.Environment variable name:
CEZANNE__MAVEN__TIMEOUT
.Command line:
--cezanne:maven:Timeout=<value>
.cezanne.json
sample:{ "cezanne": { "maven": { "Timeout": "<value>" } } }
Nuget
- EnableDownload
-
Is remote downloading of transitive recipes enabled.
Default value:
False
.Environment variable name:
CEZANNE__NUGET__ENABLEDOWNLOAD
.Command line:
--cezanne:nuget:EnableDownload=<value>
.cezanne.json
sample:{ "cezanne": { "nuget": { "EnableDownload": "<value>" } } }
- HttpHeaders
-
Properties to define the headers to set per repository, syntax is
host1=headerName headerValue
and it supports as much lines as used repositories. Generally used to set API token if needed.Environment variable name:
CEZANNE__NUGET__HTTPHEADERS
.Command line:
--cezanne:nuget:HttpHeaders=<value>
.cezanne.json
sample:{ "cezanne": { "nuget": { "HttpHeaders": "<value>" } } }
- LocalRepository
-
Where to lookup NuGet packages locally before going remotely.
Default value:
auto
.Environment variable name:
CEZANNE__NUGET__LOCALREPOSITORY
.Command line:
--cezanne:nuget:LocalRepository=<value>
.cezanne.json
sample:{ "cezanne": { "nuget": { "LocalRepository": "<value>" } } }
- Repository
-
Default remote release repository, it is the seed
index.json
URL - flat container url being dediced from this one.Default value:
https://api.nuget.org/v3/index.json
.Environment variable name:
CEZANNE__NUGET__REPOSITORY
.Command line:
--cezanne:nuget:Repository=<value>
.cezanne.json
sample:{ "cezanne": { "nuget": { "Repository": "<value>" } } }
- Timeout
-
HTTP timeout.
Default value:
30000
.Environment variable name:
CEZANNE__NUGET__TIMEOUT
.Command line:
--cezanne:nuget:Timeout=<value>
.cezanne.json
sample:{ "cezanne": { "nuget": { "Timeout": "<value>" } } }