The command line client supports configuring by a given configuration file.
If existent by default the file $HOME/.ocmconfig
will be read.
Using the option --config
an alternative file can be specified.
The file format is yaml. It uses the same type mechanism used for all
kinds of typed specification in the ocm area. The file must have the type of
a configuration specification. Instead, the command line client supports
a generic configuration specification able to host a list of arbitrary configuration
specifications. The type for this spec is generic.config.ocm.software/v1
.
The following configuration types are supported:
-
attributes.config.ocm.software
The config typeattributes.config.ocm.software
can be used to define a list of arbitrary attribute specifications:type: attributes.config.ocm.software attributes: <name>: <yaml defining the attribute> ...
-
credentials.config.ocm.software
The config typecredentials.config.ocm.software
can be used to define a list of arbitrary configuration specifications:type: credentials.config.ocm.software consumers: - identity: <name>: <value> ... credentials: - <credential specification> ... credential chain repositories: - repository: <repository specification> credentials: - <credential specification> ... credential chain aliases: <name>: repository: <repository specification> credentials: - <credential specification> ... credential chain
-
generic.config.ocm.software
The config typegeneric.config.ocm.software
can be used to define a list of arbitrary configuration specifications:type: generic.config.ocm.software configurations: - type: <any config type> ... ...
-
keys.config.ocm.software
The config typekeys.config.ocm.software
can be used to define public and private keys. A key value might be given by one of the fields:path
: path of file with key datadata
: base64 encoded binary datastringdata
: data a string parsed by key handler
type: keys.config.ocm.software privateKeys: <name>: path: <file path> ... publicKeys: <name>: data: <base64 encoded key representation> ...
-
logging.config.ocm.software
The config typelogging.config.ocm.software
can be used to configure the logging aspect of a dedicated context type:type: logging.config.ocm.software contextType: attributes.context.ocm.software settings: defaultLevel: Info rules: - ...
The context type attributes.context.ocm.software is the root context of a context hierarchy.
If no context type is specified, the config will be applies to any target acting as logging context provider, which is not a non-root context.
-
memory.credentials.config.ocm.software
The config typememory.credentials.config.ocm.software
can be used to define a list of arbitrary credentials stored in a memory based credentials repository:type: memory.credentials.config.ocm.software repoName: default credentials: - credentialsName: ref reference: # refer to a credential set stored in some other credential repository type: Credentials # this is a repo providing just one explicit credential set properties: username: mandelsoft password: specialsecret - credentialsName: direct credentials: # direct credential specification username: mandelsoft2 password: specialsecret2
-
oci.config.ocm.software
The config typeoci.config.ocm.software
can be used to define OCI registry aliases:type: oci.config.ocm.software aliases: <name>: <OCI registry specification> ...
-
ocm.cmd.config.ocm.software
The config typeocm.cmd.config.ocm.software
can be used to configure predefined aliases for dedicated OCM repositories and OCI registries.type: ocm.cmd.config.ocm.software ocmRepositories: <name>: <specification of OCM repository> ... ociRepositories: <name>: <specification of OCI registry> ...
-
plugin.config.ocm.software
The config typeplugin.config.ocm.software
can be used to configure a plugin.type: plugin.config.ocm.software plugin: <plugin name> config: <arbitrary configuration structure>
-
scripts.ocm.config.ocm.software
The config typescripts.ocm.config.ocm.software
can be used to define transfer scripts:type: scripts.ocm.config.ocm.software scripts: <name>: path: <>file path> <other name>: script: <>nested script as yaml>
type: generic.config.ocm.software/v1
configurations:
- type: credentials.config.ocm.software
repositories:
- repository:
type: DockerConfig/v1
dockerConfigFile: "~/.docker/config.json"
propagateConsumerIdentity: true
- type: attributes.config.ocm.software
attributes: # map of attribute settings
compat: true
# - type: scripts.ocm.config.ocm.software
# scripts:
# "default":
# script:
# process: true
- ocm — Open Component Model command line client