kuberc (v1beta1) [page]deterministic
## Resource Types
- [Preference](#kubectl-config-k8s-io-v1beta1-Preference)
## `Preference` {#kubectl-config-k8s-io-v1beta1-Preference}
<p>Preference stores elements of KubeRC configuration file</p>
<table class="table"> <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> <tbody> <tr><td><code>apiVersion</code><br/>string</td><td><code>kubectl.config.k8s.io/v1beta1</code></td></tr> <tr><td><code>kind</code><br/>string</td><td><code>Preference</code></td></tr> <tr><td><code>defaults</code> <B>[Required]</B><br/> <a href="#kubectl-config-k8s-io-v1beta1-CommandDefaults"><code>[]CommandDefaults</code></a> </td> <td> <p>defaults allow changing default option values of commands. This is especially useful, when user doesn't want to explicitly set options each time.</p> </td> </tr> <tr><td><code>aliases</code> <B>[Required]</B><br/> <a href="#kubectl-config-k8s-io-v1beta1-AliasOverride"><code>[]AliasOverride</code></a> </td> <td> <p>aliases allow defining command aliases for existing kubectl commands, with optional default option values. If the alias name collides with a built-in command, built-in command always takes precedence. Option overrides defined in the defaults section do NOT apply to aliases for the same command. kubectl [ALIAS NAME] [USER_OPTIONS] [USER_EXPLICIT_ARGS] expands to kubectl [COMMAND] # built-in command alias points to [KUBERC_PREPEND_ARGS] [USER_OPTIONS] [KUBERC_OPTIONS] # rest of the options that are not passed by user in [USER_OPTIONS] [USER_EXPLICIT_ARGS] [KUBERC_APPEND_ARGS] e.g.</p> <ul> <li>name: runx command: run options: <ul> <li>name: image default: nginx appendArgs:</li> </ul> <hr> <ul> <li>custom-arg1 For example, if user invokes "kubectl runx test-pod" command, this will be expanded to "kubectl run --image=nginx test-pod -- custom-arg1"</li> </ul> </li> <li>name: getn command: get options: <ul> <li>name: output default: wide prependArgs:</li> <li>node "kubectl getn control-plane-1" expands to "kubectl get node control-plane-1 --output=wide" "kubectl getn control-plane-1 --output=json" expands to "kubectl get node --output=json control-plane-1"</li> </ul> </li> </ul> </td> </tr> <tr><td><code>credentialPluginPolicy</code><br/> <a href="#kubectl-config-k8s-io-v1beta1-CredentialPluginPolicy"><code>CredentialPluginPolicy</code></a> </td> <td> <p>credentialPluginPolicy specifies the policy governing which, if any, client-go credential plugins may be executed. It MUST be one of { "", "AllowAll", "DenyAll", "Allowlist" }. If the policy is "", then it falls back to "AllowAll" (this is required to maintain backward compatibility). If the policy is DenyAll, no credential plugins may run. If the policy is Allowlist, only those plugins meeting the criteria specified in the <code>credentialPluginAllowlist</code> field may run.</p> </td> </tr> <tr><td><code>credentialPluginAllowlist</code><br/> <a href="#kubectl-config-k8s-io-v1beta1-AllowlistEntry"><code>[]AllowlistEntry</code></a> </td> <td> <p>Allowlist is a slice of allowlist entries. If any of them is a match, then the executable in question may execute. That is, the result is the logical OR of all entries in the allowlist. This list MUST NOT be supplied if the policy is not "Allowlist".</p> <p>e.g. credentialPluginAllowlist:</p> <ul> <li>name: cloud-provider-plugin</li> <li>name: /usr/local/bin/my-plugin In the above example, the user allows the credential plugins <code>cloud-provider-plugin</code> (found somewhere in PATH), and the plugin found at the explicit path <code>/usr/local/bin/my-plugin</code>.</li> </ul> </td> </tr> </tbody> </table>
## `AliasOverride` {#kubectl-config-k8s-io-v1beta1-AliasOverride}
Appears in:
- [Preference](#kubectl-config-k8s-io-v1beta1-Preference)
<p>AliasOverride stores the alias definitions.</p>
<table class="table …(trimmed)