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>kubernetesincezanne.json) - Maven repositories (sections
cezanne>mavenincezanne.json) - NuGet repositories (sections
cezanne>nugetincezanne.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.jsonsample:{ "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.jsonsample:{ "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.jsonsample:{ "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__ReadOnlyArray1[System.String]`.Environment variable name:
CEZANNE__KUBERNETES__IMPLICITLYDROPPEDATTRIBUTES.Command line:
--cezanne:kubernetes:ImplicitlyDroppedAttributes=<value>.cezanne.jsonsample:{ "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.jsonsample:{ "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.jsonsample:{ "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.jsonsample:{ "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.jsonsample:{ "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.jsonsample:{ "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.jsonsample:{ "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.jsonsample:{ "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.jsonsample:{ "cezanne": { "maven": { "EnableDownload": "<value>" } } } - ForceCustomSettingsXml
-
If
truewe only usecachevalue 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.jsonsample:{ "cezanne": { "maven": { "ForceCustomSettingsXml": "<value>" } } } - HttpHeaders
-
Properties to define the headers to set per repository, syntax is
host1=headerName headerValueand it supports as much lines as used repositories. Note that you can use maven~/.m2/settings.xmlservers (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 rawAuthorizationheader else username/password is encoded as a basic header.Environment variable name:
CEZANNE__MAVEN__HTTPHEADERS.Command line:
--cezanne:maven:HttpHeaders=<value>.cezanne.jsonsample:{ "cezanne": { "maven": { "HttpHeaders": "<value>" } } } - LocalRepository
-
Where to cache maven dependencies. If set to
auto, tries to read the system propertymaven.repo.localthen thesettings.xmllocalRepositoryand finally it would fallback on$HOME/.m2/repository.Default value:
auto.Environment variable name:
CEZANNE__MAVEN__LOCALREPOSITORY.Command line:
--cezanne:maven:LocalRepository=<value>.cezanne.jsonsample:{ "cezanne": { "maven": { "LocalRepository": "<value>" } } } - PreferLocalSettingsXml
-
If
falsewe first try to readsettings.xmlfile(s) incachelocation before the default one.Default value:
True.Environment variable name:
CEZANNE__MAVEN__PREFERLOCALSETTINGSXML.Command line:
--cezanne:maven:PreferLocalSettingsXml=<value>.cezanne.jsonsample:{ "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.jsonsample:{ "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.jsonsample:{ "cezanne": { "maven": { "SnapshotRepository": "<value>" } } } - Timeout
-
HTTP timeout.
Default value:
30000.Environment variable name:
CEZANNE__MAVEN__TIMEOUT.Command line:
--cezanne:maven:Timeout=<value>.cezanne.jsonsample:{ "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.jsonsample:{ "cezanne": { "nuget": { "EnableDownload": "<value>" } } } - HttpHeaders
-
Properties to define the headers to set per repository, syntax is
host1=headerName headerValueand 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.jsonsample:{ "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.jsonsample:{ "cezanne": { "nuget": { "LocalRepository": "<value>" } } } - Repository
-
Default remote release repository, it is the seed
index.jsonURL - 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.jsonsample:{ "cezanne": { "nuget": { "Repository": "<value>" } } } - Timeout
-
HTTP timeout.
Default value:
30000.Environment variable name:
CEZANNE__NUGET__TIMEOUT.Command line:
--cezanne:nuget:Timeout=<value>.cezanne.jsonsample:{ "cezanne": { "nuget": { "Timeout": "<value>" } } }