// Module included in the following assemblies:
//
// * microshift_configuring/microshift-using-config-tools.adoc

:_mod-docs-content-type: CONCEPT
[id="microshift-yaml-default_{context}"]
= Default settings

If you do not create a `config.yaml` file, default values are used. The following example shows the default configuration settings.

*  To see the default values, run the following command:
+
[source,terminal]
----
$ microshift show-config
----
+
.Default values example output in YAML form
[source,yaml]
----
apiServer:
  advertiseAddress: 10.44.0.0/32 # <1>
  auditLog:
    maxFileAge: 0 # <2>
    maxFileSize: 200 # <3>
    maxFiles: 10 # <4>
    profile: Default # <5>
  namedCertificates:
    - certPath: ""
      keyPath: ""
      names:
        - ""
  subjectAltNames: [] # <6>
debugging:
  logLevel: "Normal" # <7>
dns:
  baseDomain: microshift.example.com # <8>
etcd:
  memoryLimitMB: 0 # <9>
ingress:
  listenAddress:
    - "" # <10>
  ports: # <11>
    http: 80
    https: 443
  routeAdmissionPolicy:
    namespaceOwnership: InterNamespaceAllowed # <12>
  status: Managed # <13>
kubelet: # <14>
manifests: # <15>
  kustomizePaths:
    - /usr/lib/microshift/manifests
    - /usr/lib/microshift/manifests.d/*
    - /etc/microshift/manifests
    - /etc/microshift/manifests.d/*
network:
  clusterNetwork:
    - 10.42.0.0/16 # <16>
  serviceNetwork:
    - 10.43.0.0/16 # <17>
  serviceNodePortRange: 30000-32767 # <18>
node:
  hostnameOverride: "" # <19>
  nodeIP: "" # <20>
  nodeIPv6: "" # <21>
storage:
  driver: "" # <22>
  optionalCsiComponents:  # <23>
    - ""
----
<1> A string that specifies the IP address from which the API server is advertised to members of the cluster. The default value is calculated based on the address of the service network.
<2> How long log files are kept before automatic deletion. The default value of `0` in the `maxFileAge` parameter means a log file is never deleted based on age. This value can be configured.
<3> By default, when the `audit.log` file reaches the `maxFileSize` limit, the `audit.log` file is rotated and {microshift-short} begins writing to a new `audit.log` file. This value can be configured.
<4> The total number of log files kept. By default, {microshift-short} retains 10 log files. The oldest is deleted when an excess file is created. This value can be configured.
<5> Logs only metadata for read and write requests; does not log request bodies except for OAuth access token requests. If you do not specify this field, the `Default` profile is used.
<6> Subject Alternative Names for API server certificates.
<7> Log verbosity. Valid values for this field are `Normal`, `Debug`, `Trace`, or `TraceAll`.
<8> By default, `etcd` uses as much memory as needed to handle the load on the system. However, in memory constrained systems, it might be preferred or necessary to limit the amount of memory `etcd` can to use at a given time.
<9> Base domain of the cluster. All managed DNS records are subdomains of this base.
<10> The `ingress.listenAddress` value defaults to the entire network of the host. The valid configurable value is a list that can be either a single IP address or NIC name or multiple IP addresses and NIC names.
<11> Default ports shown. Configurable. Valid values for both port entries are a single, unique port in the 1-65535 range. The values of the `ports.http` and `ports.https` fields cannot be the same.
<12> Describes how hostname claims across namespaces are handled. By default, allows routes to claim different paths of the same hostname across namespaces. Valid values are `Strict` and `InterNamespaceAllowed`. Specifying `Strict` prevents routes in different namespaces from claiming the same hostname. If the value is deleted in a customized {microshift-short} `config.yaml`, the `InterNamespaceAllowed` value is automatically set.
<13> Default router status, can be `Managed` or `Removed`.
<14> Parameter for configuring kubelet. Used for low-latency configuration. Default value is null.
<15> The locations on the file system to scan for `kustomization` files to use to load manifests. Set to a list of paths to scan only those paths. Set to an empty list to disable loading manifests. The entries in the list can be glob patterns to match multiple subdirectories.
<16> A block of IP addresses from which pod IP addresses are allocated. IPv4 is the default. Dual-stack entries are supported. The first entry in this field is immutable after installation.
<17> A block of virtual IP addresses for Kubernetes services. IP address pool for services. IPv4 is the default. Dual-stack entries are supported. The first entry in this field is immutable after installation.
<18> The port range allowed for Kubernetes services of type `NodePort`. If not specified, the default range of 30000-32767 is used. Services without a `NodePort` specified are automatically allocated one from this range. This parameter can be updated after the cluster is installed.
<19> The name of the node. The default value is the hostname. If non-empty, this string is used to identify the node instead of the hostname.
<20> The IPv4 address of the node. The default value is the IP address of the default route.
<21> The IPv6 address for the node for dual-stack configurations. Cannot be configured in single stack for either IPv4 or IPv6. Default is empty or null.
<22> Default value is empty. Valid values are "none" or "lvms". An empty value or null field defaults to LVMS deployment.
<23> Array. Default value is null or an empty array. A null or empty array defaults to deploying `snapshot-controller` and `snapshot-webhook`. Expected values are `csi-snapshot-controller`, `csi-snapshot-webhook`, or `none`. An entry of `none` is mutually exclusive with all other values.
