Skip to main content Home About the Design SystemRoadmap OverviewDesignersDevelopers OverviewColorGridIconographyInteractionsSpacingTypography Overview Global colorBox shadowTypographyBorderOpacitySpaceLengthIconBreakpointsMedia queries All elements Accordion Alert Announcement Audio player Avatar Back to top Badge Blockquote Breadcrumb Button Card Chip Code block Call to action Dialog Disclosure Footer Health index Icon Jump links Menu dropdown Navigation link Navigation (primary) Navigation (secondary) Navigation (vertical) Pagination PopoverPlanned Progress stepper Scheme toggle Site status Skeleton Skip link Spinner Statistic Subnavigation Surface Switch Table Tabs Tag Tile Timestamp Tooltip Video embed OverviewColor PalettesCustomizingDevelopers All PatternsAccordionCall to ActionCardFilterFormLink with iconLogo wallSearch barSticky bannerSticky cardTabsTagTile All Personalization PatternsAnnouncement FundamentalsAccessibility toolsAssistive technologiesCI/CDContentContributorsDesignDevelopmentManual testingResourcesScreen readers Design/code status Release notes Get support

Code block

OverviewStyleGuidelinesCodeAccessibilityDemos
Code blockActions I18nActionsBelow The FoldCallout BadgesCallout PrerenderedClient Side HighlightingColor ContextCopy CancelCopy ModifyHide Line NumbersPrerendered Prism HighlightingResizableSizesThousandsCode blockActions I18nActionsBelow The FoldCallout BadgesCallout PrerenderedClient Side HighlightingColor ContextCopy CancelCopy ModifyHide Line NumbersPrerendered Prism HighlightingResizableSizesThousands

Code block

import '@rhds/elements/rh-code-block/rh-code-block.js';
<rh-code-block>
<script type="text/html"><!DOCTYPE html>
<title>Title</title>
<style>body {width: 500px;}</style>
<script type="application/javascript">
  function $init() {return true;}
<</script><script type="text/html">/script>
<body>
  <p checked class="title" id="title">Title</p>
  <!-- here goes the rest of the page -->
</body></script>
</rh-code-block>

Actions I18n

import '@rhds/elements/rh-button/rh-button.js';
import '@rhds/elements/rh-code-block/rh-code-block.js';
import '@rhds/elements/rh-tooltip/rh-tooltip.js';
rh-code-block {
  margin-block-end: var(--rh-space-lg, 16px);
}
<rh-code-block actions="wrap copy">
  <span slot="action-label-copy">העתק</span>
  <span slot="action-label-copy" hidden="" data-code-block-state="active">הועתק!</span>
  <span slot="action-label-wrap">לעבור לגלישת שורות</span>
  <span slot="action-label-wrap" hidden="" data-code-block-state="active">לעבור להצפת שורות</span>
<script type="text/css">#content {
  display: block;
  background-color: var(--rh-color-surface-lighter, #f2f2f2);
  border: var(--rh-border-width-sm, 1px) solid var(--rh-color-border-subtle-on-light, #c7c7c7);
  border-block-start-width: var( --rh-code-block-border-block-start-width, var(--rh-border-width-sm, 1px));
  font-family: var(--rh-font-family-code, RedHatMono, "Red Hat Mono", "Courier New", Courier, monospace);
  color: var(--rh-color-text-primary-on-light, #151515);
  padding: var(--rh-space-xl, 24px);
  height: calc(100% - 2 * var(--rh-space-xl, 24px));
  border-radius: var(--rh-border-radius-default, 3px);
  max-width: 1000px;
  max-height: 640px;
  overflow-y: auto;
}</script>
</rh-code-block>

Actions

import '@rhds/elements/rh-button/rh-button.js';
import '@rhds/elements/rh-code-block/rh-code-block.js';
rh-code-block {
  margin-block-end: var(--rh-space-lg, 16px);
}
<rh-code-block actions="wrap copy">
<script type="text/css">#content {
  display: block;
  background-color: var(--rh-color-surface-lighter, #f2f2f2);
  border: var(--rh-border-width-sm, 1px) solid var(--rh-color-border-subtle-on-light, #c7c7c7);
  border-block-start-width: var( --rh-code-block-border-block-start-width, var(--rh-border-width-sm, 1px));
  font-family: var(--rh-font-family-code, RedHatMono, "Red Hat Mono", "Courier New", Courier, monospace);
  color: var(--rh-color-text-primary-on-light, #151515);
  padding: var(--rh-space-xl, 24px);
  height: calc(100% - 2 * var(--rh-space-xl, 24px));
  border-radius: var(--rh-border-radius-default, 3px);
  max-width: 1000px;
  max-height: 640px;
  overflow-y: auto;
}</script>
</rh-code-block>

Below The Fold

import '@rhds/elements/rh-code-block/rh-code-block.js';
import { RhAlert } from '@rhds/elements/rh-alert/rh-alert.js'
import { html } from 'lit';
RhAlert.toast({
  persistent: true,
  state: 'info',
  message: html`
    <dl>
      <dt>1st code block:</dt>
      <dd><em>Pending</em></dd>
      <dt>2nd code block:</dt>
      <dd><em>Pending</em></dd>
    </dl>
  `,
});

const [fst, snd] = document.querySelectorAll('rh-code-block');
const [fstP, sndP] = document.querySelectorAll('rh-alert dd em');

addEventListener('scroll', function() {
  fstP.textContent = fst.shadowRoot.querySelectorAll('#line-numbers li').length ? 'Computed' : 'Pending'
  sndP.textContent = snd.shadowRoot.querySelectorAll('#line-numbers li').length ? 'Computed' : 'Pending'
}, { passive: true });
.tall-as-screen {
  padding: var(--rh-length-lg);
  min-height: calc(100vh + 500px);
}
rh-alert dl {
  display: grid;
  font-family: var(--rh-font-family-code);
  grid-template-columns: auto auto;
  gap: var(--rh-space-md);
}
<section class="tall-as-screen">
  <p>Expect line numbers to not be calculated until just before code block scrolls into view</p>
  <p>Expect line numbers to appear without flash when scrolling down to view codeblock</p>
  <p><strong>Scroll down to view code block</strong></p>
</section>

<rh-code-block>
<script type="text/html"><!DOCTYPE html>
<title>Title</title>
<style>body {width: 500px;}</style>
<script type="application/javascript">
  function $init() {return true;}
<</script><script type="text/html">/script>
<body>
  <p checked class="title" id="title">Title</p>
  <!-- here goes the rest of the page -->
</body></script>
</rh-code-block>

<section class="tall-as-screen">
  <p>Expect only the first code block to have computed line numbers</p>
  <p>Expect second block's line numbers to compute only just before it scrolls into view</p>
  <p><strong>Scroll down to view code block</strong></p>
</section>

<rh-code-block>
<script type="text/html"><!DOCTYPE html>
<title>Title</title>
<style>body {width: 500px;}</style>
<script type="application/javascript">
  function $init() {return true;}
<</script><script type="text/html">/script>
<body>
  <p checked class="title" id="title">Title</p>
  <!-- here goes the rest of the page -->
</body></script>
</rh-code-block>

Callout Badges

import '@rhds/elements/rh-code-block/rh-code-block.js';
import '@rhds/elements/rh-badge/rh-badge.js';
<rh-code-block>
  <script type="text/html"><p>Script tags in HTML must be escaped</p></script>
  <rh-badge state="info">1</rh-badge>
  <script type="text/html">
<p>other tags do not need to be escaped</p>
<marquee>Callouts can be placed </script><rh-badge state="info">2</rh-badge><script type="text/html">inline</marquee>
</script>
  <dl slot="legend">
    <dt><rh-badge state="info">1</rh-badge></dt>
    <dd>Postfix callout</dd>
    <dt><rh-badge state="info">2</rh-badge></dt>
    <dd>Inline callout</dd>
  </dl>
</rh-code-block>

<link rel="stylesheet" href="../rh-code-block-lightdom.css">

Callout Prerendered

import '@rhds/elements/rh-code-block/rh-code-block.js';
import '@rhds/elements/rh-badge/rh-badge.js';
<rh-code-block highlighting="prerendered" actions="copy wrap">
  <pre class="language-html"><code class="language-html"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>p</span><span class="token punctuation">&gt;</span></span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Nullam eleifend elit sed est egestas, a sollicitudin mauris
tincidunt. Pellentesque vel dapibus risus. Nullam aliquam</code></pre><rh-badge state="info">1</rh-badge><pre class="language-html"><code class="language-html">
felis orci, eget cursus mi lacinia quis. Vivamus at felis sem.<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>p</span><span class="token punctuation">&gt;</span></span>

<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>rh-cta</span> <span class="token attr-name">slot</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>footer<span class="token punctuation">"</span></span> <span class="token attr-name">priority</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>primary<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>
  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>a</span> <span class="token attr-name">href</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>#<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>Call to action<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>a</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>rh-cta</span><span class="token punctuation">&gt;</span></span></code></pre>
</rh-code-block>

Client Side Highlighting

import '@rhds/elements/lib/elements/rh-context-demo/rh-context-demo.js';
import '@rhds/elements/rh-code-block/rh-code-block.js';
rh-context-demo::part(demo) {
  display: grid;
  gap: var(--rh-space-sm, 6px);
}
<rh-context-demo>
  <rh-code-block dedent="" language="html" highlighting="client">
    <script type="text/html">
      <!DOCTYPE html>
      <html lang="en">
        <head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Cards Galore!</title>
        </head>
        <body>
<main>
  <rh-card>
    <h2 slot="header">Card</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.
       Nullam eleifend elit sed est egestas, a sollicitudin mauris
       tincidunt. Pellentesque vel dapibus risus. Nullam aliquam
       felis orci, eget cursus mi lacinia quis. Vivamus at felis sem.</p>
    <rh-cta slot="footer" priority="primary">
      <a href="#">Call to action</a>
    </rh-cta>
  </rh-card>
</main>
        </body>
      </html>
    </script>
  </rh-code-block>

  <rh-code-block dedent="" language="css" highlighting="client">
    <script type="text/css">
      rh-card.avatar-card {
        width: 360px;
        &::part(body) {
margin-block-start: var(--rh-space-lg, 16px);
        }

        & p {
margin-block-start: 0;
        }

        & h4 {
font-weight: var(--rh-font-weight-heading-regular, 300);
font-size: var(--rh-font-size-body-text-md, 1rem);
font-family: var(--rh-font-family-body-text);
line-height: var(--rh-line-height-body-text, 1.5);
        }
      }
    </script>
  </rh-code-block>

  <rh-code-block dedent="" language="yaml" highlighting="client">
    <script type="text/yaml">
      extends:
        - stylelint-config-standard
        - '@stylistic/stylelint-config'

      plugins:
        - ./node_modules/@rhds/tokens/plugins/stylelint.js
        - '@stylistic/stylelint-plugin'

      rules:
        rhds/token-values: true
        rhds/no-unknown-token-name:
- true
- allowed:
  - --rh-icon-size
    </script>
  </rh-code-block>
</rh-context-demo>

Color Context

import '@rhds/elements/rh-code-block/rh-code-block.js';
import '@rhds/elements/lib/elements/rh-context-demo/rh-context-demo.js';
<rh-context-demo>

<rh-code-block actions="wrap copy">
  <span slot="action-label-copy">Copy to Clipboard</span>
  <span slot="action-label-copy" hidden="" data-code-block-state="active">Copied!</span>
  <span slot="action-label-wrap">Toggle word wrap</span>
  <span slot="action-label-wrap" hidden="" data-code-block-state="active">Toggle overflow</span>
  <script type="text/text">Error: Error creating network Load Balancer: AccessDenied: User: arn:aws:sts::970xxxxxxxxx:assumed-role/ManagedOpenShift-Installer-Role/163xxxxxxxxxxxxxxxx is not authorized to perform: iam:CreateServiceLinkedRole on resource: arn:aws:iam::970xxxxxxxxx:role/aws-service-role/elasticloadbalancing.amazonaws.com/ AWSServiceRoleForElasticLoadBalancing
Error: Error creating network Load Balancer: AccessDenied: User: arn:aws:sts::970xxxxxxxxx:assumed-role/ManagedOpenShift-Installer-Role/163xxxxxxxxxxxxxxxx is not authorized to perform: iam:CreateServiceLinkedRole on resource: arn:aws:iam::970xxxxxxxxx:role/aws-service-role/elasticloadbalancing.amazonaws.com/ AWSServiceRoleForElasticLoadBalancing
Error: Error creating network Load Balancer: AccessDenied: User: arn:aws:sts::970xxxxxxxxx:assumed-role/ManagedOpenShift-Installer-Role/163xxxxxxxxxxxxxxxx is not authorized to perform: iam:CreateServiceLinkedRole on resource: arn:aws:iam::970xxxxxxxxx:role/aws-service-role/elasticloadbalancing.amazonaws.com/ AWSServiceRoleForElasticLoadBalancing
Error: Error creating network Load Balancer: AccessDenied: User: arn:aws:sts::970xxxxxxxxx:assumed-role/ManagedOpenShift-Installer-Role/163xxxxxxxxxxxxxxxx is not authorized to perform: iam:CreateServiceLinkedRole on resource: arn:aws:iam::970xxxxxxxxx:role/aws-service-role/elasticloadbalancing.amazonaws.com/ AWSServiceRoleForElasticLoadBalancing
Error: Error creating network Load Balancer: AccessDenied: User: arn:aws:sts::970xxxxxxxxx:assumed-role/ManagedOpenShift-Installer-Role/163xxxxxxxxxxxxxxxx is not authorized to perform: iam:CreateServiceLinkedRole on resource: arn:aws:iam::970xxxxxxxxx:role/aws-service-role/elasticloadbalancing.amazonaws.com/ AWSServiceRoleForElasticLoadBalancing
Error: Error creating network Load Balancer: AccessDenied: User: arn:aws:sts::970xxxxxxxxx:assumed-role/ManagedOpenShift-Installer-Role/163xxxxxxxxxxxxxxxx is not authorized to perform: iam:CreateServiceLinkedRole on resource: arn:aws:iam::970xxxxxxxxx:role/aws-service-role/elasticloadbalancing.amazonaws.com/ AWSServiceRoleForElasticLoadBalancing</script>

</rh-code-block>

</rh-context-demo>

Copy Cancel

import {RhCodeBlockCopyEvent} from '@rhds/elements/rh-code-block/rh-code-block.js';

document.body.addEventListener('copy', function(event) {
  if (event instanceof RhCodeBlockCopyEvent) {
    // prevent copy
    event.preventDefault();
  }
});
<rh-code-block highlighting="prerendered" language="bash" actions="copy">
  <pre class="language-shell-session" tabindex="0"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token keyword">for</span> <span class="token for-or-select variable">node</span> <span class="token keyword">in</span> <span class="token variable"><span class="token variable">$(</span>oc get nodes <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.items[*].metadata.name}'</span><span class="token variable">)</span></span><span class="token punctuation">;</span> <span class="token keyword">do</span> <span class="token builtin class-name">echo</span> <span class="token variable">${node}</span> <span class="token punctuation">;</span> oc adm cordon <span class="token variable">${node}</span> <span class="token punctuation">;</span> <span class="token keyword">done</span></span></span></code></pre>
</rh-code-block>

Copy Modify

import {RhCodeBlockCopyEvent} from '@rhds/elements/rh-code-block/rh-code-block.js';

document.body.addEventListener('copy', function(event) {
  if (event instanceof RhCodeBlockCopyEvent) {
    // remove prompt and surrounding whitespace from the start of the string
    event.content = event.content.replace(/^\s*\$|#\s*/, '');
  }
});
<rh-code-block highlighting="prerendered" language="bash" actions="copy">
  <pre class="language-shell-session" tabindex="0"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token keyword">for</span> <span class="token for-or-select variable">node</span> <span class="token keyword">in</span> <span class="token variable"><span class="token variable">$(</span>oc get nodes <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.items[*].metadata.name}'</span><span class="token variable">)</span></span><span class="token punctuation">;</span> <span class="token keyword">do</span> <span class="token builtin class-name">echo</span> <span class="token variable">${node}</span> <span class="token punctuation">;</span> oc adm cordon <span class="token variable">${node}</span> <span class="token punctuation">;</span> <span class="token keyword">done</span></span></span></code></pre>
</rh-code-block>

<label>Paste your results here:<br><textarea></textarea></label>

Hide Line Numbers

import '@rhds/elements/rh-code-block/rh-code-block.js';
<rh-code-block line-numbers="hidden">
<script type="text/html"><!DOCTYPE html>
<title>Title</title>
<style>body {width: 500px;}</style>
<script type="application/javascript">
  function $init() {return true;}
<</script><script type="text/html">/script>
<body>
  <p checked class="title" id="title">Title</p>
  <!-- here goes the rest of the page -->
</body></script>
</rh-code-block>

Prerendered Prism Highlighting

import '@rhds/elements/lib/elements/rh-context-demo/rh-context-demo.js';
import '@rhds/elements/rh-code-block/rh-code-block.js';
rh-context-demo::part(demo) {
  display: grid;
  gap: var(--rh-space-sm, 6px);
}
<rh-context-demo>
  <rh-code-block highlighting="prerendered" actions="copy wrap">
  <span slot="action-label-copy">Copy to Clipboard</span>
  <span slot="action-label-copy" hidden="" data-code-block-state="active">Copied!</span>
  <span slot="action-label-wrap">Toggle word wrap</span>
  <span slot="action-label-wrap" hidden="" data-code-block-state="active">Toggle overflow</span>
    <pre class="language-html"><code class="language-html"><span class="token doctype"><span class="token punctuation">&lt;!</span><span class="token doctype-tag">DOCTYPE</span> <span class="token name">html</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>html</span> <span class="token attr-name">lang</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>en<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>
  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>head</span><span class="token punctuation">&gt;</span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>meta</span> <span class="token attr-name">charset</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>utf-8<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>meta</span> <span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>viewport<span class="token punctuation">"</span></span> <span class="token attr-name">content</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>width=device-width<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>title</span><span class="token punctuation">&gt;</span></span>Cards Galore!<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>title</span><span class="token punctuation">&gt;</span></span>
  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>head</span><span class="token punctuation">&gt;</span></span>
  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>body</span><span class="token punctuation">&gt;</span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>main</span><span class="token punctuation">&gt;</span></span>
      <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>rh-card</span><span class="token punctuation">&gt;</span></span>
        <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>h2</span> <span class="token attr-name">slot</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>header<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>Card<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>h2</span><span class="token punctuation">&gt;</span></span>
        <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>p</span><span class="token punctuation">&gt;</span></span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.
 Nullam eleifend elit sed est egestas, a sollicitudin mauris
 tincidunt. Pellentesque vel dapibus risus. Nullam aliquam
 felis orci, eget cursus mi lacinia quis. Vivamus at felis sem.<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>p</span><span class="token punctuation">&gt;</span></span>
        <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>rh-cta</span> <span class="token attr-name">slot</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>footer<span class="token punctuation">"</span></span> <span class="token attr-name">priority</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>primary<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>a</span> <span class="token attr-name">href</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>#<span class="token punctuation">"</span></span><span class="token punctuation">&gt;</span></span>Call to action<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>a</span><span class="token punctuation">&gt;</span></span>
        <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>rh-cta</span><span class="token punctuation">&gt;</span></span>
      <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>rh-card</span><span class="token punctuation">&gt;</span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>main</span><span class="token punctuation">&gt;</span></span>
  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>body</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>html</span><span class="token punctuation">&gt;</span></span></code></pre>
  </rh-code-block>

  <rh-code-block highlighting="prerendered" actions="copy wrap">
  <span slot="action-label-copy">Copy to Clipboard</span>
  <span slot="action-label-copy" hidden="" data-code-block-state="active">Copied!</span>
  <span slot="action-label-wrap">Toggle word wrap</span>
  <span slot="action-label-wrap" hidden="" data-code-block-state="active">Toggle overflow</span>
    <pre class="language-css"><code class="language-css"><span class="token selector">rh-card.avatar-card</span> <span class="token punctuation">{</span>
  <span class="token property">width</span><span class="token punctuation">:</span> 360px<span class="token punctuation">;</span>
  <span class="token selector">&amp;::part(body)</span> <span class="token punctuation">{</span>
    <span class="token property">margin-block-start</span><span class="token punctuation">:</span> <span class="token function">var</span><span class="token punctuation">(</span>--rh-space-lg<span class="token punctuation">,</span> 16px<span class="token punctuation">)</span><span class="token punctuation">;</span>
  <span class="token punctuation">}</span>

  <span class="token selector">&amp; p</span> <span class="token punctuation">{</span>
    <span class="token property">margin-block-start</span><span class="token punctuation">:</span> 0<span class="token punctuation">;</span>
  <span class="token punctuation">}</span>

  <span class="token selector">&amp; h4</span> <span class="token punctuation">{</span>
    <span class="token property">font-weight</span><span class="token punctuation">:</span> <span class="token function">var</span><span class="token punctuation">(</span>--rh-font-weight-heading-regular<span class="token punctuation">,</span> 300<span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token property">font-size</span><span class="token punctuation">:</span> <span class="token function">var</span><span class="token punctuation">(</span>--rh-font-size-body-text-md<span class="token punctuation">,</span> 1rem<span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token property">font-family</span><span class="token punctuation">:</span> <span class="token function">var</span><span class="token punctuation">(</span>--rh-font-family-body-text<span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token property">line-height</span><span class="token punctuation">:</span> <span class="token function">var</span><span class="token punctuation">(</span>--rh-line-height-body-text<span class="token punctuation">,</span> 1.5<span class="token punctuation">)</span><span class="token punctuation">;</span>
  <span class="token punctuation">}</span>
<span class="token punctuation">}</span></code></pre>
  </rh-code-block>

  <rh-code-block highlighting="prerendered" actions="copy wrap">
  <span slot="action-label-copy">Copy to Clipboard</span>
  <span slot="action-label-copy" hidden="" data-code-block-state="active">Copied!</span>
  <span slot="action-label-wrap">Toggle word wrap</span>
  <span slot="action-label-wrap" hidden="" data-code-block-state="active">Toggle overflow</span>
    <pre class="language-yaml"><code class="language-yaml"><span class="token key atrule">extends</span><span class="token punctuation">:</span>
  <span class="token punctuation">-</span> stylelint<span class="token punctuation">-</span>config<span class="token punctuation">-</span>standard
  <span class="token punctuation">-</span> <span class="token string">'@stylistic/stylelint-config'</span>

<span class="token key atrule">plugins</span><span class="token punctuation">:</span>
  <span class="token punctuation">-</span> ./node_modules/@rhds/tokens/plugins/stylelint.js
  <span class="token punctuation">-</span> <span class="token string">'@stylistic/stylelint-plugin'</span>

<span class="token key atrule">rules</span><span class="token punctuation">:</span>
  <span class="token key atrule">rhds/token-values</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>
  <span class="token key atrule">rhds/no-unknown-token-name</span><span class="token punctuation">:</span>
    <span class="token punctuation">-</span> <span class="token boolean important">true</span>
    <span class="token punctuation">-</span> <span class="token key atrule">allowed</span><span class="token punctuation">:</span>
      <span class="token punctuation">-</span> <span class="token punctuation">-</span><span class="token punctuation">-</span>rh<span class="token punctuation">-</span>icon<span class="token punctuation">-</span>size</code></pre>
  </rh-code-block>
</rh-context-demo>

Resizable

import '@rhds/elements/rh-code-block/rh-code-block.js';
<rh-code-block resizable="">
  <script type="text/text">Error: Error creating network Load Balancer: AccessDenied: User: arn:aws:sts::970xxxxxxxxx:assumed-role/ManagedOpenShift-Installer-Role/163xxxxxxxxxxxxxxxx is not authorized to perform: iam:CreateServiceLinkedRole on resource: arn:aws:iam::970xxxxxxxxx:role/aws-service-role/elasticloadbalancing.amazonaws.com/AWSServiceRoleForElasticLoadBalancing</script>
</rh-code-block>

Sizes

import '@rhds/elements/rh-code-block/rh-code-block.js';
rh-code-block {
  margin-block-end: var(--rh-space-lg, 16px);
}
<hgroup>
  <h2>Sizes</h2>
  <h3>Standard</h3>
</hgroup>

<rh-code-block>
  <script type="application/shell">oc apply -f ostoy-microservice-deployment.yaml</script>
</rh-code-block>

<rh-code-block>
  <script type="text/sample">$ podman login -u flozanorht quay.io
Password:
Login Succeeded!
$ skopeo copy docker://registry.access.redhat.com/ubi8/ubi:8.0-122 \
docker://quay.io/flozanorht/ubi:8
...
Writing manifest to image destination
Storing signatures</script>
</rh-code-block>

<h3>Compact</h3>

<rh-code-block compact="">
  <script type="application/shell">oc apply -f ostoy-microservice-deployment.yaml</script>
</rh-code-block>

<rh-code-block compact="">
  <script type="text/sample">$ podman login -u flozanorht quay.io
Password:
Login Succeeded!
$ skopeo copy docker://registry.access.redhat.com/ubi8/ubi:8.0-122 \
docker://quay.io/flozanorht/ubi:8
...
Writing manifest to image destination
Storing signatures</script>
</rh-code-block>

<h3>No fixed width</h3>

<rh-code-block style="width: max-content;">
  <script type="application/shell">oc apply -f ostoy-microservice-deployment.yaml</script>
</rh-code-block>

<rh-code-block style="width: max-content;">
  <script type="text/text">$ podman login -u flozanorht quay.io
Password:
Login Succeeded!
$ skopeo copy docker://registry.access.redhat.com/ubi8/ubi:8.0-122 \
docker://quay.io/flozanorht/ubi:8
...
Writing manifest to image destination
Storing signatures</script>
</rh-code-block>

<h3>Responsive sizes</h3>

<div style="max-width: 564px">
<rh-code-block>
  <rh-code-action slot="actions" action="copy">Copy to Clipboard</rh-code-action>
  <rh-code-action slot="actions" action="wrap">
    Toggle
    <span slot="inactive">line wrap</span>
    <span slot="active">overflow</span>
  </rh-code-action>
  <script type="text/sample">$ podman login -u flozanorht quay.io
Password:
Login Succeeded!
$ skopeo copy docker://registry.access.redhat.com/ubi8/ubi:8.0-122 \
docker://quay.io/flozanorht/ubi:8
...
Writing manifest to image destination
Storing signatures</script>
</rh-code-block>
</div>

<div style="max-width: 328px">
<rh-code-block>
  <rh-code-action slot="actions" action="copy">Copy to Clipboard</rh-code-action>
  <rh-code-action slot="actions" action="wrap">
    Toggle
    <span slot="inactive">line wrap</span>
    <span slot="active">overflow</span>
  </rh-code-action>
  <script type="text/sample">$ podman login -u flozanorht quay.io
Password:
Login Succeeded!
$ skopeo copy docker://registry.access.redhat.com/ubi8/ubi:8.0-122 \
docker://quay.io/flozanorht/ubi:8
...
Writing manifest to image destination
Storing signatures</script>
</rh-code-block>
</div>

Thousands

import '@rhds/elements/rh-code-block/rh-code-block.js';
rh-code-block { margin-block-end: var(--rh-length-lg); }
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-kube-apiserver-operator get secret kube-apiserver-to-kubelet-signer <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.metadata.annotations.auth\.openshift\.io/certificate-not-after}'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">2022-08-05T14:37:50Zuser@user:~ $ </span></code></pre><rh-badge id="CO1-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token keyword">for</span> <span class="token for-or-select variable">node</span> <span class="token keyword">in</span> <span class="token variable"><span class="token variable">$(</span>oc get nodes <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.items[*].metadata.name}'</span><span class="token variable">)</span></span><span class="token punctuation">;</span> <span class="token keyword">do</span> <span class="token builtin class-name">echo</span> <span class="token variable">${node}</span> <span class="token punctuation">;</span> oc adm cordon <span class="token variable">${node}</span> <span class="token punctuation">;</span> <span class="token keyword">done</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

node/ci-ln-mgdnf4b-72292-n547t-master-0 cordoned
ci-ln-mgdnf4b-72292-n547t-master-1
node/ci-ln-mgdnf4b-72292-n547t-master-1 cordoned
ci-ln-mgdnf4b-72292-n547t-master-2
node/ci-ln-mgdnf4b-72292-n547t-master-2 cordoned
ci-ln-mgdnf4b-72292-n547t-worker-a-s7ntl
node/ci-ln-mgdnf4b-72292-n547t-worker-a-s7ntl cordoned
ci-ln-mgdnf4b-72292-n547t-worker-b-cmc9k
node/ci-ln-mgdnf4b-72292-n547t-worker-b-cmc9k cordoned
ci-ln-mgdnf4b-72292-n547t-worker-c-vcmtn
node/ci-ln-mgdnf4b-72292-n547t-worker-c-vcmtn cordoned
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">ci-ln-mgdnf4b-72292-n547t-master-0
node/ci-ln-mgdnf4b-72292-n547t-master-0 cordoned
ci-ln-mgdnf4b-72292-n547t-master-1
node/ci-ln-mgdnf4b-72292-n547t-master-1 cordoned
ci-ln-mgdnf4b-72292-n547t-master-2
node/ci-ln-mgdnf4b-72292-n547t-master-2 cordoned
ci-ln-mgdnf4b-72292-n547t-worker-a-s7ntl
node/ci-ln-mgdnf4b-72292-n547t-worker-a-s7ntl cordoned
ci-ln-mgdnf4b-72292-n547t-worker-b-cmc9k
node/ci-ln-mgdnf4b-72292-n547t-worker-b-cmc9k cordoned
ci-ln-mgdnf4b-72292-n547t-worker-c-vcmtn
node/ci-ln-mgdnf4b-72292-n547t-worker-c-vcmtn cordoned</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token keyword">for</span> <span class="token for-or-select variable">node</span> <span class="token keyword">in</span> <span class="token variable"><span class="token variable">$(</span>oc get nodes <span class="token parameter variable">-l</span> node-role.kubernetes.io/worker <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.items[*].metadata.name}'</span><span class="token variable">)</span></span><span class="token punctuation">;</span> <span class="token keyword">do</span> <span class="token builtin class-name">echo</span> <span class="token variable">${node}</span> <span class="token punctuation">;</span> oc adm drain <span class="token variable">${node}</span> --delete-emptydir-data --ignore-daemonsets<span class="token operator">=</span>true <span class="token parameter variable">--timeout</span><span class="token operator">=</span>15s <span class="token parameter variable">--force</span> <span class="token punctuation">;</span> <span class="token keyword">done</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token keyword">for</span> <span class="token for-or-select variable">node</span> <span class="token keyword">in</span> <span class="token variable"><span class="token variable">$(</span>oc get nodes <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.items[*].metadata.name}'</span><span class="token variable">)</span></span><span class="token punctuation">;</span> <span class="token keyword">do</span> oc debug node/<span class="token variable">${node}</span> -- <span class="token function">chroot</span> /host <span class="token function">shutdown</span> <span class="token parameter variable">-h</span> <span class="token number">1</span><span class="token punctuation">;</span> <span class="token keyword">done</span> </span></span></code></pre><rh-badge id="CO2-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

To use host binaries, run `chroot /host`
Shutdown scheduled for Mon 2021-09-13 09:36:17 UTC, use 'shutdown -c' to cancel.
Removing debug pod ...
Starting pod/ip-10-0-150-116us-east-2computeinternal-debug ...
To use host binaries, run `chroot /host`
Shutdown scheduled for Mon 2021-09-13 09:36:29 UTC, use 'shutdown -c' to cancel.
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">Starting pod/ip-10-0-130-169us-east-2computeinternal-debug ...
To use host binaries, run `chroot /host`
Shutdown scheduled for Mon 2021-09-13 09:36:17 UTC, use 'shutdown -c' to cancel.
Removing debug pod ...
Starting pod/ip-10-0-150-116us-east-2computeinternal-debug ...
To use host binaries, run `chroot /host`
Shutdown scheduled for Mon 2021-09-13 09:36:29 UTC, use 'shutdown -c' to cancel.</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc adm uncordon <span class="token operator">&lt;</span>node<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc adm uncordon <span class="token operator">&lt;</span>node<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get nodes <span class="token parameter variable">-l</span> node-role.kubernetes.io/master</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

ip-10-0-168-251.ec2.internal   Ready    control-plane,master   75m   v1.32.3
ip-10-0-170-223.ec2.internal   Ready    control-plane,master   75m   v1.32.3
ip-10-0-211-16.ec2.internal    Ready    control-plane,master   75m   v1.32.3
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                           STATUS   ROLES                  AGE   VERSION
ip-10-0-168-251.ec2.internal   Ready    control-plane,master   75m   v1.32.3
ip-10-0-170-223.ec2.internal   Ready    control-plane,master   75m   v1.32.3
ip-10-0-211-16.ec2.internal    Ready    control-plane,master   75m   v1.32.3</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get csr</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc describe csr <span class="token operator">&lt;</span>csr_name<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO3-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc adm certificate approve <span class="token operator">&lt;</span>csr_name<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get nodes <span class="token parameter variable">-l</span> node-role.kubernetes.io/worker</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

ip-10-0-179-95.ec2.internal    Ready    worker   64m   v1.32.3
ip-10-0-182-134.ec2.internal   Ready    worker   64m   v1.32.3
ip-10-0-250-100.ec2.internal   Ready    worker   64m   v1.32.3
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                           STATUS   ROLES    AGE   VERSION
ip-10-0-179-95.ec2.internal    Ready    worker   64m   v1.32.3
ip-10-0-182-134.ec2.internal   Ready    worker   64m   v1.32.3
ip-10-0-250-100.ec2.internal   Ready    worker   64m   v1.32.3</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get csr</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc describe csr <span class="token operator">&lt;</span>csr_name<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO4-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc adm certificate approve <span class="token operator">&lt;</span>csr_name<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token keyword">for</span> <span class="token for-or-select variable">node</span> <span class="token keyword">in</span> <span class="token variable"><span class="token variable">$(</span>oc get nodes <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.items[*].metadata.name}'</span><span class="token variable">)</span></span><span class="token punctuation">;</span> <span class="token keyword">do</span> <span class="token builtin class-name">echo</span> <span class="token variable">${node}</span> <span class="token punctuation">;</span> oc adm uncordon <span class="token variable">${node}</span> <span class="token punctuation">;</span> <span class="token keyword">done</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get clusteroperators</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

authentication                             4.19.0    True        False         False      59m
cloud-credential                           4.19.0    True        False         False      85m
cluster-autoscaler                         4.19.0    True        False         False      73m
config-operator                            4.19.0    True        False         False      73m
console                                    4.19.0    True        False         False      62m
csi-snapshot-controller                    4.19.0    True        False         False      66m
dns                                        4.19.0    True        False         False      76m
etcd                                       4.19.0    True        False         False      76m
...
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                                       VERSION   AVAILABLE   PROGRESSING   DEGRADED   SINCE
authentication                             4.19.0    True        False         False      59m
cloud-credential                           4.19.0    True        False         False      85m
cluster-autoscaler                         4.19.0    True        False         False      73m
config-operator                            4.19.0    True        False         False      73m
console                                    4.19.0    True        False         False      62m
csi-snapshot-controller                    4.19.0    True        False         False      66m
dns                                        4.19.0    True        False         False      76m
etcd                                       4.19.0    True        False         False      76m
...</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get nodes</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

ip-10-0-168-251.ec2.internal   Ready    control-plane,master   82m   v1.32.3
ip-10-0-170-223.ec2.internal   Ready    control-plane,master   82m   v1.32.3
ip-10-0-179-95.ec2.internal    Ready    worker                 70m   v1.32.3
ip-10-0-182-134.ec2.internal   Ready    worker                 70m   v1.32.3
ip-10-0-211-16.ec2.internal    Ready    control-plane,master   82m   v1.32.3
ip-10-0-250-100.ec2.internal   Ready    worker                 69m   v1.32.3
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                           STATUS   ROLES                  AGE   VERSION
ip-10-0-168-251.ec2.internal   Ready    control-plane,master   82m   v1.32.3
ip-10-0-170-223.ec2.internal   Ready    control-plane,master   82m   v1.32.3
ip-10-0-179-95.ec2.internal    Ready    worker                 70m   v1.32.3
ip-10-0-182-134.ec2.internal   Ready    worker                 70m   v1.32.3
ip-10-0-211-16.ec2.internal    Ready    control-plane,master   82m   v1.32.3
ip-10-0-250-100.ec2.internal   Ready    worker                 69m   v1.32.3</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get nodes</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

ci-ln-812tb4k-72292-8bcj7-master-0        Ready	  control-plane,master  32m   v1.32.3
ci-ln-812tb4k-72292-8bcj7-master-1        Ready	  control-plane,master  32m   v1.32.3
ci-ln-812tb4k-72292-8bcj7-master-2        Ready	  control-plane,master  32m   v1.32.3
Ci-ln-812tb4k-72292-8bcj7-worker-a-zhdvk  Ready	  worker                19m   v1.32.3
ci-ln-812tb4k-72292-8bcj7-worker-b-9hrmv  Ready	  worker                19m   v1.32.3
ci-ln-812tb4k-72292-8bcj7-worker-c-q8mw2  Ready	  worker                19m   v1.32.3
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                                      STATUS  ROLES                 AGE   VERSION
ci-ln-812tb4k-72292-8bcj7-master-0        Ready	  control-plane,master  32m   v1.32.3
ci-ln-812tb4k-72292-8bcj7-master-1        Ready	  control-plane,master  32m   v1.32.3
ci-ln-812tb4k-72292-8bcj7-master-2        Ready	  control-plane,master  32m   v1.32.3
Ci-ln-812tb4k-72292-8bcj7-worker-a-zhdvk  Ready	  worker                19m   v1.32.3
ci-ln-812tb4k-72292-8bcj7-worker-b-9hrmv  Ready	  worker                19m   v1.32.3
ci-ln-812tb4k-72292-8bcj7-worker-c-q8mw2  Ready	  worker                19m   v1.32.3</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get clusteroperators</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

authentication            4.19.0-0  True       False        False     51m
baremetal                 4.19.0-0  True       False        False     72m
cloud-controller-manager  4.19.0-0  True       False        False     75m
cloud-credential          4.19.0-0  True       False        False     77m
cluster-api               4.19.0-0  True       False        False     42m
cluster-autoscaler        4.19.0-0  True       False        False     72m
config-operator           4.19.0-0  True       False        False     72m
console                   4.19.0-0  True       False        False     55m
...
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                      VERSION   AVAILABLE  PROGRESSING  DEGRADED  SINCE   MESSAGE
authentication            4.19.0-0  True       False        False     51m
baremetal                 4.19.0-0  True       False        False     72m
cloud-controller-manager  4.19.0-0  True       False        False     75m
cloud-credential          4.19.0-0  True       False        False     77m
cluster-api               4.19.0-0  True       False        False     42m
cluster-autoscaler        4.19.0-0  True       False        False     72m
config-operator           4.19.0-0  True       False        False     72m
console                   4.19.0-0  True       False        False     55m
...</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get mcp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

master  rendered-master-87871f187930e67233c837e1d07f49c7  True     False     False     3             3                  3                    0                     96m
worker  rendered-worker-3c4c459dc5d90017983d7e72928b8aed  True     False     False     3             3                  3                    0                     96m
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME    CONFIG                                            UPDATED  UPDATING  DEGRADED  MACHINECOUNT  READYMACHINECOUNT  UPDATEDMACHINECOUNT  DEGRADEDMACHINECOUNT  AGE
master  rendered-master-87871f187930e67233c837e1d07f49c7  True     False     False     3             3                  3                    0                     96m
worker  rendered-worker-3c4c459dc5d90017983d7e72928b8aed  True     False     False     3             3                  3                    0                     96m</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get csr</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

csr-4dwsd  37m  kubernetes.io/kube-apiserver-client          system:node:ci-ln-812tb4k-72292-8bcj7-worker-c-q8mw2                       24h                Pending
csr-4vrbr  49m  kubernetes.io/kube-apiserver-client          system:node:ci-ln-812tb4k-72292-8bcj7-master-1                             24h                Pending
csr-4wk5x  51m  kubernetes.io/kubelet-serving                system:node:ci-ln-812tb4k-72292-8bcj7-master-1                             &lt;none&gt;             Pending
csr-84vb6  51m  kubernetes.io/kube-apiserver-client-kubelet  system:serviceaccount:openshift-machine-config-operator:node-bootstrapper  &lt;none&gt;             Pending
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME       AGE  SIGNERNAME                                   REQUESTOR                                                                  REQUESTEDDURATION  CONDITION
csr-4dwsd  37m  kubernetes.io/kube-apiserver-client          system:node:ci-ln-812tb4k-72292-8bcj7-worker-c-q8mw2                       24h                Pending
csr-4vrbr  49m  kubernetes.io/kube-apiserver-client          system:node:ci-ln-812tb4k-72292-8bcj7-master-1                             24h                Pending
csr-4wk5x  51m  kubernetes.io/kubelet-serving                system:node:ci-ln-812tb4k-72292-8bcj7-master-1                             &lt;none&gt;             Pending
csr-84vb6  51m  kubernetes.io/kube-apiserver-client-kubelet  system:serviceaccount:openshift-machine-config-operator:node-bootstrapper  &lt;none&gt;             Pending</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc adm certificate approve <span class="token operator">&lt;</span>csr_name<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get csr</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

csr-4dwsd  37m  kubernetes.io/kube-apiserver-client          system:node:ci-ln-812tb4k-72292-8bcj7-worker-c-q8mw2                       24h                Approved,Issued
csr-4vrbr  49m  kubernetes.io/kube-apiserver-client          system:node:ci-ln-812tb4k-72292-8bcj7-master-1                             24h                Approved,Issued
csr-4wk5x  51m  kubernetes.io/kubelet-serving                system:node:ci-ln-812tb4k-72292-8bcj7-master-1                             &lt;none&gt;             Approved,Issued
csr-84vb6  51m  kubernetes.io/kube-apiserver-client-kubelet  system:serviceaccount:openshift-machine-config-operator:node-bootstrapper  &lt;none&gt;             Approved,Issued
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME       AGE  SIGNERNAME                                   REQUESTOR                                                                  REQUESTEDDURATION  CONDITION
csr-4dwsd  37m  kubernetes.io/kube-apiserver-client          system:node:ci-ln-812tb4k-72292-8bcj7-worker-c-q8mw2                       24h                Approved,Issued
csr-4vrbr  49m  kubernetes.io/kube-apiserver-client          system:node:ci-ln-812tb4k-72292-8bcj7-master-1                             24h                Approved,Issued
csr-4wk5x  51m  kubernetes.io/kubelet-serving                system:node:ci-ln-812tb4k-72292-8bcj7-master-1                             &lt;none&gt;             Approved,Issued
csr-84vb6  51m  kubernetes.io/kube-apiserver-client-kubelet  system:serviceaccount:openshift-machine-config-operator:node-bootstrapper  &lt;none&gt;             Approved,Issued</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get nodes</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

ci-ln-812tb4k-72292-8bcj7-master-0        Ready	  control-plane,master  32m   v1.32.3
ci-ln-812tb4k-72292-8bcj7-master-1        Ready	  control-plane,master  32m   v1.32.3
ci-ln-812tb4k-72292-8bcj7-master-2        Ready	  control-plane,master  32m   v1.32.3
Ci-ln-812tb4k-72292-8bcj7-worker-a-zhdvk  Ready	  worker                19m   v1.32.3
ci-ln-812tb4k-72292-8bcj7-worker-b-9hrmv  Ready	  worker                19m   v1.32.3
ci-ln-812tb4k-72292-8bcj7-worker-c-q8mw2  Ready	  worker                19m   v1.32.3
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                                      STATUS  ROLES                 AGE   VERSION
ci-ln-812tb4k-72292-8bcj7-master-0        Ready	  control-plane,master  32m   v1.32.3
ci-ln-812tb4k-72292-8bcj7-master-1        Ready	  control-plane,master  32m   v1.32.3
ci-ln-812tb4k-72292-8bcj7-master-2        Ready	  control-plane,master  32m   v1.32.3
Ci-ln-812tb4k-72292-8bcj7-worker-a-zhdvk  Ready	  worker                19m   v1.32.3
ci-ln-812tb4k-72292-8bcj7-worker-b-9hrmv  Ready	  worker                19m   v1.32.3
ci-ln-812tb4k-72292-8bcj7-worker-c-q8mw2  Ready	  worker                19m   v1.32.3</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get clusteroperators</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

authentication            4.19.0-0  True       False        False     51m
baremetal                 4.19.0-0  True       False        False     72m
cloud-controller-manager  4.19.0-0  True       False        False     75m
cloud-credential          4.19.0-0  True       False        False     77m
cluster-api               4.19.0-0  True       False        False     42m
cluster-autoscaler        4.19.0-0  True       False        False     72m
config-operator           4.19.0-0  True       False        False     72m
console                   4.19.0-0  True       False        False     55m
...
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                      VERSION   AVAILABLE  PROGRESSING  DEGRADED  SINCE   MESSAGE
authentication            4.19.0-0  True       False        False     51m
baremetal                 4.19.0-0  True       False        False     72m
cloud-controller-manager  4.19.0-0  True       False        False     75m
cloud-credential          4.19.0-0  True       False        False     77m
cluster-api               4.19.0-0  True       False        False     42m
cluster-autoscaler        4.19.0-0  True       False        False     72m
config-operator           4.19.0-0  True       False        False     72m
console                   4.19.0-0  True       False        False     55m
...</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get dpa <span class="token parameter variable">-n</span> openshift-adp</span></span>
<span class="token output">NAME            RECONCILED   AGE
velero-sample   True         2m51s</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  annotations:
    velero.io/restore-status: "true"
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">metadata:
  annotations:
    velero.io/restore-status: "true"</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" actions="copy">

mark it as "Failed"
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">failureReason: found a backup with status "InProgress" during the server starting,
mark it as "Failed"</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">ERROR unable to determine if bucket exists. {"error": "open /tmp/aws-shared-credentials1211864681: read-only file system"}</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get dpa <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-o</span> yaml <span class="token operator">&gt;</span> dpa.orig.backup</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

 spec:
   configuration:
     nodeAgent:
       enable: true
       uploaderType: kopia
...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
 <span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
   <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
     <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
       <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
       <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
<span class="token punctuation"><span class="token punctuation">...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

 spec:
   configuration:
     nodeAgent:
       backupPVC:
         ...
       loadConcurrency:
         ...
       podResources:
         ...
       restorePVC:
        ...
...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
 <span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
   <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
     <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
       <span class="token key atrule"><span class="token key atrule">backupPVC</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
         <span class="token punctuation"><span class="token punctuation">...</span></span>
       <span class="token key atrule"><span class="token key atrule">loadConcurrency</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
         <span class="token punctuation"><span class="token punctuation">...</span></span>
       <span class="token key atrule"><span class="token key atrule">podResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
         <span class="token punctuation"><span class="token punctuation">...</span></span>
       <span class="token key atrule"><span class="token key atrule">restorePVC</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token punctuation"><span class="token punctuation">...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get dpa dpa-sample <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" actions="copy">

dpa-sample      True         2m51s
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">NAME            RECONCILED   AGE
dpa-sample      True         2m51s</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get all <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

pod/node-agent-9pjz9                                    1/1     Running   0          3d17h
pod/node-agent-fmn84                                    1/1     Running   0          3d17h
pod/node-agent-xw2dg                                    1/1     Running   0          3d17h
pod/openshift-adp-controller-manager-76b8bc8d7b-kgkcw   1/1     Running   0          3d17h
pod/velero-64475b8c5b-nh2qc                             1/1     Running   0          3d17h

NAME                                                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
service/openshift-adp-controller-manager-metrics-service   ClusterIP   172.30.194.192   &lt;none&gt;        8443/TCP   3d17h
service/openshift-adp-velero-metrics-svc                   ClusterIP   172.30.190.174   &lt;none&gt;        8085/TCP   3d17h

NAME                        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/node-agent   3         3         3       3            3           &lt;none&gt;          3d17h

NAME                                               READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/openshift-adp-controller-manager   1/1     1            1           3d17h
deployment.apps/velero                             1/1     1            1           3d17h

NAME                                                          DESIRED   CURRENT   READY   AGE
replicaset.apps/openshift-adp-controller-manager-76b8bc8d7b   1         1         1       3d17h
replicaset.apps/openshift-adp-controller-manager-85fff975b8   0         0         0       3d17h
replicaset.apps/velero-64475b8c5b                             1         1         1       3d17h
replicaset.apps/velero-8b5bc54fd                              0         0         0       3d17h
replicaset.apps/velero-f5c9ffb66                              0         0         0       3d17h
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">NAME                                                    READY   STATUS    RESTARTS   AGE
pod/node-agent-9pjz9                                    1/1     Running   0          3d17h
pod/node-agent-fmn84                                    1/1     Running   0          3d17h
pod/node-agent-xw2dg                                    1/1     Running   0          3d17h
pod/openshift-adp-controller-manager-76b8bc8d7b-kgkcw   1/1     Running   0          3d17h
pod/velero-64475b8c5b-nh2qc                             1/1     Running   0          3d17h

NAME                                                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
service/openshift-adp-controller-manager-metrics-service   ClusterIP   172.30.194.192   &lt;none&gt;        8443/TCP   3d17h
service/openshift-adp-velero-metrics-svc                   ClusterIP   172.30.190.174   &lt;none&gt;        8085/TCP   3d17h

NAME                        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/node-agent   3         3         3       3            3           &lt;none&gt;          3d17h

NAME                                               READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/openshift-adp-controller-manager   1/1     1            1           3d17h
deployment.apps/velero                             1/1     1            1           3d17h

NAME                                                          DESIRED   CURRENT   READY   AGE
replicaset.apps/openshift-adp-controller-manager-76b8bc8d7b   1         1         1       3d17h
replicaset.apps/openshift-adp-controller-manager-85fff975b8   0         0         0       3d17h
replicaset.apps/velero-64475b8c5b                             1         1         1       3d17h
replicaset.apps/velero-8b5bc54fd                              0         0         0       3d17h
replicaset.apps/velero-f5c9ffb66                              0         0         0       3d17h</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get backupstoragelocations.velero.io <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" actions="copy">

dpa-sample-1   Available   1s               3d16h   true
<pre class="language-yaml" tabindex="-1"><code class="language-yaml">NAME           PHASE       LAST VALIDATED   AGE     DEFAULT
dpa<span class="token punctuation"><span class="token punctuation">-</span></span>sample<span class="token punctuation"><span class="token punctuation">-</span></span>1   Available   1s               3d16h   true</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">Requests specifying Server Side Encryption with Customer provided keys must provide the client calculated MD5 of the secret key.</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" actions="copy">

mark it as "Failed".
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">found a podvolumebackup with status "InProgress" during the server starting,
mark it as "Failed".</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" actions="copy">

    snapshot : snapshot not found
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">data path restore failed: Failed to run kopia restore: Unable to load
    snapshot : snapshot not found</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" actions="copy">

<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">The generated label name is too long.</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  --from-backup &lt;BACKUP_NAME&gt; \
  --exclude-resources=deployment.apps
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero restore create <span class="token operator">&lt;</span>RESTORE_NAME<span class="token operator">&gt;</span> <span class="token punctuation">\</span>
  --from-backup <span class="token operator">&lt;</span>BACKUP_NAME<span class="token operator">&gt;</span> <span class="token punctuation">\</span>
  --exclude-resources<span class="token operator">=</span>deployment.apps</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  --from-backup &lt;BACKUP_NAME&gt; \
  --include-resources=deployment.apps
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero restore create <span class="token operator">&lt;</span>RESTORE_NAME<span class="token operator">&gt;</span> <span class="token punctuation">\</span>
  --from-backup <span class="token operator">&lt;</span>BACKUP_NAME<span class="token operator">&gt;</span> <span class="token punctuation">\</span>
  --include-resources<span class="token operator">=</span>deployment.apps</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get dpa <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-o</span> yaml <span class="token operator">&gt;</span> dpa.orig.backup</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get all <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

pod/oadp-operator-controller-manager-67d9494d47-6l8z8    2/2     Running   0          2m8s
pod/restic-9cq4q                                         1/1     Running   0          94s
pod/restic-m4lts                                         1/1     Running   0          94s
pod/restic-pv4kr                                         1/1     Running   0          95s
pod/velero-588db7f655-n842v                              1/1     Running   0          95s

NAME                                                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
service/oadp-operator-controller-manager-metrics-service   ClusterIP   172.30.70.140    &lt;none&gt;        8443/TCP   2m8s

NAME                    DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/restic   3         3         3       3            3           &lt;none&gt;          96s

NAME                                                READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/oadp-operator-controller-manager    1/1     1            1           2m9s
deployment.apps/velero                              1/1     1            1           96s

NAME                                                           DESIRED   CURRENT   READY   AGE
replicaset.apps/oadp-operator-controller-manager-67d9494d47    1         1         1       2m9s
replicaset.apps/velero-588db7f655                              1         1         1       96s
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">NAME                                                     READY   STATUS    RESTARTS   AGE
pod/oadp-operator-controller-manager-67d9494d47-6l8z8    2/2     Running   0          2m8s
pod/restic-9cq4q                                         1/1     Running   0          94s
pod/restic-m4lts                                         1/1     Running   0          94s
pod/restic-pv4kr                                         1/1     Running   0          95s
pod/velero-588db7f655-n842v                              1/1     Running   0          95s

NAME                                                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
service/oadp-operator-controller-manager-metrics-service   ClusterIP   172.30.70.140    &lt;none&gt;        8443/TCP   2m8s

NAME                    DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/restic   3         3         3       3            3           &lt;none&gt;          96s

NAME                                                READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/oadp-operator-controller-manager    1/1     1            1           2m9s
deployment.apps/velero                              1/1     1            1           96s

NAME                                                           DESIRED   CURRENT   READY   AGE
replicaset.apps/oadp-operator-controller-manager-67d9494d47    1         1         1       2m9s
replicaset.apps/velero-588db7f655                              1         1         1       96s</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get dpa dpa-sample <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.status}'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" actions="copy">

<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">{</span></span>"conditions"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token punctuation"><span class="token punctuation">[</span></span><span class="token punctuation"><span class="token punctuation">{</span></span>"lastTransitionTime"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"2023-10-27T01:23:57Z"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"message"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"Reconcile complete"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"reason"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"Complete"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"status"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"True"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"type"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"Reconciled"</span></span><span class="token punctuation"><span class="token punctuation">}</span></span><span class="token punctuation"><span class="token punctuation">]</span></span><span class="token punctuation"><span class="token punctuation">}</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get backupstoragelocations.velero.io <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" actions="copy">

dpa-sample-1   Available   1s               3d16h   true
<pre class="language-yaml" tabindex="-1"><code class="language-yaml">NAME           PHASE       LAST VALIDATED   AGE     DEFAULT
dpa<span class="token punctuation"><span class="token punctuation">-</span></span>sample<span class="token punctuation"><span class="token punctuation">-</span></span>1   Available   1s               3d16h   true</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

 kind: DataProtectionApplication
 metadata:
   name: dpa-sample
 spec:
   configuration:
     velero:
       defaultPlugins:
       - openshift
       - aws
       - azure
       - gcp
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"> <span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
 <span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
 <span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
   <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> dpa<span class="token punctuation"><span class="token punctuation">-</span></span>sample
 <span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
   <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
     <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
       <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
       <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
       <span class="token punctuation"><span class="token punctuation">-</span></span> aws
       <span class="token punctuation"><span class="token punctuation">-</span></span> azure
       <span class="token punctuation"><span class="token punctuation">-</span></span> gcp</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
 name: dpa-sample
spec:
 configuration:
   velero:
     defaultPlugins:
     - openshift
     - azure
     - gcp
     customPlugins:
     - name: custom-plugin-example
       image: quay.io/example-repo/custom-velero-plugin
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
 <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> dpa<span class="token punctuation"><span class="token punctuation">-</span></span>sample
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
 <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
   <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
     <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
     <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
     <span class="token punctuation"><span class="token punctuation">-</span></span> azure
     <span class="token punctuation"><span class="token punctuation">-</span></span> gcp
     <span class="token key atrule"><span class="token key atrule">customPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
     <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> custom<span class="token punctuation"><span class="token punctuation">-</span></span>plugin<span class="token punctuation"><span class="token punctuation">-</span></span>example
       <span class="token key atrule"><span class="token key atrule">image</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> quay.io/example<span class="token punctuation"><span class="token punctuation">-</span></span>repo/custom<span class="token punctuation"><span class="token punctuation">-</span></span>velero<span class="token punctuation"><span class="token punctuation">-</span></span>plugin</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" actions="copy">

backup=openshift-adp/&lt;backup name&gt; error="error executing custom action (groupResource=imagestreams.image.openshift.io,
namespace=&lt;BSL Name&gt;, name=postgres): rpc error: code = Aborted desc = plugin panicked:
runtime error: index out of range with length 1, stack trace: goroutine 94…
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">024-02-27T10:46:50.028951744Z time="2024-02-27T10:46:50Z" level=error msg="Error backing up item"
backup=openshift-adp/&lt;backup name&gt; error="error executing custom action (groupResource=imagestreams.image.openshift.io,
namespace=&lt;BSL Name&gt;, name=postgres): rpc error: code = Aborted desc = plugin panicked:
runtime error: index out of range with length 1, stack trace: goroutine 94…</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc label backupstoragelocations.velero.io <span class="token operator">&lt;</span>bsl_name<span class="token operator">&gt;</span> app.kubernetes.io/component<span class="token operator">=</span>bsl</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp get secret/oadp-<span class="token operator">&lt;</span>bsl_name<span class="token operator">&gt;</span>-<span class="token operator">&lt;</span>bsl_provider<span class="token operator">&gt;</span>-registry-secret <span class="token parameter variable">-o</span> json <span class="token operator">|</span> jq <span class="token parameter variable">-r</span> <span class="token string">'.data'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: ObjectBucketClaim
metadata:
  name: test-obc
  namespace: openshift-adp
spec:
  storageClassName: openshift-storage.noobaa.io
  generateBucketName: test-backup-bucket 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> objectbucket.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ObjectBucketClaim
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>obc </code></pre><rh-badge id="CO5-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">storageClassName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>storage.noobaa.io
  <span class="token key atrule"><span class="token key atrule">generateBucketName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>backup<span class="token punctuation"><span class="token punctuation">-</span></span>bucket </code></pre><rh-badge id="CO5-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>obc_file_name<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO6-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc extract <span class="token parameter variable">--to</span><span class="token operator">=</span>- cm/test-obc </span></span></code></pre><rh-badge id="CO7-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

BUCKET_PORT
BUCKET_REGION
BUCKET_SUBREGION
BUCKET_HOST
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash">BUCKET_NAME</span></span>
<span class="token output">backup-c20...41fd
</span><span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash">BUCKET_PORT</span></span>
<span class="token output">443
</span><span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash">BUCKET_REGION</span></span>

<span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash">BUCKET_SUBREGION</span></span>

<span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash">BUCKET_HOST</span></span>
<span class="token output">s3.openshift-storage.svc</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc extract <span class="token parameter variable">--to</span><span class="token operator">=</span>- secret/test-obc</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

AWS_SECRET_ACCESS_KEY
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash">AWS_ACCESS_KEY_ID</span></span>
<span class="token output">ebYR....xLNMc
</span><span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash">AWS_SECRET_ACCESS_KEY</span></span>
<span class="token output">YXf...+NaCkdyC3QPym</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get route s3 <span class="token parameter variable">-n</span> openshift-storage</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

aws_access_key_id=&lt;AWS_ACCESS_KEY_ID&gt;
aws_secret_access_key=&lt;AWS_SECRET_ACCESS_KEY&gt;
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">[default]
aws_access_key_id=&lt;AWS_ACCESS_KEY_ID&gt;
aws_secret_access_key=&lt;AWS_SECRET_ACCESS_KEY&gt;</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  cloud-credentials \
  -n openshift-adp \
  --from-file cloud=cloud-credentials
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create secret generic <span class="token punctuation">\</span>
  cloud-credentials <span class="token punctuation">\</span>
  <span class="token parameter variable">-n</span> openshift-adp <span class="token punctuation">\</span>
  --from-file <span class="token assign-left variable">cloud</span><span class="token operator">=</span>cloud-credentials</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: oadp-backup
  namespace: openshift-adp
spec:
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
    velero:
      defaultPlugins:
        - aws
        - openshift
        - csi
      defaultSnapshotMoveData: true
  backupLocations:
    - velero:
        config:
profile: "default"
region: noobaa
s3Url: https://s3.openshift-storage.svc
s3ForcePathStyle: "true"
insecureSkipTLSVerify: "true"
        provider: aws
        default: true
        credential:
key: cloud
name:  cloud-credentials
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: oadp
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp<span class="token punctuation"><span class="token punctuation">-</span></span>backup
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> aws
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
        <span class="token punctuation"><span class="token punctuation">-</span></span> csi
      <span class="token key atrule"><span class="token key atrule">defaultSnapshotMoveData</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO8-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> noobaa
<span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> https<span class="token punctuation"><span class="token punctuation">:</span></span>//s3.openshift<span class="token punctuation"><span class="token punctuation">-</span></span>storage.svc </code></pre><rh-badge id="CO8-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>  cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO8-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>dpa_filename<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get dpa <span class="token parameter variable">-o</span> yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

items:
- apiVersion: oadp.openshift.io/v1alpha1
  kind: DataProtectionApplication
  metadata:
    namespace: openshift-adp
    #...#
  spec:
    backupLocations:
    - velero:
        config:
#...#
  status:
    conditions:
    - lastTransitionTime: "20....9:54:02Z"
      message: Reconcile complete
      reason: Complete
      status: "True"
      type: Reconciled
kind: List
metadata:
  resourceVersion: ""
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> v1
<span class="token key atrule"><span class="token key atrule">items</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
  <span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
  <span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
    <span class="token comment"><span class="token comment">#...#</span></span>
  <span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token comment"><span class="token comment">#...#</span></span>
  <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">conditions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">lastTransitionTime</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"20....9:54:02Z"</span></span>
      <span class="token key atrule"><span class="token key atrule">message</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Reconcile complete
      <span class="token key atrule"><span class="token key atrule">reason</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Complete
      <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"True"</span></span>
      <span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Reconciled
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> List
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">resourceVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">""</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get backupstoragelocations.velero.io <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

dpa-sample-1   Available   3s               15s   true
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME           PHASE       LAST VALIDATED   AGE   DEFAULT
dpa-sample-1   Available   3s               15s   true</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Backup
metadata:
  name: test-backup
  namespace: openshift-adp
spec:
  includedNamespaces:
  - &lt;application_namespace&gt; 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Backup
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>backup
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">includedNamespaces</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> &lt;application_namespace<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO9-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>backup_cr_filename<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc describe backup test-backup <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

Namespace:    openshift-adp
# ....#
Status:
  Backup Item Operations Attempted:  1
  Backup Item Operations Completed:  1
  Completion Timestamp:              2024-09-25T10:17:01Z
  Expiration:                        2024-10-25T10:16:31Z
  Format Version:                    1.1.0
  Hook Status:
  Phase:  Completed
  Progress:
    Items Backed Up:  34
    Total Items:      34
  Start Timestamp:    2024-09-25T10:16:31Z
  Version:            1
Events:               &lt;none&gt;
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">Name:         test-backup
Namespace:    openshift-adp
</span><span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash"><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token comment">#</span></span></span>
<span class="token output">Status:
  Backup Item Operations Attempted:  1
  Backup Item Operations Completed:  1
  Completion Timestamp:              2024-09-25T10:17:01Z
  Expiration:                        2024-10-25T10:16:31Z
  Format Version:                    1.1.0
  Hook Status:
  Phase:  Completed
  Progress:
    Items Backed Up:  34
    Total Items:      34
  Start Timestamp:    2024-09-25T10:16:31Z
  Version:            1
Events:               &lt;none&gt;</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Restore
metadata:
  name: test-restore
  namespace: openshift-adp
spec:
  backupName: &lt;backup_name&gt;
  restorePVs: true
  namespaceMapping:
    &lt;application_namespace&gt;: test-restore-application 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Restore
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>restore </code></pre><rh-badge id="CO10-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;backup_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO10-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">restorePVs</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
  <span class="token key atrule"><span class="token key atrule">namespaceMapping</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">&lt;application_namespace&gt;</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>restore<span class="token punctuation"><span class="token punctuation">-</span></span>application </code></pre><rh-badge id="CO10-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>restore_cr_filename<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc describe restores.velero.io <span class="token operator">&lt;</span>restore_name<span class="token operator">&gt;</span> <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc project test-restore-application</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get pvc,svc,deployment,secret,configmap</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

persistentvolumeclaim/mysql   Bound    pvc-9b3583db-...-14b86

NAME               TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)    AGE
service/mysql      ClusterIP   172....157     &lt;none&gt;        3306/TCP   2m56s
service/todolist   ClusterIP   172.....15     &lt;none&gt;        8000/TCP   2m56s

NAME                    READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/mysql   0/1     1            0           2m55s

NAME                                         TYPE                      DATA   AGE
secret/builder-dockercfg-6bfmd               kubernetes.io/dockercfg   1      2m57s
secret/default-dockercfg-hz9kz               kubernetes.io/dockercfg   1      2m57s
secret/deployer-dockercfg-86cvd              kubernetes.io/dockercfg   1      2m57s
secret/mysql-persistent-sa-dockercfg-rgp9b   kubernetes.io/dockercfg   1      2m57s

NAME                                 DATA   AGE
configmap/kube-root-ca.crt           1      2m57s
configmap/openshift-service-ca.crt   1      2m57s
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                          STATUS   VOLUME
persistentvolumeclaim/mysql   Bound    pvc-9b3583db-...-14b86

NAME               TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)    AGE
service/mysql      ClusterIP   172....157     &lt;none&gt;        3306/TCP   2m56s
service/todolist   ClusterIP   172.....15     &lt;none&gt;        8000/TCP   2m56s

NAME                    READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/mysql   0/1     1            0           2m55s

NAME                                         TYPE                      DATA   AGE
secret/builder-dockercfg-6bfmd               kubernetes.io/dockercfg   1      2m57s
secret/default-dockercfg-hz9kz               kubernetes.io/dockercfg   1      2m57s
secret/deployer-dockercfg-86cvd              kubernetes.io/dockercfg   1      2m57s
secret/mysql-persistent-sa-dockercfg-rgp9b   kubernetes.io/dockercfg   1      2m57s

NAME                                 DATA   AGE
configmap/kube-root-ca.crt           1      2m57s
configmap/openshift-service-ca.crt   1      2m57s</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: ObjectBucketClaim
metadata:
  name: test-obc
  namespace: openshift-adp
spec:
  storageClassName: openshift-storage.noobaa.io
  generateBucketName: test-backup-bucket 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> objectbucket.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ObjectBucketClaim
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>obc </code></pre><rh-badge id="CO11-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">storageClassName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>storage.noobaa.io
  <span class="token key atrule"><span class="token key atrule">generateBucketName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>backup<span class="token punctuation"><span class="token punctuation">-</span></span>bucket </code></pre><rh-badge id="CO11-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>obc_file_name<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc extract <span class="token parameter variable">--to</span><span class="token operator">=</span>- cm/test-obc </span></span></code></pre><rh-badge id="CO12-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

BUCKET_PORT
BUCKET_REGION
BUCKET_SUBREGION
BUCKET_HOST
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash">BUCKET_NAME</span></span>
<span class="token output">backup-c20...41fd
</span><span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash">BUCKET_PORT</span></span>
<span class="token output">443
</span><span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash">BUCKET_REGION</span></span>

<span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash">BUCKET_SUBREGION</span></span>

<span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash">BUCKET_HOST</span></span>
<span class="token output">s3.openshift-storage.svc</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc extract <span class="token parameter variable">--to</span><span class="token operator">=</span>- secret/test-obc</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

AWS_SECRET_ACCESS_KEY
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash">AWS_ACCESS_KEY_ID</span></span>
<span class="token output">ebYR....xLNMc
</span><span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash">AWS_SECRET_ACCESS_KEY</span></span>
<span class="token output">YXf...+NaCkdyC3QPym</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

aws_access_key_id=&lt;AWS_ACCESS_KEY_ID&gt;
aws_secret_access_key=&lt;AWS_SECRET_ACCESS_KEY&gt;
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">[default]
aws_access_key_id=&lt;AWS_ACCESS_KEY_ID&gt;
aws_secret_access_key=&lt;AWS_SECRET_ACCESS_KEY&gt;</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  cloud-credentials \
  -n openshift-adp \
  --from-file cloud=cloud-credentials
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create secret generic <span class="token punctuation">\</span>
  cloud-credentials <span class="token punctuation">\</span>
  <span class="token parameter variable">-n</span> openshift-adp <span class="token punctuation">\</span>
  --from-file <span class="token assign-left variable">cloud</span><span class="token operator">=</span>cloud-credentials</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  -o jsonpath='{.data.service-ca\.crt}' | base64 -w0; echo
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get cm/openshift-service-ca.crt <span class="token punctuation">\</span>
  <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.data.service-ca\.crt}'</span> <span class="token operator">|</span> base64 -w0<span class="token punctuation">;</span> <span class="token builtin class-name">echo</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

....gpwOHMwaG9CRmk5a3....FLS0tLS0K
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0...
....gpwOHMwaG9CRmk5a3....FLS0tLS0K</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: oadp-backup
  namespace: openshift-adp
spec:
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
    velero:
      defaultPlugins:
        - aws
        - openshift
        - csi
      defaultSnapshotMoveData: true
  backupLocations:
    - velero:
        config:
profile: "default"
region: noobaa
s3Url: https://s3.openshift-storage.svc
s3ForcePathStyle: "true"
insecureSkipTLSVerify: "false"
        provider: aws
        default: true
        credential:
key: cloud
name:  cloud-credentials
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: oadp
caCert: &lt;ca_cert&gt; 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp<span class="token punctuation"><span class="token punctuation">-</span></span>backup
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> aws
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
        <span class="token punctuation"><span class="token punctuation">-</span></span> csi
      <span class="token key atrule"><span class="token key atrule">defaultSnapshotMoveData</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> noobaa
<span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> https<span class="token punctuation"><span class="token punctuation">:</span></span>//s3.openshift<span class="token punctuation"><span class="token punctuation">-</span></span>storage.svc
<span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"false"</span></span> </code></pre><rh-badge id="CO13-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>  cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO13-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp
<span class="token key atrule"><span class="token key atrule">caCert</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;ca_cert<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO13-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>dpa_filename<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get dpa <span class="token parameter variable">-o</span> yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

items:
- apiVersion: oadp.openshift.io/v1alpha1
  kind: DataProtectionApplication
  metadata:
    namespace: openshift-adp
    #...#
  spec:
    backupLocations:
    - velero:
        config:
#...#
  status:
    conditions:
    - lastTransitionTime: "20....9:54:02Z"
      message: Reconcile complete
      reason: Complete
      status: "True"
      type: Reconciled
kind: List
metadata:
  resourceVersion: ""
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> v1
<span class="token key atrule"><span class="token key atrule">items</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
  <span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
  <span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
    <span class="token comment"><span class="token comment">#...#</span></span>
  <span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token comment"><span class="token comment">#...#</span></span>
  <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">conditions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">lastTransitionTime</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"20....9:54:02Z"</span></span>
      <span class="token key atrule"><span class="token key atrule">message</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Reconcile complete
      <span class="token key atrule"><span class="token key atrule">reason</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Complete
      <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"True"</span></span>
      <span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Reconciled
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> List
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">resourceVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">""</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get backupstoragelocations.velero.io <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

dpa-sample-1   Available   3s               15s   true
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME           PHASE       LAST VALIDATED   AGE   DEFAULT
dpa-sample-1   Available   3s               15s   true</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Backup
metadata:
  name: test-backup
  namespace: openshift-adp
spec:
  includedNamespaces:
  - &lt;application_namespace&gt; 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Backup
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>backup
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">includedNamespaces</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> &lt;application_namespace<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO14-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>backup_cr_filename<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc describe backup test-backup <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

Namespace:    openshift-adp
# ....#
Status:
  Backup Item Operations Attempted:  1
  Backup Item Operations Completed:  1
  Completion Timestamp:              2024-09-25T10:17:01Z
  Expiration:                        2024-10-25T10:16:31Z
  Format Version:                    1.1.0
  Hook Status:
  Phase:  Completed
  Progress:
    Items Backed Up:  34
    Total Items:      34
  Start Timestamp:    2024-09-25T10:16:31Z
  Version:            1
Events:               &lt;none&gt;
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">Name:         test-backup
Namespace:    openshift-adp
</span><span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash"><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token comment">#</span></span></span>
<span class="token output">Status:
  Backup Item Operations Attempted:  1
  Backup Item Operations Completed:  1
  Completion Timestamp:              2024-09-25T10:17:01Z
  Expiration:                        2024-10-25T10:16:31Z
  Format Version:                    1.1.0
  Hook Status:
  Phase:  Completed
  Progress:
    Items Backed Up:  34
    Total Items:      34
  Start Timestamp:    2024-09-25T10:16:31Z
  Version:            1
Events:               &lt;none&gt;</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: oadp-backup
  namespace: openshift-adp
spec:
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
    velero:
      defaultPlugins:
        - legacy-aws
        - openshift
        - csi
      defaultSnapshotMoveData: true
  backupLocations:
    - velero:
        config:
profile: "default"
region: noobaa
s3Url: https://s3.openshift-storage.svc
s3ForcePathStyle: "true"
insecureSkipTLSVerify: "true"
        provider: aws
        default: true
        credential:
key: cloud
name:  cloud-credentials
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: oadp
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp<span class="token punctuation"><span class="token punctuation">-</span></span>backup
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> legacy<span class="token punctuation"><span class="token punctuation">-</span></span>aws </code></pre><rh-badge id="CO15-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
        <span class="token punctuation"><span class="token punctuation">-</span></span> csi
      <span class="token key atrule"><span class="token key atrule">defaultSnapshotMoveData</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> noobaa
<span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> https<span class="token punctuation"><span class="token punctuation">:</span></span>//s3.openshift<span class="token punctuation"><span class="token punctuation">-</span></span>storage.svc
<span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>  cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO15-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>dpa_filename<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get dpa <span class="token parameter variable">-o</span> yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

items:
- apiVersion: oadp.openshift.io/v1alpha1
  kind: DataProtectionApplication
  metadata:
    namespace: openshift-adp
    #...#
  spec:
    backupLocations:
    - velero:
        config:
#...#
  status:
    conditions:
    - lastTransitionTime: "20....9:54:02Z"
      message: Reconcile complete
      reason: Complete
      status: "True"
      type: Reconciled
kind: List
metadata:
  resourceVersion: ""
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> v1
<span class="token key atrule"><span class="token key atrule">items</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
  <span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
  <span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
    <span class="token comment"><span class="token comment">#...#</span></span>
  <span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token comment"><span class="token comment">#...#</span></span>
  <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">conditions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">lastTransitionTime</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"20....9:54:02Z"</span></span>
      <span class="token key atrule"><span class="token key atrule">message</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Reconcile complete
      <span class="token key atrule"><span class="token key atrule">reason</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Complete
      <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"True"</span></span>
      <span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Reconciled
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> List
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">resourceVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">""</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get backupstoragelocations.velero.io <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

dpa-sample-1   Available   3s               15s   true
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME           PHASE       LAST VALIDATED   AGE   DEFAULT
dpa-sample-1   Available   3s               15s   true</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Backup
metadata:
  name: test-backup
  namespace: openshift-adp
spec:
  includedNamespaces:
  - &lt;application_namespace&gt; 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Backup
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>backup
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">includedNamespaces</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> &lt;application_namespace<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO16-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>backup_cr_filename<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc describe backups.velero.io test-backup <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

Namespace:    openshift-adp
# ....#
Status:
  Backup Item Operations Attempted:  1
  Backup Item Operations Completed:  1
  Completion Timestamp:              2024-09-25T10:17:01Z
  Expiration:                        2024-10-25T10:16:31Z
  Format Version:                    1.1.0
  Hook Status:
  Phase:  Completed
  Progress:
    Items Backed Up:  34
    Total Items:      34
  Start Timestamp:    2024-09-25T10:16:31Z
  Version:            1
Events:               &lt;none&gt;
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">Name:         test-backup
Namespace:    openshift-adp
</span><span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash"><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token comment">#</span></span></span>
<span class="token output">Status:
  Backup Item Operations Attempted:  1
  Backup Item Operations Completed:  1
  Completion Timestamp:              2024-09-25T10:17:01Z
  Expiration:                        2024-10-25T10:16:31Z
  Format Version:                    1.1.0
  Hook Status:
  Phase:  Completed
  Progress:
    Items Backed Up:  34
    Total Items:      34
  Start Timestamp:    2024-09-25T10:16:31Z
  Version:            1
Events:               &lt;none&gt;</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create namespace hello-world</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc new-app <span class="token parameter variable">-n</span> hello-world <span class="token parameter variable">--image</span><span class="token operator">=</span>docker.io/openshift/hello-openshift</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc expose service/hello-openshift <span class="token parameter variable">-n</span> hello-world</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">curl</span> <span class="token variable"><span class="token variable">`</span>oc get route/hello-openshift <span class="token parameter variable">-n</span> hello-world <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.spec.host}'</span><span class="token variable">`</span></span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">Hello OpenShift!</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  apiVersion: velero.io/v1
  kind: Backup
  metadata:
    name: hello-world
    namespace: openshift-adp
  spec:
    includedNamespaces:
    - hello-world
    storageLocation: ${CLUSTER_NAME}-dpa-1
    ttl: 720h0m0s
EOF
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">cat</span> <span class="token operator">&lt;&lt;</span> <span class="token string">EOF<span class="token bash punctuation"> <span class="token operator">|</span> oc create <span class="token parameter variable">-f</span> -</span>
  apiVersion: velero.io/v1
  kind: Backup
  metadata:
    name: hello-world
    namespace: openshift-adp
  spec:
    includedNamespaces:
    - hello-world
    storageLocation: <span class="token variable">${CLUSTER_NAME}</span>-dpa-1
    ttl: 720h0m0s
EOF</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">watch</span> <span class="token string">"oc -n openshift-adp get backup hello-world -o json | jq .status"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  "completionTimestamp": "2022-09-07T22:20:44Z",
  "expiration": "2022-10-07T22:20:22Z",
  "formatVersion": "1.1.0",
  "phase": "Completed",
  "progress": {
    "itemsBackedUp": 58,
    "totalItems": 58
  },
  "startTimestamp": "2022-09-07T22:20:22Z",
  "version": 1
}
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">{
  "completionTimestamp": "2022-09-07T22:20:44Z",
  "expiration": "2022-10-07T22:20:22Z",
  "formatVersion": "1.1.0",
  "phase": "Completed",
  "progress": {
    "itemsBackedUp": 58,
    "totalItems": 58
  },
  "startTimestamp": "2022-09-07T22:20:22Z",
  "version": 1
}</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete ns hello-world</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  apiVersion: velero.io/v1
  kind: Restore
  metadata:
    name: hello-world
    namespace: openshift-adp
  spec:
    backupName: hello-world
EOF
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">cat</span> <span class="token operator">&lt;&lt;</span> <span class="token string">EOF<span class="token bash punctuation"> <span class="token operator">|</span> oc create <span class="token parameter variable">-f</span> -</span>
  apiVersion: velero.io/v1
  kind: Restore
  metadata:
    name: hello-world
    namespace: openshift-adp
  spec:
    backupName: hello-world
EOF</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">watch</span> <span class="token string">"oc -n openshift-adp get restore hello-world -o json | jq .status"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  "completionTimestamp": "2022-09-07T22:25:47Z",
  "phase": "Completed",
  "progress": {
    "itemsRestored": 38,
    "totalItems": 38
  },
  "startTimestamp": "2022-09-07T22:25:28Z",
  "warnings": 9
}
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">{
  "completionTimestamp": "2022-09-07T22:25:47Z",
  "phase": "Completed",
  "progress": {
    "itemsRestored": 38,
    "totalItems": 38
  },
  "startTimestamp": "2022-09-07T22:25:28Z",
  "warnings": 9
}</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> hello-world get pods</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

hello-openshift-9f885f7c6-kdjpj   1/1     Running   0          90s
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                              READY   STATUS    RESTARTS   AGE
hello-openshift-9f885f7c6-kdjpj   1/1     Running   0          90s</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">curl</span> <span class="token variable"><span class="token variable">`</span>oc get route/hello-openshift <span class="token parameter variable">-n</span> hello-world <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.spec.host}'</span><span class="token variable">`</span></span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">Hello OpenShift!</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete ns hello-world</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp delete dpa <span class="token variable">${CLUSTER_NAME}</span>-dpa</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp delete cloudstorage <span class="token variable">${CLUSTER_NAME}</span>-oadp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp patch cloudstorage <span class="token variable">${CLUSTER_NAME}</span>-oadp <span class="token parameter variable">-p</span> <span class="token string">'{"metadata":{"finalizers":null}}'</span> <span class="token parameter variable">--type</span><span class="token operator">=</span>merge</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp delete subscription oadp-operator</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete ns openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete backups.velero.io hello-world</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero backup delete hello-world</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token keyword">for</span> <span class="token for-or-select variable">CRD</span> <span class="token keyword">in</span> <span class="token variable"><span class="token variable">`</span>oc get crds <span class="token operator">|</span> <span class="token function">grep</span> velero <span class="token operator">|</span> <span class="token function">awk</span> <span class="token string">'{print $1}'</span><span class="token variable">`</span></span><span class="token punctuation">;</span> <span class="token keyword">do</span> oc delete crd <span class="token variable">$CRD</span><span class="token punctuation">;</span> <span class="token keyword">done</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">aws s3 <span class="token function">rm</span> s3://<span class="token variable">${CLUSTER_NAME}</span>-oadp <span class="token parameter variable">--recursive</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">aws s3api delete-bucket <span class="token parameter variable">--bucket</span> <span class="token variable">${CLUSTER_NAME}</span>-oadp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">aws iam detach-role-policy --role-name <span class="token string">"<span class="token variable">${ROLE_NAME}</span>"</span>  --policy-arn <span class="token string">"<span class="token variable">${POLICY_ARN}</span>"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">aws iam delete-role --role-name <span class="token string">"<span class="token variable">${ROLE_NAME}</span>"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token assign-left variable">BUCKET</span><span class="token operator">=</span><span class="token operator">&lt;</span>your_bucket<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token assign-left variable">REGION</span><span class="token operator">=</span><span class="token operator">&lt;</span>your_region<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

    --bucket $BUCKET \
    --region $REGION \
    --create-bucket-configuration LocationConstraint=$REGION
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">aws s3api create-bucket <span class="token punctuation">\</span>
    <span class="token parameter variable">--bucket</span> <span class="token variable">$BUCKET</span> <span class="token punctuation">\</span>
    <span class="token parameter variable">--region</span> <span class="token variable">$REGION</span> <span class="token punctuation">\</span>
    --create-bucket-configuration <span class="token assign-left variable">LocationConstraint</span><span class="token operator">=</span><span class="token variable">$REGION</span> </span></span></code></pre><rh-badge id="CO17-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">aws iam create-user --user-name velero </span></span></code></pre><rh-badge id="CO18-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

{
    "Version": "2012-10-17",
    "Statement": [
        {
  "Effect": "Allow",
  "Action": [
      "ec2:DescribeVolumes",
      "ec2:DescribeSnapshots",
      "ec2:CreateTags",
      "ec2:CreateVolume",
      "ec2:CreateSnapshot",
      "ec2:DeleteSnapshot"
  ],
  "Resource": "*"
        },
        {
  "Effect": "Allow",
  "Action": [
      "s3:GetObject",
      "s3:DeleteObject",
      "s3:PutObject",
      "s3:AbortMultipartUpload",
      "s3:ListMultipartUploadParts"
  ],
  "Resource": [
      "arn:aws:s3:::${BUCKET}/*"
  ]
        },
        {
  "Effect": "Allow",
  "Action": [
      "s3:ListBucket",
      "s3:GetBucketLocation",
      "s3:ListBucketMultipartUploads"
  ],
  "Resource": [
      "arn:aws:s3:::${BUCKET}"
  ]
        }
    ]
}
EOF
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">cat</span> <span class="token operator">&gt;</span> velero-policy.json <span class="token operator">&lt;&lt;</span><span class="token string">EOF
{
    "Version": "2012-10-17",
    "Statement": [
        {
  "Effect": "Allow",
  "Action": [
      "ec2:DescribeVolumes",
      "ec2:DescribeSnapshots",
      "ec2:CreateTags",
      "ec2:CreateVolume",
      "ec2:CreateSnapshot",
      "ec2:DeleteSnapshot"
  ],
  "Resource": "*"
        },
        {
  "Effect": "Allow",
  "Action": [
      "s3:GetObject",
      "s3:DeleteObject",
      "s3:PutObject",
      "s3:AbortMultipartUpload",
      "s3:ListMultipartUploadParts"
  ],
  "Resource": [
      "arn:aws:s3:::<span class="token variable">${BUCKET}</span>/*"
  ]
        },
        {
  "Effect": "Allow",
  "Action": [
      "s3:ListBucket",
      "s3:GetBucketLocation",
      "s3:ListBucketMultipartUploads"
  ],
  "Resource": [
      "arn:aws:s3:::<span class="token variable">${BUCKET}</span>"
  ]
        }
    ]
}
EOF</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  --user-name velero \
  --policy-name velero \
  --policy-document file://velero-policy.json
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">aws iam put-user-policy <span class="token punctuation">\</span>
  --user-name velero <span class="token punctuation">\</span>
  --policy-name velero <span class="token punctuation">\</span>
  --policy-document file://velero-policy.json</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">aws iam create-access-key --user-name velero</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  "AccessKey": {
        "UserName": "velero",
        "Status": "Active",
        "CreateDate": "2017-07-31T22:24:41.576Z",
        "SecretAccessKey": &lt;AWS_SECRET_ACCESS_KEY&gt;,
        "AccessKeyId": &lt;AWS_ACCESS_KEY_ID&gt;
  }
}
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">{
  "AccessKey": {
        "UserName": "velero",
        "Status": "Active",
        "CreateDate": "2017-07-31T22:24:41.576Z",
        "SecretAccessKey": &lt;AWS_SECRET_ACCESS_KEY&gt;,
        "AccessKeyId": &lt;AWS_ACCESS_KEY_ID&gt;
  }
}</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

[default]
aws_access_key_id=&lt;AWS_ACCESS_KEY_ID&gt;
aws_secret_access_key=&lt;AWS_SECRET_ACCESS_KEY&gt;
EOF
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">cat</span> <span class="token operator">&lt;&lt;</span> <span class="token string">EOF<span class="token bash punctuation"> <span class="token operator">&gt;</span> ./credentials-velero</span>
[default]
aws_access_key_id=&lt;AWS_ACCESS_KEY_ID&gt;
aws_secret_access_key=&lt;AWS_SECRET_ACCESS_KEY&gt;
EOF</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

aws_access_key_id=&lt;AWS_ACCESS_KEY_ID&gt;
aws_secret_access_key=&lt;AWS_SECRET_ACCESS_KEY&gt;
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">[default]
aws_access_key_id=&lt;AWS_ACCESS_KEY_ID&gt;
aws_secret_access_key=&lt;AWS_SECRET_ACCESS_KEY&gt;</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create secret generic cloud-credentials <span class="token parameter variable">-n</span> openshift-adp --from-file <span class="token assign-left variable">cloud</span><span class="token operator">=</span>credentials-velero</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

aws_access_key_id=&lt;AWS_ACCESS_KEY_ID&gt;
aws_secret_access_key=&lt;AWS_SECRET_ACCESS_KEY&gt;

[volumeSnapshot]
aws_access_key_id=&lt;AWS_ACCESS_KEY_ID&gt;
aws_secret_access_key=&lt;AWS_SECRET_ACCESS_KEY&gt;
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">[backupStorage]
aws_access_key_id=&lt;AWS_ACCESS_KEY_ID&gt;
aws_secret_access_key=&lt;AWS_SECRET_ACCESS_KEY&gt;

[volumeSnapshot]
aws_access_key_id=&lt;AWS_ACCESS_KEY_ID&gt;
aws_secret_access_key=&lt;AWS_SECRET_ACCESS_KEY&gt;</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create secret generic cloud-credentials <span class="token parameter variable">-n</span> openshift-adp --from-file <span class="token assign-left variable">cloud</span><span class="token operator">=</span>credentials-velero </span></span></code></pre><rh-badge id="CO19-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: &lt;dpa_sample&gt;
  namespace: openshift-adp
spec:
...
  backupLocations:
    - name: default
      velero:
        provider: aws
        default: true
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: &lt;prefix&gt;
        config:
region: us-east-1
profile: "backupStorage"
        credential:
key: cloud
name: cloud-credentials
  snapshotLocations:
    - velero:
        provider: aws
        config:
region: us-west-2
profile: "volumeSnapshot"
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_sample<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">...</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
      <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;prefix<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> us<span class="token punctuation"><span class="token punctuation">-</span></span>east<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">1</span></span>
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"backupStorage"</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
  <span class="token key atrule"><span class="token key atrule">snapshotLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> us<span class="token punctuation"><span class="token punctuation">-</span></span>west<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">2</span></span>
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"volumeSnapshot"</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: BackupStorageLocation
metadata:
  name: default
  namespace: openshift-adp
spec:
  provider: aws
  objectStorage:
    bucket: &lt;bucket_name&gt;
    prefix: &lt;bucket_prefix&gt;
  credential:
    key: cloud
    name: cloud-credentials
  config:
    region: &lt;bucket_region&gt;
    s3ForcePathStyle: "true"
    s3Url: &lt;s3_url&gt;
    publicUrl: &lt;public_s3_url&gt;
    serverSideEncryption: AES256
    kmsKeyId: "50..c-4da1-419f-a16e-ei...49f"
    customerKeyEncryptionFile: "/credentials/customer-key"
    signatureVersion: "1"
    profile: "default"
    insecureSkipTLSVerify: "true"
    enableSharedConfig: "true"
    tagging: ""
    checksumAlgorithm: "CRC32" 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> BackupStorageLocation
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws </code></pre><rh-badge id="CO19-2" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO19-3" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_prefix<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO19-4" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO19-5" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud </code></pre><rh-badge id="CO19-6" state="info">5</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials </code></pre><rh-badge id="CO19-7" state="info">6</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_region<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO19-8" state="info">7</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span> </code></pre><rh-badge id="CO19-9" state="info">8</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;s3_url<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO19-10" state="info">9</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">publicUrl</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;public_s3_url<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO19-11" state="info">10</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">serverSideEncryption</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> AES256 </code></pre><rh-badge id="CO19-12" state="info">11</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">kmsKeyId</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"50..c-4da1-419f-a16e-ei...49f"</span></span> </code></pre><rh-badge id="CO19-13" state="info">12</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">customerKeyEncryptionFile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"/credentials/customer-key"</span></span> </code></pre><rh-badge id="CO19-14" state="info">13</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">signatureVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"1"</span></span> </code></pre><rh-badge id="CO19-15" state="info">14</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span> </code></pre><rh-badge id="CO19-16" state="info">15</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span> </code></pre><rh-badge id="CO19-17" state="info">16</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">enableSharedConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span> </code></pre><rh-badge id="CO19-18" state="info">17</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">tagging</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">""</span></span> </code></pre><rh-badge id="CO19-19" state="info">18</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">checksumAlgorithm</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"CRC32"</span></span> </code></pre><rh-badge id="CO19-20" state="info">19</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  - velero:
      config:
        profile: default
        region: &lt;region&gt;
      provider: aws
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"> <span class="token key atrule"><span class="token key atrule">snapshotLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
        <span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;region<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
      <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">dd</span> <span class="token assign-left variable">if</span><span class="token operator">=</span>/dev/urandom <span class="token assign-left variable">bs</span><span class="token operator">=</span><span class="token number">1</span> <span class="token assign-left variable">count</span><span class="token operator">=</span><span class="token number">32</span> <span class="token operator">&gt;</span> sse.key</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create secret generic cloud-credentials <span class="token parameter variable">--namespace</span> openshift-adp --from-file <span class="token assign-left variable">cloud</span><span class="token operator">=</span><span class="token operator">&lt;</span>path<span class="token operator">&gt;</span>/openshift_aws_credentials,customer-key<span class="token operator">=</span><span class="token operator">&lt;</span>path<span class="token operator">&gt;</span>/sse.key</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

data:
  cloud: W2Rfa2V5X2lkPSJBS0lBVkJRWUIyRkQ0TlFHRFFPQiIKYXdzX3NlY3JldF9hY2Nlc3Nfa2V5P&lt;snip&gt;rUE1mNWVSbTN5K2FpeWhUTUQyQk1WZHBOIgo=
  customer-key: v+&lt;snip&gt;TFIiq6aaXPbj8dhos=
kind: Secret
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> v1
<span class="token key atrule"><span class="token key atrule">data</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">cloud</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> W2Rfa2V5X2lkPSJBS0lBVkJRWUIyRkQ0TlFHRFFPQiIKYXdzX3NlY3JldF9hY2Nlc3Nfa2V5P&lt;snip<span class="token punctuation"><span class="token punctuation">&gt;</span></span>rUE1mNWVSbTN5K2FpeWhUTUQyQk1WZHBOIgo=
  <span class="token key atrule"><span class="token key atrule">customer-key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> v+&lt;snip<span class="token punctuation"><span class="token punctuation">&gt;</span></span>TFIiq6aaXPbj8dhos=
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Secret
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  backupLocations:
    - velero:
        config:
customerKeyEncryptionFile: /credentials/customer-key
profile: default
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">customerKeyEncryptionFile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> /credentials/customer<span class="token punctuation"><span class="token punctuation">-</span></span>key
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token builtin class-name">echo</span> <span class="token string">"encrypt me please"</span> <span class="token operator">&gt;</span> test.txt</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  --bucket &lt;bucket&gt; \
  --key test.txt \
  --body test.txt \
  --sse-customer-key fileb://sse.key \
  --sse-customer-algorithm AES256
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">aws s3api put-object <span class="token punctuation">\</span>
  <span class="token parameter variable">--bucket</span> <span class="token operator">&lt;</span>bucket<span class="token operator">&gt;</span> <span class="token punctuation">\</span>
  <span class="token parameter variable">--key</span> test.txt <span class="token punctuation">\</span>
  <span class="token parameter variable">--body</span> test.txt <span class="token punctuation">\</span>
  --sse-customer-key fileb://sse.key <span class="token punctuation">\</span>
  --sse-customer-algorithm AES256</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">s3cmd get s3://<span class="token operator">&lt;</span>bucket<span class="token operator">&gt;</span>/test.txt test.txt</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

    --bucket &lt;bucket&gt; \
    --key test.txt \
    --sse-customer-key fileb://sse.key \
    --sse-customer-algorithm AES256 \
    downloaded.txt
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">aws s3api get-object <span class="token punctuation">\</span>
    <span class="token parameter variable">--bucket</span> <span class="token operator">&lt;</span>bucket<span class="token operator">&gt;</span> <span class="token punctuation">\</span>
    <span class="token parameter variable">--key</span> test.txt <span class="token punctuation">\</span>
    --sse-customer-key fileb://sse.key <span class="token punctuation">\</span>
    --sse-customer-algorithm AES256 <span class="token punctuation">\</span>
    downloaded.txt</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">cat</span> downloaded.txt</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">encrypt me please</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  --bucket &lt;bucket&gt; \
  --key velero/backups/mysql-persistent-customerkeyencryptionfile4/mysql-persistent-customerkeyencryptionfile4.tar.gz \
  --sse-customer-key fileb://sse.key \
  --sse-customer-algorithm AES256 \
  --debug \
  velero_download.tar.gz
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">aws s3api get-object <span class="token punctuation">\</span>
  <span class="token parameter variable">--bucket</span> <span class="token operator">&lt;</span>bucket<span class="token operator">&gt;</span> <span class="token punctuation">\</span>
  <span class="token parameter variable">--key</span> velero/backups/mysql-persistent-customerkeyencryptionfile4/mysql-persistent-customerkeyencryptionfile4.tar.gz <span class="token punctuation">\</span>
  --sse-customer-key fileb://sse.key <span class="token punctuation">\</span>
  --sse-customer-algorithm AES256 <span class="token punctuation">\</span>
  <span class="token parameter variable">--debug</span> <span class="token punctuation">\</span>
  velero_download.tar.gz</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: &lt;dpa_sample&gt;
spec:
# ...
  configuration:
    velero:
      podConfig:
        nodeSelector: &lt;node_selector&gt;
        resourceAllocations:
limits:
  cpu: "1"
  memory: 1024Mi
requests:
  cpu: 200m
  memory: 256Mi
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_sample<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token comment"><span class="token comment"># ...</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;node_selector<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO20-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">resourceAllocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO20-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">limits</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">cpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"1"</span></span>
  <span class="token key atrule"><span class="token key atrule">memory</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 1024Mi
<span class="token key atrule"><span class="token key atrule">requests</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">cpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 200m
  <span class="token key atrule"><span class="token key atrule">memory</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 256Mi</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: &lt;dpa_sample&gt;
spec:
# ...
  backupLocations:
    - name: default
      velero:
        provider: aws
        default: true
        objectStorage:
bucket: &lt;bucket&gt;
prefix: &lt;prefix&gt;
caCert: &lt;base64_encoded_cert_string&gt;
        config:
insecureSkipTLSVerify: "false"
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_sample<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token comment"><span class="token comment"># ...</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
      <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;prefix<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">caCert</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;base64_encoded_cert_string<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO21-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"false"</span></span> </code></pre><rh-badge id="CO21-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token builtin class-name">alias</span> <span class="token assign-left variable">velero</span><span class="token operator">=</span><span class="token string">'oc -n openshift-adp exec deployment/velero -c velero -it -- ./velero'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero version</span></span>
<span class="token output">Client:
	Version: v1.12.1-OADP
	Git commit: -
Server:
	Version: v1.12.1-OADP</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

[[ -n $CA_CERT ]] &amp;&amp; echo "$CA_CERT" | base64 -d | oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "cat &gt; /tmp/your-cacert.txt" || echo "DPA BSL has no caCert"
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token assign-left variable">CA_CERT</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span>oc <span class="token parameter variable">-n</span> openshift-adp get dataprotectionapplications.oadp.openshift.io <span class="token operator">&lt;</span>dpa-name<span class="token operator">&gt;</span> <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.spec.backupLocations[0].velero.objectStorage.caCert}'</span><span class="token variable">)</span></span></span></span>

<span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token punctuation">[</span><span class="token punctuation">[</span> <span class="token parameter variable">-n</span> <span class="token variable">$CA_CERT</span> <span class="token punctuation">]</span><span class="token punctuation">]</span> <span class="token operator">&amp;&amp;</span> <span class="token builtin class-name">echo</span> <span class="token string">"<span class="token variable">$CA_CERT</span>"</span> <span class="token operator">|</span> base64 <span class="token parameter variable">-d</span> <span class="token operator">|</span> oc <span class="token builtin class-name">exec</span> <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-i</span> deploy/velero <span class="token parameter variable">-c</span> velero -- <span class="token function">bash</span> <span class="token parameter variable">-c</span> <span class="token string">"cat &gt; /tmp/your-cacert.txt"</span> <span class="token operator">||</span> <span class="token builtin class-name">echo</span> <span class="token string">"DPA BSL has no caCert"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero describe backup <span class="token operator">&lt;</span>backup_name<span class="token operator">&gt;</span> <span class="token parameter variable">--details</span> <span class="token parameter variable">--cacert</span> /tmp/<span class="token operator">&lt;</span>your_cacert<span class="token operator">&gt;</span>.txt</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero backup logs  <span class="token operator">&lt;</span>backup_name<span class="token operator">&gt;</span>  <span class="token parameter variable">--cacert</span> /tmp/<span class="token operator">&lt;</span>your_cacert.txt<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token builtin class-name">exec</span> <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-i</span> deploy/velero <span class="token parameter variable">-c</span> velero -- <span class="token function">bash</span> <span class="token parameter variable">-c</span> <span class="token string">"ls /tmp/your-cacert.txt"</span></span></span>
<span class="token output">/tmp/your-cacert.txt</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: &lt;dpa_sample&gt;
  namespace: openshift-adp
spec:
  configuration:
    velero:
      defaultPlugins:
        - openshift
        - aws
      resourceTimeout: 10m
    nodeAgent:
      enable: true
      uploaderType: kopia
      podConfig:
        nodeSelector: &lt;node_selector&gt;
  backupLocations:
    - name: default
      velero:
        provider: aws
        default: true
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: &lt;prefix&gt;
        config:
region: &lt;region&gt;
profile: "default"
s3ForcePathStyle: "true"
s3Url: &lt;s3_url&gt;
        credential:
key: cloud
name: cloud-credentials
  snapshotLocations:
    - name: default
      velero:
        provider: aws
        config:
region: &lt;region&gt;
profile: "default"
        credential:
key: cloud
name: cloud-credentials 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_sample<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp </code></pre><rh-badge id="CO22-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift </code></pre><rh-badge id="CO22-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">-</span></span> aws
      <span class="token key atrule"><span class="token key atrule">resourceTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 10m </code></pre><rh-badge id="CO22-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO22-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO22-5" state="info">5</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia </code></pre><rh-badge id="CO22-6" state="info">6</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;node_selector<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO22-7" state="info">7</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
      <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO22-8" state="info">8</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;prefix<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO22-9" state="info">9</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;region<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
<span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span> </code></pre><rh-badge id="CO22-10" state="info">10</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;s3_url<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO22-11" state="info">11</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials </code></pre><rh-badge id="CO22-12" state="info">12</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">snapshotLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO22-13" state="info">13</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
      <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;region<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO22-14" state="info">14</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials </code></pre><rh-badge id="CO22-15" state="info">15</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get all <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

pod/oadp-operator-controller-manager-67d9494d47-6l8z8    2/2     Running   0          2m8s
pod/node-agent-9cq4q                                     1/1     Running   0          94s
pod/node-agent-m4lts                                     1/1     Running   0          94s
pod/node-agent-pv4kr                                     1/1     Running   0          95s
pod/velero-588db7f655-n842v                              1/1     Running   0          95s

NAME                                                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
service/oadp-operator-controller-manager-metrics-service   ClusterIP   172.30.70.140    &lt;none&gt;        8443/TCP   2m8s
service/openshift-adp-velero-metrics-svc                   ClusterIP   172.30.10.0      &lt;none&gt;        8085/TCP   8h

NAME                        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/node-agent    3         3         3       3            3           &lt;none&gt;          96s

NAME                                                READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/oadp-operator-controller-manager    1/1     1            1           2m9s
deployment.apps/velero                              1/1     1            1           96s

NAME                                                           DESIRED   CURRENT   READY   AGE
replicaset.apps/oadp-operator-controller-manager-67d9494d47    1         1         1       2m9s
replicaset.apps/velero-588db7f655                              1         1         1       96s
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">NAME                                                     READY   STATUS    RESTARTS   AGE
pod/oadp-operator-controller-manager-67d9494d47-6l8z8    2/2     Running   0          2m8s
pod/node-agent-9cq4q                                     1/1     Running   0          94s
pod/node-agent-m4lts                                     1/1     Running   0          94s
pod/node-agent-pv4kr                                     1/1     Running   0          95s
pod/velero-588db7f655-n842v                              1/1     Running   0          95s

NAME                                                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
service/oadp-operator-controller-manager-metrics-service   ClusterIP   172.30.70.140    &lt;none&gt;        8443/TCP   2m8s
service/openshift-adp-velero-metrics-svc                   ClusterIP   172.30.10.0      &lt;none&gt;        8085/TCP   8h

NAME                        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/node-agent    3         3         3       3            3           &lt;none&gt;          96s

NAME                                                READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/oadp-operator-controller-manager    1/1     1            1           2m9s
deployment.apps/velero                              1/1     1            1           96s

NAME                                                           DESIRED   CURRENT   READY   AGE
replicaset.apps/oadp-operator-controller-manager-67d9494d47    1         1         1       2m9s
replicaset.apps/velero-588db7f655                              1         1         1       96s</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get dpa dpa-sample <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.status}'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" actions="copy">

<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">{</span></span>"conditions"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token punctuation"><span class="token punctuation">[</span></span><span class="token punctuation"><span class="token punctuation">{</span></span>"lastTransitionTime"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"2023-10-27T01:23:57Z"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"message"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"Reconcile complete"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"reason"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"Complete"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"status"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"True"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"type"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"Reconciled"</span></span><span class="token punctuation"><span class="token punctuation">}</span></span><span class="token punctuation"><span class="token punctuation">]</span></span><span class="token punctuation"><span class="token punctuation">}</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get backupstoragelocations.velero.io <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" actions="copy">

dpa-sample-1   Available   1s               3d16h   true
<pre class="language-yaml" tabindex="-1"><code class="language-yaml">NAME           PHASE       LAST VALIDATED   AGE     DEFAULT
dpa<span class="token punctuation"><span class="token punctuation">-</span></span>sample<span class="token punctuation"><span class="token punctuation">-</span></span>1   Available   1s               3d16h   true</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc label node/<span class="token operator">&lt;</span>node_name<span class="token operator">&gt;</span> node-role.kubernetes.io/nodeAgent<span class="token operator">=</span><span class="token string">""</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  nodeAgent:
    enable: true
    podConfig:
      nodeSelector:
        node-role.kubernetes.io/nodeAgent: ""
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">configuration:
  nodeAgent:
    enable: true
    podConfig:
      nodeSelector:
        node-role.kubernetes.io/nodeAgent: ""</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

      nodeAgent:
        enable: true
        podConfig:
nodeSelector:
  node-role.kubernetes.io/infra: ""
  node-role.kubernetes.io/worker: ""
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">    configuration:
      nodeAgent:
        enable: true
        podConfig:
nodeSelector:
  node-role.kubernetes.io/infra: ""
  node-role.kubernetes.io/worker: ""</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: test-dpa
  namespace: openshift-adp
spec:
  backupLocations:
  - name: default
    velero:
      config:
        checksumAlgorithm: ""
        insecureSkipTLSVerify: "true"
        profile: "default"
        region: &lt;bucket_region&gt;
        s3ForcePathStyle: "true"
        s3Url: &lt;bucket_url&gt;
      credential:
        key: cloud
        name: cloud-credentials
      default: true
      objectStorage:
        bucket: &lt;bucket_name&gt;
        prefix: velero
      provider: aws
  configuration:
    velero:
      defaultPlugins:
      - openshift
      - aws
      - csi
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">checksumAlgorithm</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">""</span></span> </code></pre><rh-badge id="CO23-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
        <span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
        <span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_region<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
        <span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_url<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
      <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
      <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
      <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
      <span class="token punctuation"><span class="token punctuation">-</span></span> aws
      <span class="token punctuation"><span class="token punctuation">-</span></span> csi</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: test-dpa
  namespace: openshift-adp
spec:
  backupLocations:
    - name: default
      velero:
        config:
insecureSkipTLSVerify: "true"
profile: "default"
region: &lt;bucket_region&gt;
s3ForcePathStyle: "true"
s3Url: &lt;bucket_url&gt;
        credential:
key: cloud
name: cloud-credentials
        default: true
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: velero
        provider: aws
  configuration:
    nodeAgent:
      enable: true
      uploaderType: restic
    velero:
      client-burst: 500
      client-qps: 300
      defaultPlugins:
        - openshift
        - aws
        - kubevirt
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
      <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_region<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_url<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> restic
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">client-burst</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">500</span></span> </code></pre><rh-badge id="CO24-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">client-qps</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">300</span></span> </code></pre><rh-badge id="CO24-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
        <span class="token punctuation"><span class="token punctuation">-</span></span> aws
        <span class="token punctuation"><span class="token punctuation">-</span></span> kubevirt</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
      podConfig:
        nodeSelector:
label.io/role: cpu-1
other-label.io/other-role: cpu-2
        ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">label.io/role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cpu<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">1</span></span>
<span class="token key atrule"><span class="token key atrule">other-label.io/other-role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cpu<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">2</span></span>
        <span class="token punctuation"><span class="token punctuation">...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    nodeAgent:
      enable: true
      loadAffinity:
        - nodeSelector:
  matchLabels:
    label.io/role: cpu-1
  matchExpressions:
    - key: label.io/hostname
      operator: In
      values:
        - node1
        - node2
        ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO25-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cpu<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">1</span></span>
  <span class="token key atrule"><span class="token key atrule">matchExpressions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO25-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> label.io/hostname
      <span class="token key atrule"><span class="token key atrule">operator</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> In
      <span class="token key atrule"><span class="token key atrule">values</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> node1
        <span class="token punctuation"><span class="token punctuation">-</span></span> node2
        <span class="token punctuation"><span class="token punctuation">...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
      loadAffinity:
        - nodeSelector:
  matchLabels:
    label.io/location: 'US'
    label.io/gpu: 'no'
      podConfig:
        nodeSelector:
label.io/gpu: 'no'
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
      <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/location</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'US'</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span>
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc label node/<span class="token operator">&lt;</span>node_name<span class="token operator">&gt;</span> label.io/instance-type<span class="token operator">=</span><span class="token string">'large'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

    nodeAgent:
      enable: true
      uploaderType: kopia
      loadConcurrency:
        globalConfig: 1
        perNodeConfig:
        - nodeSelector:
    matchLabels:
       label.io/instance-type: large
number: 3 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml">  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
      <span class="token key atrule"><span class="token key atrule">loadConcurrency</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">globalConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">1</span></span> </code></pre><rh-badge id="CO26-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">perNodeConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
       <span class="token key atrule"><span class="token key atrule">label.io/instance-type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> large </code></pre><rh-badge id="CO26-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">number</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">3</span></span> </code></pre><rh-badge id="CO26-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: ts-dpa
  namespace: openshift-adp
spec:
  backupLocations:
  - velero:
      credential:
        key: cloud
        name: cloud-credentials
      default: true
      objectStorage:
        bucket: &lt;bucket_name&gt;
        prefix: velero
      provider: gcp
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
    velero:
      defaultPlugins:
      - csi
      - gcp
      - openshift
      disableFsBackup: true 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ts<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
      <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
      <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> gcp
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO27-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> csi
      <span class="token punctuation"><span class="token punctuation">-</span></span> gcp
      <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
      <span class="token key atrule"><span class="token key atrule">disableFsBackup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO27-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get daemonset node-agent <span class="token parameter variable">-o</span> yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DaemonSet
metadata:
  ...
  name: node-agent
  namespace: openshift-adp
  ...
spec:
  ...
  template:
    metadata:
      ...
    spec:
      containers:
      ...
        securityContext:
allowPrivilegeEscalation: false
capabilities:
  drop:
  - ALL
privileged: false
readOnlyRootFilesystem: true
        ...
      nodeSelector:
        kubernetes.io/os: linux
      os:
        name: linux
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext:
        runAsNonRoot: true
        seccompProfile:
type: RuntimeDefault
      serviceAccount: velero
      serviceAccountName: velero
      ....
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> apps/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DaemonSet
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">...</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> node<span class="token punctuation"><span class="token punctuation">-</span></span>agent
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
  <span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">...</span></span>
  <span class="token key atrule"><span class="token key atrule">template</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">...</span></span>
    <span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">containers</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">...</span></span>
        <span class="token key atrule"><span class="token key atrule">securityContext</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">allowPrivilegeEscalation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span> </code></pre><rh-badge id="CO28-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">capabilities</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">drop</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> ALL
<span class="token key atrule"><span class="token key atrule">privileged</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span> </code></pre><rh-badge id="CO28-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">readOnlyRootFilesystem</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO28-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">...</span></span>
      <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">kubernetes.io/os</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> linux
      <span class="token key atrule"><span class="token key atrule">os</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> linux
      <span class="token key atrule"><span class="token key atrule">restartPolicy</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Always
      <span class="token key atrule"><span class="token key atrule">schedulerName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default<span class="token punctuation"><span class="token punctuation">-</span></span>scheduler
      <span class="token key atrule"><span class="token key atrule">securityContext</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">runAsNonRoot</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO28-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">seccompProfile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> RuntimeDefault
      <span class="token key atrule"><span class="token key atrule">serviceAccount</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
      <span class="token key atrule"><span class="token key atrule">serviceAccountName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
      <span class="token punctuation"><span class="token punctuation">...</span></span>.</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    repositoryMaintenance:
      global:
        podResources:
cpuRequest: "100m"
cpuLimit: "200m"
memoryRequest: "100Mi"
memoryLimit: "200Mi"
        loadAffinity:
- nodeSelector:
    matchLabels:
      label.io/gpu: 'no'
    matchExpressions:
      - key: label.io/location
        operator: In
        values:
          - US
          - EU
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">repositoryMaintenance</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO29-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">global</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO29-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">podResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">cpuRequest</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"100m"</span></span>
<span class="token key atrule"><span class="token key atrule">cpuLimit</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"200m"</span></span>
<span class="token key atrule"><span class="token key atrule">memoryRequest</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"100Mi"</span></span>
<span class="token key atrule"><span class="token key atrule">memoryLimit</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"200Mi"</span></span>
        <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span>
    <span class="token key atrule"><span class="token key atrule">matchExpressions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> label.io/location
        <span class="token key atrule"><span class="token key atrule">operator</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> In
        <span class="token key atrule"><span class="token key atrule">values</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
          <span class="token punctuation"><span class="token punctuation">-</span></span> US
          <span class="token punctuation"><span class="token punctuation">-</span></span> EU</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    repositoryMaintenance:
      myrepositoryname:
        loadAffinity:
- nodeSelector:
    matchLabels:
      label.io/cpu: 'yes'
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">repositoryMaintenance</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">myrepositoryname</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO30-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">label.io/cpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'yes'</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    velero:
      podConfig:
        nodeSelector:
some-label.io/custom-node-role: backup-core
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">some-label.io/custom-node-role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> backup<span class="token punctuation"><span class="token punctuation">-</span></span>core</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    velero:
      loadAffinity:
        - nodeSelector:
  matchLabels:
    label.io/gpu: 'no'
  matchExpressions:
    - key: label.io/location
      operator: In
      values:
        - US
        - EU
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span>
  <span class="token key atrule"><span class="token key atrule">matchExpressions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> label.io/location
      <span class="token key atrule"><span class="token key atrule">operator</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> In
      <span class="token key atrule"><span class="token key atrule">values</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> US
        <span class="token punctuation"><span class="token punctuation">-</span></span> EU</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: test-dpa
  namespace: openshift-adp
spec:
  backupLocations:
    - name: default
      velero:
        config:
insecureSkipTLSVerify: "true"
profile: "default"
region: &lt;bucket_region&gt;
s3ForcePathStyle: "true"
s3Url: &lt;bucket_url&gt;
        credential:
key: cloud
name: cloud-credentials
        default: true
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: velero
        provider: aws
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
    velero:
      defaultPlugins:
        - openshift
        - aws
        - kubevirt
        - csi
  imagePullPolicy: Never 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
      <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_region<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_url<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
        <span class="token punctuation"><span class="token punctuation">-</span></span> aws
        <span class="token punctuation"><span class="token punctuation">-</span></span> kubevirt
        <span class="token punctuation"><span class="token punctuation">-</span></span> csi
  <span class="token key atrule"><span class="token key atrule">imagePullPolicy</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Never </code></pre><rh-badge id="CO31-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
#...
backupLocations:
  - name: aws
    velero:
      provider: aws
      default: true
      objectStorage:
        bucket: &lt;bucket_name&gt;
        prefix: &lt;prefix&gt;
      config:
        region: &lt;region_name&gt;
        profile: "default"
      credential:
        key: cloud
        name: cloud-credentials
  - name: odf
    velero:
      provider: aws
      default: false
      objectStorage:
        bucket: &lt;bucket_name&gt;
        prefix: &lt;prefix&gt;
      config:
        profile: "default"
        region: &lt;region_name&gt;
        s3Url: &lt;url&gt;
        insecureSkipTLSVerify: "true"
        s3ForcePathStyle: "true"
      credential:
        key: cloud
        name: &lt;custom_secret_name_odf&gt;
#...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token comment"><span class="token comment">#...</span></span>
<span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws </code></pre><rh-badge id="CO32-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
      <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO32-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO32-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;prefix<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO32-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;region_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO32-5" state="info">5</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
      <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials </code></pre><rh-badge id="CO32-6" state="info">6</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> odf </code></pre><rh-badge id="CO32-7" state="info">7</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
      <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span>
      <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;prefix<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
      <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
        <span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;region_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;url<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO32-8" state="info">8</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
        <span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
      <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;custom_secret_name_odf<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO32-9" state="info">9</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token comment"><span class="token comment">#...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Backup
# ...
spec:
  includedNamespaces:
  - &lt;namespace&gt;
  storageLocation: &lt;backup_storage_location&gt;
  defaultVolumesToFsBackup: true
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Backup
<span class="token comment"><span class="token comment"># ...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">includedNamespaces</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> &lt;namespace<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO33-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">storageLocation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;backup_storage_location<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO33-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">defaultVolumesToFsBackup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
...
spec:
  configuration:
    velero:
      defaultPlugins:
      - openshift
      - csi 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
      <span class="token punctuation"><span class="token punctuation">-</span></span> csi </code></pre><rh-badge id="CO34-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

configuration:
  nodeAgent:
    enable: false
    uploaderType: kopia
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token comment"><span class="token comment"># ...</span></span>
<span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span>  </code></pre><rh-badge id="CO35-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

configuration:
  nodeAgent:
    enable: true
    uploaderType: kopia
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token comment"><span class="token comment"># ...</span></span>
<span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>  </code></pre><rh-badge id="CO36-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">ibmcloud plugin <span class="token function">install</span> cos <span class="token parameter variable">-f</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token assign-left variable">BUCKET</span><span class="token operator">=</span><span class="token operator">&lt;</span>bucket_name<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token assign-left variable">REGION</span><span class="token operator">=</span><span class="token operator">&lt;</span>bucket_region<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO37-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">ibmcloud resource group-create <span class="token operator">&lt;</span>resource_group_name<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">ibmcloud target <span class="token parameter variable">-g</span> <span class="token operator">&lt;</span>resource_group_name<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">ibmcloud target</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" actions="copy">

Region:
User:             test-user
Account:          Test Account (fb6......e95) &lt;-&gt; 2...122
Resource group:   Default
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">API endpoint</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>     https<span class="token punctuation"><span class="token punctuation">:</span></span>//cloud.ibm.com
<span class="token key atrule"><span class="token key atrule">Region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">User</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>             test<span class="token punctuation"><span class="token punctuation">-</span></span>user
<span class="token key atrule"><span class="token key atrule">Account</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>          Test Account (fb6<span class="token punctuation"><span class="token punctuation">...</span></span><span class="token punctuation"><span class="token punctuation">...</span></span>e95) &lt;<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token punctuation"><span class="token punctuation">&gt;</span></span> 2<span class="token punctuation"><span class="token punctuation">...</span></span>122
<span class="token key atrule"><span class="token key atrule">Resource group</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>   Default</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token assign-left variable">RESOURCE_GROUP</span><span class="token operator">=</span><span class="token operator">&lt;</span>resource_group<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO38-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

&lt;service_instance_name&gt; \
&lt;service_name&gt; \
&lt;service_plan&gt; \
&lt;region_name&gt;
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">ibmcloud resource service-instance-create <span class="token punctuation">\</span>
<span class="token operator">&lt;</span>service_instance_name<span class="token operator">&gt;</span> </span></span><span class="token output">\</span></code></pre><rh-badge id="CO39-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">&lt;service_name&gt; \</span></code></pre><rh-badge id="CO39-2" state="info">2</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">&lt;service_plan&gt; \</span></code></pre><rh-badge id="CO39-3" state="info">3</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">&lt;region_name&gt; </span></code></pre><rh-badge id="CO39-4" state="info">4</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

standard \
global \
-d premium-global-deployment
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">ibmcloud resource service-instance-create test-service-instance cloud-object-storage <span class="token punctuation">\</span> </span></span></code></pre><rh-badge id="CO40-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">standard \
global \
-d premium-global-deployment </span></code></pre><rh-badge id="CO40-2" state="info">2</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token assign-left variable">SERVICE_INSTANCE_ID</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span>ibmcloud resource service-instance test-service-instance <span class="token parameter variable">--output</span> json <span class="token operator">|</span> jq <span class="token parameter variable">-r</span> <span class="token string">'.[0].id'</span><span class="token variable">)</span></span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">ibmcloud cos bucket-create <span class="token punctuation">\</span>//</span></span>
<span class="token output">--bucket $BUCKET \//
--ibm-service-instance-id $SERVICE_INSTANCE_ID \//
--region $REGION</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">ibmcloud resource service-key-create test-key Writer --instance-name test-service-instance <span class="token parameter variable">--parameters</span> <span class="token punctuation">{</span><span class="token punctuation">\</span>"HMAC<span class="token punctuation">\</span>":true<span class="token punctuation">}</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

[default]
aws_access_key_id=$(ibmcloud resource service-key test-key -o json  | jq -r '.[0].credentials.cos_hmac_keys.access_key_id')
aws_secret_access_key=$(ibmcloud resource service-key test-key -o json  | jq -r '.[0].credentials.cos_hmac_keys.secret_access_key')
__EOF__
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">cat</span> <span class="token operator">&gt;</span> credentials-velero <span class="token operator">&lt;&lt;</span> <span class="token string">__EOF__
[default]
aws_access_key_id=<span class="token variable"><span class="token variable">$(</span>ibmcloud resource service-key test-key <span class="token parameter variable">-o</span> json  <span class="token operator">|</span> jq <span class="token parameter variable">-r</span> <span class="token string">'.[0].credentials.cos_hmac_keys.access_key_id'</span><span class="token variable">)</span></span>
aws_secret_access_key=<span class="token variable"><span class="token variable">$(</span>ibmcloud resource service-key test-key <span class="token parameter variable">-o</span> json  <span class="token operator">|</span> jq <span class="token parameter variable">-r</span> <span class="token string">'.[0].credentials.cos_hmac_keys.secret_access_key'</span><span class="token variable">)</span></span>
__EOF__</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create secret generic cloud-credentials <span class="token parameter variable">-n</span> openshift-adp --from-file <span class="token assign-left variable">cloud</span><span class="token operator">=</span>credentials-velero</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create secret generic cloud-credentials <span class="token parameter variable">-n</span> openshift-adp --from-file <span class="token assign-left variable">cloud</span><span class="token operator">=</span>credentials-velero</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create secret generic <span class="token operator">&lt;</span>custom_secret<span class="token operator">&gt;</span> <span class="token parameter variable">-n</span> openshift-adp --from-file <span class="token assign-left variable">cloud</span><span class="token operator">=</span>credentials-velero</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: &lt;dpa_sample&gt;
  namespace: openshift-adp
spec:
...
  backupLocations:
    - velero:
        provider: &lt;provider&gt;
        default: true
        credential:
key: cloud
name: &lt;custom_secret&gt;
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: &lt;prefix&gt;
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_sample<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">...</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;provider<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;custom_secret<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO41-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;prefix<span class="token punctuation"><span class="token punctuation">&gt;</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  namespace: openshift-adp
  name: &lt;dpa_name&gt;
spec:
  configuration:
    velero:
      defaultPlugins:
      - openshift
      - aws
      - csi
  backupLocations:
    - velero:
        provider: aws
        default: true
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: velero
        config:
insecureSkipTLSVerify: 'true'
profile: default
region: &lt;region_name&gt;
s3ForcePathStyle: 'true'
s3Url: &lt;s3_url&gt;
        credential:
key: cloud
name: cloud-credentials 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
      <span class="token punctuation"><span class="token punctuation">-</span></span> aws
      <span class="token punctuation"><span class="token punctuation">-</span></span> csi
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws </code></pre><rh-badge id="CO42-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO42-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'true'</span></span>
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;region_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO42-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'true'</span></span>
<span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;s3_url<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO42-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials </code></pre><rh-badge id="CO42-5" state="info">5</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get all <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

pod/oadp-operator-controller-manager-67d9494d47-6l8z8    2/2     Running   0          2m8s
pod/node-agent-9cq4q                                     1/1     Running   0          94s
pod/node-agent-m4lts                                     1/1     Running   0          94s
pod/node-agent-pv4kr                                     1/1     Running   0          95s
pod/velero-588db7f655-n842v                              1/1     Running   0          95s

NAME                                                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
service/oadp-operator-controller-manager-metrics-service   ClusterIP   172.30.70.140    &lt;none&gt;        8443/TCP   2m8s
service/openshift-adp-velero-metrics-svc                   ClusterIP   172.30.10.0      &lt;none&gt;        8085/TCP   8h

NAME                        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/node-agent    3         3         3       3            3           &lt;none&gt;          96s

NAME                                                READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/oadp-operator-controller-manager    1/1     1            1           2m9s
deployment.apps/velero                              1/1     1            1           96s

NAME                                                           DESIRED   CURRENT   READY   AGE
replicaset.apps/oadp-operator-controller-manager-67d9494d47    1         1         1       2m9s
replicaset.apps/velero-588db7f655                              1         1         1       96s
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">NAME                                                     READY   STATUS    RESTARTS   AGE
pod/oadp-operator-controller-manager-67d9494d47-6l8z8    2/2     Running   0          2m8s
pod/node-agent-9cq4q                                     1/1     Running   0          94s
pod/node-agent-m4lts                                     1/1     Running   0          94s
pod/node-agent-pv4kr                                     1/1     Running   0          95s
pod/velero-588db7f655-n842v                              1/1     Running   0          95s

NAME                                                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
service/oadp-operator-controller-manager-metrics-service   ClusterIP   172.30.70.140    &lt;none&gt;        8443/TCP   2m8s
service/openshift-adp-velero-metrics-svc                   ClusterIP   172.30.10.0      &lt;none&gt;        8085/TCP   8h

NAME                        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/node-agent    3         3         3       3            3           &lt;none&gt;          96s

NAME                                                READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/oadp-operator-controller-manager    1/1     1            1           2m9s
deployment.apps/velero                              1/1     1            1           96s

NAME                                                           DESIRED   CURRENT   READY   AGE
replicaset.apps/oadp-operator-controller-manager-67d9494d47    1         1         1       2m9s
replicaset.apps/velero-588db7f655                              1         1         1       96s</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get dpa dpa-sample <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.status}'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" actions="copy">

<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">{</span></span>"conditions"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token punctuation"><span class="token punctuation">[</span></span><span class="token punctuation"><span class="token punctuation">{</span></span>"lastTransitionTime"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"2023-10-27T01:23:57Z"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"message"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"Reconcile complete"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"reason"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"Complete"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"status"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"True"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"type"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"Reconciled"</span></span><span class="token punctuation"><span class="token punctuation">}</span></span><span class="token punctuation"><span class="token punctuation">]</span></span><span class="token punctuation"><span class="token punctuation">}</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get backupstoragelocations.velero.io <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" actions="copy">

dpa-sample-1   Available   1s               3d16h   true
<pre class="language-yaml" tabindex="-1"><code class="language-yaml">NAME           PHASE       LAST VALIDATED   AGE     DEFAULT
dpa<span class="token punctuation"><span class="token punctuation">-</span></span>sample<span class="token punctuation"><span class="token punctuation">-</span></span>1   Available   1s               3d16h   true</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: &lt;dpa_sample&gt;
spec:
# ...
  configuration:
    velero:
      podConfig:
        nodeSelector: &lt;node_selector&gt;
        resourceAllocations:
limits:
  cpu: "1"
  memory: 1024Mi
requests:
  cpu: 200m
  memory: 256Mi
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_sample<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token comment"><span class="token comment"># ...</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;node_selector<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO43-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">resourceAllocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO43-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">limits</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">cpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"1"</span></span>
  <span class="token key atrule"><span class="token key atrule">memory</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 1024Mi
<span class="token key atrule"><span class="token key atrule">requests</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">cpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 200m
  <span class="token key atrule"><span class="token key atrule">memory</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 256Mi</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc label node/<span class="token operator">&lt;</span>node_name<span class="token operator">&gt;</span> node-role.kubernetes.io/nodeAgent<span class="token operator">=</span><span class="token string">""</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  nodeAgent:
    enable: true
    podConfig:
      nodeSelector:
        node-role.kubernetes.io/nodeAgent: ""
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">configuration:
  nodeAgent:
    enable: true
    podConfig:
      nodeSelector:
        node-role.kubernetes.io/nodeAgent: ""</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

      nodeAgent:
        enable: true
        podConfig:
nodeSelector:
  node-role.kubernetes.io/infra: ""
  node-role.kubernetes.io/worker: ""
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">    configuration:
      nodeAgent:
        enable: true
        podConfig:
nodeSelector:
  node-role.kubernetes.io/infra: ""
  node-role.kubernetes.io/worker: ""</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: test-dpa
  namespace: openshift-adp
spec:
  backupLocations:
    - name: default
      velero:
        config:
insecureSkipTLSVerify: "true"
profile: "default"
region: &lt;bucket_region&gt;
s3ForcePathStyle: "true"
s3Url: &lt;bucket_url&gt;
        credential:
key: cloud
name: cloud-credentials
        default: true
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: velero
        provider: aws
  configuration:
    nodeAgent:
      enable: true
      uploaderType: restic
    velero:
      client-burst: 500
      client-qps: 300
      defaultPlugins:
        - openshift
        - aws
        - kubevirt
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
      <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_region<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_url<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> restic
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">client-burst</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">500</span></span> </code></pre><rh-badge id="CO44-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">client-qps</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">300</span></span> </code></pre><rh-badge id="CO44-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
        <span class="token punctuation"><span class="token punctuation">-</span></span> aws
        <span class="token punctuation"><span class="token punctuation">-</span></span> kubevirt</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
      podConfig:
        nodeSelector:
label.io/role: cpu-1
other-label.io/other-role: cpu-2
        ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">label.io/role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cpu<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">1</span></span>
<span class="token key atrule"><span class="token key atrule">other-label.io/other-role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cpu<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">2</span></span>
        <span class="token punctuation"><span class="token punctuation">...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    nodeAgent:
      enable: true
      loadAffinity:
        - nodeSelector:
  matchLabels:
    label.io/role: cpu-1
  matchExpressions:
    - key: label.io/hostname
      operator: In
      values:
        - node1
        - node2
        ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO45-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cpu<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">1</span></span>
  <span class="token key atrule"><span class="token key atrule">matchExpressions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO45-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> label.io/hostname
      <span class="token key atrule"><span class="token key atrule">operator</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> In
      <span class="token key atrule"><span class="token key atrule">values</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> node1
        <span class="token punctuation"><span class="token punctuation">-</span></span> node2
        <span class="token punctuation"><span class="token punctuation">...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
      loadAffinity:
        - nodeSelector:
  matchLabels:
    label.io/location: 'US'
    label.io/gpu: 'no'
      podConfig:
        nodeSelector:
label.io/gpu: 'no'
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
      <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/location</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'US'</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span>
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc label node/<span class="token operator">&lt;</span>node_name<span class="token operator">&gt;</span> label.io/instance-type<span class="token operator">=</span><span class="token string">'large'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

    nodeAgent:
      enable: true
      uploaderType: kopia
      loadConcurrency:
        globalConfig: 1
        perNodeConfig:
        - nodeSelector:
    matchLabels:
       label.io/instance-type: large
number: 3 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml">  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
      <span class="token key atrule"><span class="token key atrule">loadConcurrency</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">globalConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">1</span></span> </code></pre><rh-badge id="CO46-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">perNodeConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
       <span class="token key atrule"><span class="token key atrule">label.io/instance-type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> large </code></pre><rh-badge id="CO46-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">number</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">3</span></span> </code></pre><rh-badge id="CO46-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    repositoryMaintenance:
      global:
        podResources:
cpuRequest: "100m"
cpuLimit: "200m"
memoryRequest: "100Mi"
memoryLimit: "200Mi"
        loadAffinity:
- nodeSelector:
    matchLabels:
      label.io/gpu: 'no'
    matchExpressions:
      - key: label.io/location
        operator: In
        values:
          - US
          - EU
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">repositoryMaintenance</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO47-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">global</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO47-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">podResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">cpuRequest</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"100m"</span></span>
<span class="token key atrule"><span class="token key atrule">cpuLimit</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"200m"</span></span>
<span class="token key atrule"><span class="token key atrule">memoryRequest</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"100Mi"</span></span>
<span class="token key atrule"><span class="token key atrule">memoryLimit</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"200Mi"</span></span>
        <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span>
    <span class="token key atrule"><span class="token key atrule">matchExpressions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> label.io/location
        <span class="token key atrule"><span class="token key atrule">operator</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> In
        <span class="token key atrule"><span class="token key atrule">values</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
          <span class="token punctuation"><span class="token punctuation">-</span></span> US
          <span class="token punctuation"><span class="token punctuation">-</span></span> EU</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    repositoryMaintenance:
      myrepositoryname:
        loadAffinity:
- nodeSelector:
    matchLabels:
      label.io/cpu: 'yes'
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">repositoryMaintenance</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">myrepositoryname</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO48-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">label.io/cpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'yes'</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    velero:
      podConfig:
        nodeSelector:
some-label.io/custom-node-role: backup-core
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">some-label.io/custom-node-role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> backup<span class="token punctuation"><span class="token punctuation">-</span></span>core</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    velero:
      loadAffinity:
        - nodeSelector:
  matchLabels:
    label.io/gpu: 'no'
  matchExpressions:
    - key: label.io/location
      operator: In
      values:
        - US
        - EU
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span>
  <span class="token key atrule"><span class="token key atrule">matchExpressions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> label.io/location
      <span class="token key atrule"><span class="token key atrule">operator</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> In
      <span class="token key atrule"><span class="token key atrule">values</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> US
        <span class="token punctuation"><span class="token punctuation">-</span></span> EU</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: test-dpa
  namespace: openshift-adp
spec:
  backupLocations:
    - name: default
      velero:
        config:
insecureSkipTLSVerify: "true"
profile: "default"
region: &lt;bucket_region&gt;
s3ForcePathStyle: "true"
s3Url: &lt;bucket_url&gt;
        credential:
key: cloud
name: cloud-credentials
        default: true
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: velero
        provider: aws
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
    velero:
      defaultPlugins:
        - openshift
        - aws
        - kubevirt
        - csi
  imagePullPolicy: Never 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
      <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_region<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_url<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
        <span class="token punctuation"><span class="token punctuation">-</span></span> aws
        <span class="token punctuation"><span class="token punctuation">-</span></span> kubevirt
        <span class="token punctuation"><span class="token punctuation">-</span></span> csi
  <span class="token key atrule"><span class="token key atrule">imagePullPolicy</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Never </code></pre><rh-badge id="CO49-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
#...
backupLocations:
  - name: aws
    velero:
      provider: aws
      default: true
      objectStorage:
        bucket: &lt;bucket_name&gt;
        prefix: &lt;prefix&gt;
      config:
        region: &lt;region_name&gt;
        profile: "default"
      credential:
        key: cloud
        name: cloud-credentials
  - name: odf
    velero:
      provider: aws
      default: false
      objectStorage:
        bucket: &lt;bucket_name&gt;
        prefix: &lt;prefix&gt;
      config:
        profile: "default"
        region: &lt;region_name&gt;
        s3Url: &lt;url&gt;
        insecureSkipTLSVerify: "true"
        s3ForcePathStyle: "true"
      credential:
        key: cloud
        name: &lt;custom_secret_name_odf&gt;
#...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token comment"><span class="token comment">#...</span></span>
<span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws </code></pre><rh-badge id="CO50-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
      <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO50-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO50-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;prefix<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO50-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;region_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO50-5" state="info">5</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
      <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials </code></pre><rh-badge id="CO50-6" state="info">6</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> odf </code></pre><rh-badge id="CO50-7" state="info">7</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
      <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span>
      <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;prefix<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
      <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
        <span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;region_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;url<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO50-8" state="info">8</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
        <span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
      <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;custom_secret_name_odf<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO50-9" state="info">9</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token comment"><span class="token comment">#...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Backup
# ...
spec:
  includedNamespaces:
  - &lt;namespace&gt;
  storageLocation: &lt;backup_storage_location&gt;
  defaultVolumesToFsBackup: true
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Backup
<span class="token comment"><span class="token comment"># ...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">includedNamespaces</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> &lt;namespace<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO51-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">storageLocation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;backup_storage_location<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO51-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">defaultVolumesToFsBackup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

configuration:
  nodeAgent:
    enable: false
    uploaderType: kopia
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token comment"><span class="token comment"># ...</span></span>
<span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span>  </code></pre><rh-badge id="CO52-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

configuration:
  nodeAgent:
    enable: true
    uploaderType: kopia
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token comment"><span class="token comment"># ...</span></span>
<span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>  </code></pre><rh-badge id="CO53-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

AZURE_TENANT_ID=&lt;azure_tenant_id&gt;
AZURE_CLIENT_ID=&lt;azure_client_id&gt;
AZURE_CLIENT_SECRET=&lt;azure_client_secret&gt;
AZURE_RESOURCE_GROUP=&lt;azure_resource_group&gt;
AZURE_CLOUD_NAME=&lt;azure_cloud_name&gt;
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">AZURE_SUBSCRIPTION_ID=&lt;azure_subscription_id&gt;
AZURE_TENANT_ID=&lt;azure_tenant_id&gt;
AZURE_CLIENT_ID=&lt;azure_client_id&gt;
AZURE_CLIENT_SECRET=&lt;azure_client_secret&gt;
AZURE_RESOURCE_GROUP=&lt;azure_resource_group&gt;
AZURE_CLOUD_NAME=&lt;azure_cloud_name&gt;</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

AZURE_SUBSCRIPTION_ID=&lt;azure_subscription_id&gt;
AZURE_RESOURCE_GROUP=&lt;azure_resource_group&gt;
AZURE_CLOUD_NAME=&lt;azure_cloud_name&gt;
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">AZURE_STORAGE_ACCOUNT_ACCESS_KEY=&lt;azure_storage_account_access_key&gt;
AZURE_SUBSCRIPTION_ID=&lt;azure_subscription_id&gt;
AZURE_RESOURCE_GROUP=&lt;azure_resource_group&gt;
AZURE_CLOUD_NAME=&lt;azure_cloud_name&gt;</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create secret generic cloud-credentials-azure <span class="token parameter variable">-n</span> openshift-adp --from-file <span class="token assign-left variable">cloud</span><span class="token operator">=</span>credentials-velero</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: &lt;dpa_sample&gt;
  namespace: openshift-adp
spec:
...
  backupLocations:
    - velero:
        config:
resourceGroup: &lt;azure_resource_group&gt;
storageAccount: &lt;azure_storage_account_id&gt;
subscriptionId: &lt;azure_subscription_id&gt;
        credential:
key: cloud
name: &lt;custom_secret&gt;
        provider: azure
        default: true
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: &lt;prefix&gt;
  snapshotLocations:
    - velero:
        config:
resourceGroup: &lt;azure_resource_group&gt;
subscriptionId: &lt;azure_subscription_id&gt;
incremental: "true"
        provider: azure
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_sample<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">...</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">resourceGroup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;azure_resource_group<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">storageAccount</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;azure_storage_account_id<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">subscriptionId</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;azure_subscription_id<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;custom_secret<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO54-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> azure
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;prefix<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
  <span class="token key atrule"><span class="token key atrule">snapshotLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">resourceGroup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;azure_resource_group<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">subscriptionId</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;azure_subscription_id<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">incremental</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> azure</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

export CLUSTER_NAME=$(echo "$API_URL" | sed 's|https://api\.||' | sed 's|\..*||')
export CLUSTER_RESOURCE_GROUP="${CLUSTER_NAME}-rg"

# Get Azure information
export AZURE_SUBSCRIPTION_ID=$(az account show --query id -o tsv)
export AZURE_TENANT_ID=$(az account show --query tenantId -o tsv)

# Set names for resources
export IDENTITY_NAME="velero"
export APP_NAME="velero-${CLUSTER_NAME}"
export STORAGE_ACCOUNT_NAME=$(echo "velero${CLUSTER_NAME}" | tr -d '-' | tr '[:upper:]' '[:lower:]' | cut -c1-24)
export CONTAINER_NAME="velero"
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">export API_URL=$(oc whoami --show-server) # Get cluster information
export CLUSTER_NAME=$(echo "$API_URL" | sed 's|https://api\.||' | sed 's|\..*||')
export CLUSTER_RESOURCE_GROUP="${CLUSTER_NAME}-rg"

</span><span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash">Get Azure information</span></span>
<span class="token output">export AZURE_SUBSCRIPTION_ID=$(az account show --query id -o tsv)
export AZURE_TENANT_ID=$(az account show --query tenantId -o tsv)

</span><span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash">Set names <span class="token keyword">for</span> resources</span></span>
<span class="token output">export IDENTITY_NAME="velero"
export APP_NAME="velero-${CLUSTER_NAME}"
export STORAGE_ACCOUNT_NAME=$(echo "velero${CLUSTER_NAME}" | tr -d '-' | tr '[:upper:]' '[:lower:]' | cut -c1-24)
export CONTAINER_NAME="velero"</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

    --subscription "$AZURE_SUBSCRIPTION_ID" \
    --resource-group "$CLUSTER_RESOURCE_GROUP" \
    --name "$IDENTITY_NAME"

# Get identity details
export IDENTITY_CLIENT_ID=$(az identity show -g "$CLUSTER_RESOURCE_GROUP" -n "$IDENTITY_NAME" --query clientId -o tsv)
export IDENTITY_PRINCIPAL_ID=$(az identity show -g "$CLUSTER_RESOURCE_GROUP" -n "$IDENTITY_NAME" --query principalId -o tsv)
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">az identity create \ # Create managed identity
    --subscription "$AZURE_SUBSCRIPTION_ID" \
    --resource-group "$CLUSTER_RESOURCE_GROUP" \
    --name "$IDENTITY_NAME"

</span><span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash">Get identity details</span></span>
<span class="token output">export IDENTITY_CLIENT_ID=$(az identity show -g "$CLUSTER_RESOURCE_GROUP" -n "$IDENTITY_NAME" --query clientId -o tsv)
export IDENTITY_PRINCIPAL_ID=$(az identity show -g "$CLUSTER_RESOURCE_GROUP" -n "$IDENTITY_NAME" --query principalId -o tsv)</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">


# Required roles for OADP operations
REQUIRED_ROLES=(
    "Contributor"
    "Storage Blob Data Contributor"
    "Disk Snapshot Contributor"
)

for role in "${REQUIRED_ROLES[@]}"; do
    echo "Assigning role: $role"
    az role assignment create \
        --assignee "$IDENTITY_PRINCIPAL_ID" \
        --role "$role" \
        --scope "/subscriptions/$SUBSCRIPTION_ID"
done
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">export SUBSCRIPTION_ID=$(az account show --query id -o tsv) # Get subscription ID for role assignments

</span><span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash">Required roles <span class="token keyword">for</span> OADP operations</span></span>
<span class="token output">REQUIRED_ROLES=(
    "Contributor"
    "Storage Blob Data Contributor"
    "Disk Snapshot Contributor"
)

for role in "${REQUIRED_ROLES[@]}"; do
    echo "Assigning role: $role"
    az role assignment create \
        --assignee "$IDENTITY_PRINCIPAL_ID" \
        --role "$role" \
        --scope "/subscriptions/$SUBSCRIPTION_ID"
done</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

    --name "$STORAGE_ACCOUNT_NAME" \
    --resource-group "$CLUSTER_RESOURCE_GROUP" \
    --location "$(az group show -n $CLUSTER_RESOURCE_GROUP --query location -o tsv)" \
    --sku Standard_LRS \
    --kind StorageV2
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">az storage account create \ # Create storage account
    --name "$STORAGE_ACCOUNT_NAME" \
    --resource-group "$CLUSTER_RESOURCE_GROUP" \
    --location "$(az group show -n $CLUSTER_RESOURCE_GROUP --query location -o tsv)" \
    --sku Standard_LRS \
    --kind StorageV2</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

echo "OIDC Issuer: $SERVICE_ACCOUNT_ISSUER"
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">export SERVICE_ACCOUNT_ISSUER=$(oc get authentication.config.openshift.io cluster -o json | jq -r .spec.serviceAccountIssuer)
echo "OIDC Issuer: $SERVICE_ACCOUNT_ISSUER"</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

    --name "velero-federated-credential" \
    --identity-name "$IDENTITY_NAME" \
    --resource-group "$CLUSTER_RESOURCE_GROUP" \
    --issuer "$SERVICE_ACCOUNT_ISSUER" \
    --subject "system:serviceaccount:openshift-adp:velero" \
    --audiences "openshift"

# Create federated identity credential for OADP controller manager
az identity federated-credential create \
    --name "oadp-controller-federated-credential" \
    --identity-name "$IDENTITY_NAME" \
    --resource-group "$CLUSTER_RESOURCE_GROUP" \
    --issuer "$SERVICE_ACCOUNT_ISSUER" \
    --subject "system:serviceaccount:openshift-adp:openshift-adp-controller-manager" \
    --audiences "openshift"
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">az identity federated-credential create \ # Create federated identity credential for Velero service account
    --name "velero-federated-credential" \
    --identity-name "$IDENTITY_NAME" \
    --resource-group "$CLUSTER_RESOURCE_GROUP" \
    --issuer "$SERVICE_ACCOUNT_ISSUER" \
    --subject "system:serviceaccount:openshift-adp:velero" \
    --audiences "openshift"

</span><span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash">Create federated identity credential <span class="token keyword">for</span> OADP controller manager</span></span>
<span class="token output">az identity federated-credential create \
    --name "oadp-controller-federated-credential" \
    --identity-name "$IDENTITY_NAME" \
    --resource-group "$CLUSTER_RESOURCE_GROUP" \
    --issuer "$SERVICE_ACCOUNT_ISSUER" \
    --subject "system:serviceaccount:openshift-adp:openshift-adp-controller-manager" \
    --audiences "openshift"</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">oc create namespace openshift-adp</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

apiVersion: oadp.openshift.io/v1alpha1
kind: CloudStorage
metadata:
  name: azure-backup-storage
  namespace: openshift-adp
spec:
  name: ${CONTAINER_NAME}
  provider: azure
  creationSecret:
    name: cloud-credentials-azure
    key: azurekey
  config:
    storageAccount: ${STORAGE_ACCOUNT_NAME}
EOF
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">cat &lt;&lt;EOF | oc apply -f -
apiVersion: oadp.openshift.io/v1alpha1
kind: CloudStorage
metadata:
  name: azure-backup-storage
  namespace: openshift-adp
spec:
  name: ${CONTAINER_NAME}
  provider: azure
  creationSecret:
    name: cloud-credentials-azure
    key: azurekey
  config:
    storageAccount: ${STORAGE_ACCOUNT_NAME}
EOF</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

apiVersion: oadp.openshift.io/v1alpha1
kind: DataProtectionApplication
metadata:
  name: dpa-azure-workload-id-cloudstorage
  namespace: openshift-adp
spec:
  backupLocations:
  - bucket:
      cloudStorageRef:
        name: &lt;cloud_storage_cr&gt;
      config:
        storageAccount: &lt;storage_account_name&gt;
        useAAD: "true"
      credential:
        key: azurekey
        name: cloud-credentials-azure
      default: true
      prefix: velero
    name: default
  configuration:
    velero:
      defaultPlugins:
      - azure
      - openshift
      - csi
      disableFsBackup: false
  logFormat: text
  snapshotLocations:
  - name: default
    velero:
      config:
        resourceGroup: &lt;resource_group&gt;
        subscriptionId: &lt;subscription_ID&gt;
      credential:
        key: azurekey
        name: cloud-credentials-azure
      provider: azure
EOF
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">cat &lt;&lt;EOF | oc apply -f -
apiVersion: oadp.openshift.io/v1alpha1
kind: DataProtectionApplication
metadata:
  name: dpa-azure-workload-id-cloudstorage
  namespace: openshift-adp
spec:
  backupLocations:
  - bucket:
      cloudStorageRef:
        name: &lt;cloud_storage_cr&gt; </span></code></pre><rh-badge id="CO55-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">      config:
        storageAccount: &lt;storage_account_name&gt; </span></code></pre><rh-badge id="CO55-2" state="info">2</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">        useAAD: "true"
      credential:
        key: azurekey
        name: cloud-credentials-azure
      default: true
      prefix: velero
    name: default
  configuration:
    velero:
      defaultPlugins:
      - azure
      - openshift
      - csi
      disableFsBackup: false
  logFormat: text
  snapshotLocations:
  - name: default
    velero:
      config:
        resourceGroup: &lt;resource_group&gt; </span></code></pre><rh-badge id="CO55-3" state="info">3</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">        subscriptionId: &lt;subscription_ID&gt; </span></code></pre><rh-badge id="CO55-4" state="info">4</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">      credential:
        key: azurekey
        name: cloud-credentials-azure
      provider: azure
EOF</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get pods <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">az role assignment list --assignee ${IDENTITY_PRINCIPAL_ID} --all --query "[].roleDefinitionName" -o tsv</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

Check AZURE_CLIENT_ID environment variable
oc get pod ${VELERO_POD} -n openshift-adp -o jsonpath='{.spec.containers[0].env[?(@.name=="AZURE_CLIENT_ID")]}'
Check AZURE_FEDERATED_TOKEN_FILE environment variable
oc get pod ${VELERO_POD} -n openshift-adp -o jsonpath='{.spec.containers[0].env[?(@.name=="AZURE_FEDERATED_TOKEN_FILE")]}'
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token assign-left variable">VELERO_POD</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span>oc get pods <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-l</span> app.kubernetes.io/name<span class="token operator">=</span>velero <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.items[0].metadata.name}'</span><span class="token variable">)</span></span> <span class="token comment"># Check Velero pod environment variables</span></span></span>

<span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash">Check AZURE_CLIENT_ID environment variable</span></span>
<span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get pod <span class="token variable">${VELERO_POD}</span> <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.spec.containers[0].env[?(@.name=="AZURE_CLIENT_ID")]}'</span></span></span>

<span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash">Check AZURE_FEDERATED_TOKEN_FILE environment variable</span></span>
<span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get pod <span class="token variable">${VELERO_POD}</span> <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.spec.containers[0].env[?(@.name=="AZURE_FEDERATED_TOKEN_FILE")]}'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: &lt;dpa_sample&gt;
spec:
# ...
  configuration:
    velero:
      podConfig:
        nodeSelector: &lt;node_selector&gt;
        resourceAllocations:
limits:
  cpu: "1"
  memory: 1024Mi
requests:
  cpu: 200m
  memory: 256Mi
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_sample<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token comment"><span class="token comment"># ...</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;node_selector<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO56-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">resourceAllocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO56-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">limits</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">cpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"1"</span></span>
  <span class="token key atrule"><span class="token key atrule">memory</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 1024Mi
<span class="token key atrule"><span class="token key atrule">requests</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">cpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 200m
  <span class="token key atrule"><span class="token key atrule">memory</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 256Mi</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: &lt;dpa_sample&gt;
spec:
# ...
  backupLocations:
    - name: default
      velero:
        provider: aws
        default: true
        objectStorage:
bucket: &lt;bucket&gt;
prefix: &lt;prefix&gt;
caCert: &lt;base64_encoded_cert_string&gt;
        config:
insecureSkipTLSVerify: "false"
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_sample<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token comment"><span class="token comment"># ...</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
      <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;prefix<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">caCert</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;base64_encoded_cert_string<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO57-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"false"</span></span> </code></pre><rh-badge id="CO57-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token builtin class-name">alias</span> <span class="token assign-left variable">velero</span><span class="token operator">=</span><span class="token string">'oc -n openshift-adp exec deployment/velero -c velero -it -- ./velero'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero version</span></span>
<span class="token output">Client:
	Version: v1.12.1-OADP
	Git commit: -
Server:
	Version: v1.12.1-OADP</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

[[ -n $CA_CERT ]] &amp;&amp; echo "$CA_CERT" | base64 -d | oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "cat &gt; /tmp/your-cacert.txt" || echo "DPA BSL has no caCert"
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token assign-left variable">CA_CERT</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span>oc <span class="token parameter variable">-n</span> openshift-adp get dataprotectionapplications.oadp.openshift.io <span class="token operator">&lt;</span>dpa-name<span class="token operator">&gt;</span> <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.spec.backupLocations[0].velero.objectStorage.caCert}'</span><span class="token variable">)</span></span></span></span>

<span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token punctuation">[</span><span class="token punctuation">[</span> <span class="token parameter variable">-n</span> <span class="token variable">$CA_CERT</span> <span class="token punctuation">]</span><span class="token punctuation">]</span> <span class="token operator">&amp;&amp;</span> <span class="token builtin class-name">echo</span> <span class="token string">"<span class="token variable">$CA_CERT</span>"</span> <span class="token operator">|</span> base64 <span class="token parameter variable">-d</span> <span class="token operator">|</span> oc <span class="token builtin class-name">exec</span> <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-i</span> deploy/velero <span class="token parameter variable">-c</span> velero -- <span class="token function">bash</span> <span class="token parameter variable">-c</span> <span class="token string">"cat &gt; /tmp/your-cacert.txt"</span> <span class="token operator">||</span> <span class="token builtin class-name">echo</span> <span class="token string">"DPA BSL has no caCert"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero describe backup <span class="token operator">&lt;</span>backup_name<span class="token operator">&gt;</span> <span class="token parameter variable">--details</span> <span class="token parameter variable">--cacert</span> /tmp/<span class="token operator">&lt;</span>your_cacert<span class="token operator">&gt;</span>.txt</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero backup logs  <span class="token operator">&lt;</span>backup_name<span class="token operator">&gt;</span>  <span class="token parameter variable">--cacert</span> /tmp/<span class="token operator">&lt;</span>your_cacert.txt<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token builtin class-name">exec</span> <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-i</span> deploy/velero <span class="token parameter variable">-c</span> velero -- <span class="token function">bash</span> <span class="token parameter variable">-c</span> <span class="token string">"ls /tmp/your-cacert.txt"</span></span></span>
<span class="token output">/tmp/your-cacert.txt</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: &lt;dpa_sample&gt;
  namespace: openshift-adp
spec:
  configuration:
    velero:
      defaultPlugins:
        - azure
        - openshift
      resourceTimeout: 10m
    nodeAgent:
      enable: true
      uploaderType: kopia
      podConfig:
        nodeSelector: &lt;node_selector&gt;
  backupLocations:
    - velero:
        config:
resourceGroup: &lt;azure_resource_group&gt;
storageAccount: &lt;azure_storage_account_id&gt;
subscriptionId: &lt;azure_subscription_id&gt;
        credential:
key: cloud
name: cloud-credentials-azure
        provider: azure
        default: true
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: &lt;prefix&gt;
  snapshotLocations:
    - velero:
        config:
resourceGroup: &lt;azure_resource_group&gt;
subscriptionId: &lt;azure_subscription_id&gt;
incremental: "true"
        name: default
        provider: azure
        credential:
key: cloud
name: cloud-credentials-azure 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_sample<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp </code></pre><rh-badge id="CO58-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> azure
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift </code></pre><rh-badge id="CO58-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">resourceTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 10m </code></pre><rh-badge id="CO58-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO58-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO58-5" state="info">5</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia </code></pre><rh-badge id="CO58-6" state="info">6</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;node_selector<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO58-7" state="info">7</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">resourceGroup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;azure_resource_group<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO58-8" state="info">8</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">storageAccount</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;azure_storage_account_id<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO58-9" state="info">9</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">subscriptionId</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;azure_subscription_id<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO58-10" state="info">10</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials<span class="token punctuation"><span class="token punctuation">-</span></span>azure  </code></pre><rh-badge id="CO58-11" state="info">11</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> azure
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO58-12" state="info">12</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;prefix<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO58-13" state="info">13</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">snapshotLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO58-14" state="info">14</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">resourceGroup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;azure_resource_group<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">subscriptionId</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;azure_subscription_id<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">incremental</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> azure
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials<span class="token punctuation"><span class="token punctuation">-</span></span>azure </code></pre><rh-badge id="CO58-15" state="info">15</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get all <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

pod/oadp-operator-controller-manager-67d9494d47-6l8z8    2/2     Running   0          2m8s
pod/node-agent-9cq4q                                     1/1     Running   0          94s
pod/node-agent-m4lts                                     1/1     Running   0          94s
pod/node-agent-pv4kr                                     1/1     Running   0          95s
pod/velero-588db7f655-n842v                              1/1     Running   0          95s

NAME                                                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
service/oadp-operator-controller-manager-metrics-service   ClusterIP   172.30.70.140    &lt;none&gt;        8443/TCP   2m8s
service/openshift-adp-velero-metrics-svc                   ClusterIP   172.30.10.0      &lt;none&gt;        8085/TCP   8h

NAME                        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/node-agent    3         3         3       3            3           &lt;none&gt;          96s

NAME                                                READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/oadp-operator-controller-manager    1/1     1            1           2m9s
deployment.apps/velero                              1/1     1            1           96s

NAME                                                           DESIRED   CURRENT   READY   AGE
replicaset.apps/oadp-operator-controller-manager-67d9494d47    1         1         1       2m9s
replicaset.apps/velero-588db7f655                              1         1         1       96s
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">NAME                                                     READY   STATUS    RESTARTS   AGE
pod/oadp-operator-controller-manager-67d9494d47-6l8z8    2/2     Running   0          2m8s
pod/node-agent-9cq4q                                     1/1     Running   0          94s
pod/node-agent-m4lts                                     1/1     Running   0          94s
pod/node-agent-pv4kr                                     1/1     Running   0          95s
pod/velero-588db7f655-n842v                              1/1     Running   0          95s

NAME                                                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
service/oadp-operator-controller-manager-metrics-service   ClusterIP   172.30.70.140    &lt;none&gt;        8443/TCP   2m8s
service/openshift-adp-velero-metrics-svc                   ClusterIP   172.30.10.0      &lt;none&gt;        8085/TCP   8h

NAME                        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/node-agent    3         3         3       3            3           &lt;none&gt;          96s

NAME                                                READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/oadp-operator-controller-manager    1/1     1            1           2m9s
deployment.apps/velero                              1/1     1            1           96s

NAME                                                           DESIRED   CURRENT   READY   AGE
replicaset.apps/oadp-operator-controller-manager-67d9494d47    1         1         1       2m9s
replicaset.apps/velero-588db7f655                              1         1         1       96s</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get dpa dpa-sample <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.status}'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" actions="copy">

<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">{</span></span>"conditions"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token punctuation"><span class="token punctuation">[</span></span><span class="token punctuation"><span class="token punctuation">{</span></span>"lastTransitionTime"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"2023-10-27T01:23:57Z"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"message"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"Reconcile complete"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"reason"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"Complete"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"status"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"True"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"type"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"Reconciled"</span></span><span class="token punctuation"><span class="token punctuation">}</span></span><span class="token punctuation"><span class="token punctuation">]</span></span><span class="token punctuation"><span class="token punctuation">}</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get backupstoragelocations.velero.io <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" actions="copy">

dpa-sample-1   Available   1s               3d16h   true
<pre class="language-yaml" tabindex="-1"><code class="language-yaml">NAME           PHASE       LAST VALIDATED   AGE     DEFAULT
dpa<span class="token punctuation"><span class="token punctuation">-</span></span>sample<span class="token punctuation"><span class="token punctuation">-</span></span>1   Available   1s               3d16h   true</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: test-dpa
  namespace: openshift-adp
spec:
  backupLocations:
    - name: default
      velero:
        config:
insecureSkipTLSVerify: "true"
profile: "default"
region: &lt;bucket_region&gt;
s3ForcePathStyle: "true"
s3Url: &lt;bucket_url&gt;
        credential:
key: cloud
name: cloud-credentials
        default: true
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: velero
        provider: aws
  configuration:
    nodeAgent:
      enable: true
      uploaderType: restic
    velero:
      client-burst: 500
      client-qps: 300
      defaultPlugins:
        - openshift
        - aws
        - kubevirt
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
      <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_region<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_url<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> restic
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">client-burst</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">500</span></span> </code></pre><rh-badge id="CO59-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">client-qps</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">300</span></span> </code></pre><rh-badge id="CO59-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
        <span class="token punctuation"><span class="token punctuation">-</span></span> aws
        <span class="token punctuation"><span class="token punctuation">-</span></span> kubevirt</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc label node/<span class="token operator">&lt;</span>node_name<span class="token operator">&gt;</span> node-role.kubernetes.io/nodeAgent<span class="token operator">=</span><span class="token string">""</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  nodeAgent:
    enable: true
    podConfig:
      nodeSelector:
        node-role.kubernetes.io/nodeAgent: ""
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">configuration:
  nodeAgent:
    enable: true
    podConfig:
      nodeSelector:
        node-role.kubernetes.io/nodeAgent: ""</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

      nodeAgent:
        enable: true
        podConfig:
nodeSelector:
  node-role.kubernetes.io/infra: ""
  node-role.kubernetes.io/worker: ""
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">    configuration:
      nodeAgent:
        enable: true
        podConfig:
nodeSelector:
  node-role.kubernetes.io/infra: ""
  node-role.kubernetes.io/worker: ""</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
      podConfig:
        nodeSelector:
label.io/role: cpu-1
other-label.io/other-role: cpu-2
        ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">label.io/role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cpu<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">1</span></span>
<span class="token key atrule"><span class="token key atrule">other-label.io/other-role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cpu<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">2</span></span>
        <span class="token punctuation"><span class="token punctuation">...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    nodeAgent:
      enable: true
      loadAffinity:
        - nodeSelector:
  matchLabels:
    label.io/role: cpu-1
  matchExpressions:
    - key: label.io/hostname
      operator: In
      values:
        - node1
        - node2
        ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO60-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cpu<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">1</span></span>
  <span class="token key atrule"><span class="token key atrule">matchExpressions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO60-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> label.io/hostname
      <span class="token key atrule"><span class="token key atrule">operator</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> In
      <span class="token key atrule"><span class="token key atrule">values</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> node1
        <span class="token punctuation"><span class="token punctuation">-</span></span> node2
        <span class="token punctuation"><span class="token punctuation">...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
      loadAffinity:
        - nodeSelector:
  matchLabels:
    label.io/location: 'US'
    label.io/gpu: 'no'
      podConfig:
        nodeSelector:
label.io/gpu: 'no'
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
      <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/location</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'US'</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span>
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc label node/<span class="token operator">&lt;</span>node_name<span class="token operator">&gt;</span> label.io/instance-type<span class="token operator">=</span><span class="token string">'large'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

    nodeAgent:
      enable: true
      uploaderType: kopia
      loadConcurrency:
        globalConfig: 1
        perNodeConfig:
        - nodeSelector:
    matchLabels:
       label.io/instance-type: large
number: 3 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml">  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
      <span class="token key atrule"><span class="token key atrule">loadConcurrency</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">globalConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">1</span></span> </code></pre><rh-badge id="CO61-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">perNodeConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
       <span class="token key atrule"><span class="token key atrule">label.io/instance-type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> large </code></pre><rh-badge id="CO61-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">number</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">3</span></span> </code></pre><rh-badge id="CO61-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: ts-dpa
  namespace: openshift-adp
spec:
  backupLocations:
  - velero:
      credential:
        key: cloud
        name: cloud-credentials
      default: true
      objectStorage:
        bucket: &lt;bucket_name&gt;
        prefix: velero
      provider: gcp
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
    velero:
      defaultPlugins:
      - csi
      - gcp
      - openshift
      disableFsBackup: true 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ts<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
      <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
      <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> gcp
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO62-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> csi
      <span class="token punctuation"><span class="token punctuation">-</span></span> gcp
      <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
      <span class="token key atrule"><span class="token key atrule">disableFsBackup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO62-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get daemonset node-agent <span class="token parameter variable">-o</span> yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DaemonSet
metadata:
  ...
  name: node-agent
  namespace: openshift-adp
  ...
spec:
  ...
  template:
    metadata:
      ...
    spec:
      containers:
      ...
        securityContext:
allowPrivilegeEscalation: false
capabilities:
  drop:
  - ALL
privileged: false
readOnlyRootFilesystem: true
        ...
      nodeSelector:
        kubernetes.io/os: linux
      os:
        name: linux
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext:
        runAsNonRoot: true
        seccompProfile:
type: RuntimeDefault
      serviceAccount: velero
      serviceAccountName: velero
      ....
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> apps/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DaemonSet
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">...</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> node<span class="token punctuation"><span class="token punctuation">-</span></span>agent
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
  <span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">...</span></span>
  <span class="token key atrule"><span class="token key atrule">template</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">...</span></span>
    <span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">containers</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">...</span></span>
        <span class="token key atrule"><span class="token key atrule">securityContext</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">allowPrivilegeEscalation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span> </code></pre><rh-badge id="CO63-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">capabilities</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">drop</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> ALL
<span class="token key atrule"><span class="token key atrule">privileged</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span> </code></pre><rh-badge id="CO63-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">readOnlyRootFilesystem</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO63-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">...</span></span>
      <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">kubernetes.io/os</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> linux
      <span class="token key atrule"><span class="token key atrule">os</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> linux
      <span class="token key atrule"><span class="token key atrule">restartPolicy</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Always
      <span class="token key atrule"><span class="token key atrule">schedulerName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default<span class="token punctuation"><span class="token punctuation">-</span></span>scheduler
      <span class="token key atrule"><span class="token key atrule">securityContext</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">runAsNonRoot</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO63-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">seccompProfile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> RuntimeDefault
      <span class="token key atrule"><span class="token key atrule">serviceAccount</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
      <span class="token key atrule"><span class="token key atrule">serviceAccountName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
      <span class="token punctuation"><span class="token punctuation">...</span></span>.</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    repositoryMaintenance:
      global:
        podResources:
cpuRequest: "100m"
cpuLimit: "200m"
memoryRequest: "100Mi"
memoryLimit: "200Mi"
        loadAffinity:
- nodeSelector:
    matchLabels:
      label.io/gpu: 'no'
    matchExpressions:
      - key: label.io/location
        operator: In
        values:
          - US
          - EU
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">repositoryMaintenance</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO64-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">global</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO64-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">podResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">cpuRequest</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"100m"</span></span>
<span class="token key atrule"><span class="token key atrule">cpuLimit</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"200m"</span></span>
<span class="token key atrule"><span class="token key atrule">memoryRequest</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"100Mi"</span></span>
<span class="token key atrule"><span class="token key atrule">memoryLimit</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"200Mi"</span></span>
        <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span>
    <span class="token key atrule"><span class="token key atrule">matchExpressions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> label.io/location
        <span class="token key atrule"><span class="token key atrule">operator</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> In
        <span class="token key atrule"><span class="token key atrule">values</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
          <span class="token punctuation"><span class="token punctuation">-</span></span> US
          <span class="token punctuation"><span class="token punctuation">-</span></span> EU</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    repositoryMaintenance:
      myrepositoryname:
        loadAffinity:
- nodeSelector:
    matchLabels:
      label.io/cpu: 'yes'
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">repositoryMaintenance</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">myrepositoryname</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO65-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">label.io/cpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'yes'</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    velero:
      podConfig:
        nodeSelector:
some-label.io/custom-node-role: backup-core
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">some-label.io/custom-node-role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> backup<span class="token punctuation"><span class="token punctuation">-</span></span>core</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    velero:
      loadAffinity:
        - nodeSelector:
  matchLabels:
    label.io/gpu: 'no'
  matchExpressions:
    - key: label.io/location
      operator: In
      values:
        - US
        - EU
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span>
  <span class="token key atrule"><span class="token key atrule">matchExpressions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> label.io/location
      <span class="token key atrule"><span class="token key atrule">operator</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> In
      <span class="token key atrule"><span class="token key atrule">values</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> US
        <span class="token punctuation"><span class="token punctuation">-</span></span> EU</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: test-dpa
  namespace: openshift-adp
spec:
  backupLocations:
    - name: default
      velero:
        config:
insecureSkipTLSVerify: "true"
profile: "default"
region: &lt;bucket_region&gt;
s3ForcePathStyle: "true"
s3Url: &lt;bucket_url&gt;
        credential:
key: cloud
name: cloud-credentials
        default: true
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: velero
        provider: aws
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
    velero:
      defaultPlugins:
        - openshift
        - aws
        - kubevirt
        - csi
  imagePullPolicy: Never 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
      <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_region<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_url<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
        <span class="token punctuation"><span class="token punctuation">-</span></span> aws
        <span class="token punctuation"><span class="token punctuation">-</span></span> kubevirt
        <span class="token punctuation"><span class="token punctuation">-</span></span> csi
  <span class="token key atrule"><span class="token key atrule">imagePullPolicy</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Never </code></pre><rh-badge id="CO66-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
...
spec:
  configuration:
    velero:
      defaultPlugins:
      - openshift
      - csi 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
      <span class="token punctuation"><span class="token punctuation">-</span></span> csi </code></pre><rh-badge id="CO67-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

configuration:
  nodeAgent:
    enable: false
    uploaderType: kopia
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token comment"><span class="token comment"># ...</span></span>
<span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span>  </code></pre><rh-badge id="CO68-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

configuration:
  nodeAgent:
    enable: true
    uploaderType: kopia
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token comment"><span class="token comment"># ...</span></span>
<span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>  </code></pre><rh-badge id="CO69-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">gcloud auth login</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token assign-left variable">BUCKET</span><span class="token operator">=</span><span class="token operator">&lt;</span>bucket<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO70-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">gsutil mb gs://<span class="token variable">$BUCKET</span>/</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token assign-left variable">PROJECT_ID</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span>gcloud config get-value project<span class="token variable">)</span></span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

    --display-name "Velero service account"
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">gcloud iam service-accounts create velero <span class="token punctuation">\</span>
    --display-name <span class="token string">"Velero service account"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">gcloud iam service-accounts list</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

    --filter="displayName:Velero service account" \
    --format 'value(email)')
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token assign-left variable">SERVICE_ACCOUNT_EMAIL</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span>gcloud iam service-accounts list <span class="token punctuation">\</span>
    <span class="token parameter variable">--filter</span><span class="token operator">=</span><span class="token string">"displayName:Velero service account"</span> <span class="token punctuation">\</span>
    <span class="token parameter variable">--format</span> <span class="token string">'value(email)'</span><span class="token variable">)</span></span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token assign-left variable">ROLE_PERMISSIONS</span><span class="token operator">=</span><span class="token punctuation">(</span></span></span>
<span class="token output">    compute.disks.get
    compute.disks.create
    compute.disks.createSnapshot
    compute.snapshots.get
    compute.snapshots.create
    compute.snapshots.useReadOnly
    compute.snapshots.delete
    compute.zones.get
    storage.objects.create
    storage.objects.delete
    storage.objects.get
    storage.objects.list
    iam.serviceAccounts.signBlob
)</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

    --project $PROJECT_ID \
    --title "Velero Server" \
    --permissions "$(IFS=","; echo "${ROLE_PERMISSIONS[*]}")"
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">gcloud iam roles create velero.server <span class="token punctuation">\</span>
    <span class="token parameter variable">--project</span> <span class="token variable">$PROJECT_ID</span> <span class="token punctuation">\</span>
    <span class="token parameter variable">--title</span> <span class="token string">"Velero Server"</span> <span class="token punctuation">\</span>
    <span class="token parameter variable">--permissions</span> <span class="token string">"<span class="token variable"><span class="token variable">$(</span><span class="token assign-left variable"><span class="token environment constant">IFS</span></span><span class="token operator">=</span><span class="token string">","</span><span class="token punctuation">;</span> <span class="token builtin class-name">echo</span> <span class="token string">"<span class="token variable">${ROLE_PERMISSIONS<span class="token punctuation">[</span>*<span class="token punctuation">]</span>}</span>"</span><span class="token variable">)</span></span>"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

    --member serviceAccount:$SERVICE_ACCOUNT_EMAIL \
    --role projects/$PROJECT_ID/roles/velero.server
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">gcloud projects add-iam-policy-binding <span class="token variable">$PROJECT_ID</span> <span class="token punctuation">\</span>
    <span class="token parameter variable">--member</span> serviceAccount:<span class="token variable">$SERVICE_ACCOUNT_EMAIL</span> <span class="token punctuation">\</span>
    <span class="token parameter variable">--role</span> projects/<span class="token variable">$PROJECT_ID</span>/roles/velero.server</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">gsutil iam ch serviceAccount:<span class="token variable">$SERVICE_ACCOUNT_EMAIL</span>:objectAdmin gs://<span class="token variable">${BUCKET}</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

    --iam-account $SERVICE_ACCOUNT_EMAIL
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">gcloud iam service-accounts keys create credentials-velero <span class="token punctuation">\</span>
    --iam-account <span class="token variable">$SERVICE_ACCOUNT_EMAIL</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create secret generic cloud-credentials-gcp <span class="token parameter variable">-n</span> openshift-adp --from-file <span class="token assign-left variable">cloud</span><span class="token operator">=</span>credentials-velero</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create secret generic cloud-credentials-gcp <span class="token parameter variable">-n</span> openshift-adp --from-file <span class="token assign-left variable">cloud</span><span class="token operator">=</span>credentials-velero</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create secret generic <span class="token operator">&lt;</span>custom_secret<span class="token operator">&gt;</span> <span class="token parameter variable">-n</span> openshift-adp --from-file <span class="token assign-left variable">cloud</span><span class="token operator">=</span>credentials-velero</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: &lt;dpa_sample&gt;
  namespace: openshift-adp
spec:
...
  backupLocations:
    - velero:
        provider: gcp
        default: true
        credential:
key: cloud
name: &lt;custom_secret&gt;
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: &lt;prefix&gt;
  snapshotLocations:
    - velero:
        provider: gcp
        default: true
        config:
project: &lt;project&gt;
snapshotLocation: us-west1
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_sample<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">...</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> gcp
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;custom_secret<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO71-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;prefix<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
  <span class="token key atrule"><span class="token key atrule">snapshotLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> gcp
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">project</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;project<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">snapshotLocation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> us<span class="token punctuation"><span class="token punctuation">-</span></span>west1</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: &lt;dpa_sample&gt;
spec:
# ...
  configuration:
    velero:
      podConfig:
        nodeSelector: &lt;node_selector&gt;
        resourceAllocations:
limits:
  cpu: "1"
  memory: 1024Mi
requests:
  cpu: 200m
  memory: 256Mi
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_sample<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token comment"><span class="token comment"># ...</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;node_selector<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO72-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">resourceAllocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO72-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">limits</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">cpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"1"</span></span>
  <span class="token key atrule"><span class="token key atrule">memory</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 1024Mi
<span class="token key atrule"><span class="token key atrule">requests</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">cpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 200m
  <span class="token key atrule"><span class="token key atrule">memory</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 256Mi</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: &lt;dpa_sample&gt;
spec:
# ...
  backupLocations:
    - name: default
      velero:
        provider: aws
        default: true
        objectStorage:
bucket: &lt;bucket&gt;
prefix: &lt;prefix&gt;
caCert: &lt;base64_encoded_cert_string&gt;
        config:
insecureSkipTLSVerify: "false"
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_sample<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token comment"><span class="token comment"># ...</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
      <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;prefix<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">caCert</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;base64_encoded_cert_string<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO73-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"false"</span></span> </code></pre><rh-badge id="CO73-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token builtin class-name">alias</span> <span class="token assign-left variable">velero</span><span class="token operator">=</span><span class="token string">'oc -n openshift-adp exec deployment/velero -c velero -it -- ./velero'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero version</span></span>
<span class="token output">Client:
	Version: v1.12.1-OADP
	Git commit: -
Server:
	Version: v1.12.1-OADP</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

[[ -n $CA_CERT ]] &amp;&amp; echo "$CA_CERT" | base64 -d | oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "cat &gt; /tmp/your-cacert.txt" || echo "DPA BSL has no caCert"
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token assign-left variable">CA_CERT</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span>oc <span class="token parameter variable">-n</span> openshift-adp get dataprotectionapplications.oadp.openshift.io <span class="token operator">&lt;</span>dpa-name<span class="token operator">&gt;</span> <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.spec.backupLocations[0].velero.objectStorage.caCert}'</span><span class="token variable">)</span></span></span></span>

<span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token punctuation">[</span><span class="token punctuation">[</span> <span class="token parameter variable">-n</span> <span class="token variable">$CA_CERT</span> <span class="token punctuation">]</span><span class="token punctuation">]</span> <span class="token operator">&amp;&amp;</span> <span class="token builtin class-name">echo</span> <span class="token string">"<span class="token variable">$CA_CERT</span>"</span> <span class="token operator">|</span> base64 <span class="token parameter variable">-d</span> <span class="token operator">|</span> oc <span class="token builtin class-name">exec</span> <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-i</span> deploy/velero <span class="token parameter variable">-c</span> velero -- <span class="token function">bash</span> <span class="token parameter variable">-c</span> <span class="token string">"cat &gt; /tmp/your-cacert.txt"</span> <span class="token operator">||</span> <span class="token builtin class-name">echo</span> <span class="token string">"DPA BSL has no caCert"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero describe backup <span class="token operator">&lt;</span>backup_name<span class="token operator">&gt;</span> <span class="token parameter variable">--details</span> <span class="token parameter variable">--cacert</span> /tmp/<span class="token operator">&lt;</span>your_cacert<span class="token operator">&gt;</span>.txt</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero backup logs  <span class="token operator">&lt;</span>backup_name<span class="token operator">&gt;</span>  <span class="token parameter variable">--cacert</span> /tmp/<span class="token operator">&lt;</span>your_cacert.txt<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token builtin class-name">exec</span> <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-i</span> deploy/velero <span class="token parameter variable">-c</span> velero -- <span class="token function">bash</span> <span class="token parameter variable">-c</span> <span class="token string">"ls /tmp/your-cacert.txt"</span></span></span>
<span class="token output">/tmp/your-cacert.txt</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">mkdir</span> <span class="token parameter variable">-p</span> oadp-credrequest</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: CredentialsRequest
metadata:
  name: oadp-operator-credentials
  namespace: openshift-cloud-credential-operator
spec:
  providerSpec:
    apiVersion: cloudcredential.openshift.io/v1
    kind: GCPProviderSpec
    permissions:
    - compute.disks.get
    - compute.disks.create
    - compute.disks.createSnapshot
    - compute.snapshots.get
    - compute.snapshots.create
    - compute.snapshots.useReadOnly
    - compute.snapshots.delete
    - compute.zones.get
    - storage.objects.create
    - storage.objects.delete
    - storage.objects.get
    - storage.objects.list
    - iam.serviceAccounts.signBlob
    skipServiceCheck: true
  secretRef:
    name: cloud-credentials-gcp
    namespace: &lt;OPERATOR_INSTALL_NS&gt;
  serviceAccountNames:
  - velero
' &gt; oadp-credrequest/credrequest.yaml
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">echo 'apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloudcredential.openshift.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> CredentialsRequest
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp<span class="token punctuation"><span class="token punctuation">-</span></span>operator<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credential<span class="token punctuation"><span class="token punctuation">-</span></span>operator
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">providerSpec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloudcredential.openshift.io/v1
    <span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> GCPProviderSpec
    <span class="token key atrule"><span class="token key atrule">permissions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> compute.disks.get
    <span class="token punctuation"><span class="token punctuation">-</span></span> compute.disks.create
    <span class="token punctuation"><span class="token punctuation">-</span></span> compute.disks.createSnapshot
    <span class="token punctuation"><span class="token punctuation">-</span></span> compute.snapshots.get
    <span class="token punctuation"><span class="token punctuation">-</span></span> compute.snapshots.create
    <span class="token punctuation"><span class="token punctuation">-</span></span> compute.snapshots.useReadOnly
    <span class="token punctuation"><span class="token punctuation">-</span></span> compute.snapshots.delete
    <span class="token punctuation"><span class="token punctuation">-</span></span> compute.zones.get
    <span class="token punctuation"><span class="token punctuation">-</span></span> storage.objects.create
    <span class="token punctuation"><span class="token punctuation">-</span></span> storage.objects.delete
    <span class="token punctuation"><span class="token punctuation">-</span></span> storage.objects.get
    <span class="token punctuation"><span class="token punctuation">-</span></span> storage.objects.list
    <span class="token punctuation"><span class="token punctuation">-</span></span> iam.serviceAccounts.signBlob
    <span class="token key atrule"><span class="token key atrule">skipServiceCheck</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
  <span class="token key atrule"><span class="token key atrule">secretRef</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials<span class="token punctuation"><span class="token punctuation">-</span></span>gcp
    <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;OPERATOR_INSTALL_NS<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
  <span class="token key atrule"><span class="token key atrule">serviceAccountNames</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> velero
' <span class="token punctuation"><span class="token punctuation">&gt;</span></span> oadp<span class="token punctuation"><span class="token punctuation">-</span></span>credrequest/credrequest.yaml</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

    --name=&lt;name&gt; \
    --project=&lt;gcp_project_id&gt; \
    --credentials-requests-dir=oadp-credrequest \
    --workload-identity-pool=&lt;pool_id&gt; \
    --workload-identity-provider=&lt;provider_id&gt;
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">ccoctl gcp create-service-accounts <span class="token punctuation">\</span>
    <span class="token parameter variable">--name</span><span class="token operator">=</span><span class="token operator">&lt;</span>name<span class="token operator">&gt;</span> <span class="token punctuation">\</span>
    <span class="token parameter variable">--project</span><span class="token operator">=</span><span class="token operator">&lt;</span>gcp_project_id<span class="token operator">&gt;</span> <span class="token punctuation">\</span>
    --credentials-requests-dir<span class="token operator">=</span>oadp-credrequest <span class="token punctuation">\</span>
    --workload-identity-pool<span class="token operator">=</span><span class="token operator">&lt;</span>pool_id<span class="token operator">&gt;</span> <span class="token punctuation">\</span>
    --workload-identity-provider<span class="token operator">=</span><span class="token operator">&lt;</span>provider_id<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create namespace <span class="token operator">&lt;</span>OPERATOR_INSTALL_NS<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> manifests/openshift-adp-cloud-credentials-gcp-credentials.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: &lt;dpa_sample&gt;
  namespace: &lt;OPERATOR_INSTALL_NS&gt;
spec:
  configuration:
    velero:
      defaultPlugins:
        - gcp
        - openshift
      resourceTimeout: 10m
    nodeAgent:
      enable: true
      uploaderType: kopia
      podConfig:
        nodeSelector: &lt;node_selector&gt;
  backupLocations:
    - velero:
        provider: gcp
        default: true
        credential:
key: cloud
name: cloud-credentials-gcp
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: &lt;prefix&gt;
  snapshotLocations:
    - velero:
        provider: gcp
        default: true
        config:
project: &lt;project&gt;
snapshotLocation: us-west1
        credential:
key: cloud
name: cloud-credentials-gcp
  backupImages: true 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_sample<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;OPERATOR_INSTALL_NS<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO74-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> gcp
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift </code></pre><rh-badge id="CO74-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">resourceTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 10m </code></pre><rh-badge id="CO74-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO74-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO74-5" state="info">5</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia </code></pre><rh-badge id="CO74-6" state="info">6</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;node_selector<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO74-7" state="info">7</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> gcp
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud </code></pre><rh-badge id="CO74-8" state="info">8</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials<span class="token punctuation"><span class="token punctuation">-</span></span>gcp </code></pre><rh-badge id="CO74-9" state="info">9</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO74-10" state="info">10</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;prefix<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO74-11" state="info">11</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">snapshotLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO74-12" state="info">12</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> gcp
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">project</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;project<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">snapshotLocation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> us<span class="token punctuation"><span class="token punctuation">-</span></span>west1 </code></pre><rh-badge id="CO74-13" state="info">13</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials<span class="token punctuation"><span class="token punctuation">-</span></span>gcp </code></pre><rh-badge id="CO74-14" state="info">14</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">backupImages</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO74-15" state="info">15</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get all <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

pod/oadp-operator-controller-manager-67d9494d47-6l8z8    2/2     Running   0          2m8s
pod/node-agent-9cq4q                                     1/1     Running   0          94s
pod/node-agent-m4lts                                     1/1     Running   0          94s
pod/node-agent-pv4kr                                     1/1     Running   0          95s
pod/velero-588db7f655-n842v                              1/1     Running   0          95s

NAME                                                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
service/oadp-operator-controller-manager-metrics-service   ClusterIP   172.30.70.140    &lt;none&gt;        8443/TCP   2m8s
service/openshift-adp-velero-metrics-svc                   ClusterIP   172.30.10.0      &lt;none&gt;        8085/TCP   8h

NAME                        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/node-agent    3         3         3       3            3           &lt;none&gt;          96s

NAME                                                READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/oadp-operator-controller-manager    1/1     1            1           2m9s
deployment.apps/velero                              1/1     1            1           96s

NAME                                                           DESIRED   CURRENT   READY   AGE
replicaset.apps/oadp-operator-controller-manager-67d9494d47    1         1         1       2m9s
replicaset.apps/velero-588db7f655                              1         1         1       96s
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">NAME                                                     READY   STATUS    RESTARTS   AGE
pod/oadp-operator-controller-manager-67d9494d47-6l8z8    2/2     Running   0          2m8s
pod/node-agent-9cq4q                                     1/1     Running   0          94s
pod/node-agent-m4lts                                     1/1     Running   0          94s
pod/node-agent-pv4kr                                     1/1     Running   0          95s
pod/velero-588db7f655-n842v                              1/1     Running   0          95s

NAME                                                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
service/oadp-operator-controller-manager-metrics-service   ClusterIP   172.30.70.140    &lt;none&gt;        8443/TCP   2m8s
service/openshift-adp-velero-metrics-svc                   ClusterIP   172.30.10.0      &lt;none&gt;        8085/TCP   8h

NAME                        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/node-agent    3         3         3       3            3           &lt;none&gt;          96s

NAME                                                READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/oadp-operator-controller-manager    1/1     1            1           2m9s
deployment.apps/velero                              1/1     1            1           96s

NAME                                                           DESIRED   CURRENT   READY   AGE
replicaset.apps/oadp-operator-controller-manager-67d9494d47    1         1         1       2m9s
replicaset.apps/velero-588db7f655                              1         1         1       96s</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get dpa dpa-sample <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.status}'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" actions="copy">

<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">{</span></span>"conditions"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token punctuation"><span class="token punctuation">[</span></span><span class="token punctuation"><span class="token punctuation">{</span></span>"lastTransitionTime"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"2023-10-27T01:23:57Z"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"message"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"Reconcile complete"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"reason"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"Complete"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"status"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"True"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"type"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"Reconciled"</span></span><span class="token punctuation"><span class="token punctuation">}</span></span><span class="token punctuation"><span class="token punctuation">]</span></span><span class="token punctuation"><span class="token punctuation">}</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get backupstoragelocations.velero.io <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" actions="copy">

dpa-sample-1   Available   1s               3d16h   true
<pre class="language-yaml" tabindex="-1"><code class="language-yaml">NAME           PHASE       LAST VALIDATED   AGE     DEFAULT
dpa<span class="token punctuation"><span class="token punctuation">-</span></span>sample<span class="token punctuation"><span class="token punctuation">-</span></span>1   Available   1s               3d16h   true</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: test-dpa
  namespace: openshift-adp
spec:
  backupLocations:
    - name: default
      velero:
        config:
insecureSkipTLSVerify: "true"
profile: "default"
region: &lt;bucket_region&gt;
s3ForcePathStyle: "true"
s3Url: &lt;bucket_url&gt;
        credential:
key: cloud
name: cloud-credentials
        default: true
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: velero
        provider: aws
  configuration:
    nodeAgent:
      enable: true
      uploaderType: restic
    velero:
      client-burst: 500
      client-qps: 300
      defaultPlugins:
        - openshift
        - aws
        - kubevirt
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
      <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_region<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_url<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> restic
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">client-burst</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">500</span></span> </code></pre><rh-badge id="CO75-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">client-qps</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">300</span></span> </code></pre><rh-badge id="CO75-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
        <span class="token punctuation"><span class="token punctuation">-</span></span> aws
        <span class="token punctuation"><span class="token punctuation">-</span></span> kubevirt</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc label node/<span class="token operator">&lt;</span>node_name<span class="token operator">&gt;</span> node-role.kubernetes.io/nodeAgent<span class="token operator">=</span><span class="token string">""</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  nodeAgent:
    enable: true
    podConfig:
      nodeSelector:
        node-role.kubernetes.io/nodeAgent: ""
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">configuration:
  nodeAgent:
    enable: true
    podConfig:
      nodeSelector:
        node-role.kubernetes.io/nodeAgent: ""</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

      nodeAgent:
        enable: true
        podConfig:
nodeSelector:
  node-role.kubernetes.io/infra: ""
  node-role.kubernetes.io/worker: ""
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">    configuration:
      nodeAgent:
        enable: true
        podConfig:
nodeSelector:
  node-role.kubernetes.io/infra: ""
  node-role.kubernetes.io/worker: ""</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
      podConfig:
        nodeSelector:
label.io/role: cpu-1
other-label.io/other-role: cpu-2
        ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">label.io/role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cpu<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">1</span></span>
<span class="token key atrule"><span class="token key atrule">other-label.io/other-role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cpu<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">2</span></span>
        <span class="token punctuation"><span class="token punctuation">...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    nodeAgent:
      enable: true
      loadAffinity:
        - nodeSelector:
  matchLabels:
    label.io/role: cpu-1
  matchExpressions:
    - key: label.io/hostname
      operator: In
      values:
        - node1
        - node2
        ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO76-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cpu<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">1</span></span>
  <span class="token key atrule"><span class="token key atrule">matchExpressions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO76-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> label.io/hostname
      <span class="token key atrule"><span class="token key atrule">operator</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> In
      <span class="token key atrule"><span class="token key atrule">values</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> node1
        <span class="token punctuation"><span class="token punctuation">-</span></span> node2
        <span class="token punctuation"><span class="token punctuation">...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
      loadAffinity:
        - nodeSelector:
  matchLabels:
    label.io/location: 'US'
    label.io/gpu: 'no'
      podConfig:
        nodeSelector:
label.io/gpu: 'no'
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
      <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/location</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'US'</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span>
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc label node/<span class="token operator">&lt;</span>node_name<span class="token operator">&gt;</span> label.io/instance-type<span class="token operator">=</span><span class="token string">'large'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

    nodeAgent:
      enable: true
      uploaderType: kopia
      loadConcurrency:
        globalConfig: 1
        perNodeConfig:
        - nodeSelector:
    matchLabels:
       label.io/instance-type: large
number: 3 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml">  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
      <span class="token key atrule"><span class="token key atrule">loadConcurrency</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">globalConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">1</span></span> </code></pre><rh-badge id="CO77-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">perNodeConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
       <span class="token key atrule"><span class="token key atrule">label.io/instance-type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> large </code></pre><rh-badge id="CO77-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">number</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">3</span></span> </code></pre><rh-badge id="CO77-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: ts-dpa
  namespace: openshift-adp
spec:
  backupLocations:
  - velero:
      credential:
        key: cloud
        name: cloud-credentials
      default: true
      objectStorage:
        bucket: &lt;bucket_name&gt;
        prefix: velero
      provider: gcp
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
    velero:
      defaultPlugins:
      - csi
      - gcp
      - openshift
      disableFsBackup: true 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ts<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
      <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
      <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> gcp
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO78-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> csi
      <span class="token punctuation"><span class="token punctuation">-</span></span> gcp
      <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
      <span class="token key atrule"><span class="token key atrule">disableFsBackup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO78-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get daemonset node-agent <span class="token parameter variable">-o</span> yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DaemonSet
metadata:
  ...
  name: node-agent
  namespace: openshift-adp
  ...
spec:
  ...
  template:
    metadata:
      ...
    spec:
      containers:
      ...
        securityContext:
allowPrivilegeEscalation: false
capabilities:
  drop:
  - ALL
privileged: false
readOnlyRootFilesystem: true
        ...
      nodeSelector:
        kubernetes.io/os: linux
      os:
        name: linux
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext:
        runAsNonRoot: true
        seccompProfile:
type: RuntimeDefault
      serviceAccount: velero
      serviceAccountName: velero
      ....
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> apps/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DaemonSet
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">...</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> node<span class="token punctuation"><span class="token punctuation">-</span></span>agent
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
  <span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">...</span></span>
  <span class="token key atrule"><span class="token key atrule">template</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">...</span></span>
    <span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">containers</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">...</span></span>
        <span class="token key atrule"><span class="token key atrule">securityContext</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">allowPrivilegeEscalation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span> </code></pre><rh-badge id="CO79-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">capabilities</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">drop</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> ALL
<span class="token key atrule"><span class="token key atrule">privileged</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span> </code></pre><rh-badge id="CO79-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">readOnlyRootFilesystem</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO79-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">...</span></span>
      <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">kubernetes.io/os</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> linux
      <span class="token key atrule"><span class="token key atrule">os</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> linux
      <span class="token key atrule"><span class="token key atrule">restartPolicy</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Always
      <span class="token key atrule"><span class="token key atrule">schedulerName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default<span class="token punctuation"><span class="token punctuation">-</span></span>scheduler
      <span class="token key atrule"><span class="token key atrule">securityContext</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">runAsNonRoot</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO79-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">seccompProfile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> RuntimeDefault
      <span class="token key atrule"><span class="token key atrule">serviceAccount</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
      <span class="token key atrule"><span class="token key atrule">serviceAccountName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
      <span class="token punctuation"><span class="token punctuation">...</span></span>.</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    repositoryMaintenance:
      global:
        podResources:
cpuRequest: "100m"
cpuLimit: "200m"
memoryRequest: "100Mi"
memoryLimit: "200Mi"
        loadAffinity:
- nodeSelector:
    matchLabels:
      label.io/gpu: 'no'
    matchExpressions:
      - key: label.io/location
        operator: In
        values:
          - US
          - EU
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">repositoryMaintenance</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO80-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">global</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO80-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">podResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">cpuRequest</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"100m"</span></span>
<span class="token key atrule"><span class="token key atrule">cpuLimit</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"200m"</span></span>
<span class="token key atrule"><span class="token key atrule">memoryRequest</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"100Mi"</span></span>
<span class="token key atrule"><span class="token key atrule">memoryLimit</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"200Mi"</span></span>
        <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span>
    <span class="token key atrule"><span class="token key atrule">matchExpressions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> label.io/location
        <span class="token key atrule"><span class="token key atrule">operator</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> In
        <span class="token key atrule"><span class="token key atrule">values</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
          <span class="token punctuation"><span class="token punctuation">-</span></span> US
          <span class="token punctuation"><span class="token punctuation">-</span></span> EU</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    repositoryMaintenance:
      myrepositoryname:
        loadAffinity:
- nodeSelector:
    matchLabels:
      label.io/cpu: 'yes'
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">repositoryMaintenance</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">myrepositoryname</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO81-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">label.io/cpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'yes'</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    velero:
      podConfig:
        nodeSelector:
some-label.io/custom-node-role: backup-core
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">some-label.io/custom-node-role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> backup<span class="token punctuation"><span class="token punctuation">-</span></span>core</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    velero:
      loadAffinity:
        - nodeSelector:
  matchLabels:
    label.io/gpu: 'no'
  matchExpressions:
    - key: label.io/location
      operator: In
      values:
        - US
        - EU
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span>
  <span class="token key atrule"><span class="token key atrule">matchExpressions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> label.io/location
      <span class="token key atrule"><span class="token key atrule">operator</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> In
      <span class="token key atrule"><span class="token key atrule">values</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> US
        <span class="token punctuation"><span class="token punctuation">-</span></span> EU</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: test-dpa
  namespace: openshift-adp
spec:
  backupLocations:
    - name: default
      velero:
        config:
insecureSkipTLSVerify: "true"
profile: "default"
region: &lt;bucket_region&gt;
s3ForcePathStyle: "true"
s3Url: &lt;bucket_url&gt;
        credential:
key: cloud
name: cloud-credentials
        default: true
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: velero
        provider: aws
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
    velero:
      defaultPlugins:
        - openshift
        - aws
        - kubevirt
        - csi
  imagePullPolicy: Never 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
      <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_region<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_url<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
        <span class="token punctuation"><span class="token punctuation">-</span></span> aws
        <span class="token punctuation"><span class="token punctuation">-</span></span> kubevirt
        <span class="token punctuation"><span class="token punctuation">-</span></span> csi
  <span class="token key atrule"><span class="token key atrule">imagePullPolicy</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Never </code></pre><rh-badge id="CO82-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
...
spec:
  configuration:
    velero:
      defaultPlugins:
      - openshift
      - csi 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
      <span class="token punctuation"><span class="token punctuation">-</span></span> csi </code></pre><rh-badge id="CO83-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

configuration:
  nodeAgent:
    enable: false
    uploaderType: kopia
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token comment"><span class="token comment"># ...</span></span>
<span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span>  </code></pre><rh-badge id="CO84-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

configuration:
  nodeAgent:
    enable: true
    uploaderType: kopia
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token comment"><span class="token comment"># ...</span></span>
<span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>  </code></pre><rh-badge id="CO85-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

[default]
aws_access_key_id=&lt;AWS_ACCESS_KEY_ID&gt;
aws_secret_access_key=&lt;AWS_SECRET_ACCESS_KEY&gt;
EOF
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">cat</span> <span class="token operator">&lt;&lt;</span> <span class="token string">EOF<span class="token bash punctuation"> <span class="token operator">&gt;</span> ./credentials-velero</span>
[default]
aws_access_key_id=&lt;AWS_ACCESS_KEY_ID&gt;
aws_secret_access_key=&lt;AWS_SECRET_ACCESS_KEY&gt;
EOF</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

aws_access_key_id=&lt;AWS_ACCESS_KEY_ID&gt;
aws_secret_access_key=&lt;AWS_SECRET_ACCESS_KEY&gt;
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">[default]
aws_access_key_id=&lt;AWS_ACCESS_KEY_ID&gt;
aws_secret_access_key=&lt;AWS_SECRET_ACCESS_KEY&gt;</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create secret generic cloud-credentials <span class="token parameter variable">-n</span> openshift-adp --from-file <span class="token assign-left variable">cloud</span><span class="token operator">=</span>credentials-velero</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create secret generic cloud-credentials <span class="token parameter variable">-n</span> openshift-adp --from-file <span class="token assign-left variable">cloud</span><span class="token operator">=</span>credentials-velero</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create secret generic <span class="token operator">&lt;</span>custom_secret<span class="token operator">&gt;</span> <span class="token parameter variable">-n</span> openshift-adp --from-file <span class="token assign-left variable">cloud</span><span class="token operator">=</span>credentials-velero</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: &lt;dpa_sample&gt;
  namespace: openshift-adp
spec:
...
  backupLocations:
    - velero:
        config:
profile: "default"
region: &lt;region_name&gt;
s3Url: &lt;url&gt;
insecureSkipTLSVerify: "true"
s3ForcePathStyle: "true"
        provider: aws
        default: true
        credential:
key: cloud
name:  &lt;custom_secret&gt;
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: &lt;prefix&gt;
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_sample<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">...</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;region_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO86-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;url<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>  &lt;custom_secret<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO86-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;prefix<span class="token punctuation"><span class="token punctuation">&gt;</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: &lt;dpa_sample&gt;
spec:
# ...
  configuration:
    velero:
      podConfig:
        nodeSelector: &lt;node_selector&gt;
        resourceAllocations:
limits:
  cpu: "1"
  memory: 1024Mi
requests:
  cpu: 200m
  memory: 256Mi
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_sample<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token comment"><span class="token comment"># ...</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;node_selector<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO87-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">resourceAllocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO87-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">limits</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">cpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"1"</span></span>
  <span class="token key atrule"><span class="token key atrule">memory</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 1024Mi
<span class="token key atrule"><span class="token key atrule">requests</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">cpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 200m
  <span class="token key atrule"><span class="token key atrule">memory</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 256Mi</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: &lt;dpa_sample&gt;
spec:
# ...
  backupLocations:
    - name: default
      velero:
        provider: aws
        default: true
        objectStorage:
bucket: &lt;bucket&gt;
prefix: &lt;prefix&gt;
caCert: &lt;base64_encoded_cert_string&gt;
        config:
insecureSkipTLSVerify: "false"
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_sample<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token comment"><span class="token comment"># ...</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
      <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;prefix<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">caCert</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;base64_encoded_cert_string<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO88-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"false"</span></span> </code></pre><rh-badge id="CO88-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token builtin class-name">alias</span> <span class="token assign-left variable">velero</span><span class="token operator">=</span><span class="token string">'oc -n openshift-adp exec deployment/velero -c velero -it -- ./velero'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero version</span></span>
<span class="token output">Client:
	Version: v1.12.1-OADP
	Git commit: -
Server:
	Version: v1.12.1-OADP</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

[[ -n $CA_CERT ]] &amp;&amp; echo "$CA_CERT" | base64 -d | oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "cat &gt; /tmp/your-cacert.txt" || echo "DPA BSL has no caCert"
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token assign-left variable">CA_CERT</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span>oc <span class="token parameter variable">-n</span> openshift-adp get dataprotectionapplications.oadp.openshift.io <span class="token operator">&lt;</span>dpa-name<span class="token operator">&gt;</span> <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.spec.backupLocations[0].velero.objectStorage.caCert}'</span><span class="token variable">)</span></span></span></span>

<span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token punctuation">[</span><span class="token punctuation">[</span> <span class="token parameter variable">-n</span> <span class="token variable">$CA_CERT</span> <span class="token punctuation">]</span><span class="token punctuation">]</span> <span class="token operator">&amp;&amp;</span> <span class="token builtin class-name">echo</span> <span class="token string">"<span class="token variable">$CA_CERT</span>"</span> <span class="token operator">|</span> base64 <span class="token parameter variable">-d</span> <span class="token operator">|</span> oc <span class="token builtin class-name">exec</span> <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-i</span> deploy/velero <span class="token parameter variable">-c</span> velero -- <span class="token function">bash</span> <span class="token parameter variable">-c</span> <span class="token string">"cat &gt; /tmp/your-cacert.txt"</span> <span class="token operator">||</span> <span class="token builtin class-name">echo</span> <span class="token string">"DPA BSL has no caCert"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero describe backup <span class="token operator">&lt;</span>backup_name<span class="token operator">&gt;</span> <span class="token parameter variable">--details</span> <span class="token parameter variable">--cacert</span> /tmp/<span class="token operator">&lt;</span>your_cacert<span class="token operator">&gt;</span>.txt</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero backup logs  <span class="token operator">&lt;</span>backup_name<span class="token operator">&gt;</span>  <span class="token parameter variable">--cacert</span> /tmp/<span class="token operator">&lt;</span>your_cacert.txt<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token builtin class-name">exec</span> <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-i</span> deploy/velero <span class="token parameter variable">-c</span> velero -- <span class="token function">bash</span> <span class="token parameter variable">-c</span> <span class="token string">"ls /tmp/your-cacert.txt"</span></span></span>
<span class="token output">/tmp/your-cacert.txt</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: &lt;dpa_sample&gt;
  namespace: openshift-adp
spec:
  configuration:
    velero:
      defaultPlugins:
        - aws
        - openshift
      resourceTimeout: 10m
    nodeAgent:
      enable: true
      uploaderType: kopia
      podConfig:
        nodeSelector: &lt;node_selector&gt;
  backupLocations:
    - velero:
        config:
profile: "default"
region: &lt;region_name&gt;
s3Url: &lt;url&gt;
insecureSkipTLSVerify: "true"
s3ForcePathStyle: "true"
        provider: aws
        default: true
        credential:
key: cloud
name: cloud-credentials
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: &lt;prefix&gt; 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_sample<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp </code></pre><rh-badge id="CO89-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> aws </code></pre><rh-badge id="CO89-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift </code></pre><rh-badge id="CO89-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">resourceTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 10m </code></pre><rh-badge id="CO89-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO89-5" state="info">5</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO89-6" state="info">6</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia </code></pre><rh-badge id="CO89-7" state="info">7</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;node_selector<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO89-8" state="info">8</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;region_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO89-9" state="info">9</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;url<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO89-10" state="info">10</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials </code></pre><rh-badge id="CO89-11" state="info">11</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO89-12" state="info">12</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;prefix<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO89-13" state="info">13</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get all <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

pod/oadp-operator-controller-manager-67d9494d47-6l8z8    2/2     Running   0          2m8s
pod/node-agent-9cq4q                                     1/1     Running   0          94s
pod/node-agent-m4lts                                     1/1     Running   0          94s
pod/node-agent-pv4kr                                     1/1     Running   0          95s
pod/velero-588db7f655-n842v                              1/1     Running   0          95s

NAME                                                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
service/oadp-operator-controller-manager-metrics-service   ClusterIP   172.30.70.140    &lt;none&gt;        8443/TCP   2m8s
service/openshift-adp-velero-metrics-svc                   ClusterIP   172.30.10.0      &lt;none&gt;        8085/TCP   8h

NAME                        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/node-agent    3         3         3       3            3           &lt;none&gt;          96s

NAME                                                READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/oadp-operator-controller-manager    1/1     1            1           2m9s
deployment.apps/velero                              1/1     1            1           96s

NAME                                                           DESIRED   CURRENT   READY   AGE
replicaset.apps/oadp-operator-controller-manager-67d9494d47    1         1         1       2m9s
replicaset.apps/velero-588db7f655                              1         1         1       96s
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">NAME                                                     READY   STATUS    RESTARTS   AGE
pod/oadp-operator-controller-manager-67d9494d47-6l8z8    2/2     Running   0          2m8s
pod/node-agent-9cq4q                                     1/1     Running   0          94s
pod/node-agent-m4lts                                     1/1     Running   0          94s
pod/node-agent-pv4kr                                     1/1     Running   0          95s
pod/velero-588db7f655-n842v                              1/1     Running   0          95s

NAME                                                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
service/oadp-operator-controller-manager-metrics-service   ClusterIP   172.30.70.140    &lt;none&gt;        8443/TCP   2m8s
service/openshift-adp-velero-metrics-svc                   ClusterIP   172.30.10.0      &lt;none&gt;        8085/TCP   8h

NAME                        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/node-agent    3         3         3       3            3           &lt;none&gt;          96s

NAME                                                READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/oadp-operator-controller-manager    1/1     1            1           2m9s
deployment.apps/velero                              1/1     1            1           96s

NAME                                                           DESIRED   CURRENT   READY   AGE
replicaset.apps/oadp-operator-controller-manager-67d9494d47    1         1         1       2m9s
replicaset.apps/velero-588db7f655                              1         1         1       96s</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get dpa dpa-sample <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.status}'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" actions="copy">

<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">{</span></span>"conditions"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token punctuation"><span class="token punctuation">[</span></span><span class="token punctuation"><span class="token punctuation">{</span></span>"lastTransitionTime"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"2023-10-27T01:23:57Z"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"message"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"Reconcile complete"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"reason"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"Complete"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"status"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"True"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"type"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"Reconciled"</span></span><span class="token punctuation"><span class="token punctuation">}</span></span><span class="token punctuation"><span class="token punctuation">]</span></span><span class="token punctuation"><span class="token punctuation">}</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get backupstoragelocations.velero.io <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" actions="copy">

dpa-sample-1   Available   1s               3d16h   true
<pre class="language-yaml" tabindex="-1"><code class="language-yaml">NAME           PHASE       LAST VALIDATED   AGE     DEFAULT
dpa<span class="token punctuation"><span class="token punctuation">-</span></span>sample<span class="token punctuation"><span class="token punctuation">-</span></span>1   Available   1s               3d16h   true</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: test-dpa
  namespace: openshift-adp
spec:
  backupLocations:
    - name: default
      velero:
        config:
insecureSkipTLSVerify: "true"
profile: "default"
region: &lt;bucket_region&gt;
s3ForcePathStyle: "true"
s3Url: &lt;bucket_url&gt;
        credential:
key: cloud
name: cloud-credentials
        default: true
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: velero
        provider: aws
  configuration:
    nodeAgent:
      enable: true
      uploaderType: restic
    velero:
      client-burst: 500
      client-qps: 300
      defaultPlugins:
        - openshift
        - aws
        - kubevirt
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
      <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_region<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_url<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> restic
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">client-burst</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">500</span></span> </code></pre><rh-badge id="CO90-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">client-qps</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">300</span></span> </code></pre><rh-badge id="CO90-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
        <span class="token punctuation"><span class="token punctuation">-</span></span> aws
        <span class="token punctuation"><span class="token punctuation">-</span></span> kubevirt</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc label node/<span class="token operator">&lt;</span>node_name<span class="token operator">&gt;</span> node-role.kubernetes.io/nodeAgent<span class="token operator">=</span><span class="token string">""</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  nodeAgent:
    enable: true
    podConfig:
      nodeSelector:
        node-role.kubernetes.io/nodeAgent: ""
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">configuration:
  nodeAgent:
    enable: true
    podConfig:
      nodeSelector:
        node-role.kubernetes.io/nodeAgent: ""</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

      nodeAgent:
        enable: true
        podConfig:
nodeSelector:
  node-role.kubernetes.io/infra: ""
  node-role.kubernetes.io/worker: ""
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">    configuration:
      nodeAgent:
        enable: true
        podConfig:
nodeSelector:
  node-role.kubernetes.io/infra: ""
  node-role.kubernetes.io/worker: ""</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
      podConfig:
        nodeSelector:
label.io/role: cpu-1
other-label.io/other-role: cpu-2
        ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">label.io/role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cpu<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">1</span></span>
<span class="token key atrule"><span class="token key atrule">other-label.io/other-role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cpu<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">2</span></span>
        <span class="token punctuation"><span class="token punctuation">...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    nodeAgent:
      enable: true
      loadAffinity:
        - nodeSelector:
  matchLabels:
    label.io/role: cpu-1
  matchExpressions:
    - key: label.io/hostname
      operator: In
      values:
        - node1
        - node2
        ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO91-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cpu<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">1</span></span>
  <span class="token key atrule"><span class="token key atrule">matchExpressions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO91-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> label.io/hostname
      <span class="token key atrule"><span class="token key atrule">operator</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> In
      <span class="token key atrule"><span class="token key atrule">values</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> node1
        <span class="token punctuation"><span class="token punctuation">-</span></span> node2
        <span class="token punctuation"><span class="token punctuation">...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
      loadAffinity:
        - nodeSelector:
  matchLabels:
    label.io/location: 'US'
    label.io/gpu: 'no'
      podConfig:
        nodeSelector:
label.io/gpu: 'no'
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
      <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/location</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'US'</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span>
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc label node/<span class="token operator">&lt;</span>node_name<span class="token operator">&gt;</span> label.io/instance-type<span class="token operator">=</span><span class="token string">'large'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

    nodeAgent:
      enable: true
      uploaderType: kopia
      loadConcurrency:
        globalConfig: 1
        perNodeConfig:
        - nodeSelector:
    matchLabels:
       label.io/instance-type: large
number: 3 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml">  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
      <span class="token key atrule"><span class="token key atrule">loadConcurrency</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">globalConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">1</span></span> </code></pre><rh-badge id="CO92-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">perNodeConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
       <span class="token key atrule"><span class="token key atrule">label.io/instance-type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> large </code></pre><rh-badge id="CO92-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">number</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">3</span></span> </code></pre><rh-badge id="CO92-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: ts-dpa
  namespace: openshift-adp
spec:
  backupLocations:
  - velero:
      credential:
        key: cloud
        name: cloud-credentials
      default: true
      objectStorage:
        bucket: &lt;bucket_name&gt;
        prefix: velero
      provider: gcp
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
    velero:
      defaultPlugins:
      - csi
      - gcp
      - openshift
      disableFsBackup: true 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ts<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
      <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
      <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> gcp
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO93-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> csi
      <span class="token punctuation"><span class="token punctuation">-</span></span> gcp
      <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
      <span class="token key atrule"><span class="token key atrule">disableFsBackup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO93-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get daemonset node-agent <span class="token parameter variable">-o</span> yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DaemonSet
metadata:
  ...
  name: node-agent
  namespace: openshift-adp
  ...
spec:
  ...
  template:
    metadata:
      ...
    spec:
      containers:
      ...
        securityContext:
allowPrivilegeEscalation: false
capabilities:
  drop:
  - ALL
privileged: false
readOnlyRootFilesystem: true
        ...
      nodeSelector:
        kubernetes.io/os: linux
      os:
        name: linux
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext:
        runAsNonRoot: true
        seccompProfile:
type: RuntimeDefault
      serviceAccount: velero
      serviceAccountName: velero
      ....
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> apps/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DaemonSet
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">...</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> node<span class="token punctuation"><span class="token punctuation">-</span></span>agent
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
  <span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">...</span></span>
  <span class="token key atrule"><span class="token key atrule">template</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">...</span></span>
    <span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">containers</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">...</span></span>
        <span class="token key atrule"><span class="token key atrule">securityContext</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">allowPrivilegeEscalation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span> </code></pre><rh-badge id="CO94-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">capabilities</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">drop</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> ALL
<span class="token key atrule"><span class="token key atrule">privileged</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span> </code></pre><rh-badge id="CO94-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">readOnlyRootFilesystem</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO94-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">...</span></span>
      <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">kubernetes.io/os</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> linux
      <span class="token key atrule"><span class="token key atrule">os</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> linux
      <span class="token key atrule"><span class="token key atrule">restartPolicy</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Always
      <span class="token key atrule"><span class="token key atrule">schedulerName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default<span class="token punctuation"><span class="token punctuation">-</span></span>scheduler
      <span class="token key atrule"><span class="token key atrule">securityContext</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">runAsNonRoot</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO94-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">seccompProfile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> RuntimeDefault
      <span class="token key atrule"><span class="token key atrule">serviceAccount</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
      <span class="token key atrule"><span class="token key atrule">serviceAccountName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
      <span class="token punctuation"><span class="token punctuation">...</span></span>.</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    repositoryMaintenance:
      global:
        podResources:
cpuRequest: "100m"
cpuLimit: "200m"
memoryRequest: "100Mi"
memoryLimit: "200Mi"
        loadAffinity:
- nodeSelector:
    matchLabels:
      label.io/gpu: 'no'
    matchExpressions:
      - key: label.io/location
        operator: In
        values:
          - US
          - EU
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">repositoryMaintenance</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO95-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">global</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO95-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">podResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">cpuRequest</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"100m"</span></span>
<span class="token key atrule"><span class="token key atrule">cpuLimit</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"200m"</span></span>
<span class="token key atrule"><span class="token key atrule">memoryRequest</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"100Mi"</span></span>
<span class="token key atrule"><span class="token key atrule">memoryLimit</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"200Mi"</span></span>
        <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span>
    <span class="token key atrule"><span class="token key atrule">matchExpressions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> label.io/location
        <span class="token key atrule"><span class="token key atrule">operator</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> In
        <span class="token key atrule"><span class="token key atrule">values</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
          <span class="token punctuation"><span class="token punctuation">-</span></span> US
          <span class="token punctuation"><span class="token punctuation">-</span></span> EU</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    repositoryMaintenance:
      myrepositoryname:
        loadAffinity:
- nodeSelector:
    matchLabels:
      label.io/cpu: 'yes'
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">repositoryMaintenance</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">myrepositoryname</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO96-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">label.io/cpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'yes'</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    velero:
      podConfig:
        nodeSelector:
some-label.io/custom-node-role: backup-core
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">some-label.io/custom-node-role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> backup<span class="token punctuation"><span class="token punctuation">-</span></span>core</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    velero:
      loadAffinity:
        - nodeSelector:
  matchLabels:
    label.io/gpu: 'no'
  matchExpressions:
    - key: label.io/location
      operator: In
      values:
        - US
        - EU
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span>
  <span class="token key atrule"><span class="token key atrule">matchExpressions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> label.io/location
      <span class="token key atrule"><span class="token key atrule">operator</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> In
      <span class="token key atrule"><span class="token key atrule">values</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> US
        <span class="token punctuation"><span class="token punctuation">-</span></span> EU</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: test-dpa
  namespace: openshift-adp
spec:
  backupLocations:
    - name: default
      velero:
        config:
insecureSkipTLSVerify: "true"
profile: "default"
region: &lt;bucket_region&gt;
s3ForcePathStyle: "true"
s3Url: &lt;bucket_url&gt;
        credential:
key: cloud
name: cloud-credentials
        default: true
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: velero
        provider: aws
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
    velero:
      defaultPlugins:
        - openshift
        - aws
        - kubevirt
        - csi
  imagePullPolicy: Never 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
      <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_region<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_url<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
        <span class="token punctuation"><span class="token punctuation">-</span></span> aws
        <span class="token punctuation"><span class="token punctuation">-</span></span> kubevirt
        <span class="token punctuation"><span class="token punctuation">-</span></span> csi
  <span class="token key atrule"><span class="token key atrule">imagePullPolicy</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Never </code></pre><rh-badge id="CO97-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
...
spec:
  configuration:
    velero:
      defaultPlugins:
      - openshift
      - csi 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
      <span class="token punctuation"><span class="token punctuation">-</span></span> csi </code></pre><rh-badge id="CO98-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

configuration:
  nodeAgent:
    enable: false
    uploaderType: kopia
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token comment"><span class="token comment"># ...</span></span>
<span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span>  </code></pre><rh-badge id="CO99-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

configuration:
  nodeAgent:
    enable: true
    uploaderType: kopia
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token comment"><span class="token comment"># ...</span></span>
<span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>  </code></pre><rh-badge id="CO100-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

aws_access_key_id=&lt;AWS_ACCESS_KEY_ID&gt;
aws_secret_access_key=&lt;AWS_SECRET_ACCESS_KEY&gt;
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">[default]
aws_access_key_id=&lt;AWS_ACCESS_KEY_ID&gt;
aws_secret_access_key=&lt;AWS_SECRET_ACCESS_KEY&gt;</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create secret generic cloud-credentials <span class="token parameter variable">-n</span> openshift-adp --from-file <span class="token assign-left variable">cloud</span><span class="token operator">=</span>credentials-velero</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create secret generic cloud-credentials <span class="token parameter variable">-n</span> openshift-adp --from-file <span class="token assign-left variable">cloud</span><span class="token operator">=</span>credentials-velero</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create secret generic <span class="token operator">&lt;</span>custom_secret<span class="token operator">&gt;</span> <span class="token parameter variable">-n</span> openshift-adp --from-file <span class="token assign-left variable">cloud</span><span class="token operator">=</span>credentials-velero</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: &lt;dpa_sample&gt;
  namespace: openshift-adp
spec:
...
  backupLocations:
    - velero:
        provider: &lt;provider&gt;
        default: true
        credential:
key: cloud
name: &lt;custom_secret&gt;
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: &lt;prefix&gt;
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_sample<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">...</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;provider<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;custom_secret<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO101-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;prefix<span class="token punctuation"><span class="token punctuation">&gt;</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: &lt;dpa_sample&gt;
spec:
# ...
  configuration:
    velero:
      podConfig:
        nodeSelector: &lt;node_selector&gt;
        resourceAllocations:
limits:
  cpu: "1"
  memory: 1024Mi
requests:
  cpu: 200m
  memory: 256Mi
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_sample<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token comment"><span class="token comment"># ...</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;node_selector<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO102-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">resourceAllocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO102-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">limits</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">cpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"1"</span></span>
  <span class="token key atrule"><span class="token key atrule">memory</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 1024Mi
<span class="token key atrule"><span class="token key atrule">requests</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">cpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 200m
  <span class="token key atrule"><span class="token key atrule">memory</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 256Mi</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: &lt;dpa_sample&gt;
spec:
# ...
  backupLocations:
    - name: default
      velero:
        provider: aws
        default: true
        objectStorage:
bucket: &lt;bucket&gt;
prefix: &lt;prefix&gt;
caCert: &lt;base64_encoded_cert_string&gt;
        config:
insecureSkipTLSVerify: "false"
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_sample<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token comment"><span class="token comment"># ...</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
      <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;prefix<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">caCert</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;base64_encoded_cert_string<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO103-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"false"</span></span> </code></pre><rh-badge id="CO103-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token builtin class-name">alias</span> <span class="token assign-left variable">velero</span><span class="token operator">=</span><span class="token string">'oc -n openshift-adp exec deployment/velero -c velero -it -- ./velero'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero version</span></span>
<span class="token output">Client:
	Version: v1.12.1-OADP
	Git commit: -
Server:
	Version: v1.12.1-OADP</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

[[ -n $CA_CERT ]] &amp;&amp; echo "$CA_CERT" | base64 -d | oc exec -n openshift-adp -i deploy/velero -c velero -- bash -c "cat &gt; /tmp/your-cacert.txt" || echo "DPA BSL has no caCert"
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token assign-left variable">CA_CERT</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span>oc <span class="token parameter variable">-n</span> openshift-adp get dataprotectionapplications.oadp.openshift.io <span class="token operator">&lt;</span>dpa-name<span class="token operator">&gt;</span> <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.spec.backupLocations[0].velero.objectStorage.caCert}'</span><span class="token variable">)</span></span></span></span>

<span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token punctuation">[</span><span class="token punctuation">[</span> <span class="token parameter variable">-n</span> <span class="token variable">$CA_CERT</span> <span class="token punctuation">]</span><span class="token punctuation">]</span> <span class="token operator">&amp;&amp;</span> <span class="token builtin class-name">echo</span> <span class="token string">"<span class="token variable">$CA_CERT</span>"</span> <span class="token operator">|</span> base64 <span class="token parameter variable">-d</span> <span class="token operator">|</span> oc <span class="token builtin class-name">exec</span> <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-i</span> deploy/velero <span class="token parameter variable">-c</span> velero -- <span class="token function">bash</span> <span class="token parameter variable">-c</span> <span class="token string">"cat &gt; /tmp/your-cacert.txt"</span> <span class="token operator">||</span> <span class="token builtin class-name">echo</span> <span class="token string">"DPA BSL has no caCert"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero describe backup <span class="token operator">&lt;</span>backup_name<span class="token operator">&gt;</span> <span class="token parameter variable">--details</span> <span class="token parameter variable">--cacert</span> /tmp/<span class="token operator">&lt;</span>your_cacert<span class="token operator">&gt;</span>.txt</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero backup logs  <span class="token operator">&lt;</span>backup_name<span class="token operator">&gt;</span>  <span class="token parameter variable">--cacert</span> /tmp/<span class="token operator">&lt;</span>your_cacert.txt<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token builtin class-name">exec</span> <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-i</span> deploy/velero <span class="token parameter variable">-c</span> velero -- <span class="token function">bash</span> <span class="token parameter variable">-c</span> <span class="token string">"ls /tmp/your-cacert.txt"</span></span></span>
<span class="token output">/tmp/your-cacert.txt</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: &lt;dpa_sample&gt;
  namespace: openshift-adp
spec:
  configuration:
    velero:
      defaultPlugins:
        - aws
        - kubevirt
        - csi
        - openshift
      resourceTimeout: 10m
    nodeAgent:
      enable: true
      uploaderType: kopia
      podConfig:
        nodeSelector: &lt;node_selector&gt;
  backupLocations:
    - velero:
        provider: gcp
        default: true
        credential:
key: cloud
name: &lt;default_secret&gt;
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: &lt;prefix&gt; 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_sample<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp </code></pre><rh-badge id="CO104-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> aws </code></pre><rh-badge id="CO104-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">-</span></span> kubevirt </code></pre><rh-badge id="CO104-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">-</span></span> csi </code></pre><rh-badge id="CO104-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift </code></pre><rh-badge id="CO104-5" state="info">5</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">resourceTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 10m </code></pre><rh-badge id="CO104-6" state="info">6</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO104-7" state="info">7</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO104-8" state="info">8</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia </code></pre><rh-badge id="CO104-9" state="info">9</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;node_selector<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO104-10" state="info">10</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> gcp </code></pre><rh-badge id="CO104-11" state="info">11</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;default_secret<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO104-12" state="info">12</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO104-13" state="info">13</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;prefix<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO104-14" state="info">14</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get all <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

pod/oadp-operator-controller-manager-67d9494d47-6l8z8    2/2     Running   0          2m8s
pod/node-agent-9cq4q                                     1/1     Running   0          94s
pod/node-agent-m4lts                                     1/1     Running   0          94s
pod/node-agent-pv4kr                                     1/1     Running   0          95s
pod/velero-588db7f655-n842v                              1/1     Running   0          95s

NAME                                                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
service/oadp-operator-controller-manager-metrics-service   ClusterIP   172.30.70.140    &lt;none&gt;        8443/TCP   2m8s
service/openshift-adp-velero-metrics-svc                   ClusterIP   172.30.10.0      &lt;none&gt;        8085/TCP   8h

NAME                        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/node-agent    3         3         3       3            3           &lt;none&gt;          96s

NAME                                                READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/oadp-operator-controller-manager    1/1     1            1           2m9s
deployment.apps/velero                              1/1     1            1           96s

NAME                                                           DESIRED   CURRENT   READY   AGE
replicaset.apps/oadp-operator-controller-manager-67d9494d47    1         1         1       2m9s
replicaset.apps/velero-588db7f655                              1         1         1       96s
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">NAME                                                     READY   STATUS    RESTARTS   AGE
pod/oadp-operator-controller-manager-67d9494d47-6l8z8    2/2     Running   0          2m8s
pod/node-agent-9cq4q                                     1/1     Running   0          94s
pod/node-agent-m4lts                                     1/1     Running   0          94s
pod/node-agent-pv4kr                                     1/1     Running   0          95s
pod/velero-588db7f655-n842v                              1/1     Running   0          95s

NAME                                                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
service/oadp-operator-controller-manager-metrics-service   ClusterIP   172.30.70.140    &lt;none&gt;        8443/TCP   2m8s
service/openshift-adp-velero-metrics-svc                   ClusterIP   172.30.10.0      &lt;none&gt;        8085/TCP   8h

NAME                        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/node-agent    3         3         3       3            3           &lt;none&gt;          96s

NAME                                                READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/oadp-operator-controller-manager    1/1     1            1           2m9s
deployment.apps/velero                              1/1     1            1           96s

NAME                                                           DESIRED   CURRENT   READY   AGE
replicaset.apps/oadp-operator-controller-manager-67d9494d47    1         1         1       2m9s
replicaset.apps/velero-588db7f655                              1         1         1       96s</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get dpa dpa-sample <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.status}'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" actions="copy">

<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">{</span></span>"conditions"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token punctuation"><span class="token punctuation">[</span></span><span class="token punctuation"><span class="token punctuation">{</span></span>"lastTransitionTime"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"2023-10-27T01:23:57Z"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"message"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"Reconcile complete"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"reason"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"Complete"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"status"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"True"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"type"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"Reconciled"</span></span><span class="token punctuation"><span class="token punctuation">}</span></span><span class="token punctuation"><span class="token punctuation">]</span></span><span class="token punctuation"><span class="token punctuation">}</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get backupstoragelocations.velero.io <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" actions="copy">

dpa-sample-1   Available   1s               3d16h   true
<pre class="language-yaml" tabindex="-1"><code class="language-yaml">NAME           PHASE       LAST VALIDATED   AGE     DEFAULT
dpa<span class="token punctuation"><span class="token punctuation">-</span></span>sample<span class="token punctuation"><span class="token punctuation">-</span></span>1   Available   1s               3d16h   true</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: test-dpa
  namespace: openshift-adp
spec:
  backupLocations:
    - name: default
      velero:
        config:
insecureSkipTLSVerify: "true"
profile: "default"
region: &lt;bucket_region&gt;
s3ForcePathStyle: "true"
s3Url: &lt;bucket_url&gt;
        credential:
key: cloud
name: cloud-credentials
        default: true
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: velero
        provider: aws
  configuration:
    nodeAgent:
      enable: true
      uploaderType: restic
    velero:
      client-burst: 500
      client-qps: 300
      defaultPlugins:
        - openshift
        - aws
        - kubevirt
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
      <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_region<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_url<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> restic
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">client-burst</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">500</span></span> </code></pre><rh-badge id="CO105-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">client-qps</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">300</span></span> </code></pre><rh-badge id="CO105-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
        <span class="token punctuation"><span class="token punctuation">-</span></span> aws
        <span class="token punctuation"><span class="token punctuation">-</span></span> kubevirt</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc label node/<span class="token operator">&lt;</span>node_name<span class="token operator">&gt;</span> node-role.kubernetes.io/nodeAgent<span class="token operator">=</span><span class="token string">""</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  nodeAgent:
    enable: true
    podConfig:
      nodeSelector:
        node-role.kubernetes.io/nodeAgent: ""
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">configuration:
  nodeAgent:
    enable: true
    podConfig:
      nodeSelector:
        node-role.kubernetes.io/nodeAgent: ""</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

      nodeAgent:
        enable: true
        podConfig:
nodeSelector:
  node-role.kubernetes.io/infra: ""
  node-role.kubernetes.io/worker: ""
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">    configuration:
      nodeAgent:
        enable: true
        podConfig:
nodeSelector:
  node-role.kubernetes.io/infra: ""
  node-role.kubernetes.io/worker: ""</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
      podConfig:
        nodeSelector:
label.io/role: cpu-1
other-label.io/other-role: cpu-2
        ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">label.io/role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cpu<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">1</span></span>
<span class="token key atrule"><span class="token key atrule">other-label.io/other-role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cpu<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">2</span></span>
        <span class="token punctuation"><span class="token punctuation">...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    nodeAgent:
      enable: true
      loadAffinity:
        - nodeSelector:
  matchLabels:
    label.io/role: cpu-1
  matchExpressions:
    - key: label.io/hostname
      operator: In
      values:
        - node1
        - node2
        ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO106-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cpu<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">1</span></span>
  <span class="token key atrule"><span class="token key atrule">matchExpressions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO106-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> label.io/hostname
      <span class="token key atrule"><span class="token key atrule">operator</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> In
      <span class="token key atrule"><span class="token key atrule">values</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> node1
        <span class="token punctuation"><span class="token punctuation">-</span></span> node2
        <span class="token punctuation"><span class="token punctuation">...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
      loadAffinity:
        - nodeSelector:
  matchLabels:
    label.io/location: 'US'
    label.io/gpu: 'no'
      podConfig:
        nodeSelector:
label.io/gpu: 'no'
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
      <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/location</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'US'</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span>
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc label node/<span class="token operator">&lt;</span>node_name<span class="token operator">&gt;</span> label.io/instance-type<span class="token operator">=</span><span class="token string">'large'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

    nodeAgent:
      enable: true
      uploaderType: kopia
      loadConcurrency:
        globalConfig: 1
        perNodeConfig:
        - nodeSelector:
    matchLabels:
       label.io/instance-type: large
number: 3 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml">  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
      <span class="token key atrule"><span class="token key atrule">loadConcurrency</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">globalConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">1</span></span> </code></pre><rh-badge id="CO107-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">perNodeConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
       <span class="token key atrule"><span class="token key atrule">label.io/instance-type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> large </code></pre><rh-badge id="CO107-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">number</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">3</span></span> </code></pre><rh-badge id="CO107-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: ts-dpa
  namespace: openshift-adp
spec:
  backupLocations:
  - velero:
      credential:
        key: cloud
        name: cloud-credentials
      default: true
      objectStorage:
        bucket: &lt;bucket_name&gt;
        prefix: velero
      provider: gcp
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
    velero:
      defaultPlugins:
      - csi
      - gcp
      - openshift
      disableFsBackup: true 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ts<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
      <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
      <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> gcp
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO108-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> csi
      <span class="token punctuation"><span class="token punctuation">-</span></span> gcp
      <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
      <span class="token key atrule"><span class="token key atrule">disableFsBackup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO108-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get daemonset node-agent <span class="token parameter variable">-o</span> yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DaemonSet
metadata:
  ...
  name: node-agent
  namespace: openshift-adp
  ...
spec:
  ...
  template:
    metadata:
      ...
    spec:
      containers:
      ...
        securityContext:
allowPrivilegeEscalation: false
capabilities:
  drop:
  - ALL
privileged: false
readOnlyRootFilesystem: true
        ...
      nodeSelector:
        kubernetes.io/os: linux
      os:
        name: linux
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext:
        runAsNonRoot: true
        seccompProfile:
type: RuntimeDefault
      serviceAccount: velero
      serviceAccountName: velero
      ....
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> apps/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DaemonSet
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">...</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> node<span class="token punctuation"><span class="token punctuation">-</span></span>agent
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
  <span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">...</span></span>
  <span class="token key atrule"><span class="token key atrule">template</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">...</span></span>
    <span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">containers</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">...</span></span>
        <span class="token key atrule"><span class="token key atrule">securityContext</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">allowPrivilegeEscalation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span> </code></pre><rh-badge id="CO109-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">capabilities</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">drop</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> ALL
<span class="token key atrule"><span class="token key atrule">privileged</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span> </code></pre><rh-badge id="CO109-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">readOnlyRootFilesystem</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO109-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">...</span></span>
      <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">kubernetes.io/os</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> linux
      <span class="token key atrule"><span class="token key atrule">os</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> linux
      <span class="token key atrule"><span class="token key atrule">restartPolicy</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Always
      <span class="token key atrule"><span class="token key atrule">schedulerName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default<span class="token punctuation"><span class="token punctuation">-</span></span>scheduler
      <span class="token key atrule"><span class="token key atrule">securityContext</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">runAsNonRoot</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO109-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">seccompProfile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> RuntimeDefault
      <span class="token key atrule"><span class="token key atrule">serviceAccount</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
      <span class="token key atrule"><span class="token key atrule">serviceAccountName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
      <span class="token punctuation"><span class="token punctuation">...</span></span>.</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    repositoryMaintenance:
      global:
        podResources:
cpuRequest: "100m"
cpuLimit: "200m"
memoryRequest: "100Mi"
memoryLimit: "200Mi"
        loadAffinity:
- nodeSelector:
    matchLabels:
      label.io/gpu: 'no'
    matchExpressions:
      - key: label.io/location
        operator: In
        values:
          - US
          - EU
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">repositoryMaintenance</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO110-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">global</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO110-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">podResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">cpuRequest</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"100m"</span></span>
<span class="token key atrule"><span class="token key atrule">cpuLimit</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"200m"</span></span>
<span class="token key atrule"><span class="token key atrule">memoryRequest</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"100Mi"</span></span>
<span class="token key atrule"><span class="token key atrule">memoryLimit</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"200Mi"</span></span>
        <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span>
    <span class="token key atrule"><span class="token key atrule">matchExpressions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> label.io/location
        <span class="token key atrule"><span class="token key atrule">operator</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> In
        <span class="token key atrule"><span class="token key atrule">values</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
          <span class="token punctuation"><span class="token punctuation">-</span></span> US
          <span class="token punctuation"><span class="token punctuation">-</span></span> EU</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    repositoryMaintenance:
      myrepositoryname:
        loadAffinity:
- nodeSelector:
    matchLabels:
      label.io/cpu: 'yes'
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">repositoryMaintenance</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">myrepositoryname</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO111-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">label.io/cpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'yes'</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    velero:
      podConfig:
        nodeSelector:
some-label.io/custom-node-role: backup-core
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">some-label.io/custom-node-role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> backup<span class="token punctuation"><span class="token punctuation">-</span></span>core</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    velero:
      loadAffinity:
        - nodeSelector:
  matchLabels:
    label.io/gpu: 'no'
  matchExpressions:
    - key: label.io/location
      operator: In
      values:
        - US
        - EU
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span>
  <span class="token key atrule"><span class="token key atrule">matchExpressions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> label.io/location
      <span class="token key atrule"><span class="token key atrule">operator</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> In
      <span class="token key atrule"><span class="token key atrule">values</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> US
        <span class="token punctuation"><span class="token punctuation">-</span></span> EU</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: test-dpa
  namespace: openshift-adp
spec:
  backupLocations:
    - name: default
      velero:
        config:
insecureSkipTLSVerify: "true"
profile: "default"
region: &lt;bucket_region&gt;
s3ForcePathStyle: "true"
s3Url: &lt;bucket_url&gt;
        credential:
key: cloud
name: cloud-credentials
        default: true
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: velero
        provider: aws
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
    velero:
      defaultPlugins:
        - openshift
        - aws
        - kubevirt
        - csi
  imagePullPolicy: Never 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
      <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_region<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_url<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
        <span class="token punctuation"><span class="token punctuation">-</span></span> aws
        <span class="token punctuation"><span class="token punctuation">-</span></span> kubevirt
        <span class="token punctuation"><span class="token punctuation">-</span></span> csi
  <span class="token key atrule"><span class="token key atrule">imagePullPolicy</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Never </code></pre><rh-badge id="CO112-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
...
spec:
  configuration:
    velero:
      defaultPlugins:
      - openshift
      - csi 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
      <span class="token punctuation"><span class="token punctuation">-</span></span> csi </code></pre><rh-badge id="CO113-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

configuration:
  nodeAgent:
    enable: false
    uploaderType: kopia
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token comment"><span class="token comment"># ...</span></span>
<span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span>  </code></pre><rh-badge id="CO114-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

configuration:
  nodeAgent:
    enable: true
    uploaderType: kopia
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token comment"><span class="token comment"># ...</span></span>
<span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>  </code></pre><rh-badge id="CO115-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: &lt;dpa_sample&gt;
  namespace: openshift-adp
spec:
  configuration:
    velero:
      defaultPlugins:
        - kubevirt
        - gcp
        - csi
        - openshift
      resourceTimeout: 10m
    nodeAgent:
      enable: true
      uploaderType: kopia
      podConfig:
        nodeSelector: &lt;node_selector&gt;
  backupLocations:
    - velero:
        provider: gcp
        default: true
        credential:
key: cloud
name: &lt;default_secret&gt;
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: &lt;prefix&gt; 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_sample<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp </code></pre><rh-badge id="CO116-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> kubevirt </code></pre><rh-badge id="CO116-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">-</span></span> gcp </code></pre><rh-badge id="CO116-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">-</span></span> csi </code></pre><rh-badge id="CO116-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift </code></pre><rh-badge id="CO116-5" state="info">5</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">resourceTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 10m </code></pre><rh-badge id="CO116-6" state="info">6</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO116-7" state="info">7</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO116-8" state="info">8</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia </code></pre><rh-badge id="CO116-9" state="info">9</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;node_selector<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO116-10" state="info">10</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> gcp </code></pre><rh-badge id="CO116-11" state="info">11</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;default_secret<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO116-12" state="info">12</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO116-13" state="info">13</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;prefix<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO116-14" state="info">14</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get all <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

pod/oadp-operator-controller-manager-67d9494d47-6l8z8    2/2     Running   0          2m8s
pod/node-agent-9cq4q                                     1/1     Running   0          94s
pod/node-agent-m4lts                                     1/1     Running   0          94s
pod/node-agent-pv4kr                                     1/1     Running   0          95s
pod/velero-588db7f655-n842v                              1/1     Running   0          95s

NAME                                                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
service/oadp-operator-controller-manager-metrics-service   ClusterIP   172.30.70.140    &lt;none&gt;        8443/TCP   2m8s
service/openshift-adp-velero-metrics-svc                   ClusterIP   172.30.10.0      &lt;none&gt;        8085/TCP   8h

NAME                        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/node-agent    3         3         3       3            3           &lt;none&gt;          96s

NAME                                                READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/oadp-operator-controller-manager    1/1     1            1           2m9s
deployment.apps/velero                              1/1     1            1           96s

NAME                                                           DESIRED   CURRENT   READY   AGE
replicaset.apps/oadp-operator-controller-manager-67d9494d47    1         1         1       2m9s
replicaset.apps/velero-588db7f655                              1         1         1       96s
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">NAME                                                     READY   STATUS    RESTARTS   AGE
pod/oadp-operator-controller-manager-67d9494d47-6l8z8    2/2     Running   0          2m8s
pod/node-agent-9cq4q                                     1/1     Running   0          94s
pod/node-agent-m4lts                                     1/1     Running   0          94s
pod/node-agent-pv4kr                                     1/1     Running   0          95s
pod/velero-588db7f655-n842v                              1/1     Running   0          95s

NAME                                                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
service/oadp-operator-controller-manager-metrics-service   ClusterIP   172.30.70.140    &lt;none&gt;        8443/TCP   2m8s
service/openshift-adp-velero-metrics-svc                   ClusterIP   172.30.10.0      &lt;none&gt;        8085/TCP   8h

NAME                        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset.apps/node-agent    3         3         3       3            3           &lt;none&gt;          96s

NAME                                                READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/oadp-operator-controller-manager    1/1     1            1           2m9s
deployment.apps/velero                              1/1     1            1           96s

NAME                                                           DESIRED   CURRENT   READY   AGE
replicaset.apps/oadp-operator-controller-manager-67d9494d47    1         1         1       2m9s
replicaset.apps/velero-588db7f655                              1         1         1       96s</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get dpa dpa-sample <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.status}'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" actions="copy">

<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">{</span></span>"conditions"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token punctuation"><span class="token punctuation">[</span></span><span class="token punctuation"><span class="token punctuation">{</span></span>"lastTransitionTime"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"2023-10-27T01:23:57Z"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"message"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"Reconcile complete"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"reason"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"Complete"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"status"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"True"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span>"type"<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token string"><span class="token string">"Reconciled"</span></span><span class="token punctuation"><span class="token punctuation">}</span></span><span class="token punctuation"><span class="token punctuation">]</span></span><span class="token punctuation"><span class="token punctuation">}</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get backupstoragelocations.velero.io <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" actions="copy">

dpa-sample-1   Available   1s               3d16h   true
<pre class="language-yaml" tabindex="-1"><code class="language-yaml">NAME           PHASE       LAST VALIDATED   AGE     DEFAULT
dpa<span class="token punctuation"><span class="token punctuation">-</span></span>sample<span class="token punctuation"><span class="token punctuation">-</span></span>1   Available   1s               3d16h   true</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Backup
metadata:
  name: vmbackupsingle
  namespace: openshift-adp
spec:
  snapshotMoveData: true
  includedNamespaces:
  - &lt;vm_namespace&gt;
  labelSelector:
    matchLabels:
      app: &lt;vm_app_name&gt;
  storageLocation: &lt;backup_storage_location_name&gt; 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Backup
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> vmbackupsingle
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">snapshotMoveData</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
  <span class="token key atrule"><span class="token key atrule">includedNamespaces</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> &lt;vm_namespace<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO117-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">labelSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">app</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;vm_app_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO117-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">storageLocation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;backup_storage_location_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO117-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>backup_cr_file_name<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO118-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Restore
metadata:
  name: vmrestoresingle
  namespace: openshift-adp
spec:
  backupName: vmbackupsingle
  restorePVs: true
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Restore
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> vmrestoresingle
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> vmbackupsingle </code></pre><rh-badge id="CO119-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">restorePVs</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>restore_cr_file_name<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO120-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc label vm <span class="token operator">&lt;</span>vm_name<span class="token operator">&gt;</span> <span class="token assign-left variable">app</span><span class="token operator">=</span><span class="token operator">&lt;</span>vm_name<span class="token operator">&gt;</span> <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Restore
metadata:
  name: singlevmrestore
  namespace: openshift-adp
spec:
  backupName: multiplevmbackup
  restorePVs: true
  LabelSelectors:
    - matchLabels:
        kubevirt.io/created-by: &lt;datavolume_uid&gt;
    - matchLabels:
        app: &lt;vm_name&gt; 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Restore
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> singlevmrestore
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> multiplevmbackup
  <span class="token key atrule"><span class="token key atrule">restorePVs</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
  <span class="token key atrule"><span class="token key atrule">LabelSelectors</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">kubevirt.io/created-by</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;datavolume_uid<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO121-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">app</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;vm_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO121-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>restore_cr_file_name<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO122-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: test-dpa
  namespace: openshift-adp
spec:
  backupLocations:
    - name: default
      velero:
        config:
insecureSkipTLSVerify: "true"
profile: "default"
region: &lt;bucket_region&gt;
s3ForcePathStyle: "true"
s3Url: &lt;bucket_url&gt;
        credential:
key: cloud
name: cloud-credentials
        default: true
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: velero
        provider: aws
  configuration:
    nodeAgent:
      enable: true
      uploaderType: restic
    velero:
      client-burst: 500
      client-qps: 300
      defaultPlugins:
        - openshift
        - aws
        - kubevirt
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
      <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_region<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_url<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> restic
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">client-burst</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">500</span></span> </code></pre><rh-badge id="CO123-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">client-qps</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">300</span></span> </code></pre><rh-badge id="CO123-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
        <span class="token punctuation"><span class="token punctuation">-</span></span> aws
        <span class="token punctuation"><span class="token punctuation">-</span></span> kubevirt</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: ts-dpa
  namespace: openshift-adp
spec:
  backupLocations:
  - velero:
      credential:
        key: cloud
        name: cloud-credentials
      default: true
      objectStorage:
        bucket: &lt;bucket_name&gt;
        prefix: velero
      provider: gcp
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
    velero:
      defaultPlugins:
      - csi
      - gcp
      - openshift
      disableFsBackup: true 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ts<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
      <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
      <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> gcp
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO124-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> csi
      <span class="token punctuation"><span class="token punctuation">-</span></span> gcp
      <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
      <span class="token key atrule"><span class="token key atrule">disableFsBackup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO124-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get daemonset node-agent <span class="token parameter variable">-o</span> yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DaemonSet
metadata:
  ...
  name: node-agent
  namespace: openshift-adp
  ...
spec:
  ...
  template:
    metadata:
      ...
    spec:
      containers:
      ...
        securityContext:
allowPrivilegeEscalation: false
capabilities:
  drop:
  - ALL
privileged: false
readOnlyRootFilesystem: true
        ...
      nodeSelector:
        kubernetes.io/os: linux
      os:
        name: linux
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext:
        runAsNonRoot: true
        seccompProfile:
type: RuntimeDefault
      serviceAccount: velero
      serviceAccountName: velero
      ....
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> apps/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DaemonSet
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">...</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> node<span class="token punctuation"><span class="token punctuation">-</span></span>agent
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
  <span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">...</span></span>
  <span class="token key atrule"><span class="token key atrule">template</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">...</span></span>
    <span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">containers</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">...</span></span>
        <span class="token key atrule"><span class="token key atrule">securityContext</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">allowPrivilegeEscalation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span> </code></pre><rh-badge id="CO125-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">capabilities</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">drop</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> ALL
<span class="token key atrule"><span class="token key atrule">privileged</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span> </code></pre><rh-badge id="CO125-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">readOnlyRootFilesystem</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO125-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">...</span></span>
      <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">kubernetes.io/os</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> linux
      <span class="token key atrule"><span class="token key atrule">os</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> linux
      <span class="token key atrule"><span class="token key atrule">restartPolicy</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Always
      <span class="token key atrule"><span class="token key atrule">schedulerName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default<span class="token punctuation"><span class="token punctuation">-</span></span>scheduler
      <span class="token key atrule"><span class="token key atrule">securityContext</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">runAsNonRoot</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO125-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">seccompProfile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> RuntimeDefault
      <span class="token key atrule"><span class="token key atrule">serviceAccount</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
      <span class="token key atrule"><span class="token key atrule">serviceAccountName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
      <span class="token punctuation"><span class="token punctuation">...</span></span>.</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc label node/<span class="token operator">&lt;</span>node_name<span class="token operator">&gt;</span> node-role.kubernetes.io/nodeAgent<span class="token operator">=</span><span class="token string">""</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  nodeAgent:
    enable: true
    podConfig:
      nodeSelector:
        node-role.kubernetes.io/nodeAgent: ""
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">configuration:
  nodeAgent:
    enable: true
    podConfig:
      nodeSelector:
        node-role.kubernetes.io/nodeAgent: ""</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

      nodeAgent:
        enable: true
        podConfig:
nodeSelector:
  node-role.kubernetes.io/infra: ""
  node-role.kubernetes.io/worker: ""
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">    configuration:
      nodeAgent:
        enable: true
        podConfig:
nodeSelector:
  node-role.kubernetes.io/infra: ""
  node-role.kubernetes.io/worker: ""</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
      podConfig:
        nodeSelector:
label.io/role: cpu-1
other-label.io/other-role: cpu-2
        ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">label.io/role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cpu<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">1</span></span>
<span class="token key atrule"><span class="token key atrule">other-label.io/other-role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cpu<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">2</span></span>
        <span class="token punctuation"><span class="token punctuation">...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    nodeAgent:
      enable: true
      loadAffinity:
        - nodeSelector:
  matchLabels:
    label.io/role: cpu-1
  matchExpressions:
    - key: label.io/hostname
      operator: In
      values:
        - node1
        - node2
        ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO126-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cpu<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">1</span></span>
  <span class="token key atrule"><span class="token key atrule">matchExpressions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO126-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> label.io/hostname
      <span class="token key atrule"><span class="token key atrule">operator</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> In
      <span class="token key atrule"><span class="token key atrule">values</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> node1
        <span class="token punctuation"><span class="token punctuation">-</span></span> node2
        <span class="token punctuation"><span class="token punctuation">...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
      loadAffinity:
        - nodeSelector:
  matchLabels:
    label.io/location: 'US'
    label.io/gpu: 'no'
      podConfig:
        nodeSelector:
label.io/gpu: 'no'
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
      <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/location</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'US'</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span>
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc label node/<span class="token operator">&lt;</span>node_name<span class="token operator">&gt;</span> label.io/instance-type<span class="token operator">=</span><span class="token string">'large'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

    nodeAgent:
      enable: true
      uploaderType: kopia
      loadConcurrency:
        globalConfig: 1
        perNodeConfig:
        - nodeSelector:
    matchLabels:
       label.io/instance-type: large
number: 3 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml">  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
      <span class="token key atrule"><span class="token key atrule">loadConcurrency</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">globalConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">1</span></span> </code></pre><rh-badge id="CO127-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">perNodeConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
       <span class="token key atrule"><span class="token key atrule">label.io/instance-type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> large </code></pre><rh-badge id="CO127-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">number</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">3</span></span> </code></pre><rh-badge id="CO127-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    repositoryMaintenance:
      global:
        podResources:
cpuRequest: "100m"
cpuLimit: "200m"
memoryRequest: "100Mi"
memoryLimit: "200Mi"
        loadAffinity:
- nodeSelector:
    matchLabels:
      label.io/gpu: 'no'
    matchExpressions:
      - key: label.io/location
        operator: In
        values:
          - US
          - EU
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">repositoryMaintenance</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO128-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">global</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO128-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">podResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">cpuRequest</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"100m"</span></span>
<span class="token key atrule"><span class="token key atrule">cpuLimit</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"200m"</span></span>
<span class="token key atrule"><span class="token key atrule">memoryRequest</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"100Mi"</span></span>
<span class="token key atrule"><span class="token key atrule">memoryLimit</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"200Mi"</span></span>
        <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span>
    <span class="token key atrule"><span class="token key atrule">matchExpressions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> label.io/location
        <span class="token key atrule"><span class="token key atrule">operator</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> In
        <span class="token key atrule"><span class="token key atrule">values</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
          <span class="token punctuation"><span class="token punctuation">-</span></span> US
          <span class="token punctuation"><span class="token punctuation">-</span></span> EU</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    repositoryMaintenance:
      myrepositoryname:
        loadAffinity:
- nodeSelector:
    matchLabels:
      label.io/cpu: 'yes'
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">repositoryMaintenance</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">myrepositoryname</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO129-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">label.io/cpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'yes'</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    velero:
      podConfig:
        nodeSelector:
some-label.io/custom-node-role: backup-core
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">some-label.io/custom-node-role</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> backup<span class="token punctuation"><span class="token punctuation">-</span></span>core</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

spec:
  configuration:
    velero:
      loadAffinity:
        - nodeSelector:
  matchLabels:
    label.io/gpu: 'no'
  matchExpressions:
    - key: label.io/location
      operator: In
      values:
        - US
        - EU
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">loadAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">label.io/gpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'no'</span></span>
  <span class="token key atrule"><span class="token key atrule">matchExpressions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> label.io/location
      <span class="token key atrule"><span class="token key atrule">operator</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> In
      <span class="token key atrule"><span class="token key atrule">values</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> US
        <span class="token punctuation"><span class="token punctuation">-</span></span> EU</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: test-dpa
  namespace: openshift-adp
spec:
  backupLocations:
    - name: default
      velero:
        config:
insecureSkipTLSVerify: "true"
profile: "default"
region: &lt;bucket_region&gt;
s3ForcePathStyle: "true"
s3Url: &lt;bucket_url&gt;
        credential:
key: cloud
name: cloud-credentials
        default: true
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: velero
        provider: aws
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
    velero:
      defaultPlugins:
        - openshift
        - aws
        - kubevirt
        - csi
  imagePullPolicy: Never 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
      <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_region<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_url<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
        <span class="token punctuation"><span class="token punctuation">-</span></span> aws
        <span class="token punctuation"><span class="token punctuation">-</span></span> kubevirt
        <span class="token punctuation"><span class="token punctuation">-</span></span> csi
  <span class="token key atrule"><span class="token key atrule">imagePullPolicy</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Never </code></pre><rh-badge id="CO130-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
#...
backupLocations:
  - name: aws
    velero:
      provider: aws
      default: true
      objectStorage:
        bucket: &lt;bucket_name&gt;
        prefix: &lt;prefix&gt;
      config:
        region: &lt;region_name&gt;
        profile: "default"
      credential:
        key: cloud
        name: cloud-credentials
  - name: odf
    velero:
      provider: aws
      default: false
      objectStorage:
        bucket: &lt;bucket_name&gt;
        prefix: &lt;prefix&gt;
      config:
        profile: "default"
        region: &lt;region_name&gt;
        s3Url: &lt;url&gt;
        insecureSkipTLSVerify: "true"
        s3ForcePathStyle: "true"
      credential:
        key: cloud
        name: &lt;custom_secret_name_odf&gt;
#...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token comment"><span class="token comment">#...</span></span>
<span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws </code></pre><rh-badge id="CO131-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
      <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO131-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO131-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;prefix<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO131-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;region_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO131-5" state="info">5</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
      <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials </code></pre><rh-badge id="CO131-6" state="info">6</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> odf </code></pre><rh-badge id="CO131-7" state="info">7</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
      <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span>
      <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;prefix<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
      <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
        <span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;region_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;url<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO131-8" state="info">8</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
        <span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
      <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;custom_secret_name_odf<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO131-9" state="info">9</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token comment"><span class="token comment">#...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Backup
# ...
spec:
  includedNamespaces:
  - &lt;namespace&gt;
  storageLocation: &lt;backup_storage_location&gt;
  defaultVolumesToFsBackup: true
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Backup
<span class="token comment"><span class="token comment"># ...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">includedNamespaces</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> &lt;namespace<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO132-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">storageLocation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;backup_storage_location<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO132-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">defaultVolumesToFsBackup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create secret generic cloud-credentials <span class="token parameter variable">-n</span> openshift-adp --from-file <span class="token assign-left variable">cloud</span><span class="token operator">=</span><span class="token operator">&lt;</span>aws_credentials_file_name<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO133-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create secret generic mcg-secret <span class="token parameter variable">-n</span> openshift-adp --from-file <span class="token assign-left variable">cloud</span><span class="token operator">=</span><span class="token operator">&lt;</span>MCG_credentials_file_name<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO134-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: two-bsl-dpa
  namespace: openshift-adp
spec:
  backupLocations:
  - name: aws
    velero:
      config:
        profile: default
        region: &lt;region_name&gt;
      credential:
        key: cloud
        name: cloud-credentials
      default: true
      objectStorage:
        bucket: &lt;bucket_name&gt;
        prefix: velero
      provider: aws
  - name: mcg
    velero:
      config:
        insecureSkipTLSVerify: "true"
        profile: noobaa
        region: &lt;region_name&gt;
        s3ForcePathStyle: "true"
        s3Url: &lt;s3_url&gt;
      credential:
        key: cloud
        name: mcg-secret
      objectStorage:
        bucket: &lt;bucket_name_mcg&gt;
        prefix: velero
      provider: aws
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
    velero:
      defaultPlugins:
      - openshift
      - aws
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> two<span class="token punctuation"><span class="token punctuation">-</span></span>bsl<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
        <span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;region_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO135-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
      <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO135-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
      <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> mcg
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
        <span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> noobaa
        <span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;region_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO135-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
        <span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;s3_url<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO135-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> mcg<span class="token punctuation"><span class="token punctuation">-</span></span>secret </code></pre><rh-badge id="CO135-5" state="info">5</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name_mcg<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO135-6" state="info">6</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
      <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
      <span class="token punctuation"><span class="token punctuation">-</span></span> aws</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>dpa_file_name<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO136-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get dpa <span class="token parameter variable">-o</span> yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get bsl</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

aws    Available   5s               3m28s   true
mcg    Available   5s               3m28s
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME   PHASE       LAST VALIDATED   AGE     DEFAULT
aws    Available   5s               3m28s   true
mcg    Available   5s               3m28s</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Backup
metadata:
  name: test-backup1
  namespace: openshift-adp
spec:
  includedNamespaces:
  - &lt;mysql_namespace&gt;
  defaultVolumesToFsBackup: true
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Backup
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>backup1
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">includedNamespaces</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> &lt;mysql_namespace<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO137-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">defaultVolumesToFsBackup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>backup_file_name<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO138-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get backups.velero.io <span class="token operator">&lt;</span>backup_name<span class="token operator">&gt;</span> <span class="token parameter variable">-o</span> yaml </span></span></code></pre><rh-badge id="CO139-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Backup
metadata:
  name: test-backup1
  namespace: openshift-adp
spec:
  includedNamespaces:
  - &lt;mysql_namespace&gt;
  storageLocation: mcg
  defaultVolumesToFsBackup: true
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Backup
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>backup1
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">includedNamespaces</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> &lt;mysql_namespace<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO140-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">storageLocation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> mcg </code></pre><rh-badge id="CO140-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">defaultVolumesToFsBackup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>backup_file_name<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO141-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get backups.velero.io <span class="token operator">&lt;</span>backup_name<span class="token operator">&gt;</span> <span class="token parameter variable">-o</span> yaml </span></span></code></pre><rh-badge id="CO142-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
#...
snapshotLocations:
  - velero:
      config:
        profile: default
        region: &lt;region&gt;
      credential:
        key: cloud
        name: cloud-credentials
      provider: aws
  - velero:
      config:
        profile: default
        region: &lt;region&gt;
      credential:
        key: cloud
        name: &lt;custom_credential&gt;
      provider: aws
#...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token comment"><span class="token comment">#...</span></span>
<span class="token key atrule"><span class="token key atrule">snapshotLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
        <span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;region<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO143-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
      <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
        <span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;region<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
      <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;custom_credential<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO143-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
<span class="token comment"><span class="token comment">#...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero backup create <span class="token operator">&lt;</span>backup-name<span class="token operator">&gt;</span> --snapshot-volumes <span class="token boolean">false</span> </span></span></code></pre><rh-badge id="CO144-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero describe backup <span class="token operator">&lt;</span>backup_name<span class="token operator">&gt;</span> <span class="token parameter variable">--details</span> </span></span></code></pre><rh-badge id="CO145-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero restore create --from-backup <span class="token operator">&lt;</span>backup-name<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO146-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero describe restore <span class="token operator">&lt;</span>restore_name<span class="token operator">&gt;</span> <span class="token parameter variable">--details</span> </span></span></code></pre><rh-badge id="CO147-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get backupstoragelocations.velero.io <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

openshift-adp   velero-sample-1   Available   11s              31m
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAMESPACE       NAME              PHASE       LAST VALIDATED   AGE   DEFAULT
openshift-adp   velero-sample-1   Available   11s              31m</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Backup
metadata:
  name: &lt;backup&gt;
  labels:
    velero.io/storage-location: default
  namespace: openshift-adp
spec:
  hooks: {}
  includedNamespaces:
  - &lt;namespace&gt;
  includedResources: []
  excludedResources: []
  storageLocation: &lt;velero-sample-1&gt;
  ttl: 720h0m0s
  labelSelector:
    matchLabels:
      app: &lt;label_1&gt;
      app: &lt;label_2&gt;
      app: &lt;label_3&gt;
  orLabelSelectors:
  - matchLabels:
      app: &lt;label_1&gt;
      app: &lt;label_2&gt;
      app: &lt;label_3&gt;
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Backup
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;backup<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
  <span class="token key atrule"><span class="token key atrule">labels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero.io/storage-location</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">hooks</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token punctuation"><span class="token punctuation">{</span></span><span class="token punctuation"><span class="token punctuation">}</span></span>
  <span class="token key atrule"><span class="token key atrule">includedNamespaces</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> &lt;namespace<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO148-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">includedResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token punctuation"><span class="token punctuation">[</span></span><span class="token punctuation"><span class="token punctuation">]</span></span> </code></pre><rh-badge id="CO148-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">excludedResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token punctuation"><span class="token punctuation">[</span></span><span class="token punctuation"><span class="token punctuation">]</span></span> </code></pre><rh-badge id="CO148-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">storageLocation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;velero<span class="token punctuation"><span class="token punctuation">-</span></span>sample<span class="token punctuation"><span class="token punctuation">-</span></span>1<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO148-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">ttl</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 720h0m0s
  <span class="token key atrule"><span class="token key atrule">labelSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO148-5" state="info">5</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">app</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;label_1<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
      <span class="token key atrule"><span class="token key atrule">app</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;label_2<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
      <span class="token key atrule"><span class="token key atrule">app</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;label_3<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
  <span class="token key atrule"><span class="token key atrule">orLabelSelectors</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO148-6" state="info">6</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">app</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;label_1<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
      <span class="token key atrule"><span class="token key atrule">app</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;label_2<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
      <span class="token key atrule"><span class="token key atrule">app</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;label_3<span class="token punctuation"><span class="token punctuation">&gt;</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get backups.velero.io <span class="token parameter variable">-n</span> openshift-adp <span class="token operator">&lt;</span>backup<span class="token operator">&gt;</span> <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.status.phase}'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: VolumeSnapshotClass
metadata:
  name: &lt;volume_snapshot_class_name&gt;
  labels:
    velero.io/csi-volumesnapshot-class: "true"
  annotations:
    snapshot.storage.kubernetes.io/is-default-class: true
driver: &lt;csi_driver&gt;
deletionPolicy: &lt;deletion_policy_type&gt; 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> snapshot.storage.k8s.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> VolumeSnapshotClass
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;volume_snapshot_class_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
  <span class="token key atrule"><span class="token key atrule">labels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero.io/csi-volumesnapshot-class</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span> </code></pre><rh-badge id="CO149-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">annotations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">snapshot.storage.kubernetes.io/is-default-class</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO149-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">driver</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;csi_driver<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">deletionPolicy</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;deletion_policy_type<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO149-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Backup
metadata:
  name: &lt;backup&gt;
  labels:
    velero.io/storage-location: default
  namespace: openshift-adp
spec:
  defaultVolumesToFsBackup: true
...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Backup
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;backup<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
  <span class="token key atrule"><span class="token key atrule">labels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero.io/storage-location</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">defaultVolumesToFsBackup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO150-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token punctuation"><span class="token punctuation">...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Backup
metadata:
  name: &lt;backup&gt;
  namespace: openshift-adp
spec:
  hooks:
    resources:
      - name: &lt;hook_name&gt;
        includedNamespaces:
        - &lt;namespace&gt;
        excludedNamespaces:
        - &lt;namespace&gt;
        includedResources: []
        - pods
        excludedResources: []
        labelSelector:
matchLabels:
  app: velero
  component: server
        pre:
- exec:
    container: &lt;container&gt;
    command:
    - /bin/uname
    - -a
    onError: Fail
    timeout: 30s
        post:
...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Backup
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;backup<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">hooks</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">resources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;hook_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">includedNamespaces</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> &lt;namespace<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO151-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">excludedNamespaces</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO151-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">-</span></span> &lt;namespace<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">includedResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token punctuation"><span class="token punctuation">[</span></span><span class="token punctuation"><span class="token punctuation">]</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> pods </code></pre><rh-badge id="CO151-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">excludedResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token punctuation"><span class="token punctuation">[</span></span><span class="token punctuation"><span class="token punctuation">]</span></span> </code></pre><rh-badge id="CO151-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">labelSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO151-5" state="info">5</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">app</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
  <span class="token key atrule"><span class="token key atrule">component</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> server
        <span class="token key atrule"><span class="token key atrule">pre</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO151-6" state="info">6</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">exec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">container</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;container<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO151-7" state="info">7</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">command</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> /bin/uname </code></pre><rh-badge id="CO151-8" state="info">8</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token punctuation"><span class="token punctuation">-</span></span>a
    <span class="token key atrule"><span class="token key atrule">onError</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Fail </code></pre><rh-badge id="CO151-9" state="info">9</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">timeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 30s </code></pre><rh-badge id="CO151-10" state="info">10</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">post</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO151-11" state="info">11</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token punctuation"><span class="token punctuation">...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get backupStorageLocations <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

openshift-adp   velero-sample-1   Available   11s              31m
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAMESPACE       NAME              PHASE       LAST VALIDATED   AGE   DEFAULT
openshift-adp   velero-sample-1   Available   11s              31m</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

apiVersion: velero.io/v1
kind: Schedule
metadata:
  name: &lt;schedule&gt;
  namespace: openshift-adp
spec:
  schedule: 0 7 * * *
  template:
    hooks: {}
    includedNamespaces:
    - &lt;namespace&gt;
    storageLocation: &lt;velero-sample-1&gt;
    defaultVolumesToFsBackup: true
    ttl: 720h0m0s
EOF
<pre class="language-yaml" tabindex="-1"><code class="language-yaml">$ cat &lt;&lt; EOF <span class="token punctuation"><span class="token punctuation">|</span></span> oc apply <span class="token punctuation"><span class="token punctuation">-</span></span>f <span class="token punctuation"><span class="token punctuation">-</span></span>
<span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Schedule
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;schedule<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">schedule</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 0 7 * * * </code></pre><rh-badge id="CO152-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">template</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">hooks</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token punctuation"><span class="token punctuation">{</span></span><span class="token punctuation"><span class="token punctuation">}</span></span>
    <span class="token key atrule"><span class="token key atrule">includedNamespaces</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> &lt;namespace<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO152-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">storageLocation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;velero<span class="token punctuation"><span class="token punctuation">-</span></span>sample<span class="token punctuation"><span class="token punctuation">-</span></span>1<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO152-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">defaultVolumesToFsBackup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO152-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">ttl</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 720h0m0s
EOF</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">  schedule: "*/10 * * * *"</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get schedule <span class="token parameter variable">-n</span> openshift-adp <span class="token operator">&lt;</span>schedule<span class="token operator">&gt;</span> <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.status.phase}'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DeleteBackupRequest
metadata:
  name: deletebackuprequest
  namespace: openshift-adp
spec:
  backupName: &lt;backup_name&gt; 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DeleteBackupRequest
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> deletebackuprequest
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;backup_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO153-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>deletebackuprequest_cr_filename<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero backup delete <span class="token operator">&lt;</span>backup_name<span class="token operator">&gt;</span> <span class="token parameter variable">-n</span> openshift-adp </span></span></code></pre><rh-badge id="CO154-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

pod/repo-maintain-job-173....536-fl9tm                             0/1     Completed   0          108m
pod/repo-maintain-job-173...2545-55ggx                             0/1     Completed   0          48m
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">pod/repo-maintain-job-173...2527-2nbls                             0/1     Completed   0          168m
pod/repo-maintain-job-173....536-fl9tm                             0/1     Completed   0          108m
pod/repo-maintain-job-173...2545-55ggx                             0/1     Completed   0          48m</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">not due for full maintenance cycle until 2024-00-00 18:29:4</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get backuprepositories.velero.io <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete backuprepository <span class="token operator">&lt;</span>backup_repository_name<span class="token operator">&gt;</span> <span class="token parameter variable">-n</span> openshift-adp </span></span></code></pre><rh-badge id="CO155-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: dpa-sample
spec:
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> dpa<span class="token punctuation"><span class="token punctuation">-</span></span>sample
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero backup create <span class="token operator">&lt;</span>backup-name<span class="token operator">&gt;</span> --snapshot-volumes <span class="token boolean">false</span> </span></span></code></pre><rh-badge id="CO156-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero describe backup <span class="token operator">&lt;</span>backup_name<span class="token operator">&gt;</span> <span class="token parameter variable">--details</span> </span></span></code></pre><rh-badge id="CO157-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero restore create --from-backup <span class="token operator">&lt;</span>backup-name<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO158-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero describe restore <span class="token operator">&lt;</span>restore_name<span class="token operator">&gt;</span> <span class="token parameter variable">--details</span> </span></span></code></pre><rh-badge id="CO159-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Restore
metadata:
  name: &lt;restore&gt;
  namespace: openshift-adp
spec:
  backupName: &lt;backup&gt;
  includedResources: []
  excludedResources:
  - nodes
  - events
  - events.events.k8s.io
  - backups.velero.io
  - restores.velero.io
  - resticrepositories.velero.io
  restorePVs: true 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Restore
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;restore<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;backup<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO160-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">includedResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token punctuation"><span class="token punctuation">[</span></span><span class="token punctuation"><span class="token punctuation">]</span></span> </code></pre><rh-badge id="CO160-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">excludedResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> nodes
  <span class="token punctuation"><span class="token punctuation">-</span></span> events
  <span class="token punctuation"><span class="token punctuation">-</span></span> events.events.k8s.io
  <span class="token punctuation"><span class="token punctuation">-</span></span> backups.velero.io
  <span class="token punctuation"><span class="token punctuation">-</span></span> restores.velero.io
  <span class="token punctuation"><span class="token punctuation">-</span></span> resticrepositories.velero.io
  <span class="token key atrule"><span class="token key atrule">restorePVs</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO160-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get restores.velero.io <span class="token parameter variable">-n</span> openshift-adp <span class="token operator">&lt;</span>restore<span class="token operator">&gt;</span> <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.status.phase}'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get all <span class="token parameter variable">-n</span> <span class="token operator">&lt;</span>namespace<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO161-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">bash</span> dc-restic-post-restore.sh -<span class="token operator">&gt;</span> dc-post-restore.sh</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="bash" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

<pre class="language-bash" tabindex="-1"><code class="language-bash"><span class="token shebang important"><span class="token shebang important">#!/bin/bash</span></span>
<span class="token builtin class-name"><span class="token builtin class-name">set</span></span> <span class="token parameter variable"><span class="token parameter variable">-e</span></span>

<span class="token comment"><span class="token comment"># if sha256sum exists, use it to check the integrity of the file</span></span>
<span class="token keyword"><span class="token keyword">if</span></span> <span class="token builtin class-name"><span class="token builtin class-name">command</span></span> <span class="token parameter variable"><span class="token parameter variable">-v</span></span> sha256sum <span class="token operator"><span class="token operator">&gt;</span></span>/dev/null <span class="token operator"><span class="token file-descriptor important"></span><span class="token operator"><span class="token file-descriptor important"><span class="token file-descriptor important">2</span></span>&gt;</span></span><span class="token file-descriptor important"><span class="token file-descriptor important">&amp;1</span></span><span class="token punctuation"><span class="token punctuation">;</span></span> <span class="token keyword"><span class="token keyword">then</span></span>
  <span class="token assign-left variable"><span class="token assign-left variable">CHECKSUM_CMD</span></span><span class="token operator"><span class="token operator">=</span></span><span class="token string"><span class="token string">"sha256sum"</span></span>
<span class="token keyword"><span class="token keyword">else</span></span>
  <span class="token assign-left variable"><span class="token assign-left variable">CHECKSUM_CMD</span></span><span class="token operator"><span class="token operator">=</span></span><span class="token string"><span class="token string">"shasum -a 256"</span></span>
<span class="token keyword"><span class="token keyword">fi</span></span>

<span class="token function-name function"><span class="token function-name function">label_name</span></span> <span class="token punctuation"><span class="token punctuation">(</span></span><span class="token punctuation"><span class="token punctuation">)</span></span> <span class="token punctuation"><span class="token punctuation">{</span></span>
    <span class="token keyword"><span class="token keyword">if</span></span> <span class="token punctuation"><span class="token punctuation">[</span></span> <span class="token string"><span class="token string">"<span class="token variable"><span class="token variable">${<span class="token operator"><span class="token operator">#</span></span>1}</span></span>"</span></span> <span class="token parameter variable"><span class="token parameter variable">-le</span></span> <span class="token string"><span class="token string">"63"</span></span> <span class="token punctuation"><span class="token punctuation">]</span></span><span class="token punctuation"><span class="token punctuation">;</span></span> <span class="token keyword"><span class="token keyword">then</span></span>
	<span class="token builtin class-name"><span class="token builtin class-name">echo</span></span> <span class="token variable"><span class="token variable">$1</span></span>
	<span class="token builtin class-name"><span class="token builtin class-name">return</span></span>
    <span class="token keyword"><span class="token keyword">fi</span></span>
    <span class="token assign-left variable"><span class="token assign-left variable">sha</span></span><span class="token operator"><span class="token operator">=</span></span><span class="token variable"><span class="token variable"></span><span class="token variable"><span class="token variable"><span class="token variable">$(</span></span><span class="token builtin class-name"><span class="token builtin class-name">echo</span></span> <span class="token parameter variable"><span class="token parameter variable">-n</span></span> $1<span class="token operator"><span class="token operator">|</span></span>$CHECKSUM_CMD<span class="token variable"><span class="token variable">)</span></span></span><span class="token variable"></span></span>
    <span class="token builtin class-name"><span class="token builtin class-name">echo</span></span> <span class="token string"><span class="token string">"<span class="token variable"><span class="token variable">${1<span class="token operator"><span class="token operator">:</span></span>0<span class="token operator"><span class="token operator">:</span></span>57}</span></span><span class="token variable"><span class="token variable">${sha<span class="token operator"><span class="token operator">:</span></span>0<span class="token operator"><span class="token operator">:</span></span>6}</span></span>"</span></span>
<span class="token punctuation"><span class="token punctuation">}</span></span>

<span class="token keyword"><span class="token keyword">if</span></span> <span class="token punctuation"><span class="token punctuation">[</span></span><span class="token punctuation"><span class="token punctuation">[</span></span> <span class="token variable"><span class="token variable">$#</span></span> <span class="token parameter variable"><span class="token parameter variable">-ne</span></span> <span class="token number"><span class="token number">1</span></span> <span class="token punctuation"><span class="token punctuation">]</span></span><span class="token punctuation"><span class="token punctuation">]</span></span><span class="token punctuation"><span class="token punctuation">;</span></span> <span class="token keyword"><span class="token keyword">then</span></span>
    <span class="token builtin class-name"><span class="token builtin class-name">echo</span></span> <span class="token string"><span class="token string">"usage: <span class="token variable"><span class="token variable">${<span class="token environment constant"><span class="token environment constant">BASH_SOURCE</span></span>}</span></span> restore-name"</span></span>
    <span class="token builtin class-name"><span class="token builtin class-name">exit</span></span> <span class="token number"><span class="token number">1</span></span>
<span class="token keyword"><span class="token keyword">fi</span></span>

<span class="token builtin class-name"><span class="token builtin class-name">echo</span></span> <span class="token string"><span class="token string">"restore: <span class="token variable"><span class="token variable">$1</span></span>"</span></span>

<span class="token assign-left variable"><span class="token assign-left variable">label</span></span><span class="token operator"><span class="token operator">=</span></span><span class="token variable"><span class="token variable"></span><span class="token variable"><span class="token variable"><span class="token variable">$(</span></span>label_name $1<span class="token variable"><span class="token variable">)</span></span></span><span class="token variable"></span></span>
<span class="token builtin class-name"><span class="token builtin class-name">echo</span></span> <span class="token string"><span class="token string">"label:   <span class="token variable"><span class="token variable">$label</span></span>"</span></span>

<span class="token builtin class-name"><span class="token builtin class-name">echo</span></span> Deleting disconnected restore pods
oc delete pods --all-namespaces <span class="token parameter variable"><span class="token parameter variable">-l</span></span> oadp.openshift.io/disconnected-from-dc<span class="token operator"><span class="token operator">=</span></span><span class="token variable"><span class="token variable">$label</span></span>

<span class="token keyword"><span class="token keyword">for</span></span> <span class="token for-or-select variable"><span class="token for-or-select variable">dc</span></span> <span class="token keyword"><span class="token keyword">in</span></span> <span class="token variable"><span class="token variable"></span><span class="token variable"><span class="token variable"><span class="token variable">$(</span></span>oc get <span class="token function"><span class="token function">dc</span></span> --all-namespaces <span class="token parameter variable"><span class="token parameter variable">-l</span></span> oadp.openshift.io/replicas-modified<span class="token operator"><span class="token operator">=</span></span>$label <span class="token parameter variable"><span class="token parameter variable">-o</span></span> <span class="token assign-left variable"><span class="token assign-left variable">jsonpath</span></span><span class="token operator"><span class="token operator">=</span></span><span class="token string"><span class="token string">'{range .items[*]}{.metadata.namespace}{","}{.metadata.name}{","}{.metadata.annotations.oadp\.openshift\.io/original-replicas}{","}{.metadata.annotations.oadp\.openshift\.io/original-paused}{"\n"}'</span></span><span class="token variable"><span class="token variable">)</span></span></span><span class="token variable"></span></span>
<span class="token keyword"><span class="token keyword">do</span></span>
    <span class="token assign-left variable"><span class="token environment constant"><span class="token assign-left variable"><span class="token environment constant">IFS</span></span></span></span><span class="token operator"><span class="token operator">=</span></span><span class="token string"><span class="token string">','</span></span> <span class="token builtin class-name"><span class="token builtin class-name">read</span></span> <span class="token parameter variable"><span class="token parameter variable">-ra</span></span> dc_arr <span class="token operator"><span class="token operator">&lt;&lt;&lt;</span></span> <span class="token string"><span class="token string">"<span class="token variable"><span class="token variable">$dc</span></span>"</span></span>
    <span class="token keyword"><span class="token keyword">if</span></span> <span class="token punctuation"><span class="token punctuation">[</span></span> <span class="token variable"><span class="token variable">${<span class="token operator"><span class="token operator">#</span></span>dc_arr<span class="token punctuation"><span class="token punctuation">[</span></span>0<span class="token punctuation"><span class="token punctuation">]</span></span>}</span></span> <span class="token parameter variable"><span class="token parameter variable">-gt</span></span> <span class="token number"><span class="token number">0</span></span> <span class="token punctuation"><span class="token punctuation">]</span></span><span class="token punctuation"><span class="token punctuation">;</span></span> <span class="token keyword"><span class="token keyword">then</span></span>
	<span class="token builtin class-name"><span class="token builtin class-name">echo</span></span> Found deployment <span class="token variable"><span class="token variable">${dc_arr<span class="token punctuation"><span class="token punctuation">[</span></span>0<span class="token punctuation"><span class="token punctuation">]</span></span>}</span></span>/<span class="token variable"><span class="token variable">${dc_arr<span class="token punctuation"><span class="token punctuation">[</span></span>1<span class="token punctuation"><span class="token punctuation">]</span></span>}</span></span>, setting replicas: <span class="token variable"><span class="token variable">${dc_arr<span class="token punctuation"><span class="token punctuation">[</span></span>2<span class="token punctuation"><span class="token punctuation">]</span></span>}</span></span>, paused: <span class="token variable"><span class="token variable">${dc_arr<span class="token punctuation"><span class="token punctuation">[</span></span>3<span class="token punctuation"><span class="token punctuation">]</span></span>}</span></span>
	<span class="token function"><span class="token function">cat</span></span> <span class="token operator"><span class="token operator">&lt;&lt;</span></span><span class="token string"><span class="token string">EOF<span class="token bash punctuation"><span class="token bash punctuation"> <span class="token operator"><span class="token operator">|</span></span> oc patch <span class="token function"><span class="token function">dc</span></span>  <span class="token parameter variable"><span class="token parameter variable">-n</span></span> <span class="token variable"><span class="token variable">${dc_arr<span class="token punctuation"><span class="token punctuation">[</span></span>0<span class="token punctuation"><span class="token punctuation">]</span></span>}</span></span> <span class="token variable"><span class="token variable">${dc_arr<span class="token punctuation"><span class="token punctuation">[</span></span>1<span class="token punctuation"><span class="token punctuation">]</span></span>}</span></span> --patch-file /dev/stdin</span></span>
spec:
  replicas: <span class="token variable"><span class="token variable">${dc_arr<span class="token punctuation"><span class="token punctuation">[</span></span>2<span class="token punctuation"><span class="token punctuation">]</span></span>}</span></span>
  paused: <span class="token variable"><span class="token variable">${dc_arr<span class="token punctuation"><span class="token punctuation">[</span></span>3<span class="token punctuation"><span class="token punctuation">]</span></span>}</span></span>
EOF</span></span>
    <span class="token keyword"><span class="token keyword">fi</span></span>
<span class="token keyword"><span class="token keyword">done</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Restore
metadata:
  name: &lt;restore&gt;
  namespace: openshift-adp
spec:
  hooks:
    resources:
      - name: &lt;hook_name&gt;
        includedNamespaces:
        - &lt;namespace&gt;
        excludedNamespaces:
        - &lt;namespace&gt;
        includedResources:
        - pods
        excludedResources: []
        labelSelector:
matchLabels:
  app: velero
  component: server
        postHooks:
        - init:
  initContainers:
  - name: restore-hook-init
    image: alpine:latest
    volumeMounts:
    - mountPath: /restores/pvc1-vm
      name: pvc1-vm
    command:
    - /bin/ash
    - -c
  timeout:
        - exec:
  container: &lt;container&gt;
  command:
  - /bin/bash
  - -c
  - "psql &lt; /backup/backup.sql"
  waitTimeout: 5m
  execTimeout: 1m
  onError: Continue 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Restore
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;restore<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">hooks</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">resources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;hook_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">includedNamespaces</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> &lt;namespace<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO162-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">excludedNamespaces</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> &lt;namespace<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">includedResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> pods </code></pre><rh-badge id="CO162-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">excludedResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token punctuation"><span class="token punctuation">[</span></span><span class="token punctuation"><span class="token punctuation">]</span></span>
        <span class="token key atrule"><span class="token key atrule">labelSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO162-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">app</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
  <span class="token key atrule"><span class="token key atrule">component</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> server
        <span class="token key atrule"><span class="token key atrule">postHooks</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">init</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">initContainers</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> restore<span class="token punctuation"><span class="token punctuation">-</span></span>hook<span class="token punctuation"><span class="token punctuation">-</span></span>init
    <span class="token key atrule"><span class="token key atrule">image</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> alpine<span class="token punctuation"><span class="token punctuation">:</span></span>latest
    <span class="token key atrule"><span class="token key atrule">volumeMounts</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">mountPath</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> /restores/pvc1<span class="token punctuation"><span class="token punctuation">-</span></span>vm
      <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> pvc1<span class="token punctuation"><span class="token punctuation">-</span></span>vm
    <span class="token key atrule"><span class="token key atrule">command</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> /bin/ash
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token punctuation"><span class="token punctuation">-</span></span>c
  <span class="token key atrule"><span class="token key atrule">timeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO162-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">exec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">container</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;container<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO162-5" state="info">5</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">command</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> /bin/bash </code></pre><rh-badge id="CO162-6" state="info">6</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token punctuation"><span class="token punctuation">-</span></span>c
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token string"><span class="token string">"psql &lt; /backup/backup.sql"</span></span>
  <span class="token key atrule"><span class="token key atrule">waitTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 5m </code></pre><rh-badge id="CO162-7" state="info">7</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">execTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 1m </code></pre><rh-badge id="CO162-8" state="info">8</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">onError</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Continue </code></pre><rh-badge id="CO162-9" state="info">9</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  --from-backup &lt;BACKUP_NAME&gt; \
  --exclude-resources=deployment.apps
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero restore create <span class="token operator">&lt;</span>RESTORE_NAME<span class="token operator">&gt;</span> <span class="token punctuation">\</span>
  --from-backup <span class="token operator">&lt;</span>BACKUP_NAME<span class="token operator">&gt;</span> <span class="token punctuation">\</span>
  --exclude-resources<span class="token operator">=</span>deployment.apps</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  --from-backup &lt;BACKUP_NAME&gt; \
  --include-resources=deployment.apps
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero restore create <span class="token operator">&lt;</span>RESTORE_NAME<span class="token operator">&gt;</span> <span class="token punctuation">\</span>
  --from-backup <span class="token operator">&lt;</span>BACKUP_NAME<span class="token operator">&gt;</span> <span class="token punctuation">\</span>
  --include-resources<span class="token operator">=</span>deployment.apps</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

- apiGroups:
      - oadp.openshift.io
    resources:
      - nonadminbackups
      - nonadminrestores
      - nonadminbackupstoragelocations
      - nonadmindownloadrequests
    verbs:
      - create
      - delete
      - get
      - list
      - patch
      - update
      - watch
  - apiGroups:
      - oadp.openshift.io
    resources:
      - nonadminbackups/status
      - nonadminrestores/status
    verbs:
      - get
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">apiGroups</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> oadp.openshift.io
    <span class="token key atrule"><span class="token key atrule">resources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> nonadminbackups
      <span class="token punctuation"><span class="token punctuation">-</span></span> nonadminrestores
      <span class="token punctuation"><span class="token punctuation">-</span></span> nonadminbackupstoragelocations
      <span class="token punctuation"><span class="token punctuation">-</span></span> nonadmindownloadrequests
    <span class="token key atrule"><span class="token key atrule">verbs</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> create
      <span class="token punctuation"><span class="token punctuation">-</span></span> delete
      <span class="token punctuation"><span class="token punctuation">-</span></span> get
      <span class="token punctuation"><span class="token punctuation">-</span></span> list
      <span class="token punctuation"><span class="token punctuation">-</span></span> patch
      <span class="token punctuation"><span class="token punctuation">-</span></span> update
      <span class="token punctuation"><span class="token punctuation">-</span></span> watch
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">apiGroups</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> oadp.openshift.io
    <span class="token key atrule"><span class="token key atrule">resources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> nonadminbackups/status
      <span class="token punctuation"><span class="token punctuation">-</span></span> nonadminrestores/status
    <span class="token key atrule"><span class="token key atrule">verbs</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> get</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">message: only a single instance of Non-Admin Controller can be installed across the entire cluster. Non-Admin controller is already configured and installed in openshift-adp namespace.</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: oadp-backup
  namespace: openshift-adp
spec:
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
    velero:
      defaultPlugins:
        - aws
        - openshift
        - csi
      defaultSnapshotMoveData: true
  nonAdmin:
    enable: true
  backupLocations:
    - velero:
        config:
profile: "default"
region: noobaa
s3Url: https://s3.openshift-storage.svc
s3ForcePathStyle: "true"
insecureSkipTLSVerify: "true"
        provider: aws
        default: true
        credential:
key: cloud
name:  &lt;cloud_credentials&gt;
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: oadp
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp<span class="token punctuation"><span class="token punctuation">-</span></span>backup
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> aws
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
        <span class="token punctuation"><span class="token punctuation">-</span></span> csi
      <span class="token key atrule"><span class="token key atrule">defaultSnapshotMoveData</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
  <span class="token key atrule"><span class="token key atrule">nonAdmin</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO163-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO163-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> noobaa
<span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> https<span class="token punctuation"><span class="token punctuation">:</span></span>//s3.openshift<span class="token punctuation"><span class="token punctuation">-</span></span>storage.svc
<span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>  &lt;cloud_credentials<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get pod <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-l</span> control-plane<span class="token operator">=</span>non-admin-controller</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

non-admin-controller-5d....f5-p..9p   1/1     Running   0          99m
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                                  READY   STATUS    RESTARTS   AGE
non-admin-controller-5d....f5-p..9p   1/1     Running   0          99m</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: oadp-backup
  namespace: openshift-adp
spec:
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
    velero:
      defaultPlugins:
        - aws
        - openshift
        - csi
      noDefaultBackupLocation: true
  nonAdmin:
    enable: true
    requireApprovalForBSL: true 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp<span class="token punctuation"><span class="token punctuation">-</span></span>backup
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> aws
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
        <span class="token punctuation"><span class="token punctuation">-</span></span> csi
      <span class="token key atrule"><span class="token key atrule">noDefaultBackupLocation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO164-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">nonAdmin</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
    <span class="token key atrule"><span class="token key atrule">requireApprovalForBSL</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO164-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp get NonAdminBackupStorageLocationRequests</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

non-admin-bsl-test-.....175   Approved        non-admin-bsl-test    incorrect-bucket-nabsl    4m57s
non-admin-bsl-test-.....196   Approved        non-admin-bsl-test    perfect-nabsl             5m26s
non-admin-bsl-test-s....e1a   Rejected        non-admin-bsl-test    suspicious-sample         2m56s
non-admin-bsl-test-.....5e0   Pending         non-admin-bsl-test    waitingapproval-nabsl     4m20s
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                          REQUEST-PHASE   REQUEST-NAMESPACE     REQUEST-NAME               AGE
non-admin-bsl-test-.....175   Approved        non-admin-bsl-test    incorrect-bucket-nabsl    4m57s
non-admin-bsl-test-.....196   Approved        non-admin-bsl-test    perfect-nabsl             5m26s
non-admin-bsl-test-s....e1a   Rejected        non-admin-bsl-test    suspicious-sample         2m56s
non-admin-bsl-test-.....5e0   Pending         non-admin-bsl-test    waitingapproval-nabsl     4m20s</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc patch nabslrequest <span class="token operator">&lt;</span>nabsl_name<span class="token operator">&gt;</span> <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">--type</span><span class="token operator">=</span>merge <span class="token parameter variable">-p</span> <span class="token string">'{"spec": {"approvalDecision": "approve"}}'</span> </span></span></code></pre><rh-badge id="CO165-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get velero.io.backupstoragelocation</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

test-nac-test-bsl-cd...930   Available   62s              62s
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                         PHASE       LAST VALIDATED   AGE   DEFAULT
test-nac-test-bsl-cd...930   Available   62s              62s</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp get NonAdminBackupStorageLocationRequests</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get nabslrequest</span></span>
<span class="token output">NAME                          REQUEST-PHASE   REQUEST-NAMESPACE     REQUEST-NAME               AGE
non-admin-bsl-test-.....175   Approved        non-admin-bsl-test    incorrect-bucket-nabsl    4m57s
non-admin-bsl-test-.....196   Approved        non-admin-bsl-test    perfect-nabsl             5m26s
non-admin-bsl-test-s....e1a   Rejected        non-admin-bsl-test    suspicious-sample         2m56s
non-admin-bsl-test-.....5e0   Pending         non-admin-bsl-test    waitingapproval-nabsl     4m20s</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc patch nabslrequest <span class="token operator">&lt;</span>nabsl_name<span class="token operator">&gt;</span> <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">--type</span><span class="token operator">=</span>merge <span class="token parameter variable">-p</span> <span class="token string">'{"spec": {"approvalDecision": "reject"}}'</span> </span></span></code></pre><rh-badge id="CO166-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
...
spec:
  nonAdmin:
    enable: true
    enforceBSLSpec:
      config:
        checksumAlgorithm: ""
        profile: default
        region: us-west-2
      objectStorage:
        bucket: my-company-bucket
        prefix: velero
      provider: aws
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">nonAdmin</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
    <span class="token key atrule"><span class="token key atrule">enforceBSLSpec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO167-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO167-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">checksumAlgorithm</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">""</span></span>
        <span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
        <span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> us<span class="token punctuation"><span class="token punctuation">-</span></span>west<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">2</span></span>
      <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO167-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> my<span class="token punctuation"><span class="token punctuation">-</span></span>company<span class="token punctuation"><span class="token punctuation">-</span></span>bucket
        <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
      <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
...
spec:
  nonAdmin:
    enable: true
    enforceBackupSpec:
      snapshotMoveData: true
      ttl: 158h0m0s 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">nonAdmin</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
    <span class="token key atrule"><span class="token key atrule">enforceBackupSpec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO168-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">snapshotMoveData</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO168-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">ttl</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 158h0m0s </code></pre><rh-badge id="CO168-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create secret generic cloud-credentials <span class="token parameter variable">-n</span> test-nac-ns --from-file <span class="token operator">&lt;</span>cloud_key_name<span class="token operator">&gt;=</span><span class="token operator">&lt;</span>cloud_credentials_file<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO169-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: NonAdminBackupStorageLocation
metadata:
  name: test-nabsl
  namespace: test-nac-ns
spec:
  backupStorageLocationSpec:
    config:
      profile: default
      region: &lt;region_name&gt;
    credential:
      key: cloud
      name: cloud-credentials
    objectStorage:
      bucket: &lt;bucket_name&gt;
      prefix: velero
    provider: aws
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> NonAdminBackupStorageLocation
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nabsl
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nac<span class="token punctuation"><span class="token punctuation">-</span></span>ns </code></pre><rh-badge id="CO170-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupStorageLocationSpec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
      <span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;region_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO170-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
      <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
    <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO170-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
    <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>nabsl_cr_filename<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO171-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get nabsl test-nabsl <span class="token parameter variable">-o</span> yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: NonAdminBackupStorageLocation
...
status:
  conditions:
  - lastTransitionTime: "2025-02-26T09:07:15Z"
    message: NonAdminBackupStorageLocation spec validation successful
    reason: BslSpecValidation
    status: "True"
    type: Accepted
  - lastTransitionTime: "2025-02-26T09:07:15Z"
    message: NonAdminBackupStorageLocationRequest approval pending
    reason: BslSpecApprovalPending
    status: "False"
    type: ClusterAdminApproved
  phase: New
  veleroBackupStorageLocation:
    nacuuid: test-nac-test-bsl-c...d4389a1930
    name: test-nac-test-bsl-cd....1930
    namespace: openshift-adp
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> NonAdminBackupStorageLocation
<span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">conditions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">lastTransitionTime</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2025-02-26T09:07:15Z"</span></span>
    <span class="token key atrule"><span class="token key atrule">message</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> NonAdminBackupStorageLocation spec validation successful
    <span class="token key atrule"><span class="token key atrule">reason</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> BslSpecValidation
    <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"True"</span></span>
    <span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Accepted
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">lastTransitionTime</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2025-02-26T09:07:15Z"</span></span>
    <span class="token key atrule"><span class="token key atrule">message</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> NonAdminBackupStorageLocationRequest approval pending </code></pre><rh-badge id="CO172-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">reason</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> BslSpecApprovalPending
    <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"False"</span></span>
    <span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ClusterAdminApproved
  <span class="token key atrule"><span class="token key atrule">phase</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> New </code></pre><rh-badge id="CO172-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">veleroBackupStorageLocation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nacuuid</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nac<span class="token punctuation"><span class="token punctuation">-</span></span>test<span class="token punctuation"><span class="token punctuation">-</span></span>bsl<span class="token punctuation"><span class="token punctuation">-</span></span>c<span class="token punctuation"><span class="token punctuation">...</span></span>d4389a1930
    <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nac<span class="token punctuation"><span class="token punctuation">-</span></span>test<span class="token punctuation"><span class="token punctuation">-</span></span>bsl<span class="token punctuation"><span class="token punctuation">-</span></span>cd<span class="token punctuation"><span class="token punctuation">...</span></span>.1930
    <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get nabsl test-nabsl <span class="token parameter variable">-o</span> yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: NonAdminBackupStorageLocation
metadata:
  creationTimestamp: "2025-02-19T09:30:34Z"
  finalizers:
  - nonadminbackupstoragelocation.oadp.openshift.io/finalizer
  generation: 1
  name: test-nabsl
  namespace: test-nac-ns
  resourceVersion: "159973"
  uid: 4a..80-3260-4ef9-a3..5a-00...d1922
spec:
  backupStorageLocationSpec:
    credential:
      key: cloud
      name: cloud-credentials
    objectStorage:
      bucket: oadp...51rrdqj
      prefix: velero
    provider: aws
status:
  conditions:
  - lastTransitionTime: "2025-02-19T09:30:34Z"
    message: NonAdminBackupStorageLocation spec validation successful
    reason: BslSpecValidation
    status: "True"
    type: Accepted
  - lastTransitionTime: "2025-02-19T09:30:34Z"
    message: Secret successfully created in the OADP namespace
    reason: SecretCreated
    status: "True"
    type: SecretSynced
  - lastTransitionTime: "2025-02-19T09:30:34Z"
    message: BackupStorageLocation successfully created in the OADP namespace
    reason: BackupStorageLocationCreated
    status: "True"
    type: BackupStorageLocationSynced
  phase: Created
  veleroBackupStorageLocation:
    nacuuid: test-nac-..f933a-4ec1-4f6a-8099-ee...b8b26
    name: test-nac-test-nabsl-36...11ab8b26
    namespace: openshift-adp
    status:
      lastSyncedTime: "2025-02-19T11:47:10Z"
      lastValidationTime: "2025-02-19T11:47:31Z"
      phase: Available 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> NonAdminBackupStorageLocation
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">creationTimestamp</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2025-02-19T09:30:34Z"</span></span>
  <span class="token key atrule"><span class="token key atrule">finalizers</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> nonadminbackupstoragelocation.oadp.openshift.io/finalizer
  <span class="token key atrule"><span class="token key atrule">generation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">1</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nabsl
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nac<span class="token punctuation"><span class="token punctuation">-</span></span>ns
  <span class="token key atrule"><span class="token key atrule">resourceVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"159973"</span></span>
  <span class="token key atrule"><span class="token key atrule">uid</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 4a..80<span class="token punctuation"><span class="token punctuation">-</span></span>3260<span class="token punctuation"><span class="token punctuation">-</span></span>4ef9<span class="token punctuation"><span class="token punctuation">-</span></span>a3..5a<span class="token punctuation"><span class="token punctuation">-</span></span>00<span class="token punctuation"><span class="token punctuation">...</span></span>d1922
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupStorageLocationSpec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
      <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
    <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp<span class="token punctuation"><span class="token punctuation">...</span></span>51rrdqj
      <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
    <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
<span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">conditions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">lastTransitionTime</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2025-02-19T09:30:34Z"</span></span>
    <span class="token key atrule"><span class="token key atrule">message</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> NonAdminBackupStorageLocation spec validation successful </code></pre><rh-badge id="CO173-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">reason</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> BslSpecValidation
    <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"True"</span></span>
    <span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Accepted
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">lastTransitionTime</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2025-02-19T09:30:34Z"</span></span>
    <span class="token key atrule"><span class="token key atrule">message</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Secret successfully created in the OADP namespace </code></pre><rh-badge id="CO173-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">reason</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> SecretCreated
    <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"True"</span></span>
    <span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> SecretSynced
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">lastTransitionTime</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2025-02-19T09:30:34Z"</span></span>
    <span class="token key atrule"><span class="token key atrule">message</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> BackupStorageLocation successfully created in the OADP namespace </code></pre><rh-badge id="CO173-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">reason</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> BackupStorageLocationCreated
    <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"True"</span></span>
    <span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> BackupStorageLocationSynced
  <span class="token key atrule"><span class="token key atrule">phase</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Created
  <span class="token key atrule"><span class="token key atrule">veleroBackupStorageLocation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nacuuid</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nac<span class="token punctuation"><span class="token punctuation">-</span></span>..f933a<span class="token punctuation"><span class="token punctuation">-</span></span>4ec1<span class="token punctuation"><span class="token punctuation">-</span></span>4f6a<span class="token punctuation"><span class="token punctuation">-</span></span>8099<span class="token punctuation"><span class="token punctuation">-</span></span>ee<span class="token punctuation"><span class="token punctuation">...</span></span>b8b26 </code></pre><rh-badge id="CO173-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nac<span class="token punctuation"><span class="token punctuation">-</span></span>test<span class="token punctuation"><span class="token punctuation">-</span></span>nabsl<span class="token punctuation"><span class="token punctuation">-</span></span>36<span class="token punctuation"><span class="token punctuation">...</span></span>11ab8b26 </code></pre><rh-badge id="CO173-5" state="info">5</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
    <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">lastSyncedTime</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2025-02-19T11:47:10Z"</span></span>
      <span class="token key atrule"><span class="token key atrule">lastValidationTime</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2025-02-19T11:47:31Z"</span></span>
      <span class="token key atrule"><span class="token key atrule">phase</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Available </code></pre><rh-badge id="CO173-6" state="info">6</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: NonAdminBackup
metadata:
  name: test-nab
spec:
  backupSpec:
    defaultVolumesToFsBackup: true
    snapshotMoveData: false
    storageLocation: test-bsl 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> NonAdminBackup
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nab </code></pre><rh-badge id="CO174-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupSpec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">defaultVolumesToFsBackup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO174-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">snapshotMoveData</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span> </code></pre><rh-badge id="CO174-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">storageLocation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>bsl </code></pre><rh-badge id="CO174-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>nab_cr_filename<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO175-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get nab test-nab <span class="token parameter variable">-o</span> yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: NonAdminBackup
metadata:
  creationTimestamp: "2025-03-06T10:02:56Z"
  finalizers:
  - nonadminbackup.oadp.openshift.io/finalizer
  generation: 2
  name: test-nab
  namespace: test-nac-ns
  resourceVersion: "134316"
  uid: c5...4c8a8
spec:
  backupSpec:
    csiSnapshotTimeout: 0s
    defaultVolumesToFsBackup: true
    hooks: {}
    itemOperationTimeout: 0s
    metadata: {}
    storageLocation: test-bsl
    ttl: 0s
status:
  conditions:
  - lastTransitionTime: "202...56Z"
    message: backup accepted
    reason: BackupAccepted
    status: "True"
    type: Accepted
  - lastTransitionTime: "202..T10:02:56Z"
    message: Created Velero Backup object
    reason: BackupScheduled
    status: "True"
    type: Queued
  dataMoverDataUploads: {}
  fileSystemPodVolumeBackups:
    completed: 2
    total: 2
  phase: Created
  queueInfo:
    estimatedQueuePosition: 0
  veleroBackup:
    nacuuid: test-nac-test-nab-d2...a9b14
    name: test-nac-test-nab-d2...b14
    namespace: openshift-adp
    spec:
      csiSnapshotTimeout: 10m0s
      defaultVolumesToFsBackup: true
      excludedResources:
      - nonadminbackups
      - nonadminrestores
      - nonadminbackupstoragelocations
      - securitycontextconstraints
      - clusterroles
      - clusterrolebindings
      - priorityclasses
      - customresourcedefinitions
      - virtualmachineclusterinstancetypes
      - virtualmachineclusterpreferences
      hooks: {}
      includedNamespaces:
      - test-nac-ns
      itemOperationTimeout: 4h0m0s
      metadata: {}
      snapshotMoveData: false
      storageLocation: test-nac-test-bsl-bf..02b70a
      ttl: 720h0m0s
    status:
      completionTimestamp: "2025-0..3:13Z"
      expiration: "2025..2:56Z"
      formatVersion: 1.1.0
      hookStatus: {}
      phase: Completed
      progress:
        itemsBackedUp: 46
        totalItems: 46
      startTimestamp: "2025-..56Z"
      version: 1
      warnings: 1
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> NonAdminBackup
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">creationTimestamp</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2025-03-06T10:02:56Z"</span></span>
  <span class="token key atrule"><span class="token key atrule">finalizers</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> nonadminbackup.oadp.openshift.io/finalizer
  <span class="token key atrule"><span class="token key atrule">generation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">2</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nab
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nac<span class="token punctuation"><span class="token punctuation">-</span></span>ns </code></pre><rh-badge id="CO176-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">resourceVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"134316"</span></span>
  <span class="token key atrule"><span class="token key atrule">uid</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> c5<span class="token punctuation"><span class="token punctuation">...</span></span>4c8a8
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupSpec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">csiSnapshotTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 0s
    <span class="token key atrule"><span class="token key atrule">defaultVolumesToFsBackup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
    <span class="token key atrule"><span class="token key atrule">hooks</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token punctuation"><span class="token punctuation">{</span></span><span class="token punctuation"><span class="token punctuation">}</span></span>
    <span class="token key atrule"><span class="token key atrule">itemOperationTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 0s
    <span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token punctuation"><span class="token punctuation">{</span></span><span class="token punctuation"><span class="token punctuation">}</span></span>
    <span class="token key atrule"><span class="token key atrule">storageLocation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>bsl
    <span class="token key atrule"><span class="token key atrule">ttl</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 0s
<span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">conditions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">lastTransitionTime</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"202...56Z"</span></span>
    <span class="token key atrule"><span class="token key atrule">message</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> backup accepted </code></pre><rh-badge id="CO176-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">reason</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> BackupAccepted
    <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"True"</span></span>
    <span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Accepted
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">lastTransitionTime</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"202..T10:02:56Z"</span></span>
    <span class="token key atrule"><span class="token key atrule">message</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Created Velero Backup object
    <span class="token key atrule"><span class="token key atrule">reason</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> BackupScheduled
    <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"True"</span></span>
    <span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Queued
  <span class="token key atrule"><span class="token key atrule">dataMoverDataUploads</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token punctuation"><span class="token punctuation">{</span></span><span class="token punctuation"><span class="token punctuation">}</span></span>
  <span class="token key atrule"><span class="token key atrule">fileSystemPodVolumeBackups</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO176-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">completed</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">2</span></span>
    <span class="token key atrule"><span class="token key atrule">total</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">2</span></span>
  <span class="token key atrule"><span class="token key atrule">phase</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Created </code></pre><rh-badge id="CO176-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">queueInfo</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">estimatedQueuePosition</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">0</span></span> </code></pre><rh-badge id="CO176-5" state="info">5</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">veleroBackup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nacuuid</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nac<span class="token punctuation"><span class="token punctuation">-</span></span>test<span class="token punctuation"><span class="token punctuation">-</span></span>nab<span class="token punctuation"><span class="token punctuation">-</span></span>d2<span class="token punctuation"><span class="token punctuation">...</span></span>a9b14 </code></pre><rh-badge id="CO176-6" state="info">6</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nac<span class="token punctuation"><span class="token punctuation">-</span></span>test<span class="token punctuation"><span class="token punctuation">-</span></span>nab<span class="token punctuation"><span class="token punctuation">-</span></span>d2<span class="token punctuation"><span class="token punctuation">...</span></span>b14 </code></pre><rh-badge id="CO176-7" state="info">7</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
    <span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">csiSnapshotTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 10m0s
      <span class="token key atrule"><span class="token key atrule">defaultVolumesToFsBackup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">excludedResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> nonadminbackups
      <span class="token punctuation"><span class="token punctuation">-</span></span> nonadminrestores
      <span class="token punctuation"><span class="token punctuation">-</span></span> nonadminbackupstoragelocations
      <span class="token punctuation"><span class="token punctuation">-</span></span> securitycontextconstraints
      <span class="token punctuation"><span class="token punctuation">-</span></span> clusterroles
      <span class="token punctuation"><span class="token punctuation">-</span></span> clusterrolebindings
      <span class="token punctuation"><span class="token punctuation">-</span></span> priorityclasses
      <span class="token punctuation"><span class="token punctuation">-</span></span> customresourcedefinitions
      <span class="token punctuation"><span class="token punctuation">-</span></span> virtualmachineclusterinstancetypes
      <span class="token punctuation"><span class="token punctuation">-</span></span> virtualmachineclusterpreferences
      <span class="token key atrule"><span class="token key atrule">hooks</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token punctuation"><span class="token punctuation">{</span></span><span class="token punctuation"><span class="token punctuation">}</span></span>
      <span class="token key atrule"><span class="token key atrule">includedNamespaces</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nac<span class="token punctuation"><span class="token punctuation">-</span></span>ns
      <span class="token key atrule"><span class="token key atrule">itemOperationTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 4h0m0s
      <span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token punctuation"><span class="token punctuation">{</span></span><span class="token punctuation"><span class="token punctuation">}</span></span>
      <span class="token key atrule"><span class="token key atrule">snapshotMoveData</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span>
      <span class="token key atrule"><span class="token key atrule">storageLocation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nac<span class="token punctuation"><span class="token punctuation">-</span></span>test<span class="token punctuation"><span class="token punctuation">-</span></span>bsl<span class="token punctuation"><span class="token punctuation">-</span></span>bf..02b70a
      <span class="token key atrule"><span class="token key atrule">ttl</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 720h0m0s
    <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO176-8" state="info">8</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">completionTimestamp</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2025-0..3:13Z"</span></span>
      <span class="token key atrule"><span class="token key atrule">expiration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2025..2:56Z"</span></span>
      <span class="token key atrule"><span class="token key atrule">formatVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 1.1.0
      <span class="token key atrule"><span class="token key atrule">hookStatus</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token punctuation"><span class="token punctuation">{</span></span><span class="token punctuation"><span class="token punctuation">}</span></span>
      <span class="token key atrule"><span class="token key atrule">phase</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Completed </code></pre><rh-badge id="CO176-9" state="info">9</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">progress</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">itemsBackedUp</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">46</span></span>
        <span class="token key atrule"><span class="token key atrule">totalItems</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">46</span></span>
      <span class="token key atrule"><span class="token key atrule">startTimestamp</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2025-..56Z"</span></span>
      <span class="token key atrule"><span class="token key atrule">version</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">1</span></span>
      <span class="token key atrule"><span class="token key atrule">warnings</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">1</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: NonAdminRestore
metadata:
  name: test-nar
spec:
  restoreSpec:
    backupName: test-nab 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> NonAdminRestore
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nar </code></pre><rh-badge id="CO177-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">restoreSpec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">backupName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nab </code></pre><rh-badge id="CO177-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>nar_cr_filename<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO178-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get nar test-nar <span class="token parameter variable">-o</span> yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: NonAdminRestore
metadata:
  creationTimestamp: "2025-..:15Z"
  finalizers:
  - nonadminrestore.oadp.openshift.io/finalizer
  generation: 2
  name: test-nar
  namespace: test-nac-ns
  resourceVersion: "156517"
  uid: f9f5...63ef34
spec:
  restoreSpec:
    backupName: test-nab
    hooks: {}
    itemOperationTimeout: 0s
status:
  conditions:
  - lastTransitionTime: "2025..15Z"
    message: restore accepted
    reason: RestoreAccepted
    status: "True"
    type: Accepted
  - lastTransitionTime: "2025-03-06T11:22:15Z"
    message: Created Velero Restore object
    reason: RestoreScheduled
    status: "True"
    type: Queued
  dataMoverDataDownloads: {}
  fileSystemPodVolumeRestores:
    completed: 2
    total: 2
  phase: Created
  queueInfo:
    estimatedQueuePosition: 0
  veleroRestore:
    nacuuid: test-nac-test-nar-c...1ba
    name: test-nac-test-nar-c7...1ba
    namespace: openshift-adp
    status:
      completionTimestamp: "2025...22:44Z"
      hookStatus: {}
      phase: Completed
      progress:
        itemsRestored: 28
        totalItems: 28
      startTimestamp: "2025..15Z"
      warnings: 7
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> NonAdminRestore
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">creationTimestamp</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2025-..:15Z"</span></span>
  <span class="token key atrule"><span class="token key atrule">finalizers</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> nonadminrestore.oadp.openshift.io/finalizer
  <span class="token key atrule"><span class="token key atrule">generation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">2</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nar
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nac<span class="token punctuation"><span class="token punctuation">-</span></span>ns
  <span class="token key atrule"><span class="token key atrule">resourceVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"156517"</span></span>
  <span class="token key atrule"><span class="token key atrule">uid</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> f9f5<span class="token punctuation"><span class="token punctuation">...</span></span>63ef34
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">restoreSpec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">backupName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nab
    <span class="token key atrule"><span class="token key atrule">hooks</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token punctuation"><span class="token punctuation">{</span></span><span class="token punctuation"><span class="token punctuation">}</span></span>
    <span class="token key atrule"><span class="token key atrule">itemOperationTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 0s
<span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">conditions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">lastTransitionTime</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2025..15Z"</span></span>
    <span class="token key atrule"><span class="token key atrule">message</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> restore accepted </code></pre><rh-badge id="CO179-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">reason</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> RestoreAccepted
    <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"True"</span></span>
    <span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Accepted
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">lastTransitionTime</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2025-03-06T11:22:15Z"</span></span>
    <span class="token key atrule"><span class="token key atrule">message</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Created Velero Restore object
    <span class="token key atrule"><span class="token key atrule">reason</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> RestoreScheduled
    <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"True"</span></span>
    <span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Queued
  <span class="token key atrule"><span class="token key atrule">dataMoverDataDownloads</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token punctuation"><span class="token punctuation">{</span></span><span class="token punctuation"><span class="token punctuation">}</span></span>
  <span class="token key atrule"><span class="token key atrule">fileSystemPodVolumeRestores</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO179-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">completed</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">2</span></span>
    <span class="token key atrule"><span class="token key atrule">total</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">2</span></span>
  <span class="token key atrule"><span class="token key atrule">phase</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Created </code></pre><rh-badge id="CO179-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">queueInfo</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">estimatedQueuePosition</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">0</span></span> </code></pre><rh-badge id="CO179-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">veleroRestore</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nacuuid</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nac<span class="token punctuation"><span class="token punctuation">-</span></span>test<span class="token punctuation"><span class="token punctuation">-</span></span>nar<span class="token punctuation"><span class="token punctuation">-</span></span>c<span class="token punctuation"><span class="token punctuation">...</span></span>1ba </code></pre><rh-badge id="CO179-5" state="info">5</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nac<span class="token punctuation"><span class="token punctuation">-</span></span>test<span class="token punctuation"><span class="token punctuation">-</span></span>nar<span class="token punctuation"><span class="token punctuation">-</span></span>c7<span class="token punctuation"><span class="token punctuation">...</span></span>1ba </code></pre><rh-badge id="CO179-6" state="info">6</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
    <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">completionTimestamp</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2025...22:44Z"</span></span>
      <span class="token key atrule"><span class="token key atrule">hookStatus</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token punctuation"><span class="token punctuation">{</span></span><span class="token punctuation"><span class="token punctuation">}</span></span>
      <span class="token key atrule"><span class="token key atrule">phase</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Completed </code></pre><rh-badge id="CO179-7" state="info">7</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">progress</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">itemsRestored</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">28</span></span>
        <span class="token key atrule"><span class="token key atrule">totalItems</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">28</span></span>
      <span class="token key atrule"><span class="token key atrule">startTimestamp</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2025..15Z"</span></span>
      <span class="token key atrule"><span class="token key atrule">warnings</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">7</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: NonAdminDownloadRequest
metadata:
  name: test-nadr-backup
spec:
  target:
    kind: BackupLog
    name: test-nab 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> NonAdminDownloadRequest
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nadr<span class="token punctuation"><span class="token punctuation">-</span></span>backup
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">target</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> BackupLog </code></pre><rh-badge id="CO180-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nab </code></pre><rh-badge id="CO180-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get nadr test-nadr-backup <span class="token parameter variable">-o</span> yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: NonAdminDownloadRequest
metadata:
  creationTimestamp: "2025-03-06T10:05:22Z"
  generation: 1
  name: test-nadr-backup
  namespace: test-nac-ns
  resourceVersion: "134866"
  uid: 520...8d9
spec:
  target:
    kind: BackupLog
    name: test-nab
status:
  conditions:
  - lastTransitionTime: "202...5:22Z"
    message: ""
    reason: Success
    status: "True"
    type: Processed
  phase: Created
  velero:
    status:
      downloadURL: https://...
      expiration: "202...22Z"
      phase: Processed 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> NonAdminDownloadRequest
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">creationTimestamp</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2025-03-06T10:05:22Z"</span></span>
  <span class="token key atrule"><span class="token key atrule">generation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">1</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nadr<span class="token punctuation"><span class="token punctuation">-</span></span>backup
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nac<span class="token punctuation"><span class="token punctuation">-</span></span>ns
  <span class="token key atrule"><span class="token key atrule">resourceVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"134866"</span></span>
  <span class="token key atrule"><span class="token key atrule">uid</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 520<span class="token punctuation"><span class="token punctuation">...</span></span>8d9
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">target</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> BackupLog
    <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nab
<span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">conditions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">lastTransitionTime</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"202...5:22Z"</span></span>
    <span class="token key atrule"><span class="token key atrule">message</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">""</span></span>
    <span class="token key atrule"><span class="token key atrule">reason</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Success
    <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"True"</span></span>
    <span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Processed
  <span class="token key atrule"><span class="token key atrule">phase</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Created
  <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">downloadURL</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> https<span class="token punctuation"><span class="token punctuation">:</span></span>//<span class="token punctuation"><span class="token punctuation">...</span></span> </code></pre><rh-badge id="CO181-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">expiration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"202...22Z"</span></span>
      <span class="token key atrule"><span class="token key atrule">phase</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Processed </code></pre><rh-badge id="CO181-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: NonAdminDownloadRequest
metadata:
  name: test-nadr-restore
spec:
  target:
    kind: RestoreLog
    name: test-nar 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> NonAdminDownloadRequest
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nadr<span class="token punctuation"><span class="token punctuation">-</span></span>restore
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">target</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> RestoreLog </code></pre><rh-badge id="CO182-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nar </code></pre><rh-badge id="CO182-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get nadr test-nadr-restore <span class="token parameter variable">-o</span> yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: NonAdminDownloadRequest
metadata:
  creationTimestamp: "2025-03-06T11:26:01Z"
  generation: 1
  name: test-nadr-restore
  namespace: test-nac-ns
  resourceVersion: "157842"
  uid: f3e...7862f
spec:
  target:
    kind: RestoreLog
    name: test-nar
status:
  conditions:
  - lastTransitionTime: "202..:01Z"
    message: ""
    reason: Success
    status: "True"
    type: Processed
  phase: Created
  velero:
    status:
      downloadURL: https://...
      expiration: "202..:01Z"
      phase: Processed 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> NonAdminDownloadRequest
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">creationTimestamp</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2025-03-06T11:26:01Z"</span></span>
  <span class="token key atrule"><span class="token key atrule">generation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">1</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nadr<span class="token punctuation"><span class="token punctuation">-</span></span>restore
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nac<span class="token punctuation"><span class="token punctuation">-</span></span>ns
  <span class="token key atrule"><span class="token key atrule">resourceVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"157842"</span></span>
  <span class="token key atrule"><span class="token key atrule">uid</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> f3e<span class="token punctuation"><span class="token punctuation">...</span></span>7862f
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">target</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> RestoreLog
    <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nar
<span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">conditions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">lastTransitionTime</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"202..:01Z"</span></span>
    <span class="token key atrule"><span class="token key atrule">message</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">""</span></span>
    <span class="token key atrule"><span class="token key atrule">reason</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Success
    <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"True"</span></span>
    <span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Processed
  <span class="token key atrule"><span class="token key atrule">phase</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Created
  <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">downloadURL</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> https<span class="token punctuation"><span class="token punctuation">:</span></span>//<span class="token punctuation"><span class="token punctuation">...</span></span> </code></pre><rh-badge id="CO183-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">expiration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"202..:01Z"</span></span>
      <span class="token key atrule"><span class="token key atrule">phase</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Processed </code></pre><rh-badge id="CO183-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" actions="copy">

<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">NonAdminBackupStorageLocation not found in the namespace: NonAdminBackupStorageLocation.oadp.openshift.io</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: NonAdminBackup
...
status:
  conditions:
  - lastTransitionTime: "2025-02-20T10:13:00Z"
  message: 'NonAdminBackupStorageLocation not found in the namespace: NonAdminBackupStorageLocation.oadp.openshift.io
    "nabsl2" not found'
  reason: InvalidBackupSpec
  status: "False"
  type: Accepted
  phase: BackingOff
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> NonAdminBackup
<span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">conditions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">lastTransitionTime</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2025-02-20T10:13:00Z"</span></span>
  <span class="token key atrule"><span class="token key atrule">message</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 'NonAdminBackupStorageLocation not found in the namespace<span class="token punctuation"><span class="token punctuation">:</span></span> NonAdminBackupStorageLocation.oadp.openshift.io
    "nabsl2" not found'
  <span class="token key atrule"><span class="token key atrule">reason</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> InvalidBackupSpec
  <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"False"</span></span>
  <span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Accepted
  <span class="token key atrule"><span class="token key atrule">phase</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> BackingOff</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: NonAdminBackupStorageLocation
metadata:
  creationTimestamp: "20...:03Z"
  generation: 1
  name: nabsl1
  namespace: test-nac-1
  resourceVersion: "11...9"
  uid: 8d2fc....c9b6c4401
spec:
  backupStorageLocationSpec:
    credential:
      key: cloud
      name: cloud-credentials-gcp
    default: true
    objectStorage:
      bucket: oad..7l8
      prefix: velero
    provider: gcp
status:
  conditions:
  - lastTransitionTime: "20...:27:03Z"
    message: NonAdminBackupStorageLocation cannot be used as a default BSL
    reason: BslSpecValidation
    status: "False"
    type: Accepted
  phase: BackingOff
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> NonAdminBackupStorageLocation
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">creationTimestamp</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"20...:03Z"</span></span>
  <span class="token key atrule"><span class="token key atrule">generation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">1</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> nabsl1
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>nac<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">1</span></span>
  <span class="token key atrule"><span class="token key atrule">resourceVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"11...9"</span></span>
  <span class="token key atrule"><span class="token key atrule">uid</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 8d2fc<span class="token punctuation"><span class="token punctuation">...</span></span>.c9b6c4401
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupStorageLocationSpec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
      <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials<span class="token punctuation"><span class="token punctuation">-</span></span>gcp
    <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO184-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oad..7l8
      <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
    <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> gcp
<span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">conditions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">lastTransitionTime</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"20...:27:03Z"</span></span>
    <span class="token key atrule"><span class="token key atrule">message</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> NonAdminBackupStorageLocation cannot be used as a default BSL </code></pre><rh-badge id="CO184-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">reason</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> BslSpecValidation
    <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"False"</span></span>
    <span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Accepted
  <span class="token key atrule"><span class="token key atrule">phase</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> BackingOff</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token builtin class-name">export</span> <span class="token assign-left variable">CLUSTER_NAME</span><span class="token operator">=</span>my-cluster </span></span></code></pre><rh-badge id="CO185-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">  export ROSA_CLUSTER_ID=$(rosa describe cluster -c ${CLUSTER_NAME} --output json | jq -r .id)
  export REGION=$(rosa describe cluster -c ${CLUSTER_NAME} --output json | jq -r .region.id)
  export OIDC_ENDPOINT=$(oc get authentication.config.openshift.io cluster -o jsonpath='{.spec.serviceAccountIssuer}' | sed 's|^https://||')
  export AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text)
  export CLUSTER_VERSION=$(rosa describe cluster -c ${CLUSTER_NAME} -o json | jq -r .version.raw_id | cut -f -2 -d '.')
  export ROLE_NAME="${CLUSTER_NAME}-openshift-oadp-aws-cloud-credentials"
  export SCRATCH="/tmp/${CLUSTER_NAME}/oadp"
  mkdir -p ${SCRATCH}
  echo "Cluster ID: ${ROSA_CLUSTER_ID}, Region: ${REGION}, OIDC Endpoint:
  ${OIDC_ENDPOINT}, AWS Account ID: ${AWS_ACCOUNT_ID}"</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token assign-left variable">POLICY_ARN</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span>aws iam list-policies <span class="token parameter variable">--query</span> <span class="token string">"Policies[?PolicyName=='RosaOadpVer1'].{ARN:Arn}"</span> <span class="token parameter variable">--output</span> text<span class="token variable">)</span></span> </span></span></code></pre><rh-badge id="CO186-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token keyword">if</span> <span class="token punctuation">[</span><span class="token punctuation">[</span> <span class="token parameter variable">-z</span> <span class="token string">"<span class="token variable">${POLICY_ARN}</span>"</span> <span class="token punctuation">]</span><span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token keyword">then</span></span></span>
<span class="token output">  cat &lt;&lt; EOF &gt; ${SCRATCH}/policy.json </span></code></pre><rh-badge id="CO187-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">  {
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:CreateBucket",
        "s3:DeleteBucket",
        "s3:PutBucketTagging",
        "s3:GetBucketTagging",
        "s3:PutEncryptionConfiguration",
        "s3:GetEncryptionConfiguration",
        "s3:PutLifecycleConfiguration",
        "s3:GetLifecycleConfiguration",
        "s3:GetBucketLocation",
        "s3:ListBucket",
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject",
        "s3:ListBucketMultipartUploads",
        "s3:AbortMultipartUpload",
        "s3:ListMultipartUploadParts",
        "ec2:DescribeSnapshots",
        "ec2:DescribeVolumes",
        "ec2:DescribeVolumeAttribute",
        "ec2:DescribeVolumesModifications",
        "ec2:DescribeVolumeStatus",
        "ec2:CreateTags",
        "ec2:CreateVolume",
        "ec2:CreateSnapshot",
        "ec2:DeleteSnapshot"
      ],
      "Resource": "*"
    }
  ]}
EOF

  POLICY_ARN=$(aws iam create-policy --policy-name "RosaOadpVer1" \
  --policy-document file:///${SCRATCH}/policy.json --query Policy.Arn \
  --tags Key=rosa_openshift_version,Value=${CLUSTER_VERSION} Key=rosa_role_prefix,Value=ManagedOpenShift Key=operator_namespace,Value=openshift-oadp Key=operator_name,Value=openshift-oadp \
  --output text)
  fi</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token builtin class-name">echo</span> <span class="token variable">${POLICY_ARN}</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  {
      "Version": "2012-10-17",
      "Statement": [{
        "Effect": "Allow",
        "Principal": {
"Federated": "arn:aws:iam::${AWS_ACCOUNT_ID}:oidc-provider/${OIDC_ENDPOINT}"
        },
        "Action": "sts:AssumeRoleWithWebIdentity",
        "Condition": {
"StringEquals": {
  "${OIDC_ENDPOINT}:sub": [
    "system:serviceaccount:openshift-adp:openshift-adp-controller-manager",
    "system:serviceaccount:openshift-adp:velero"]
}
        }
      }]
  }
EOF
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">cat</span> <span class="token operator">&lt;&lt;</span><span class="token string">EOF<span class="token bash punctuation"> <span class="token operator">&gt;</span> <span class="token variable">${SCRATCH}</span>/trust-policy.json</span>
  {
      "Version": "2012-10-17",
      "Statement": [{
        "Effect": "Allow",
        "Principal": {
"Federated": "arn:aws:iam::<span class="token variable">${AWS_ACCOUNT_ID}</span>:oidc-provider/<span class="token variable">${OIDC_ENDPOINT}</span>"
        },
        "Action": "sts:AssumeRoleWithWebIdentity",
        "Condition": {
"StringEquals": {
  "<span class="token variable">${OIDC_ENDPOINT}</span>:sub": [
    "system:serviceaccount:openshift-adp:openshift-adp-controller-manager",
    "system:serviceaccount:openshift-adp:velero"]
}
        }
      }]
  }
EOF</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  "${ROLE_NAME}" \
  --assume-role-policy-document file://${SCRATCH}/trust-policy.json \
  --tags Key=rosa_cluster_id,Value=${ROSA_CLUSTER_ID} \
         Key=rosa_openshift_version,Value=${CLUSTER_VERSION} \
         Key=rosa_role_prefix,Value=ManagedOpenShift \
         Key=operator_namespace,Value=openshift-adp \
         Key=operator_name,Value=openshift-oadp \
  --query Role.Arn --output text)
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token assign-left variable">ROLE_ARN</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span>aws iam create-role --role-name <span class="token punctuation">\</span>
  <span class="token string">"<span class="token variable">${ROLE_NAME}</span>"</span> <span class="token punctuation">\</span>
  --assume-role-policy-document file://$<span class="token punctuation">{</span>SCRATCH<span class="token punctuation">}</span>/trust-policy.json <span class="token punctuation">\</span>
  <span class="token parameter variable">--tags</span> <span class="token assign-left variable">Key</span><span class="token operator">=</span>rosa_cluster_id,Value<span class="token operator">=</span>$<span class="token punctuation">{</span>ROSA_CLUSTER_ID<span class="token punctuation">}</span> <span class="token punctuation">\</span>
         <span class="token assign-left variable">Key</span><span class="token operator">=</span>rosa_openshift_version,Value<span class="token operator">=</span>$<span class="token punctuation">{</span>CLUSTER_VERSION<span class="token punctuation">}</span> <span class="token punctuation">\</span>
         <span class="token assign-left variable">Key</span><span class="token operator">=</span>rosa_role_prefix,Value<span class="token operator">=</span>ManagedOpenShift <span class="token punctuation">\</span>
         <span class="token assign-left variable">Key</span><span class="token operator">=</span>operator_namespace,Value<span class="token operator">=</span>openshift-adp <span class="token punctuation">\</span>
         <span class="token assign-left variable">Key</span><span class="token operator">=</span>operator_name,Value<span class="token operator">=</span>openshift-oadp <span class="token punctuation">\</span>
  <span class="token parameter variable">--query</span> Role.Arn <span class="token parameter variable">--output</span> text<span class="token variable">)</span></span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token builtin class-name">echo</span> <span class="token variable">${ROLE_ARN}</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  --policy-arn ${POLICY_ARN}
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">aws iam attach-role-policy --role-name <span class="token string">"<span class="token variable">${ROLE_NAME}</span>"</span> <span class="token punctuation">\</span>
  --policy-arn <span class="token variable">${POLICY_ARN}</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  [default]
  role_arn = ${ROLE_ARN}
  web_identity_token_file = /var/run/secrets/openshift/serviceaccount/token
  region = &lt;aws_region&gt;
EOF
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">cat</span> </span></span><span class="token output">&lt;&lt;EOF &gt; ${SCRATCH}/credentials
  [default]
  role_arn = ${ROLE_ARN}
  web_identity_token_file = /var/run/secrets/openshift/serviceaccount/token
  region = &lt;aws_region&gt; </span></code></pre><rh-badge id="CO188-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">EOF</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create namespace openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  --from-file=${SCRATCH}/credentials
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp create secret generic cloud-credentials <span class="token punctuation">\</span>
  --from-file<span class="token operator">=</span><span class="token variable">${SCRATCH}</span>/credentials</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  apiVersion: oadp.openshift.io/v1alpha1
  kind: CloudStorage
  metadata:
    name: ${CLUSTER_NAME}-oadp
    namespace: openshift-adp
  spec:
    creationSecret:
      key: credentials
      name: cloud-credentials
    enableSharedConfig: true
    name: ${CLUSTER_NAME}-oadp
    provider: aws
    region: $REGION
EOF
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">cat</span> <span class="token operator">&lt;&lt;</span> <span class="token string">EOF<span class="token bash punctuation"> <span class="token operator">|</span> oc create <span class="token parameter variable">-f</span> -</span>
  apiVersion: oadp.openshift.io/v1alpha1
  kind: CloudStorage
  metadata:
    name: <span class="token variable">${CLUSTER_NAME}</span>-oadp
    namespace: openshift-adp
  spec:
    creationSecret:
      key: credentials
      name: cloud-credentials
    enableSharedConfig: true
    name: <span class="token variable">${CLUSTER_NAME}</span>-oadp
    provider: aws
    region: <span class="token variable">$REGION</span>
EOF</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get pvc <span class="token parameter variable">-n</span> <span class="token operator">&lt;</span>namespace<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

applog   Bound    pvc-351791ae-b6ab-4e8b-88a4-30f73caf5ef8   1Gi        RWO            gp3-csi        4d19h
mysql    Bound    pvc-16b8e009-a20a-4379-accc-bc81fedd0621   1Gi        RWO            gp3-csi        4d19h
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME     STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
applog   Bound    pvc-351791ae-b6ab-4e8b-88a4-30f73caf5ef8   1Gi        RWO            gp3-csi        4d19h
mysql    Bound    pvc-16b8e009-a20a-4379-accc-bc81fedd0621   1Gi        RWO            gp3-csi        4d19h</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get storageclass</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

gp2                 kubernetes.io/aws-ebs   Delete          WaitForFirstConsumer   true                   4d21h
gp2-csi             ebs.csi.aws.com         Delete          WaitForFirstConsumer   true                   4d21h
gp3                 ebs.csi.aws.com         Delete          WaitForFirstConsumer   true                   4d21h
gp3-csi (default)   ebs.csi.aws.com         Delete          WaitForFirstConsumer   true                   4d21h
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                PROVISIONER             RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
gp2                 kubernetes.io/aws-ebs   Delete          WaitForFirstConsumer   true                   4d21h
gp2-csi             ebs.csi.aws.com         Delete          WaitForFirstConsumer   true                   4d21h
gp3                 ebs.csi.aws.com         Delete          WaitForFirstConsumer   true                   4d21h
gp3-csi (default)   ebs.csi.aws.com         Delete          WaitForFirstConsumer   true                   4d21h</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  apiVersion: oadp.openshift.io/v1alpha1
  kind: DataProtectionApplication
  metadata:
    name: ${CLUSTER_NAME}-dpa
    namespace: openshift-adp
  spec:
    backupImages: true
    features:
      dataMover:
        enable: false
    backupLocations:
    - bucket:
        cloudStorageRef:
name: ${CLUSTER_NAME}-oadp
        credential:
key: credentials
name: cloud-credentials
        prefix: velero
        default: true
        config:
region: ${REGION}
    configuration:
      velero:
        defaultPlugins:
        - openshift
        - aws
        - csi
      nodeAgent:
        enable: false
        uploaderType: kopia
EOF
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">cat</span> </span></span><span class="token output">&lt;&lt; EOF | oc create -f -
  apiVersion: oadp.openshift.io/v1alpha1
  kind: DataProtectionApplication
  metadata:
    name: ${CLUSTER_NAME}-dpa
    namespace: openshift-adp
  spec:
    backupImages: true </span></code></pre><rh-badge id="CO189-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">    features:
      dataMover:
        enable: false
    backupLocations:
    - bucket:
        cloudStorageRef:
name: ${CLUSTER_NAME}-oadp
        credential:
key: credentials
name: cloud-credentials
        prefix: velero
        default: true
        config:
region: ${REGION}
    configuration:
      velero:
        defaultPlugins:
        - openshift
        - aws
        - csi
      nodeAgent:  </span></code></pre><rh-badge id="CO189-2" state="info">2</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">        enable: false
        uploaderType: kopia </span></code></pre><rh-badge id="CO189-3" state="info">3</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">EOF</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  apiVersion: oadp.openshift.io/v1alpha1
  kind: DataProtectionApplication
  metadata:
    name: ${CLUSTER_NAME}-dpa
    namespace: openshift-adp
  spec:
    backupImages: true
    backupLocations:
    - bucket:
        cloudStorageRef:
name: ${CLUSTER_NAME}-oadp
        credential:
key: credentials
name: cloud-credentials
        prefix: velero
        default: true
        config:
region: ${REGION}
    configuration:
      velero:
        defaultPlugins:
        - openshift
        - aws
      nodeAgent:
        enable: false
        uploaderType: restic
    snapshotLocations:
      - velero:
config:
  credentialsFile: /tmp/credentials/openshift-adp/cloud-credentials-credentials
  enableSharedConfig: "true"
  profile: default
  region: ${REGION}
provider: aws
EOF
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">cat</span> </span></span><span class="token output">&lt;&lt; EOF | oc create -f -
  apiVersion: oadp.openshift.io/v1alpha1
  kind: DataProtectionApplication
  metadata:
    name: ${CLUSTER_NAME}-dpa
    namespace: openshift-adp
  spec:
    backupImages: true </span></code></pre><rh-badge id="CO190-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">    backupLocations:
    - bucket:
        cloudStorageRef:
name: ${CLUSTER_NAME}-oadp
        credential:
key: credentials
name: cloud-credentials
        prefix: velero
        default: true
        config:
region: ${REGION}
    configuration:
      velero:
        defaultPlugins:
        - openshift
        - aws
      nodeAgent: </span></code></pre><rh-badge id="CO190-2" state="info">2</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">        enable: false
        uploaderType: restic
    snapshotLocations:
      - velero:
config:
  credentialsFile: /tmp/credentials/openshift-adp/cloud-credentials-credentials </span></code></pre><rh-badge id="CO190-3" state="info">3</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">            enableSharedConfig: "true" </span></code></pre><rh-badge id="CO190-4" state="info">4</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">            profile: default </span></code></pre><rh-badge id="CO190-5" state="info">5</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">            region: ${REGION} </span></code></pre><rh-badge id="CO190-6" state="info">6</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">          provider: aws
EOF</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  enable: false
  uploaderType: restic
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">nodeAgent:
  enable: false
  uploaderType: restic</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  enable: false
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">restic:
  enable: false</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get sub <span class="token parameter variable">-o</span> yaml redhat-oadp-operator</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Subscription
metadata:
  annotations:
  creationTimestamp: "2025-01-15T07:18:31Z"
  generation: 1
  labels:
    operators.coreos.com/redhat-oadp-operator.openshift-adp: ""
  name: redhat-oadp-operator
  namespace: openshift-adp
  resourceVersion: "77363"
  uid: 5ba00906-5ad2-4476-ae7b-ffa90986283d
spec:
  channel: stable-1.4
  config:
    env:
    - name: ROLEARN
      value: arn:aws:iam::11111111:role/wrong-role-arn
  installPlanApproval: Manual
  name: redhat-oadp-operator
  source: prestage-operators
  sourceNamespace: openshift-marketplace
  startingCSV: oadp-operator.v1.4.2
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> operators.coreos.com/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Subscription
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">annotations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">creationTimestamp</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2025-01-15T07:18:31Z"</span></span>
  <span class="token key atrule"><span class="token key atrule">generation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">1</span></span>
  <span class="token key atrule"><span class="token key atrule">labels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">operators.coreos.com/redhat-oadp-operator.openshift-adp</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">""</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> redhat<span class="token punctuation"><span class="token punctuation">-</span></span>oadp<span class="token punctuation"><span class="token punctuation">-</span></span>operator
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
  <span class="token key atrule"><span class="token key atrule">resourceVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"77363"</span></span>
  <span class="token key atrule"><span class="token key atrule">uid</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 5ba00906<span class="token punctuation"><span class="token punctuation">-</span></span>5ad2<span class="token punctuation"><span class="token punctuation">-</span></span>4476<span class="token punctuation"><span class="token punctuation">-</span></span>ae7b<span class="token punctuation"><span class="token punctuation">-</span></span>ffa90986283d
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">channel</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> stable<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">1.4</span></span>
  <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">env</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ROLEARN
      <span class="token key atrule"><span class="token key atrule">value</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> arn<span class="token punctuation"><span class="token punctuation">:</span></span>aws<span class="token punctuation"><span class="token punctuation">:</span></span>iam<span class="token punctuation"><span class="token punctuation">:</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>11111111<span class="token punctuation"><span class="token punctuation">:</span></span>role/wrong<span class="token punctuation"><span class="token punctuation">-</span></span>role<span class="token punctuation"><span class="token punctuation">-</span></span>arn </code></pre><rh-badge id="CO191-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">installPlanApproval</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Manual
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> redhat<span class="token punctuation"><span class="token punctuation">-</span></span>oadp<span class="token punctuation"><span class="token punctuation">-</span></span>operator
  <span class="token key atrule"><span class="token key atrule">source</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> prestage<span class="token punctuation"><span class="token punctuation">-</span></span>operators
  <span class="token key atrule"><span class="token key atrule">sourceNamespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>marketplace
  <span class="token key atrule"><span class="token key atrule">startingCSV</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp<span class="token punctuation"><span class="token punctuation">-</span></span>operator.v1.4.2</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc patch subscription redhat-oadp-operator <span class="token parameter variable">-p</span> <span class="token string">'{"spec": {"config": {"env": [{"name": "ROLEARN", "value": "&lt;role_arn&gt;"}]}}}'</span> <span class="token parameter variable">--type</span><span class="token operator">=</span><span class="token string">'merge'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get secret cloud-credentials <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.data.credentials}'</span> <span class="token operator">|</span> base64 <span class="token parameter variable">-d</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

sts_regional_endpoints = regional
role_arn = arn:aws:iam::160.....6956:role/oadprosa.....8wlf
web_identity_token_file = /var/run/secrets/openshift/serviceaccount/token
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">[default]
sts_regional_endpoints = regional
role_arn = arn:aws:iam::160.....6956:role/oadprosa.....8wlf
web_identity_token_file = /var/run/secrets/openshift/serviceaccount/token</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: test-rosa-dpa
  namespace: openshift-adp
spec:
  backupLocations:
  - bucket:
      config:
        region: us-east-1
      cloudStorageRef:
        name: &lt;cloud_storage&gt;
      credential:
        name: cloud-credentials
        key: credentials
      prefix: velero
      default: true
  configuration:
    velero:
      defaultPlugins:
      - aws
      - openshift
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>rosa<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> us<span class="token punctuation"><span class="token punctuation">-</span></span>east<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">1</span></span>
      <span class="token key atrule"><span class="token key atrule">cloudStorageRef</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;cloud_storage<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO192-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
        <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> credentials
      <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
      <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> aws
      <span class="token punctuation"><span class="token punctuation">-</span></span> openshift</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>dpa_manifest_file<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span>  <span class="token bash language-bash">oc get dpa <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-o</span> yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
...
status:
    conditions:
    - lastTransitionTime: "2023-07-31T04:48:12Z"
      message: Reconcile complete
      reason: Complete
      status: "True"
      type: Reconciled
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">conditions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">lastTransitionTime</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2023-07-31T04:48:12Z"</span></span>
      <span class="token key atrule"><span class="token key atrule">message</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Reconcile complete
      <span class="token key atrule"><span class="token key atrule">reason</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Complete
      <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"True"</span></span>
      <span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Reconciled</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get backupstoragelocations.velero.io <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

ts-dpa-1   Available   3s               6s    true
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME       PHASE       LAST VALIDATED   AGE   DEFAULT
ts-dpa-1   Available   3s               6s    true</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create namespace hello-world</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc new-app <span class="token parameter variable">-n</span> hello-world <span class="token parameter variable">--image</span><span class="token operator">=</span>docker.io/openshift/hello-openshift</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc expose service/hello-openshift <span class="token parameter variable">-n</span> hello-world</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">curl</span> <span class="token variable"><span class="token variable">`</span>oc get route/hello-openshift <span class="token parameter variable">-n</span> hello-world <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.spec.host}'</span><span class="token variable">`</span></span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">Hello OpenShift!</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  apiVersion: velero.io/v1
  kind: Backup
  metadata:
    name: hello-world
    namespace: openshift-adp
  spec:
    includedNamespaces:
    - hello-world
    storageLocation: ${CLUSTER_NAME}-dpa-1
    ttl: 720h0m0s
EOF
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">cat</span> <span class="token operator">&lt;&lt;</span> <span class="token string">EOF<span class="token bash punctuation"> <span class="token operator">|</span> oc create <span class="token parameter variable">-f</span> -</span>
  apiVersion: velero.io/v1
  kind: Backup
  metadata:
    name: hello-world
    namespace: openshift-adp
  spec:
    includedNamespaces:
    - hello-world
    storageLocation: <span class="token variable">${CLUSTER_NAME}</span>-dpa-1
    ttl: 720h0m0s
EOF</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">watch</span> <span class="token string">"oc -n openshift-adp get backup hello-world -o json | jq .status"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  "completionTimestamp": "2022-09-07T22:20:44Z",
  "expiration": "2022-10-07T22:20:22Z",
  "formatVersion": "1.1.0",
  "phase": "Completed",
  "progress": {
    "itemsBackedUp": 58,
    "totalItems": 58
  },
  "startTimestamp": "2022-09-07T22:20:22Z",
  "version": 1
}
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">{
  "completionTimestamp": "2022-09-07T22:20:44Z",
  "expiration": "2022-10-07T22:20:22Z",
  "formatVersion": "1.1.0",
  "phase": "Completed",
  "progress": {
    "itemsBackedUp": 58,
    "totalItems": 58
  },
  "startTimestamp": "2022-09-07T22:20:22Z",
  "version": 1
}</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete ns hello-world</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  apiVersion: velero.io/v1
  kind: Restore
  metadata:
    name: hello-world
    namespace: openshift-adp
  spec:
    backupName: hello-world
EOF
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">cat</span> <span class="token operator">&lt;&lt;</span> <span class="token string">EOF<span class="token bash punctuation"> <span class="token operator">|</span> oc create <span class="token parameter variable">-f</span> -</span>
  apiVersion: velero.io/v1
  kind: Restore
  metadata:
    name: hello-world
    namespace: openshift-adp
  spec:
    backupName: hello-world
EOF</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">watch</span> <span class="token string">"oc -n openshift-adp get restore hello-world -o json | jq .status"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  "completionTimestamp": "2022-09-07T22:25:47Z",
  "phase": "Completed",
  "progress": {
    "itemsRestored": 38,
    "totalItems": 38
  },
  "startTimestamp": "2022-09-07T22:25:28Z",
  "warnings": 9
}
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">{
  "completionTimestamp": "2022-09-07T22:25:47Z",
  "phase": "Completed",
  "progress": {
    "itemsRestored": 38,
    "totalItems": 38
  },
  "startTimestamp": "2022-09-07T22:25:28Z",
  "warnings": 9
}</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> hello-world get pods</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

hello-openshift-9f885f7c6-kdjpj   1/1     Running   0          90s
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                              READY   STATUS    RESTARTS   AGE
hello-openshift-9f885f7c6-kdjpj   1/1     Running   0          90s</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">curl</span> <span class="token variable"><span class="token variable">`</span>oc get route/hello-openshift <span class="token parameter variable">-n</span> hello-world <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.spec.host}'</span><span class="token variable">`</span></span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">Hello OpenShift!</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete ns hello-world</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp delete dpa <span class="token variable">${CLUSTER_NAME}</span>-dpa</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp delete cloudstorage <span class="token variable">${CLUSTER_NAME}</span>-oadp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp patch cloudstorage <span class="token variable">${CLUSTER_NAME}</span>-oadp <span class="token parameter variable">-p</span> <span class="token string">'{"metadata":{"finalizers":null}}'</span> <span class="token parameter variable">--type</span><span class="token operator">=</span>merge</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp delete subscription oadp-operator</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete ns openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete backups.velero.io hello-world</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero backup delete hello-world</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token keyword">for</span> <span class="token for-or-select variable">CRD</span> <span class="token keyword">in</span> <span class="token variable"><span class="token variable">`</span>oc get crds <span class="token operator">|</span> <span class="token function">grep</span> velero <span class="token operator">|</span> <span class="token function">awk</span> <span class="token string">'{print $1}'</span><span class="token variable">`</span></span><span class="token punctuation">;</span> <span class="token keyword">do</span> oc delete crd <span class="token variable">$CRD</span><span class="token punctuation">;</span> <span class="token keyword">done</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">aws s3 <span class="token function">rm</span> s3://<span class="token variable">${CLUSTER_NAME}</span>-oadp <span class="token parameter variable">--recursive</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">aws s3api delete-bucket <span class="token parameter variable">--bucket</span> <span class="token variable">${CLUSTER_NAME}</span>-oadp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">aws iam detach-role-policy --role-name <span class="token string">"<span class="token variable">${ROLE_NAME}</span>"</span>  --policy-arn <span class="token string">"<span class="token variable">${POLICY_ARN}</span>"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">aws iam delete-role --role-name <span class="token string">"<span class="token variable">${ROLE_NAME}</span>"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token builtin class-name">export</span> <span class="token assign-left variable">CLUSTER_NAME</span><span class="token operator">=</span> <span class="token operator">&lt;</span>AWS_cluster_name<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO193-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token builtin class-name">export</span> <span class="token assign-left variable">CLUSTER_VERSION</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span>oc get clusterversion version <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.status.desired.version}{"\n"}'</span><span class="token variable">)</span></span></span></span>

<span class="token output">export AWS_CLUSTER_ID=$(oc get clusterversion version -o jsonpath='{.spec.clusterID}{"\n"}')

export OIDC_ENDPOINT=$(oc get authentication.config.openshift.io cluster -o jsonpath='{.spec.serviceAccountIssuer}' | sed 's|^https://||')

export REGION=$(oc get infrastructures cluster -o jsonpath='{.status.platformStatus.aws.region}' --allow-missing-template-keys=false || echo us-east-2)

export AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text)

export ROLE_NAME="${CLUSTER_NAME}-openshift-oadp-aws-cloud-credentials"</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token builtin class-name">export</span> <span class="token assign-left variable">SCRATCH</span><span class="token operator">=</span><span class="token string">"/tmp/<span class="token variable">${CLUSTER_NAME}</span>/oadp"</span></span></span>
<span class="token output">mkdir -p ${SCRATCH}</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token builtin class-name">echo</span> <span class="token string">"Cluster ID: <span class="token variable">${AWS_CLUSTER_ID}</span>, Region: <span class="token variable">${REGION}</span>, OIDC Endpoint:
<span class="token variable">${OIDC_ENDPOINT}</span>, AWS Account ID: <span class="token variable">${AWS_ACCOUNT_ID}</span>"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token builtin class-name">export</span> <span class="token assign-left variable">POLICY_NAME</span><span class="token operator">=</span><span class="token string">"OadpVer1"</span> </span></span></code></pre><rh-badge id="CO194-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token assign-left variable">POLICY_ARN</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span>aws iam list-policies <span class="token parameter variable">--query</span> <span class="token string">"Policies[?PolicyName=='<span class="token variable">$POLICY_NAME</span>'].{ARN:Arn}"</span> <span class="token parameter variable">--output</span> text<span class="token variable">)</span></span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token keyword">if</span> <span class="token punctuation">[</span><span class="token punctuation">[</span> <span class="token parameter variable">-z</span> <span class="token string">"<span class="token variable">${POLICY_ARN}</span>"</span> <span class="token punctuation">]</span><span class="token punctuation">]</span><span class="token punctuation">;</span> <span class="token keyword">then</span></span></span>
<span class="token output">cat &lt;&lt; EOF &gt; ${SCRATCH}/policy.json
{
"Version": "2012-10-17",
"Statement": [
 {
   "Effect": "Allow",
   "Action": [
     "s3:CreateBucket",
     "s3:DeleteBucket",
     "s3:PutBucketTagging",
     "s3:GetBucketTagging",
     "s3:PutEncryptionConfiguration",
     "s3:GetEncryptionConfiguration",
     "s3:PutLifecycleConfiguration",
     "s3:GetLifecycleConfiguration",
     "s3:GetBucketLocation",
     "s3:ListBucket",
     "s3:GetObject",
     "s3:PutObject",
     "s3:DeleteObject",
     "s3:ListBucketMultipartUploads",
     "s3:AbortMultipartUpload",
     "s3:ListMultipartUploadParts",
     "ec2:DescribeSnapshots",
     "ec2:DescribeVolumes",
     "ec2:DescribeVolumeAttribute",
     "ec2:DescribeVolumesModifications",
     "ec2:DescribeVolumeStatus",
     "ec2:CreateTags",
     "ec2:CreateVolume",
     "ec2:CreateSnapshot",
     "ec2:DeleteSnapshot"
   ],
   "Resource": "*"
 }
]}
EOF

POLICY_ARN=$(aws iam create-policy --policy-name $POLICY_NAME \
--policy-document file:///${SCRATCH}/policy.json --query Policy.Arn \
--tags Key=openshift_version,Value=${CLUSTER_VERSION} Key=operator_namespace,Value=openshift-adp Key=operator_name,Value=oadp \
--output text) </span></code></pre><rh-badge id="CO195-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">fi</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token builtin class-name">echo</span> <span class="token variable">${POLICY_ARN}</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

{
    "Version": "2012-10-17",
    "Statement": [{
      "Effect": "Allow",
      "Principal": {
        "Federated": "arn:aws:iam::${AWS_ACCOUNT_ID}:oidc-provider/${OIDC_ENDPOINT}"
      },
      "Action": "sts:AssumeRoleWithWebIdentity",
      "Condition": {
        "StringEquals": {
"${OIDC_ENDPOINT}:sub": [
  "system:serviceaccount:openshift-adp:openshift-adp-controller-manager",
  "system:serviceaccount:openshift-adp:velero"]
        }
      }
    }]
}
EOF
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">cat</span> <span class="token operator">&lt;&lt;</span><span class="token string">EOF<span class="token bash punctuation"> <span class="token operator">&gt;</span> <span class="token variable">${SCRATCH}</span>/trust-policy.json</span>
{
    "Version": "2012-10-17",
    "Statement": [{
      "Effect": "Allow",
      "Principal": {
        "Federated": "arn:aws:iam::<span class="token variable">${AWS_ACCOUNT_ID}</span>:oidc-provider/<span class="token variable">${OIDC_ENDPOINT}</span>"
      },
      "Action": "sts:AssumeRoleWithWebIdentity",
      "Condition": {
        "StringEquals": {
"<span class="token variable">${OIDC_ENDPOINT}</span>:sub": [
  "system:serviceaccount:openshift-adp:openshift-adp-controller-manager",
  "system:serviceaccount:openshift-adp:velero"]
        }
      }
    }]
}
EOF</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  "${ROLE_NAME}" \
  --assume-role-policy-document file://${SCRATCH}/trust-policy.json \
  --tags Key=cluster_id,Value=${AWS_CLUSTER_ID}  Key=openshift_version,Value=${CLUSTER_VERSION} Key=operator_namespace,Value=openshift-adp Key=operator_name,Value=oadp --query Role.Arn --output text)
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token assign-left variable">ROLE_ARN</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span>aws iam create-role --role-name <span class="token punctuation">\</span>
  <span class="token string">"<span class="token variable">${ROLE_NAME}</span>"</span> <span class="token punctuation">\</span>
  --assume-role-policy-document file://$<span class="token punctuation">{</span>SCRATCH<span class="token punctuation">}</span>/trust-policy.json <span class="token punctuation">\</span>
  <span class="token parameter variable">--tags</span> <span class="token assign-left variable">Key</span><span class="token operator">=</span>cluster_id,Value<span class="token operator">=</span>$<span class="token punctuation">{</span>AWS_CLUSTER_ID<span class="token punctuation">}</span>  <span class="token assign-left variable">Key</span><span class="token operator">=</span>openshift_version,Value<span class="token operator">=</span>$<span class="token punctuation">{</span>CLUSTER_VERSION<span class="token punctuation">}</span> <span class="token assign-left variable">Key</span><span class="token operator">=</span>operator_namespace,Value<span class="token operator">=</span>openshift-adp <span class="token assign-left variable">Key</span><span class="token operator">=</span>operator_name,Value<span class="token operator">=</span>oadp <span class="token parameter variable">--query</span> Role.Arn <span class="token parameter variable">--output</span> text<span class="token variable">)</span></span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token builtin class-name">echo</span> <span class="token variable">${ROLE_ARN}</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">aws iam attach-role-policy --role-name <span class="token string">"<span class="token variable">${ROLE_NAME}</span>"</span> --policy-arn <span class="token variable">${POLICY_ARN}</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: &lt;dpa_sample&gt;
spec:
# ...
  configuration:
    velero:
      podConfig:
        nodeSelector: &lt;node_selector&gt;
        resourceAllocations:
limits:
  cpu: "1"
  memory: 1024Mi
requests:
  cpu: 200m
  memory: 256Mi
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_sample<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token comment"><span class="token comment"># ...</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">nodeSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;node_selector<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO196-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">resourceAllocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO196-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">limits</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">cpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"1"</span></span>
  <span class="token key atrule"><span class="token key atrule">memory</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 1024Mi
<span class="token key atrule"><span class="token key atrule">requests</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">cpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 200m
  <span class="token key atrule"><span class="token key atrule">memory</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 256Mi</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  [default]
  role_arn = ${ROLE_ARN}
  web_identity_token_file = /var/run/secrets/openshift/serviceaccount/token
  region = &lt;aws_region&gt;
EOF
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">cat</span> </span></span><span class="token output">&lt;&lt;EOF &gt; ${SCRATCH}/credentials
  [default]
  role_arn = ${ROLE_ARN}
  web_identity_token_file = /var/run/secrets/openshift/serviceaccount/token
  region = &lt;aws_region&gt; </span></code></pre><rh-badge id="CO197-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">EOF</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create namespace openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  --from-file=${SCRATCH}/credentials
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp create secret generic cloud-credentials <span class="token punctuation">\</span>
  --from-file<span class="token operator">=</span><span class="token variable">${SCRATCH}</span>/credentials</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  apiVersion: oadp.openshift.io/v1alpha1
  kind: CloudStorage
  metadata:
    name: ${CLUSTER_NAME}-oadp
    namespace: openshift-adp
  spec:
    creationSecret:
      key: credentials
      name: cloud-credentials
    enableSharedConfig: true
    name: ${CLUSTER_NAME}-oadp
    provider: aws
    region: $REGION
EOF
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">cat</span> <span class="token operator">&lt;&lt;</span> <span class="token string">EOF<span class="token bash punctuation"> <span class="token operator">|</span> oc create <span class="token parameter variable">-f</span> -</span>
  apiVersion: oadp.openshift.io/v1alpha1
  kind: CloudStorage
  metadata:
    name: <span class="token variable">${CLUSTER_NAME}</span>-oadp
    namespace: openshift-adp
  spec:
    creationSecret:
      key: credentials
      name: cloud-credentials
    enableSharedConfig: true
    name: <span class="token variable">${CLUSTER_NAME}</span>-oadp
    provider: aws
    region: <span class="token variable">$REGION</span>
EOF</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get pvc <span class="token parameter variable">-n</span> <span class="token operator">&lt;</span>namespace<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

applog   Bound    pvc-351791ae-b6ab-4e8b-88a4-30f73caf5ef8   1Gi        RWO            gp3-csi        4d19h
mysql    Bound    pvc-16b8e009-a20a-4379-accc-bc81fedd0621   1Gi        RWO            gp3-csi        4d19h
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME     STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
applog   Bound    pvc-351791ae-b6ab-4e8b-88a4-30f73caf5ef8   1Gi        RWO            gp3-csi        4d19h
mysql    Bound    pvc-16b8e009-a20a-4379-accc-bc81fedd0621   1Gi        RWO            gp3-csi        4d19h</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get storageclass</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

gp2                 kubernetes.io/aws-ebs   Delete          WaitForFirstConsumer   true                   4d21h
gp2-csi             ebs.csi.aws.com         Delete          WaitForFirstConsumer   true                   4d21h
gp3                 ebs.csi.aws.com         Delete          WaitForFirstConsumer   true                   4d21h
gp3-csi (default)   ebs.csi.aws.com         Delete          WaitForFirstConsumer   true                   4d21h
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                PROVISIONER             RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
gp2                 kubernetes.io/aws-ebs   Delete          WaitForFirstConsumer   true                   4d21h
gp2-csi             ebs.csi.aws.com         Delete          WaitForFirstConsumer   true                   4d21h
gp3                 ebs.csi.aws.com         Delete          WaitForFirstConsumer   true                   4d21h
gp3-csi (default)   ebs.csi.aws.com         Delete          WaitForFirstConsumer   true                   4d21h</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  apiVersion: oadp.openshift.io/v1alpha1
  kind: DataProtectionApplication
  metadata:
    name: ${CLUSTER_NAME}-dpa
    namespace: openshift-adp
  spec:
    backupImages: true
    features:
      dataMover:
        enable: false
    backupLocations:
    - bucket:
        cloudStorageRef:
name: ${CLUSTER_NAME}-oadp
        credential:
key: credentials
name: cloud-credentials
        prefix: velero
        default: true
        config:
region: ${REGION}
    configuration:
      velero:
        defaultPlugins:
        - openshift
        - aws
        - csi
      nodeAgent:
        enable: false
        uploaderType: kopia
EOF
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">cat</span> </span></span><span class="token output">&lt;&lt; EOF | oc create -f -
  apiVersion: oadp.openshift.io/v1alpha1
  kind: DataProtectionApplication
  metadata:
    name: ${CLUSTER_NAME}-dpa
    namespace: openshift-adp
  spec:
    backupImages: true </span></code></pre><rh-badge id="CO198-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">    features:
      dataMover:
        enable: false
    backupLocations:
    - bucket:
        cloudStorageRef:
name: ${CLUSTER_NAME}-oadp
        credential:
key: credentials
name: cloud-credentials
        prefix: velero
        default: true
        config:
region: ${REGION}
    configuration:
      velero:
        defaultPlugins:
        - openshift
        - aws
        - csi
      nodeAgent: </span></code></pre><rh-badge id="CO198-2" state="info">2</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">        enable: false
        uploaderType: kopia </span></code></pre><rh-badge id="CO198-3" state="info">3</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">EOF</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  apiVersion: oadp.openshift.io/v1alpha1
  kind: DataProtectionApplication
  metadata:
    name: ${CLUSTER_NAME}-dpa
    namespace: openshift-adp
  spec:
    backupImages: true
    features:
      dataMover:
         enable: false
    backupLocations:
    - bucket:
        cloudStorageRef:
name: ${CLUSTER_NAME}-oadp
        credential:
key: credentials
name: cloud-credentials
        prefix: velero
        default: true
        config:
region: ${REGION}
    configuration:
      velero:
        defaultPlugins:
        - openshift
        - aws
      nodeAgent:
        enable: false
        uploaderType: restic
    snapshotLocations:
      - velero:
config:
  credentialsFile: /tmp/credentials/openshift-adp/cloud-credentials-credentials
  enableSharedConfig: "true"
  profile: default
  region: ${REGION}
provider: aws
EOF
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">cat</span> </span></span><span class="token output">&lt;&lt; EOF | oc create -f -
  apiVersion: oadp.openshift.io/v1alpha1
  kind: DataProtectionApplication
  metadata:
    name: ${CLUSTER_NAME}-dpa
    namespace: openshift-adp
  spec:
    backupImages: true </span></code></pre><rh-badge id="CO199-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">    features:
      dataMover:
         enable: false
    backupLocations:
    - bucket:
        cloudStorageRef:
name: ${CLUSTER_NAME}-oadp
        credential:
key: credentials
name: cloud-credentials
        prefix: velero
        default: true
        config:
region: ${REGION}
    configuration:
      velero:
        defaultPlugins:
        - openshift
        - aws
      nodeAgent: </span></code></pre><rh-badge id="CO199-2" state="info">2</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">        enable: false
        uploaderType: restic
    snapshotLocations:
      - velero:
config:
  credentialsFile: /tmp/credentials/openshift-adp/cloud-credentials-credentials </span></code></pre><rh-badge id="CO199-3" state="info">3</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">            enableSharedConfig: "true" </span></code></pre><rh-badge id="CO199-4" state="info">4</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">            profile: default </span></code></pre><rh-badge id="CO199-5" state="info">5</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">            region: ${REGION} </span></code></pre><rh-badge id="CO199-6" state="info">6</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">          provider: aws
EOF</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  enable: false
  uploaderType: restic
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">nodeAgent:
  enable: false
  uploaderType: restic</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  enable: false
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">restic:
  enable: false</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create namespace hello-world</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc new-app <span class="token parameter variable">-n</span> hello-world <span class="token parameter variable">--image</span><span class="token operator">=</span>docker.io/openshift/hello-openshift</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc expose service/hello-openshift <span class="token parameter variable">-n</span> hello-world</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">curl</span> <span class="token variable"><span class="token variable">`</span>oc get route/hello-openshift <span class="token parameter variable">-n</span> hello-world <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.spec.host}'</span><span class="token variable">`</span></span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">Hello OpenShift!</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  apiVersion: velero.io/v1
  kind: Backup
  metadata:
    name: hello-world
    namespace: openshift-adp
  spec:
    includedNamespaces:
    - hello-world
    storageLocation: ${CLUSTER_NAME}-dpa-1
    ttl: 720h0m0s
EOF
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">cat</span> <span class="token operator">&lt;&lt;</span> <span class="token string">EOF<span class="token bash punctuation"> <span class="token operator">|</span> oc create <span class="token parameter variable">-f</span> -</span>
  apiVersion: velero.io/v1
  kind: Backup
  metadata:
    name: hello-world
    namespace: openshift-adp
  spec:
    includedNamespaces:
    - hello-world
    storageLocation: <span class="token variable">${CLUSTER_NAME}</span>-dpa-1
    ttl: 720h0m0s
EOF</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">watch</span> <span class="token string">"oc -n openshift-adp get backup hello-world -o json | jq .status"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  "completionTimestamp": "2022-09-07T22:20:44Z",
  "expiration": "2022-10-07T22:20:22Z",
  "formatVersion": "1.1.0",
  "phase": "Completed",
  "progress": {
    "itemsBackedUp": 58,
    "totalItems": 58
  },
  "startTimestamp": "2022-09-07T22:20:22Z",
  "version": 1
}
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">{
  "completionTimestamp": "2022-09-07T22:20:44Z",
  "expiration": "2022-10-07T22:20:22Z",
  "formatVersion": "1.1.0",
  "phase": "Completed",
  "progress": {
    "itemsBackedUp": 58,
    "totalItems": 58
  },
  "startTimestamp": "2022-09-07T22:20:22Z",
  "version": 1
}</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete ns hello-world</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  apiVersion: velero.io/v1
  kind: Restore
  metadata:
    name: hello-world
    namespace: openshift-adp
  spec:
    backupName: hello-world
EOF
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">cat</span> <span class="token operator">&lt;&lt;</span> <span class="token string">EOF<span class="token bash punctuation"> <span class="token operator">|</span> oc create <span class="token parameter variable">-f</span> -</span>
  apiVersion: velero.io/v1
  kind: Restore
  metadata:
    name: hello-world
    namespace: openshift-adp
  spec:
    backupName: hello-world
EOF</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">watch</span> <span class="token string">"oc -n openshift-adp get restore hello-world -o json | jq .status"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  "completionTimestamp": "2022-09-07T22:25:47Z",
  "phase": "Completed",
  "progress": {
    "itemsRestored": 38,
    "totalItems": 38
  },
  "startTimestamp": "2022-09-07T22:25:28Z",
  "warnings": 9
}
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">{
  "completionTimestamp": "2022-09-07T22:25:47Z",
  "phase": "Completed",
  "progress": {
    "itemsRestored": 38,
    "totalItems": 38
  },
  "startTimestamp": "2022-09-07T22:25:28Z",
  "warnings": 9
}</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> hello-world get pods</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

hello-openshift-9f885f7c6-kdjpj   1/1     Running   0          90s
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                              READY   STATUS    RESTARTS   AGE
hello-openshift-9f885f7c6-kdjpj   1/1     Running   0          90s</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">curl</span> <span class="token variable"><span class="token variable">`</span>oc get route/hello-openshift <span class="token parameter variable">-n</span> hello-world <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{.spec.host}'</span><span class="token variable">`</span></span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">Hello OpenShift!</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete ns hello-world</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp delete dpa <span class="token variable">${CLUSTER_NAME}</span>-dpa</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp delete cloudstorage <span class="token variable">${CLUSTER_NAME}</span>-oadp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp patch cloudstorage <span class="token variable">${CLUSTER_NAME}</span>-oadp <span class="token parameter variable">-p</span> <span class="token string">'{"metadata":{"finalizers":null}}'</span> <span class="token parameter variable">--type</span><span class="token operator">=</span>merge</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp delete subscription oadp-operator</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete ns openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete backups.velero.io hello-world</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero backup delete hello-world</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token keyword">for</span> <span class="token for-or-select variable">CRD</span> <span class="token keyword">in</span> <span class="token variable"><span class="token variable">`</span>oc get crds <span class="token operator">|</span> <span class="token function">grep</span> velero <span class="token operator">|</span> <span class="token function">awk</span> <span class="token string">'{print $1}'</span><span class="token variable">`</span></span><span class="token punctuation">;</span> <span class="token keyword">do</span> oc delete crd <span class="token variable">$CRD</span><span class="token punctuation">;</span> <span class="token keyword">done</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">aws s3 <span class="token function">rm</span> s3://<span class="token variable">${CLUSTER_NAME}</span>-oadp <span class="token parameter variable">--recursive</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">aws s3api delete-bucket <span class="token parameter variable">--bucket</span> <span class="token variable">${CLUSTER_NAME}</span>-oadp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">aws iam detach-role-policy --role-name <span class="token string">"<span class="token variable">${ROLE_NAME}</span>"</span>  --policy-arn <span class="token string">"<span class="token variable">${POLICY_ARN}</span>"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">aws iam delete-role --role-name <span class="token string">"<span class="token variable">${ROLE_NAME}</span>"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: dpa-sample
  namespace: openshift-adp
spec:
  configuration:
    velero:
      defaultPlugins:
        - openshift
        - aws
        - csi
      resourceTimeout: 10m
    nodeAgent:
      enable: true
      uploaderType: kopia
  backupLocations:
    - name: default
      velero:
        provider: aws
        default: true
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: &lt;prefix&gt;
        config:
region: &lt;region&gt;
profile: "default"
s3ForcePathStyle: "true"
s3Url: &lt;s3_url&gt;
        credential:
key: cloud
name: cloud-credentials
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> dpa<span class="token punctuation"><span class="token punctuation">-</span></span>sample
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
        <span class="token punctuation"><span class="token punctuation">-</span></span> aws
        <span class="token punctuation"><span class="token punctuation">-</span></span> csi
      <span class="token key atrule"><span class="token key atrule">resourceTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 10m
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
      <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO200-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;prefix<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO200-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;region<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO200-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
<span class="token key atrule"><span class="token key atrule">s3ForcePathStyle</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
<span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;s3_url<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO200-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create <span class="token parameter variable">-f</span> dpa.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Backup
metadata:
  name: operator-install-backup
  namespace: openshift-adp
spec:
  csiSnapshotTimeout: 10m0s
  defaultVolumesToFsBackup: false
  includedNamespaces:
  - threescale
  includedResources:
  - operatorgroups
  - subscriptions
  - namespaces
  itemOperationTimeout: 1h0m0s
  snapshotMoveData: false
  ttl: 720h0m0s
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Backup
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> operator<span class="token punctuation"><span class="token punctuation">-</span></span>install<span class="token punctuation"><span class="token punctuation">-</span></span>backup </code></pre><rh-badge id="CO201-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">csiSnapshotTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 10m0s
  <span class="token key atrule"><span class="token key atrule">defaultVolumesToFsBackup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span>
  <span class="token key atrule"><span class="token key atrule">includedNamespaces</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> threescale   </code></pre><rh-badge id="CO201-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">includedResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> operatorgroups
  <span class="token punctuation"><span class="token punctuation">-</span></span> subscriptions
  <span class="token punctuation"><span class="token punctuation">-</span></span> namespaces
  <span class="token key atrule"><span class="token key atrule">itemOperationTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 1h0m0s
  <span class="token key atrule"><span class="token key atrule">snapshotMoveData</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span>
  <span class="token key atrule"><span class="token key atrule">ttl</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 720h0m0s</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create <span class="token parameter variable">-f</span> backup.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">backup.velero.io/operator-install-backup created</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Backup
metadata:
  name: operator-resources-secrets
  namespace: openshift-adp
spec:
  csiSnapshotTimeout: 10m0s
  defaultVolumesToFsBackup: false
  includedNamespaces:
  - threescale
  includedResources:
  - secrets
  itemOperationTimeout: 1h0m0s
  labelSelector:
    matchLabels:
      app: 3scale-api-management
  snapshotMoveData: false
  snapshotVolumes: false
  ttl: 720h0m0s
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Backup
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> operator<span class="token punctuation"><span class="token punctuation">-</span></span>resources<span class="token punctuation"><span class="token punctuation">-</span></span>secrets </code></pre><rh-badge id="CO202-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">csiSnapshotTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 10m0s
  <span class="token key atrule"><span class="token key atrule">defaultVolumesToFsBackup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span>
  <span class="token key atrule"><span class="token key atrule">includedNamespaces</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> threescale
  <span class="token key atrule"><span class="token key atrule">includedResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> secrets
  <span class="token key atrule"><span class="token key atrule">itemOperationTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 1h0m0s
  <span class="token key atrule"><span class="token key atrule">labelSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">app</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 3scale<span class="token punctuation"><span class="token punctuation">-</span></span>api<span class="token punctuation"><span class="token punctuation">-</span></span>management
  <span class="token key atrule"><span class="token key atrule">snapshotMoveData</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span>
  <span class="token key atrule"><span class="token key atrule">snapshotVolumes</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span>
  <span class="token key atrule"><span class="token key atrule">ttl</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 720h0m0s</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create <span class="token parameter variable">-f</span> backup-secret.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">backup.velero.io/operator-resources-secrets created</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Backup
metadata:
  name: operator-resources-apim
  namespace: openshift-adp
spec:
  csiSnapshotTimeout: 10m0s
  defaultVolumesToFsBackup: false
  includedNamespaces:
  - threescale
  includedResources:
  - apimanagers
  itemOperationTimeout: 1h0m0s
  snapshotMoveData: false
  snapshotVolumes: false
  storageLocation: ts-dpa-1
  ttl: 720h0m0s
  volumeSnapshotLocations:
  - ts-dpa-1
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Backup
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> operator<span class="token punctuation"><span class="token punctuation">-</span></span>resources<span class="token punctuation"><span class="token punctuation">-</span></span>apim </code></pre><rh-badge id="CO203-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">csiSnapshotTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 10m0s
  <span class="token key atrule"><span class="token key atrule">defaultVolumesToFsBackup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span>
  <span class="token key atrule"><span class="token key atrule">includedNamespaces</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> threescale
  <span class="token key atrule"><span class="token key atrule">includedResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> apimanagers
  <span class="token key atrule"><span class="token key atrule">itemOperationTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 1h0m0s
  <span class="token key atrule"><span class="token key atrule">snapshotMoveData</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span>
  <span class="token key atrule"><span class="token key atrule">snapshotVolumes</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span>
  <span class="token key atrule"><span class="token key atrule">storageLocation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ts<span class="token punctuation"><span class="token punctuation">-</span></span>dpa<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">1</span></span>
  <span class="token key atrule"><span class="token key atrule">ttl</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 720h0m0s
  <span class="token key atrule"><span class="token key atrule">volumeSnapshotLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> ts<span class="token punctuation"><span class="token punctuation">-</span></span>dpa<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">1</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create <span class="token parameter variable">-f</span> backup-apimanager.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">backup.velero.io/operator-resources-apim created</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

apiVersion: v1
metadata:
  name: example-claim
  namespace: threescale
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
  storageClassName: gp3-csi
  volumeMode: Filesystem
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> PersistentVolumeClaim
<span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> v1
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> example<span class="token punctuation"><span class="token punctuation">-</span></span>claim
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> threescale
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">accessModes</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> ReadWriteOnce
  <span class="token key atrule"><span class="token key atrule">resources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">requests</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">storage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 1Gi
  <span class="token key atrule"><span class="token key atrule">storageClassName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> gp3<span class="token punctuation"><span class="token punctuation">-</span></span>csi
  <span class="token key atrule"><span class="token key atrule">volumeMode</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Filesystem</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create <span class="token parameter variable">-f</span> ts_pvc.yml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc edit deployment system-mysql <span class="token parameter variable">-n</span> threescale</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

    - name: example-claim
      mountPath: /var/lib/mysqldump/data
    - name: mysql-storage
      mountPath: /var/lib/mysql/data
    - name: mysql-extra-conf
      mountPath: /etc/my-extra.d
    - name: mysql-main-conf
      mountPath: /etc/my-extra
    ...
      serviceAccount: amp
  volumes:
        - name: example-claim
persistentVolumeClaim:
  claimName: example-claim
    ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml">  <span class="token key atrule"><span class="token key atrule">volumeMounts</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> example<span class="token punctuation"><span class="token punctuation">-</span></span>claim
      <span class="token key atrule"><span class="token key atrule">mountPath</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> /var/lib/mysqldump/data
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> mysql<span class="token punctuation"><span class="token punctuation">-</span></span>storage
      <span class="token key atrule"><span class="token key atrule">mountPath</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> /var/lib/mysql/data
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> mysql<span class="token punctuation"><span class="token punctuation">-</span></span>extra<span class="token punctuation"><span class="token punctuation">-</span></span>conf
      <span class="token key atrule"><span class="token key atrule">mountPath</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> /etc/my<span class="token punctuation"><span class="token punctuation">-</span></span>extra.d
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> mysql<span class="token punctuation"><span class="token punctuation">-</span></span>main<span class="token punctuation"><span class="token punctuation">-</span></span>conf
      <span class="token key atrule"><span class="token key atrule">mountPath</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> /etc/my<span class="token punctuation"><span class="token punctuation">-</span></span>extra
    <span class="token punctuation"><span class="token punctuation">...</span></span>
      <span class="token key atrule"><span class="token key atrule">serviceAccount</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> amp
  <span class="token key atrule"><span class="token key atrule">volumes</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> example<span class="token punctuation"><span class="token punctuation">-</span></span>claim
<span class="token key atrule"><span class="token key atrule">persistentVolumeClaim</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">claimName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> example<span class="token punctuation"><span class="token punctuation">-</span></span>claim </code></pre><rh-badge id="CO204-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token punctuation"><span class="token punctuation">...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Backup
metadata:
  name: mysql-backup
  namespace: openshift-adp
spec:
  csiSnapshotTimeout: 10m0s
  defaultVolumesToFsBackup: true
  hooks:
    resources:
    - name: dumpdb
      pre:
      - exec:
command:
- /bin/sh
- -c
- mysqldump -u $MYSQL_USER --password=$MYSQL_PASSWORD system --no-tablespaces
  &gt; /var/lib/mysqldump/data/dump.sql
container: system-mysql
onError: Fail
timeout: 5m
  includedNamespaces:
  - threescale
  includedResources:
  - deployment
  - pods
  - replicationControllers
  - persistentvolumeclaims
  - persistentvolumes
  itemOperationTimeout: 1h0m0s
  labelSelector:
    matchLabels:
      app: 3scale-api-management
      threescale_component_element: mysql
  snapshotMoveData: false
  ttl: 720h0m0s
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Backup
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> mysql<span class="token punctuation"><span class="token punctuation">-</span></span>backup </code></pre><rh-badge id="CO205-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">csiSnapshotTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 10m0s
  <span class="token key atrule"><span class="token key atrule">defaultVolumesToFsBackup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
  <span class="token key atrule"><span class="token key atrule">hooks</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">resources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> dumpdb
      <span class="token key atrule"><span class="token key atrule">pre</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">exec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">command</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">-</span></span> /bin/sh
<span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token punctuation"><span class="token punctuation">-</span></span>c
<span class="token punctuation"><span class="token punctuation">-</span></span> mysqldump <span class="token punctuation"><span class="token punctuation">-</span></span>u $MYSQL_USER <span class="token punctuation"><span class="token punctuation">-</span></span><span class="token punctuation"><span class="token punctuation">-</span></span>password=$MYSQL_PASSWORD system <span class="token punctuation"><span class="token punctuation">-</span></span><span class="token punctuation"><span class="token punctuation">-</span></span>no<span class="token punctuation"><span class="token punctuation">-</span></span>tablespaces
  <span class="token punctuation"><span class="token punctuation">&gt;</span></span> /var/lib/mysqldump/data/dump.sql </code></pre><rh-badge id="CO205-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">container</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> system<span class="token punctuation"><span class="token punctuation">-</span></span>mysql
<span class="token key atrule"><span class="token key atrule">onError</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Fail
<span class="token key atrule"><span class="token key atrule">timeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 5m
  <span class="token key atrule"><span class="token key atrule">includedNamespaces</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> threescale
  <span class="token key atrule"><span class="token key atrule">includedResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO205-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token punctuation"><span class="token punctuation">-</span></span> deployment
  <span class="token punctuation"><span class="token punctuation">-</span></span> pods
  <span class="token punctuation"><span class="token punctuation">-</span></span> replicationControllers
  <span class="token punctuation"><span class="token punctuation">-</span></span> persistentvolumeclaims
  <span class="token punctuation"><span class="token punctuation">-</span></span> persistentvolumes
  <span class="token key atrule"><span class="token key atrule">itemOperationTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 1h0m0s
  <span class="token key atrule"><span class="token key atrule">labelSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">app</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 3scale<span class="token punctuation"><span class="token punctuation">-</span></span>api<span class="token punctuation"><span class="token punctuation">-</span></span>management
      <span class="token key atrule"><span class="token key atrule">threescale_component_element</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> mysql
  <span class="token key atrule"><span class="token key atrule">snapshotMoveData</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span>
  <span class="token key atrule"><span class="token key atrule">ttl</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 720h0m0s</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create <span class="token parameter variable">-f</span> mysql.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">backup.velero.io/mysql-backup created</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get backups.velero.io mysql-backup <span class="token parameter variable">-o</span> yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

completionTimestamp: "2025-04-17T13:25:19Z"
errors: 1
expiration: "2025-05-17T13:25:16Z"
formatVersion: 1.1.0
hookStatus: {}
phase: Completed
progress: {}
startTimestamp: "2025-04-17T13:25:16Z"
version: 1
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">status:
completionTimestamp: "2025-04-17T13:25:19Z"
errors: 1
expiration: "2025-05-17T13:25:16Z"
formatVersion: 1.1.0
hookStatus: {}
phase: Completed
progress: {}
startTimestamp: "2025-04-17T13:25:16Z"
version: 1</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc edit deployment backend-redis <span class="token parameter variable">-n</span> threescale</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

post.hook.backup.velero.io/command: &gt;-
         ["/bin/bash", "-c", "redis-cli CONFIG SET auto-aof-rewrite-percentage
         100"]
       pre.hook.backup.velero.io/command: &gt;-
         ["/bin/bash", "-c", "redis-cli CONFIG SET auto-aof-rewrite-percentage
         0"]
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">annotations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">post.hook.backup.velero.io/command</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token punctuation"><span class="token punctuation">&gt;</span></span><span class="token punctuation"><span class="token punctuation">-</span></span>
         <span class="token punctuation"><span class="token punctuation">[</span></span><span class="token string"><span class="token string">"/bin/bash"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span> <span class="token string"><span class="token string">"-c"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span> "redis<span class="token punctuation"><span class="token punctuation">-</span></span>cli CONFIG SET auto<span class="token punctuation"><span class="token punctuation">-</span></span>aof<span class="token punctuation"><span class="token punctuation">-</span></span>rewrite<span class="token punctuation"><span class="token punctuation">-</span></span>percentage
         100"<span class="token punctuation"><span class="token punctuation">]</span></span>
       <span class="token key atrule"><span class="token key atrule">pre.hook.backup.velero.io/command</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token punctuation"><span class="token punctuation">&gt;</span></span><span class="token punctuation"><span class="token punctuation">-</span></span>
         <span class="token punctuation"><span class="token punctuation">[</span></span><span class="token string"><span class="token string">"/bin/bash"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span> <span class="token string"><span class="token string">"-c"</span></span><span class="token punctuation"><span class="token punctuation">,</span></span> "redis<span class="token punctuation"><span class="token punctuation">-</span></span>cli CONFIG SET auto<span class="token punctuation"><span class="token punctuation">-</span></span>aof<span class="token punctuation"><span class="token punctuation">-</span></span>rewrite<span class="token punctuation"><span class="token punctuation">-</span></span>percentage
         0"<span class="token punctuation"><span class="token punctuation">]</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Backup
metadata:
  name: redis-backup
  namespace: openshift-adp
spec:
  csiSnapshotTimeout: 10m0s
  defaultVolumesToFsBackup: true
  includedNamespaces:
  - threescale
  includedResources:
  - deployment
  - pods
  - replicationcontrollers
  - persistentvolumes
  - persistentvolumeclaims
  itemOperationTimeout: 1h0m0s
  labelSelector:
    matchLabels:
      app: 3scale-api-management
      threescale_component: backend
      threescale_component_element: redis
  snapshotMoveData: false
  snapshotVolumes: false
  ttl: 720h0m0s
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Backup
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> redis<span class="token punctuation"><span class="token punctuation">-</span></span>backup </code></pre><rh-badge id="CO206-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">csiSnapshotTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 10m0s
  <span class="token key atrule"><span class="token key atrule">defaultVolumesToFsBackup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
  <span class="token key atrule"><span class="token key atrule">includedNamespaces</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> threescale
  <span class="token key atrule"><span class="token key atrule">includedResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> deployment
  <span class="token punctuation"><span class="token punctuation">-</span></span> pods
  <span class="token punctuation"><span class="token punctuation">-</span></span> replicationcontrollers
  <span class="token punctuation"><span class="token punctuation">-</span></span> persistentvolumes
  <span class="token punctuation"><span class="token punctuation">-</span></span> persistentvolumeclaims
  <span class="token key atrule"><span class="token key atrule">itemOperationTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 1h0m0s
  <span class="token key atrule"><span class="token key atrule">labelSelector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">app</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 3scale<span class="token punctuation"><span class="token punctuation">-</span></span>api<span class="token punctuation"><span class="token punctuation">-</span></span>management
      <span class="token key atrule"><span class="token key atrule">threescale_component</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> backend
      <span class="token key atrule"><span class="token key atrule">threescale_component_element</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> redis
  <span class="token key atrule"><span class="token key atrule">snapshotMoveData</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span>
  <span class="token key atrule"><span class="token key atrule">snapshotVolumes</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span>
  <span class="token key atrule"><span class="token key atrule">ttl</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 720h0m0s</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create <span class="token parameter variable">-f</span> redis-backup.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">backup.velero.io/redis-backup created</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get backups.velero.io redis-backup <span class="token parameter variable">-o</span> yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

completionTimestamp: "2025-04-17T13:25:19Z"
errors: 1
expiration: "2025-05-17T13:25:16Z"
formatVersion: 1.1.0
hookStatus: {}
phase: Completed
progress: {}
startTimestamp: "2025-04-17T13:25:16Z"
version: 1
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">status:
completionTimestamp: "2025-04-17T13:25:19Z"
errors: 1
expiration: "2025-05-17T13:25:16Z"
formatVersion: 1.1.0
hookStatus: {}
phase: Completed
progress: {}
startTimestamp: "2025-04-17T13:25:16Z"
version: 1</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete project threescale</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">"threescale" project deleted successfully</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Restore
metadata:
  name: operator-installation-restore
  namespace: openshift-adp
spec:
  backupName: operator-install-backup
  excludedResources:
  - nodes
  - events
  - events.events.k8s.io
  - backups.velero.io
  - restores.velero.io
  - resticrepositories.velero.io
  - csinodes.storage.k8s.io
  - volumeattachments.storage.k8s.io
  - backuprepositories.velero.io
  itemOperationTimeout: 4h0m0s
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Restore
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> operator<span class="token punctuation"><span class="token punctuation">-</span></span>installation<span class="token punctuation"><span class="token punctuation">-</span></span>restore
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> operator<span class="token punctuation"><span class="token punctuation">-</span></span>install<span class="token punctuation"><span class="token punctuation">-</span></span>backup </code></pre><rh-badge id="CO207-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">excludedResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> nodes
  <span class="token punctuation"><span class="token punctuation">-</span></span> events
  <span class="token punctuation"><span class="token punctuation">-</span></span> events.events.k8s.io
  <span class="token punctuation"><span class="token punctuation">-</span></span> backups.velero.io
  <span class="token punctuation"><span class="token punctuation">-</span></span> restores.velero.io
  <span class="token punctuation"><span class="token punctuation">-</span></span> resticrepositories.velero.io
  <span class="token punctuation"><span class="token punctuation">-</span></span> csinodes.storage.k8s.io
  <span class="token punctuation"><span class="token punctuation">-</span></span> volumeattachments.storage.k8s.io
  <span class="token punctuation"><span class="token punctuation">-</span></span> backuprepositories.velero.io
  <span class="token key atrule"><span class="token key atrule">itemOperationTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 4h0m0s</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create <span class="token parameter variable">-f</span> restore.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">restore.velerio.io/operator-installation-restore created</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

---
apiVersion: v1
kind: Secret
metadata:
      name: s3-credentials
      namespace: threescale
stringData:
  AWS_ACCESS_KEY_ID: &lt;ID_123456&gt;
  AWS_SECRET_ACCESS_KEY: &lt;ID_98765544&gt;
  AWS_BUCKET: &lt;mybucket.example.com&gt;
  AWS_REGION: &lt;us-east-1&gt;
type: Opaque
EOF
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> - </span></span><span class="token output">&lt;&lt;EOF
---
apiVersion: v1
kind: Secret
metadata:
      name: s3-credentials
      namespace: threescale
stringData:
  AWS_ACCESS_KEY_ID: &lt;ID_123456&gt; </span></code></pre><rh-badge id="CO208-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">  AWS_SECRET_ACCESS_KEY: &lt;ID_98765544&gt; </span></code></pre><rh-badge id="CO208-2" state="info">2</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">  AWS_BUCKET: &lt;mybucket.example.com&gt; </span></code></pre><rh-badge id="CO208-3" state="info">3</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">  AWS_REGION: &lt;us-east-1&gt; </span></code></pre><rh-badge id="CO208-4" state="info">4</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">type: Opaque
EOF</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc scale deployment threescale-operator-controller-manager-v2 <span class="token parameter variable">--replicas</span><span class="token operator">=</span><span class="token number">0</span> <span class="token parameter variable">-n</span> threescale</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">deployment.apps/threescale-operator-controller-manager-v2 scaled</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Restore
metadata:
  name: operator-resources-secrets
  namespace: openshift-adp
spec:
  backupName: operator-resources-secrets
  excludedResources:
  - nodes
  - events
  - events.events.k8s.io
  - backups.velero.io
  - restores.velero.io
  - resticrepositories.velero.io
  - csinodes.storage.k8s.io
  - volumeattachments.storage.k8s.io
  - backuprepositories.velero.io
  itemOperationTimeout: 4h0m0s
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Restore
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> operator<span class="token punctuation"><span class="token punctuation">-</span></span>resources<span class="token punctuation"><span class="token punctuation">-</span></span>secrets
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> operator<span class="token punctuation"><span class="token punctuation">-</span></span>resources<span class="token punctuation"><span class="token punctuation">-</span></span>secrets </code></pre><rh-badge id="CO209-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">excludedResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> nodes
  <span class="token punctuation"><span class="token punctuation">-</span></span> events
  <span class="token punctuation"><span class="token punctuation">-</span></span> events.events.k8s.io
  <span class="token punctuation"><span class="token punctuation">-</span></span> backups.velero.io
  <span class="token punctuation"><span class="token punctuation">-</span></span> restores.velero.io
  <span class="token punctuation"><span class="token punctuation">-</span></span> resticrepositories.velero.io
  <span class="token punctuation"><span class="token punctuation">-</span></span> csinodes.storage.k8s.io
  <span class="token punctuation"><span class="token punctuation">-</span></span> volumeattachments.storage.k8s.io
  <span class="token punctuation"><span class="token punctuation">-</span></span> backuprepositories.velero.io
  <span class="token key atrule"><span class="token key atrule">itemOperationTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 4h0m0s</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create <span class="token parameter variable">-f</span> restore-secrets.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">restore.velerio.io/operator-resources-secrets created</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Restore
metadata:
  name: operator-resources-apim
  namespace: openshift-adp
spec:
  backupName: operator-resources-apim
  excludedResources:
  - nodes
  - events
  - events.events.k8s.io
  - backups.velero.io
  - restores.velero.io
  - resticrepositories.velero.io
  - csinodes.storage.k8s.io
  - volumeattachments.storage.k8s.io
  - backuprepositories.velero.io
  itemOperationTimeout: 4h0m0s
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Restore
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> operator<span class="token punctuation"><span class="token punctuation">-</span></span>resources<span class="token punctuation"><span class="token punctuation">-</span></span>apim
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> operator<span class="token punctuation"><span class="token punctuation">-</span></span>resources<span class="token punctuation"><span class="token punctuation">-</span></span>apim </code></pre><rh-badge id="CO210-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">excludedResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO210-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token punctuation"><span class="token punctuation">-</span></span> nodes
  <span class="token punctuation"><span class="token punctuation">-</span></span> events
  <span class="token punctuation"><span class="token punctuation">-</span></span> events.events.k8s.io
  <span class="token punctuation"><span class="token punctuation">-</span></span> backups.velero.io
  <span class="token punctuation"><span class="token punctuation">-</span></span> restores.velero.io
  <span class="token punctuation"><span class="token punctuation">-</span></span> resticrepositories.velero.io
  <span class="token punctuation"><span class="token punctuation">-</span></span> csinodes.storage.k8s.io
  <span class="token punctuation"><span class="token punctuation">-</span></span> volumeattachments.storage.k8s.io
  <span class="token punctuation"><span class="token punctuation">-</span></span> backuprepositories.velero.io
  <span class="token key atrule"><span class="token key atrule">itemOperationTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 4h0m0s</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create <span class="token parameter variable">-f</span> restore-apimanager.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">restore.velerio.io/operator-resources-apim created</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc scale deployment threescale-operator-controller-manager-v2 <span class="token parameter variable">--replicas</span><span class="token operator">=</span><span class="token number">1</span> <span class="token parameter variable">-n</span> threescale</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">deployment.apps/threescale-operator-controller-manager-v2 scaled</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc scale deployment threescale-operator-controller-manager-v2 <span class="token parameter variable">--replicas</span><span class="token operator">=</span><span class="token number">0</span> <span class="token parameter variable">-n</span> threescale</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">deployment.apps/threescale-operator-controller-manager-v2 scaled</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">vi</span> ./scaledowndeployment.sh</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

    oc scale deployment/$deployment --replicas=0 -n threescale
done
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">for deployment in apicast-production apicast-staging backend-cron backend-listener backend-redis backend-worker system-app system-memcache system-mysql system-redis system-searchd system-sidekiq zync zync-database zync-que; do
    oc scale deployment/$deployment --replicas=0 -n threescale
done</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">./scaledowndeployment.sh</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

deployment.apps.openshift.io/apicast-staging scaled
deployment.apps.openshift.io/backend-cron scaled
deployment.apps.openshift.io/backend-listener scaled
deployment.apps.openshift.io/backend-redis scaled
deployment.apps.openshift.io/backend-worker scaled
deployment.apps.openshift.io/system-app scaled
deployment.apps.openshift.io/system-memcache scaled
deployment.apps.openshift.io/system-mysql scaled
deployment.apps.openshift.io/system-redis scaled
deployment.apps.openshift.io/system-searchd scaled
deployment.apps.openshift.io/system-sidekiq scaled
deployment.apps.openshift.io/zync scaled
deployment.apps.openshift.io/zync-database scaled
deployment.apps.openshift.io/zync-que scaled
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">deployment.apps.openshift.io/apicast-production scaled
deployment.apps.openshift.io/apicast-staging scaled
deployment.apps.openshift.io/backend-cron scaled
deployment.apps.openshift.io/backend-listener scaled
deployment.apps.openshift.io/backend-redis scaled
deployment.apps.openshift.io/backend-worker scaled
deployment.apps.openshift.io/system-app scaled
deployment.apps.openshift.io/system-memcache scaled
deployment.apps.openshift.io/system-mysql scaled
deployment.apps.openshift.io/system-redis scaled
deployment.apps.openshift.io/system-searchd scaled
deployment.apps.openshift.io/system-sidekiq scaled
deployment.apps.openshift.io/zync scaled
deployment.apps.openshift.io/zync-database scaled
deployment.apps.openshift.io/zync-que scaled</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete deployment system-mysql <span class="token parameter variable">-n</span> threescale</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

deployment.apps.openshift.io "system-mysql" deleted
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">Warning: apps.openshift.io/v1 deployment is deprecated in v4.14+, unavailable in v4.10000+
deployment.apps.openshift.io "system-mysql" deleted</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Restore
metadata:
  name: restore-mysql
  namespace: openshift-adp
spec:
  backupName: mysql-backup
  excludedResources:
    - nodes
    - events
    - events.events.k8s.io
    - backups.velero.io
    - restores.velero.io
    - csinodes.storage.k8s.io
    - volumeattachments.storage.k8s.io
    - backuprepositories.velero.io
    - resticrepositories.velero.io
  hooks:
    resources:
      - name: restoreDB
        postHooks:
- exec:
    command:
      - /bin/sh
      - '-c'
      - &gt;
        sleep 30

        mysql -h 127.0.0.1 -D system -u root
        --password=$MYSQL_ROOT_PASSWORD &lt;
        /var/lib/mysqldump/data/dump.sql
    container: system-mysql
    execTimeout: 80s
    onError: Fail
    waitTimeout: 5m
  itemOperationTimeout: 1h0m0s
  restorePVs: true
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Restore
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> restore<span class="token punctuation"><span class="token punctuation">-</span></span>mysql
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> mysql<span class="token punctuation"><span class="token punctuation">-</span></span>backup </code></pre><rh-badge id="CO211-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">excludedResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> nodes
    <span class="token punctuation"><span class="token punctuation">-</span></span> events
    <span class="token punctuation"><span class="token punctuation">-</span></span> events.events.k8s.io
    <span class="token punctuation"><span class="token punctuation">-</span></span> backups.velero.io
    <span class="token punctuation"><span class="token punctuation">-</span></span> restores.velero.io
    <span class="token punctuation"><span class="token punctuation">-</span></span> csinodes.storage.k8s.io
    <span class="token punctuation"><span class="token punctuation">-</span></span> volumeattachments.storage.k8s.io
    <span class="token punctuation"><span class="token punctuation">-</span></span> backuprepositories.velero.io
    <span class="token punctuation"><span class="token punctuation">-</span></span> resticrepositories.velero.io
  <span class="token key atrule"><span class="token key atrule">hooks</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">resources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> restoreDB
        <span class="token key atrule"><span class="token key atrule">postHooks</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">exec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">command</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> /bin/sh
      <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token string"><span class="token string">'-c'</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token punctuation"><span class="token punctuation">&gt;</span></span><span class="token scalar string"><span class="token scalar string">
        sleep 30</span></span>

        mysql <span class="token punctuation"><span class="token punctuation">-</span></span>h 127.0.0.1 <span class="token punctuation"><span class="token punctuation">-</span></span>D system <span class="token punctuation"><span class="token punctuation">-</span></span>u root
        <span class="token punctuation"><span class="token punctuation">-</span></span><span class="token punctuation"><span class="token punctuation">-</span></span>password=$MYSQL_ROOT_PASSWORD &lt;
        /var/lib/mysqldump/data/dump.sql </code></pre><rh-badge id="CO211-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">container</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> system<span class="token punctuation"><span class="token punctuation">-</span></span>mysql
    <span class="token key atrule"><span class="token key atrule">execTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 80s
    <span class="token key atrule"><span class="token key atrule">onError</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Fail
    <span class="token key atrule"><span class="token key atrule">waitTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 5m
  <span class="token key atrule"><span class="token key atrule">itemOperationTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 1h0m0s
  <span class="token key atrule"><span class="token key atrule">restorePVs</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create <span class="token parameter variable">-f</span> restore-mysql.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">restore.velerio.io/restore-mysql created</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get podvolumerestores.velero.io <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

restore-mysql-rbzvm     threescale   system-mysql-2-kjkhl    kopia           mysql-storage           Completed   771879108    771879108   40m
restore-mysql-z7x7l     threescale   system-mysql-2-kjkhl    kopia           example-claim           Completed   380415       380415      40m
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                    NAMESPACE    POD                     UPLOADER TYPE   VOLUME                  STATUS      TOTALBYTES   BYTESDONE   AGE
restore-mysql-rbzvm     threescale   system-mysql-2-kjkhl    kopia           mysql-storage           Completed   771879108    771879108   40m
restore-mysql-z7x7l     threescale   system-mysql-2-kjkhl    kopia           example-claim           Completed   380415       380415      40m</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get pvc <span class="token parameter variable">-n</span> threescale</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

backend-redis-storage   Bound    pvc-3dca410d-3b9f-49d4-aebf-75f47152e09d   1Gi        RWO            gp3-csi        &lt;unset&gt;                 68m
example-claim           Bound    pvc-cbaa49b0-06cd-4b1a-9e90-0ef755c67a54   1Gi        RWO            gp3-csi        &lt;unset&gt;                 57m
mysql-storage           Bound    pvc-4549649f-b9ad-44f7-8f67-dd6b9dbb3896   1Gi        RWO            gp3-csi        &lt;unset&gt;                 68m
system-redis-storage    Bound    pvc-04dadafd-8a3e-4d00-8381-6041800a24fc   1Gi        RWO            gp3-csi        &lt;unset&gt;                 68m
system-searchd          Bound    pvc-afbf606c-d4a8-4041-8ec6-54c5baf1a3b9   1Gi        RWO            gp3-csi        &lt;unset&gt;                 68m
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                    STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   VOLUMEATTRIBUTESCLASS   AGE
backend-redis-storage   Bound    pvc-3dca410d-3b9f-49d4-aebf-75f47152e09d   1Gi        RWO            gp3-csi        &lt;unset&gt;                 68m
example-claim           Bound    pvc-cbaa49b0-06cd-4b1a-9e90-0ef755c67a54   1Gi        RWO            gp3-csi        &lt;unset&gt;                 57m
mysql-storage           Bound    pvc-4549649f-b9ad-44f7-8f67-dd6b9dbb3896   1Gi        RWO            gp3-csi        &lt;unset&gt;                 68m
system-redis-storage    Bound    pvc-04dadafd-8a3e-4d00-8381-6041800a24fc   1Gi        RWO            gp3-csi        &lt;unset&gt;                 68m
system-searchd          Bound    pvc-afbf606c-d4a8-4041-8ec6-54c5baf1a3b9   1Gi        RWO            gp3-csi        &lt;unset&gt;                 68m</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete deployment backend-redis <span class="token parameter variable">-n</span> threescale</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">


deployment.apps.openshift.io "backend-redis" deleted
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">Warning: apps.openshift.io/v1 deployment is deprecated in v4.14+, unavailable in v4.10000+

deployment.apps.openshift.io "backend-redis" deleted</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Restore
metadata:
  name: restore-backend
  namespace: openshift-adp
spec:
  backupName: redis-backup
  excludedResources:
    - nodes
    - events
    - events.events.k8s.io
    - backups.velero.io
    - restores.velero.io
    - resticrepositories.velero.io
    - csinodes.storage.k8s.io
    - volumeattachments.storage.k8s.io
    - backuprepositories.velero.io
  itemOperationTimeout: 1h0m0s
  restorePVs: true
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Restore
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> restore<span class="token punctuation"><span class="token punctuation">-</span></span>backend
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> redis<span class="token punctuation"><span class="token punctuation">-</span></span>backup </code></pre><rh-badge id="CO212-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">excludedResources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> nodes
    <span class="token punctuation"><span class="token punctuation">-</span></span> events
    <span class="token punctuation"><span class="token punctuation">-</span></span> events.events.k8s.io
    <span class="token punctuation"><span class="token punctuation">-</span></span> backups.velero.io
    <span class="token punctuation"><span class="token punctuation">-</span></span> restores.velero.io
    <span class="token punctuation"><span class="token punctuation">-</span></span> resticrepositories.velero.io
    <span class="token punctuation"><span class="token punctuation">-</span></span> csinodes.storage.k8s.io
    <span class="token punctuation"><span class="token punctuation">-</span></span> volumeattachments.storage.k8s.io
    <span class="token punctuation"><span class="token punctuation">-</span></span> backuprepositories.velero.io
  <span class="token key atrule"><span class="token key atrule">itemOperationTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 1h0m0s
  <span class="token key atrule"><span class="token key atrule">restorePVs</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create <span class="token parameter variable">-f</span> restore-backend.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">restore.velerio.io/restore-backend created</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get podvolumerestores.velero.io <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

restore-backend-jmrwx   threescale   backend-redis-1-bsfmv   kopia           backend-redis-storage   Completed   76123        76123       21m
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                    NAMESPACE    POD                     UPLOADER TYPE   VOLUME                  STATUS      TOTALBYTES   BYTESDONE   AGE
restore-backend-jmrwx   threescale   backend-redis-1-bsfmv   kopia           backend-redis-storage   Completed   76123        76123       21m</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc scale deployment threescale-operator-controller-manager-v2 <span class="token parameter variable">--replicas</span><span class="token operator">=</span><span class="token number">1</span> <span class="token parameter variable">-n</span> threescale</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">deployment.apps/threescale-operator-controller-manager-v2 scaled</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get pods <span class="token parameter variable">-n</span> threescale</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

threescale-operator-controller-manager-v2-79546bd8c-b4qbh	1/1	         Running  0          2m5s
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME									                    READY        STATUS	  RESTARTS	 AGE
threescale-operator-controller-manager-v2-79546bd8c-b4qbh	1/1	         Running  0          2m5s</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">vi</span> ./scaledeployment.sh</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

    oc scale deployment/$deployment --replicas=1 -n threescale
done
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">for deployment in apicast-production apicast-staging backend-cron backend-listener backend-redis backend-worker system-app system-memcache system-mysql system-redis system-searchd system-sidekiq zync zync-database zync-que; do
    oc scale deployment/$deployment --replicas=1 -n threescale
done</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">./scaledeployment.sh</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

deployment.apps.openshift.io/apicast-staging scaled
deployment.apps.openshift.io/backend-cron scaled
deployment.apps.openshift.io/backend-listener scaled
deployment.apps.openshift.io/backend-redis scaled
deployment.apps.openshift.io/backend-worker scaled
deployment.apps.openshift.io/system-app scaled
deployment.apps.openshift.io/system-memcache scaled
deployment.apps.openshift.io/system-mysql scaled
deployment.apps.openshift.io/system-redis scaled
deployment.apps.openshift.io/system-searchd scaled
deployment.apps.openshift.io/system-sidekiq scaled
deployment.apps.openshift.io/zync scaled
deployment.apps.openshift.io/zync-database scaled
deployment.apps.openshift.io/zync-que scaled
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">deployment.apps.openshift.io/apicast-production scaled
deployment.apps.openshift.io/apicast-staging scaled
deployment.apps.openshift.io/backend-cron scaled
deployment.apps.openshift.io/backend-listener scaled
deployment.apps.openshift.io/backend-redis scaled
deployment.apps.openshift.io/backend-worker scaled
deployment.apps.openshift.io/system-app scaled
deployment.apps.openshift.io/system-memcache scaled
deployment.apps.openshift.io/system-mysql scaled
deployment.apps.openshift.io/system-redis scaled
deployment.apps.openshift.io/system-searchd scaled
deployment.apps.openshift.io/system-sidekiq scaled
deployment.apps.openshift.io/zync scaled
deployment.apps.openshift.io/zync-database scaled
deployment.apps.openshift.io/zync-que scaled</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get routes <span class="token parameter variable">-n</span> threescale</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

backend                      backend-3scale.apps.custom-cluster-name.openshift.com                         backend-listener     http      edge/Allow      None
zync-3scale-api-b4l4d        api-3scale-apicast-production.apps.custom-cluster-name.openshift.com          apicast-production   gateway   edge/Redirect   None
zync-3scale-api-b6sns        api-3scale-apicast-staging.apps.custom-cluster-name.openshift.com             apicast-staging      gateway   edge/Redirect   None
zync-3scale-master-7sc4j     master.apps.custom-cluster-name.openshift.com                                 system-master        http      edge/Redirect   None
zync-3scale-provider-7r2nm   3scale-admin.apps.custom-cluster-name.openshift.com                           system-provider      http      edge/Redirect   None
zync-3scale-provider-mjxlb   3scale.apps.custom-cluster-name.openshift.com                                 system-developer     http      edge/Redirect   None
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                         HOST/PORT                                                                   PATH   SERVICES             PORT      TERMINATION     WILDCARD
backend                      backend-3scale.apps.custom-cluster-name.openshift.com                         backend-listener     http      edge/Allow      None
zync-3scale-api-b4l4d        api-3scale-apicast-production.apps.custom-cluster-name.openshift.com          apicast-production   gateway   edge/Redirect   None
zync-3scale-api-b6sns        api-3scale-apicast-staging.apps.custom-cluster-name.openshift.com             apicast-staging      gateway   edge/Redirect   None
zync-3scale-master-7sc4j     master.apps.custom-cluster-name.openshift.com                                 system-master        http      edge/Redirect   None
zync-3scale-provider-7r2nm   3scale-admin.apps.custom-cluster-name.openshift.com                           system-provider      http      edge/Redirect   None
zync-3scale-provider-mjxlb   3scale.apps.custom-cluster-name.openshift.com                                 system-developer     http      edge/Redirect   None</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: dpa-sample
spec:
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
    velero:
      defaultPlugins:
      - openshift
      - aws
      - csi
      defaultSnapshotMoveData: true
      defaultVolumesToFSBackup:
      featureFlags:
      - EnableCSI
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> dpa<span class="token punctuation"><span class="token punctuation">-</span></span>sample
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO213-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia </code></pre><rh-badge id="CO213-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
      <span class="token punctuation"><span class="token punctuation">-</span></span> aws
      <span class="token punctuation"><span class="token punctuation">-</span></span> csi </code></pre><rh-badge id="CO213-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">defaultSnapshotMoveData</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultVolumesToFSBackup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO213-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">featureFlags</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> EnableCSI
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

apiVersion: velero.io/v1
metadata:
  name: backup
  namespace: openshift-adp
spec:
  csiSnapshotTimeout: 10m0s
  defaultVolumesToFsBackup:
  includedNamespaces:
  - mysql-persistent
  itemOperationTimeout: 4h0m0s
  snapshotMoveData: true
  storageLocation: default
  ttl: 720h0m0s
  volumeSnapshotLocations:
  - dpa-sample-1
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Backup
<span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> backup
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">csiSnapshotTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 10m0s
  <span class="token key atrule"><span class="token key atrule">defaultVolumesToFsBackup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO214-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">includedNamespaces</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> mysql<span class="token punctuation"><span class="token punctuation">-</span></span>persistent
  <span class="token key atrule"><span class="token key atrule">itemOperationTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 4h0m0s
  <span class="token key atrule"><span class="token key atrule">snapshotMoveData</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO214-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">storageLocation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
  <span class="token key atrule"><span class="token key atrule">ttl</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 720h0m0s
  <span class="token key atrule"><span class="token key atrule">volumeSnapshotLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> dpa<span class="token punctuation"><span class="token punctuation">-</span></span>sample<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">1</span></span>
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

kubernetes.io~csi/pvc-684..12c/mount: lsetxattr /var/lib/kubelet/ \
pods/3ac..34/volumes/kubernetes.io~csi/pvc-68..2c/mount/data-xfs-103: \
no space left on device
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">Error: relabel failed /var/lib/kubelet/pods/3ac..34/volumes/ \
kubernetes.io~csi/pvc-684..12c/mount: lsetxattr /var/lib/kubelet/ \
pods/3ac..34/volumes/kubernetes.io~csi/pvc-68..2c/mount/data-xfs-103: \
no space left on device</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create <span class="token parameter variable">-f</span> backup.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get datauploads <span class="token parameter variable">-A</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

openshift-adp   backup-test-1-sw76b   Completed   9m47s     108104082    108104082     dpa-sample-1       9m47s   ip-10-0-150-57.us-west-2.compute.internal
openshift-adp   mongo-block-7dtpf     Completed   14m       1073741824   1073741824    dpa-sample-1       14m     ip-10-0-150-57.us-west-2.compute.internal
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAMESPACE       NAME                  STATUS      STARTED   BYTES DONE   TOTAL BYTES   STORAGE LOCATION   AGE     NODE
openshift-adp   backup-test-1-sw76b   Completed   9m47s     108104082    108104082     dpa-sample-1       9m47s   ip-10-0-150-57.us-west-2.compute.internal
openshift-adp   mongo-block-7dtpf     Completed   14m       1073741824   1073741824    dpa-sample-1       14m     ip-10-0-150-57.us-west-2.compute.internal</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get datauploads <span class="token operator">&lt;</span>dataupload_name<span class="token operator">&gt;</span> <span class="token parameter variable">-o</span> yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataUpload
metadata:
  name: backup-test-1-sw76b
  namespace: openshift-adp
spec:
  backupStorageLocation: dpa-sample-1
  csiSnapshot:
    snapshotClass: ""
    storageClass: gp3-csi
    volumeSnapshot: velero-mysql-fq8sl
  operationTimeout: 10m0s
  snapshotType: CSI
  sourceNamespace: mysql-persistent
  sourcePVC: mysql
status:
  completionTimestamp: "2023-11-02T16:57:02Z"
  node: ip-10-0-150-57.us-west-2.compute.internal
  path: /host_pods/15116bac-cc01-4d9b-8ee7-609c3bef6bde/volumes/kubernetes.io~csi/pvc-eead8167-556b-461a-b3ec-441749e291c4/mount
  phase: Completed
  progress:
    bytesDone: 108104082
    totalBytes: 108104082
  snapshotID: 8da1c5febf25225f4577ada2aeb9f899
  startTimestamp: "2023-11-02T16:56:22Z"
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v2alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataUpload
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> backup<span class="token punctuation"><span class="token punctuation">-</span></span>test<span class="token punctuation"><span class="token punctuation">-</span></span>1<span class="token punctuation"><span class="token punctuation">-</span></span>sw76b
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupStorageLocation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> dpa<span class="token punctuation"><span class="token punctuation">-</span></span>sample<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">1</span></span>
  <span class="token key atrule"><span class="token key atrule">csiSnapshot</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">snapshotClass</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">""</span></span>
    <span class="token key atrule"><span class="token key atrule">storageClass</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> gp3<span class="token punctuation"><span class="token punctuation">-</span></span>csi
    <span class="token key atrule"><span class="token key atrule">volumeSnapshot</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero<span class="token punctuation"><span class="token punctuation">-</span></span>mysql<span class="token punctuation"><span class="token punctuation">-</span></span>fq8sl
  <span class="token key atrule"><span class="token key atrule">operationTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 10m0s
  <span class="token key atrule"><span class="token key atrule">snapshotType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> CSI
  <span class="token key atrule"><span class="token key atrule">sourceNamespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> mysql<span class="token punctuation"><span class="token punctuation">-</span></span>persistent
  <span class="token key atrule"><span class="token key atrule">sourcePVC</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> mysql
<span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">completionTimestamp</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2023-11-02T16:57:02Z"</span></span>
  <span class="token key atrule"><span class="token key atrule">node</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ip<span class="token punctuation"><span class="token punctuation">-</span></span>10<span class="token punctuation"><span class="token punctuation">-</span></span>0<span class="token punctuation"><span class="token punctuation">-</span></span>150<span class="token punctuation"><span class="token punctuation">-</span></span>57.us<span class="token punctuation"><span class="token punctuation">-</span></span>west<span class="token punctuation"><span class="token punctuation">-</span></span>2.compute.internal
  <span class="token key atrule"><span class="token key atrule">path</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> /host_pods/15116bac<span class="token punctuation"><span class="token punctuation">-</span></span>cc01<span class="token punctuation"><span class="token punctuation">-</span></span>4d9b<span class="token punctuation"><span class="token punctuation">-</span></span>8ee7<span class="token punctuation"><span class="token punctuation">-</span></span>609c3bef6bde/volumes/kubernetes.io~csi/pvc<span class="token punctuation"><span class="token punctuation">-</span></span>eead8167<span class="token punctuation"><span class="token punctuation">-</span></span>556b<span class="token punctuation"><span class="token punctuation">-</span></span>461a<span class="token punctuation"><span class="token punctuation">-</span></span>b3ec<span class="token punctuation"><span class="token punctuation">-</span></span>441749e291c4/mount
  <span class="token key atrule"><span class="token key atrule">phase</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Completed </code></pre><rh-badge id="CO215-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">progress</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">bytesDone</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">108104082</span></span>
    <span class="token key atrule"><span class="token key atrule">totalBytes</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">108104082</span></span>
  <span class="token key atrule"><span class="token key atrule">snapshotID</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 8da1c5febf25225f4577ada2aeb9f899
  <span class="token key atrule"><span class="token key atrule">startTimestamp</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2023-11-02T16:56:22Z"</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Restore
metadata:
  name: restore
  namespace: openshift-adp
spec:
  backupName: &lt;backup&gt;
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Restore
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> restore
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;backup<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create <span class="token parameter variable">-f</span> restore.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get datadownloads <span class="token parameter variable">-A</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

openshift-adp   restore-test-1-sk7lg   Completed   7m11s     108104082    108104082     dpa-sample-1       7m11s   ip-10-0-150-57.us-west-2.compute.internal
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAMESPACE       NAME                   STATUS      STARTED   BYTES DONE   TOTAL BYTES   STORAGE LOCATION   AGE     NODE
openshift-adp   restore-test-1-sk7lg   Completed   7m11s     108104082    108104082     dpa-sample-1       7m11s   ip-10-0-150-57.us-west-2.compute.internal</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get datadownloads <span class="token operator">&lt;</span>datadownload_name<span class="token operator">&gt;</span> <span class="token parameter variable">-o</span> yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataDownload
metadata:
  name: restore-test-1-sk7lg
  namespace: openshift-adp
spec:
  backupStorageLocation: dpa-sample-1
  operationTimeout: 10m0s
  snapshotID: 8da1c5febf25225f4577ada2aeb9f899
  sourceNamespace: mysql-persistent
  targetVolume:
    namespace: mysql-persistent
    pv: ""
    pvc: mysql
status:
  completionTimestamp: "2023-11-02T17:01:24Z"
  node: ip-10-0-150-57.us-west-2.compute.internal
  phase: Completed
  progress:
    bytesDone: 108104082
    totalBytes: 108104082
  startTimestamp: "2023-11-02T17:00:52Z"
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v2alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataDownload
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> restore<span class="token punctuation"><span class="token punctuation">-</span></span>test<span class="token punctuation"><span class="token punctuation">-</span></span>1<span class="token punctuation"><span class="token punctuation">-</span></span>sk7lg
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupStorageLocation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> dpa<span class="token punctuation"><span class="token punctuation">-</span></span>sample<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">1</span></span>
  <span class="token key atrule"><span class="token key atrule">operationTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 10m0s
  <span class="token key atrule"><span class="token key atrule">snapshotID</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 8da1c5febf25225f4577ada2aeb9f899
  <span class="token key atrule"><span class="token key atrule">sourceNamespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> mysql<span class="token punctuation"><span class="token punctuation">-</span></span>persistent
  <span class="token key atrule"><span class="token key atrule">targetVolume</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> mysql<span class="token punctuation"><span class="token punctuation">-</span></span>persistent
    <span class="token key atrule"><span class="token key atrule">pv</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">""</span></span>
    <span class="token key atrule"><span class="token key atrule">pvc</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> mysql
<span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">completionTimestamp</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2023-11-02T17:01:24Z"</span></span>
  <span class="token key atrule"><span class="token key atrule">node</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ip<span class="token punctuation"><span class="token punctuation">-</span></span>10<span class="token punctuation"><span class="token punctuation">-</span></span>0<span class="token punctuation"><span class="token punctuation">-</span></span>150<span class="token punctuation"><span class="token punctuation">-</span></span>57.us<span class="token punctuation"><span class="token punctuation">-</span></span>west<span class="token punctuation"><span class="token punctuation">-</span></span>2.compute.internal
  <span class="token key atrule"><span class="token key atrule">phase</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Completed </code></pre><rh-badge id="CO216-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">progress</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">bytesDone</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">108104082</span></span>
    <span class="token key atrule"><span class="token key atrule">totalBytes</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">108104082</span></span>
  <span class="token key atrule"><span class="token key atrule">startTimestamp</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2023-11-02T17:00:52Z"</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: ts-dpa
  namespace: openshift-adp
spec:
  backupLocations:
  - velero:
      credential:
        key: cloud
        name: cloud-credentials-gcp
      default: true
      objectStorage:
        bucket: oadp...2jw
        prefix: velero
      provider: gcp
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
      backupPVC:
        storage-class-1:
readOnly: true
spcNoRelabeling: true
storageClass: gp3-csi
        storage-class-2:
readOnly: false
spcNoRelabeling: false
storageClass: gp3-csi
    velero:
      defaultPlugins:
      - gcp
      - openshift
      - csi
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ts<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials<span class="token punctuation"><span class="token punctuation">-</span></span>gcp
      <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp<span class="token punctuation"><span class="token punctuation">...</span></span>2jw
        <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
      <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> gcp
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
      <span class="token key atrule"><span class="token key atrule">backupPVC</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO217-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">storage-class-1</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">readOnly</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO217-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">spcNoRelabeling</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO217-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">storageClass</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> gp3<span class="token punctuation"><span class="token punctuation">-</span></span>csi
        <span class="token key atrule"><span class="token key atrule">storage-class-2</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">readOnly</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span>
<span class="token key atrule"><span class="token key atrule">spcNoRelabeling</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span>
<span class="token key atrule"><span class="token key atrule">storageClass</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> gp3<span class="token punctuation"><span class="token punctuation">-</span></span>csi
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> gcp
      <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
      <span class="token punctuation"><span class="token punctuation">-</span></span> csi</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Backup
metadata:
  name: test-backup
  namespace: openshift-adp
spec:
  includedNamespaces:
  - &lt;application_namespace&gt;
  snapshotMoveData: true 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Backup
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>backup
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">includedNamespaces</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> &lt;application_namespace<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
  <span class="token key atrule"><span class="token key atrule">snapshotMoveData</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO218-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get pvc <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-w</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

test-backup1-l..d   Bound   pvc-1298....022f8   2Gi        ROX            standard-csi   &lt;unset&gt;                 37s
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">test-backup1-l..d   Bound   pvc-1298.....22f8   2Gi        ROX            standard-csi   &lt;unset&gt;                 37s
test-backup1-l..d   Bound   pvc-1298....022f8   2Gi        ROX            standard-csi   &lt;unset&gt;                 37s</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: ts-dpa
  namespace: openshift-adp
spec:
#  ...
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
    restorePVC:
      ignoreDelayBinding: true 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ts<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token comment"><span class="token comment">#  ...</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
    <span class="token key atrule"><span class="token key atrule">restorePVC</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO219-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">ignoreDelayBinding</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO219-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
#...
configuration:
  nodeAgent:
    enable: true
    uploaderType: kopia
  velero:
    defaultPlugins:
    - openshift
    - aws
    - csi
    defaultSnapshotMoveData: true
    podConfig:
      env:
        - name: KOPIA_HASHING_ALGORITHM
value: &lt;hashing_algorithm_name&gt;
        - name: KOPIA_ENCRYPTION_ALGORITHM
value: &lt;encryption_algorithm_name&gt;
        - name: KOPIA_SPLITTER_ALGORITHM
value: &lt;splitter_algorithm_name&gt; 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token comment"><span class="token comment">#...</span></span>
<span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO220-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia </code></pre><rh-badge id="CO220-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
    <span class="token punctuation"><span class="token punctuation">-</span></span> aws
    <span class="token punctuation"><span class="token punctuation">-</span></span> csi </code></pre><rh-badge id="CO220-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">defaultSnapshotMoveData</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
    <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">env</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> KOPIA_HASHING_ALGORITHM
<span class="token key atrule"><span class="token key atrule">value</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;hashing_algorithm_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO220-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> KOPIA_ENCRYPTION_ALGORITHM
<span class="token key atrule"><span class="token key atrule">value</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;encryption_algorithm_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO220-5" state="info">5</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> KOPIA_SPLITTER_ALGORITHM
<span class="token key atrule"><span class="token key atrule">value</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;splitter_algorithm_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO220-6" state="info">6</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
name: &lt;dpa_name&gt;
namespace: openshift-adp
spec:
backupLocations:
- name: aws
  velero:
    config:
      profile: default
      region: &lt;region_name&gt;
    credential:
      key: cloud
      name: cloud-credentials
    default: true
    objectStorage:
      bucket: &lt;bucket_name&gt;
      prefix: velero
    provider: aws
configuration:
  nodeAgent:
    enable: true
    uploaderType: kopia
  velero:
    defaultPlugins:
    - openshift
    - aws
    - csi
    defaultSnapshotMoveData: true
    podConfig:
      env:
        - name: KOPIA_HASHING_ALGORITHM
value: BLAKE3-256
        - name: KOPIA_ENCRYPTION_ALGORITHM
value: CHACHA20-POLY1305-HMAC-SHA256
        - name: KOPIA_SPLITTER_ALGORITHM
value: DYNAMIC-8M-RABINKARP 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO221-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
  <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> default
      <span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;region_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO221-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
      <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials </code></pre><rh-badge id="CO221-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
    <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO221-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
    <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
<span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
    <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
  <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
    <span class="token punctuation"><span class="token punctuation">-</span></span> aws
    <span class="token punctuation"><span class="token punctuation">-</span></span> csi </code></pre><rh-badge id="CO221-5" state="info">5</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">defaultSnapshotMoveData</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
    <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">env</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> KOPIA_HASHING_ALGORITHM
<span class="token key atrule"><span class="token key atrule">value</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> BLAKE3<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">256</span></span> </code></pre><rh-badge id="CO221-6" state="info">6</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> KOPIA_ENCRYPTION_ALGORITHM
<span class="token key atrule"><span class="token key atrule">value</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> CHACHA20<span class="token punctuation"><span class="token punctuation">-</span></span>POLY1305<span class="token punctuation"><span class="token punctuation">-</span></span>HMAC<span class="token punctuation"><span class="token punctuation">-</span></span>SHA256 </code></pre><rh-badge id="CO221-7" state="info">7</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> KOPIA_SPLITTER_ALGORITHM
<span class="token key atrule"><span class="token key atrule">value</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DYNAMIC<span class="token punctuation"><span class="token punctuation">-</span></span>8M<span class="token punctuation"><span class="token punctuation">-</span></span>RABINKARP </code></pre><rh-badge id="CO221-8" state="info">8</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>dpa_file_name<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO222-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get dpa <span class="token parameter variable">-o</span> yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Backup
metadata:
  name: test-backup
  namespace: openshift-adp
spec:
  includedNamespaces:
  - &lt;application_namespace&gt;
  defaultVolumesToFsBackup: true
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Backup
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> test<span class="token punctuation"><span class="token punctuation">-</span></span>backup
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">includedNamespaces</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> &lt;application_namespace<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO223-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">defaultVolumesToFsBackup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>backup_file_name<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO224-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get backups.velero.io <span class="token operator">&lt;</span>backup_name<span class="token operator">&gt;</span> <span class="token parameter variable">-o</span> yaml </span></span></code></pre><rh-badge id="CO225-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  --bucket=&lt;bucket_name&gt; \
  --prefix=velero/kopia/&lt;application_namespace&gt; \
  --password=static-passw0rd \
  --access-key="&lt;aws_s3_access_key&gt;" \
  --secret-access-key="&lt;aws_s3_secret_access_key&gt;" \
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">kopia repository connect s3 <span class="token punctuation">\</span>
  <span class="token parameter variable">--bucket</span><span class="token operator">=</span><span class="token operator">&lt;</span>bucket_name<span class="token operator">&gt;</span> <span class="token punctuation">\</span> </span></span></code></pre><rh-badge id="CO226-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">  --prefix=velero/kopia/&lt;application_namespace&gt; \ </span></code></pre><rh-badge id="CO226-2" state="info">2</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">  --password=static-passw0rd \ </span></code></pre><rh-badge id="CO226-3" state="info">3</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">  --access-key="&lt;aws_s3_access_key&gt;" \ </span></code></pre><rh-badge id="CO226-4" state="info">4</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">  --secret-access-key="&lt;aws_s3_secret_access_key&gt;" \ </span></code></pre><rh-badge id="CO226-5" state="info">5</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">kopia repository status</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">


Description:         Repository in S3: s3.amazonaws.com &lt;bucket_name&gt;
# ...

Storage type:        s3
Storage capacity:    unbounded
Storage config:      {
             "bucket": &lt;bucket_name&gt;,
             "prefix": "velero/kopia/&lt;application_namespace&gt;/",
             "endpoint": "s3.amazonaws.com",
             "accessKeyID": &lt;access_key&gt;,
             "secretAccessKey": "****************************************",
             "sessionToken": ""
           }

Unique ID:           58....aeb0
Hash:                BLAKE3-256
Encryption:          CHACHA20-POLY1305-HMAC-SHA256
Splitter:            DYNAMIC-8M-RABINKARP
Format version:      3
# ...
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">Config file:         /../.config/kopia/repository.config

Description:         Repository in S3: s3.amazonaws.com &lt;bucket_name&gt;
</span><span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash"><span class="token punctuation">..</span>.</span></span>

<span class="token output">Storage type:        s3
Storage capacity:    unbounded
Storage config:      {
             "bucket": &lt;bucket_name&gt;,
             "prefix": "velero/kopia/&lt;application_namespace&gt;/",
             "endpoint": "s3.amazonaws.com",
             "accessKeyID": &lt;access_key&gt;,
             "secretAccessKey": "****************************************",
             "sessionToken": ""
           }

Unique ID:           58....aeb0
Hash:                BLAKE3-256
Encryption:          CHACHA20-POLY1305-HMAC-SHA256
Splitter:            DYNAMIC-8M-RABINKARP
Format version:      3
</span><span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash"><span class="token punctuation">..</span>.</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Pod
metadata:
  name: oadp-mustgather-pod
  labels:
    purpose: user-interaction
spec:
  containers:
  - name: oadp-mustgather-container
    image: registry.redhat.io/oadp/oadp-mustgather-rhel9:v1.3
    command: ["sleep"]
    args: ["infinity"]
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Pod
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp<span class="token punctuation"><span class="token punctuation">-</span></span>mustgather<span class="token punctuation"><span class="token punctuation">-</span></span>pod
  <span class="token key atrule"><span class="token key atrule">labels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">purpose</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> user<span class="token punctuation"><span class="token punctuation">-</span></span>interaction
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">containers</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp<span class="token punctuation"><span class="token punctuation">-</span></span>mustgather<span class="token punctuation"><span class="token punctuation">-</span></span>container
    <span class="token key atrule"><span class="token key atrule">image</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> registry.redhat.io/oadp/oadp<span class="token punctuation"><span class="token punctuation">-</span></span>mustgather<span class="token punctuation"><span class="token punctuation">-</span></span>rhel9<span class="token punctuation"><span class="token punctuation">:</span></span>v1.3
    <span class="token key atrule"><span class="token key atrule">command</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token punctuation"><span class="token punctuation">[</span></span><span class="token string"><span class="token string">"sleep"</span></span><span class="token punctuation"><span class="token punctuation">]</span></span>
    <span class="token key atrule"><span class="token key atrule">args</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token punctuation"><span class="token punctuation">[</span></span><span class="token string"><span class="token string">"infinity"</span></span><span class="token punctuation"><span class="token punctuation">]</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>pod_config_file_name<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO227-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc describe pod/oadp-mustgather-pod <span class="token operator">|</span> <span class="token function">grep</span> scc</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">openshift.io/scc: anyuid</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp rsh pod/oadp-mustgather-pod</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  --bucket=&lt;bucket_name&gt; \
  --prefix=velero/kopia/&lt;application_namespace&gt; \
  --password=static-passw0rd \
  --access-key="&lt;access_key&gt;" \
  --secret-access-key="&lt;secret_access_key&gt;" \
  --endpoint=&lt;bucket_endpoint&gt; \
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">sh-5.1# kopia repository connect s3 \
  --bucket=&lt;bucket_name&gt; \ </span></code></pre><rh-badge id="CO228-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">  --prefix=velero/kopia/&lt;application_namespace&gt; \ </span></code></pre><rh-badge id="CO228-2" state="info">2</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">  --password=static-passw0rd \ </span></code></pre><rh-badge id="CO228-3" state="info">3</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">  --access-key="&lt;access_key&gt;" \ </span></code></pre><rh-badge id="CO228-4" state="info">4</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">  --secret-access-key="&lt;secret_access_key&gt;" \ </span></code></pre><rh-badge id="CO228-5" state="info">5</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">  --endpoint=&lt;bucket_endpoint&gt; \ </span></code></pre><rh-badge id="CO228-6" state="info">6</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">sh-5.1# kopia benchmark hashing</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

Benchmarking hash 'BLAKE2B-256-128' (100 x 1048576 bytes, parallelism 1)
Benchmarking hash 'BLAKE2S-128' (100 x 1048576 bytes, parallelism 1)
Benchmarking hash 'BLAKE2S-256' (100 x 1048576 bytes, parallelism 1)
Benchmarking hash 'BLAKE3-256' (100 x 1048576 bytes, parallelism 1)
Benchmarking hash 'BLAKE3-256-128' (100 x 1048576 bytes, parallelism 1)
Benchmarking hash 'HMAC-SHA224' (100 x 1048576 bytes, parallelism 1)
Benchmarking hash 'HMAC-SHA256' (100 x 1048576 bytes, parallelism 1)
Benchmarking hash 'HMAC-SHA256-128' (100 x 1048576 bytes, parallelism 1)
Benchmarking hash 'HMAC-SHA3-224' (100 x 1048576 bytes, parallelism 1)
Benchmarking hash 'HMAC-SHA3-256' (100 x 1048576 bytes, parallelism 1)
     Hash                 Throughput
-----------------------------------------------------------------
  0. BLAKE3-256           15.3 GB / second
  1. BLAKE3-256-128       15.2 GB / second
  2. HMAC-SHA256-128      6.4 GB / second
  3. HMAC-SHA256          6.4 GB / second
  4. HMAC-SHA224          6.4 GB / second
  5. BLAKE2B-256-128      4.2 GB / second
  6. BLAKE2B-256          4.1 GB / second
  7. BLAKE2S-256          2.9 GB / second
  8. BLAKE2S-128          2.9 GB / second
  9. HMAC-SHA3-224        1.6 GB / second
 10. HMAC-SHA3-256        1.5 GB / second
-----------------------------------------------------------------
Fastest option for this machine is: --block-hash=BLAKE3-256
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">Benchmarking hash 'BLAKE2B-256' (100 x 1048576 bytes, parallelism 1)
Benchmarking hash 'BLAKE2B-256-128' (100 x 1048576 bytes, parallelism 1)
Benchmarking hash 'BLAKE2S-128' (100 x 1048576 bytes, parallelism 1)
Benchmarking hash 'BLAKE2S-256' (100 x 1048576 bytes, parallelism 1)
Benchmarking hash 'BLAKE3-256' (100 x 1048576 bytes, parallelism 1)
Benchmarking hash 'BLAKE3-256-128' (100 x 1048576 bytes, parallelism 1)
Benchmarking hash 'HMAC-SHA224' (100 x 1048576 bytes, parallelism 1)
Benchmarking hash 'HMAC-SHA256' (100 x 1048576 bytes, parallelism 1)
Benchmarking hash 'HMAC-SHA256-128' (100 x 1048576 bytes, parallelism 1)
Benchmarking hash 'HMAC-SHA3-224' (100 x 1048576 bytes, parallelism 1)
Benchmarking hash 'HMAC-SHA3-256' (100 x 1048576 bytes, parallelism 1)
     Hash                 Throughput
-----------------------------------------------------------------
  0. BLAKE3-256           15.3 GB / second
  1. BLAKE3-256-128       15.2 GB / second
  2. HMAC-SHA256-128      6.4 GB / second
  3. HMAC-SHA256          6.4 GB / second
  4. HMAC-SHA224          6.4 GB / second
  5. BLAKE2B-256-128      4.2 GB / second
  6. BLAKE2B-256          4.1 GB / second
  7. BLAKE2S-256          2.9 GB / second
  8. BLAKE2S-128          2.9 GB / second
  9. HMAC-SHA3-224        1.6 GB / second
 10. HMAC-SHA3-256        1.5 GB / second
-----------------------------------------------------------------
Fastest option for this machine is: --block-hash=BLAKE3-256</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">sh-5.1# kopia benchmark encryption</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

Benchmarking encryption 'CHACHA20-POLY1305-HMAC-SHA256'... (1000 x 1048576 bytes, parallelism 1)
     Encryption                     Throughput
-----------------------------------------------------------------
  0. AES256-GCM-HMAC-SHA256         2.2 GB / second
  1. CHACHA20-POLY1305-HMAC-SHA256  1.8 GB / second
-----------------------------------------------------------------
Fastest option for this machine is: --encryption=AES256-GCM-HMAC-SHA256
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">Benchmarking encryption 'AES256-GCM-HMAC-SHA256'... (1000 x 1048576 bytes, parallelism 1)
Benchmarking encryption 'CHACHA20-POLY1305-HMAC-SHA256'... (1000 x 1048576 bytes, parallelism 1)
     Encryption                     Throughput
-----------------------------------------------------------------
  0. AES256-GCM-HMAC-SHA256         2.2 GB / second
  1. CHACHA20-POLY1305-HMAC-SHA256  1.8 GB / second
-----------------------------------------------------------------
Fastest option for this machine is: --encryption=AES256-GCM-HMAC-SHA256</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">sh-5.1# kopia benchmark splitter</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

DYNAMIC                     747.6 MB/s count:107 min:9467 10th:2277562 25th:2971794 50th:4747177 75th:7603998 90th:8388608 max:8388608
DYNAMIC-128K-BUZHASH        718.5 MB/s count:3183 min:3076 10th:80896 25th:104312 50th:157621 75th:249115 90th:262144 max:262144
DYNAMIC-128K-RABINKARP      164.4 MB/s count:3160 min:9667 10th:80098 25th:106626 50th:162269 75th:250655 90th:262144 max:262144
# ...
FIXED-512K                  102.9 TB/s count:1024 min:524288 10th:524288 25th:524288 50th:524288 75th:524288 90th:524288 max:524288
FIXED-8M                    566.3 TB/s count:64 min:8388608 10th:8388608 25th:8388608 50th:8388608 75th:8388608 90th:8388608 max:8388608
-----------------------------------------------------------------
  0. FIXED-8M                  566.3 TB/s   count:64 min:8388608 10th:8388608 25th:8388608 50th:8388608 75th:8388608 90th:8388608 max:8388608
  1. FIXED-4M                  425.8 TB/s   count:128 min:4194304 10th:4194304 25th:4194304 50th:4194304 75th:4194304 90th:4194304 max:4194304
  # ...
 22. DYNAMIC-128K-RABINKARP    164.4 MB/s   count:3160 min:9667 10th:80098 25th:106626 50th:162269 75th:250655 90th:262144 max:262144
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">splitting 16 blocks of 32MiB each, parallelism 1
DYNAMIC                     747.6 MB/s count:107 min:9467 10th:2277562 25th:2971794 50th:4747177 75th:7603998 90th:8388608 max:8388608
DYNAMIC-128K-BUZHASH        718.5 MB/s count:3183 min:3076 10th:80896 25th:104312 50th:157621 75th:249115 90th:262144 max:262144
DYNAMIC-128K-RABINKARP      164.4 MB/s count:3160 min:9667 10th:80098 25th:106626 50th:162269 75th:250655 90th:262144 max:262144
</span><span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash"><span class="token punctuation">..</span>.</span></span>
<span class="token output">FIXED-512K                  102.9 TB/s count:1024 min:524288 10th:524288 25th:524288 50th:524288 75th:524288 90th:524288 max:524288
FIXED-8M                    566.3 TB/s count:64 min:8388608 10th:8388608 25th:8388608 50th:8388608 75th:8388608 90th:8388608 max:8388608
-----------------------------------------------------------------
  0. FIXED-8M                  566.3 TB/s   count:64 min:8388608 10th:8388608 25th:8388608 50th:8388608 75th:8388608 90th:8388608 max:8388608
  1. FIXED-4M                  425.8 TB/s   count:128 min:4194304 10th:4194304 25th:4194304 50th:4194304 75th:4194304 90th:4194304 max:4194304
  # ...
 22. DYNAMIC-128K-RABINKARP    164.4 MB/s   count:3160 min:9667 10th:80098 25th:106626 50th:162269 75th:250655 90th:262144 max:262144</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc api-resources</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
...
spec:
  configuration:
    velero:
      featureFlags:
      - EnableAPIGroupVersions
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/vialpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">featureFlags</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> EnableAPIGroupVersions</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  backup.velero.io/backup-volumes=&lt;your_volume_name_1&gt;, \ &lt;your_volume_name_2&gt;&gt;,...,&lt;your_volume_name_n&gt;
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> <span class="token operator">&lt;</span>your_pod_namespace<span class="token operator">&gt;</span> annotate pod/<span class="token operator">&lt;</span>your_pod_name<span class="token operator">&gt;</span> <span class="token punctuation">\</span>
  backup.velero.io/backup-volumes<span class="token operator">=</span><span class="token operator">&lt;</span>your_volume_name_<span class="token operator"><span class="token file-descriptor important">1</span>&gt;</span>, <span class="token punctuation">\</span> <span class="token operator">&lt;</span>your_volume_name_<span class="token operator"><span class="token file-descriptor important">2</span>&gt;&gt;</span>,<span class="token punctuation">..</span>.,<span class="token operator">&lt;</span>your_volume_name_n<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  backup.velero.io/backup-volumes-excludes=&lt;your_volume_name_1&gt;, \ &lt;your_volume_name_2&gt;&gt;,...,&lt;your_volume_name_n&gt;
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> <span class="token operator">&lt;</span>your_pod_namespace<span class="token operator">&gt;</span> annotate pod/<span class="token operator">&lt;</span>your_pod_name<span class="token operator">&gt;</span> <span class="token punctuation">\</span>
  backup.velero.io/backup-volumes-excludes<span class="token operator">=</span><span class="token operator">&lt;</span>your_volume_name_<span class="token operator"><span class="token file-descriptor important">1</span>&gt;</span>, <span class="token punctuation">\</span> <span class="token operator">&lt;</span>your_volume_name_<span class="token operator"><span class="token file-descriptor important">2</span>&gt;&gt;</span>,<span class="token punctuation">..</span>.,<span class="token operator">&lt;</span>your_volume_name_n<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero backup create <span class="token operator">&lt;</span>backup_name<span class="token operator">&gt;</span> --default-volumes-to-fs-backup <span class="token operator">&lt;</span>any_other_options<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">cat</span> change-storageclass.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: ConfigMap
metadata:
  name: change-storage-class-config
  namespace: openshift-adp
  labels:
    velero.io/plugin-config: ""
    velero.io/change-storage-class: RestoreItemAction
data:
  standard-csi: ssd-csi
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ConfigMap
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> change<span class="token punctuation"><span class="token punctuation">-</span></span>storage<span class="token punctuation"><span class="token punctuation">-</span></span>class<span class="token punctuation"><span class="token punctuation">-</span></span>config
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
  <span class="token key atrule"><span class="token key atrule">labels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero.io/plugin-config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">""</span></span>
    <span class="token key atrule"><span class="token key atrule">velero.io/change-storage-class</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> RestoreItemAction
<span class="token key atrule"><span class="token key atrule">data</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">standard-csi</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ssd<span class="token punctuation"><span class="token punctuation">-</span></span>csi</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create <span class="token parameter variable">-f</span> change-storage-class-config</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token builtin class-name">alias</span> <span class="token assign-left variable">velero</span><span class="token operator">=</span><span class="token string">'oc -n openshift-adp exec deployment/velero -c velero -it -- ./velero'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc describe <span class="token operator">&lt;</span>velero_cr<span class="token operator">&gt;</span> <span class="token operator">&lt;</span>cr_name<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc logs pod/<span class="token operator">&lt;</span>velero<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: velero-sample
spec:
  configuration:
    velero:
      logLevel: warning
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero<span class="token punctuation"><span class="token punctuation">-</span></span>sample
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">logLevel</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> warning</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  &lt;backup_restore_cr&gt; &lt;command&gt; &lt;cr_name&gt;
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp <span class="token builtin class-name">exec</span> deployment/velero <span class="token parameter variable">-c</span> velero -- ./velero <span class="token punctuation">\</span>
  <span class="token operator">&lt;</span>backup_restore_cr<span class="token operator">&gt;</span> <span class="token operator">&lt;</span>command<span class="token operator">&gt;</span> <span class="token operator">&lt;</span>cr_name<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  backup describe 0e44ae00-5dc3-11eb-9ca8-df7e5254778b-2d8ql
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp <span class="token builtin class-name">exec</span> deployment/velero <span class="token parameter variable">-c</span> velero -- ./velero <span class="token punctuation">\</span>
  backup describe 0e44ae00-5dc3-11eb-9ca8-df7e5254778b-2d8ql</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  --help
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp <span class="token builtin class-name">exec</span> deployment/velero <span class="token parameter variable">-c</span> velero -- ./velero <span class="token punctuation">\</span>
  <span class="token parameter variable">--help</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  &lt;backup_restore_cr&gt; logs &lt;cr_name&gt;
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp <span class="token builtin class-name">exec</span> deployment/velero <span class="token parameter variable">-c</span> velero -- ./velero <span class="token punctuation">\</span>
  <span class="token operator">&lt;</span>backup_restore_cr<span class="token operator">&gt;</span> logs <span class="token operator">&lt;</span>cr_name<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  restore logs ccc7c2d0-6017-11eb-afab-85d0007f5a19-x4lbf
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp <span class="token builtin class-name">exec</span> deployment/velero <span class="token parameter variable">-c</span> velero -- ./velero <span class="token punctuation">\</span>
  restore logs ccc7c2d0-6017-11eb-afab-85d0007f5a19-x4lbf</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  &lt;backup_restore_cr&gt; describe &lt;cr_name&gt;
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp <span class="token builtin class-name">exec</span> deployment/velero <span class="token parameter variable">-c</span> velero -- ./velero <span class="token punctuation">\</span>
  <span class="token operator">&lt;</span>backup_restore_cr<span class="token operator">&gt;</span> describe <span class="token operator">&lt;</span>cr_name<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  backup describe 0e44ae00-5dc3-11eb-9ca8-df7e5254778b-2d8ql
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp <span class="token builtin class-name">exec</span> deployment/velero <span class="token parameter variable">-c</span> velero -- ./velero <span class="token punctuation">\</span>
  backup describe 0e44ae00-5dc3-11eb-9ca8-df7e5254778b-2d8ql</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" actions="copy">

  cpu: 500m
  memory: 128Mi
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">requests</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">cpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 500m
  <span class="token key atrule"><span class="token key atrule">memory</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 128Mi</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
...
configuration:
  velero:
    podConfig:
      resourceAllocations:
        requests:
cpu: 200m
memory: 256Mi
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">resourceAllocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO229-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">requests</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">cpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 200m
<span class="token key atrule"><span class="token key atrule">memory</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 256Mi</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
...
configuration:
  restic:
    podConfig:
      resourceAllocations:
        requests:
cpu: 1000m
memory: 16Gi
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token punctuation"><span class="token punctuation">...</span></span>
<span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">restic</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">resourceAllocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO230-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">requests</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">cpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 1000m
<span class="token key atrule"><span class="token key atrule">memory</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 16Gi</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: ts-dpa
spec:
  backupLocations:
  - velero:
      default: true
      objectStorage:
        bucket: oadp.....njph
        prefix: velero
      credential:
        key: cloud
        name: cloud-credentials-gcp
      provider: gcp
  configuration:
    velero:
      defaultPlugins:
      - gcp
      - openshift
      - csi
    nodeAgent:
      enable: true
      uploaderType: kopia
      podConfig:
        resourceAllocations:
requests:
  cpu: 1000m
  memory: 16Gi 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ts<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp<span class="token punctuation"><span class="token punctuation">...</span></span>..njph
        <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
      <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
        <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials<span class="token punctuation"><span class="token punctuation">-</span></span>gcp
      <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> gcp
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> gcp
      <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
      <span class="token punctuation"><span class="token punctuation">-</span></span> csi
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kopia
      <span class="token key atrule"><span class="token key atrule">podConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">resourceAllocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO231-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">requests</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">cpu</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 1000m
  <span class="token key atrule"><span class="token key atrule">memory</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 16Gi </code></pre><rh-badge id="CO231-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create <span class="token parameter variable">-f</span> nodeAgent.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get pods</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

node-agent-hbj9l                                            1/1     Running     0          97s
node-agent-wmwgz                                            1/1     Running     0          95s
node-agent-zvc7k                                            1/1     Running     0          98s
openshift-adp-controller-manager-7f9db86d96-4lhgq           1/1     Running     0          137m
velero-7b6c7fb8d7-ppc8m                                     1/1     Running     0          4m2s
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                                                        READY   STATUS      RESTARTS   AGE
node-agent-hbj9l                                            1/1     Running     0          97s
node-agent-wmwgz                                            1/1     Running     0          95s
node-agent-zvc7k                                            1/1     Running     0          98s
openshift-adp-controller-manager-7f9db86d96-4lhgq           1/1     Running     0          137m
velero-7b6c7fb8d7-ppc8m                                     1/1     Running     0          4m2s</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc describe pod node-agent-hbj9l <span class="token operator">|</span> <span class="token function">grep</span> <span class="token parameter variable">-C</span> <span class="token number">5</span> Requests</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

    State:          Running
      Started:      Mon, 09 Jun 2025 16:22:15 +0530
    Ready:          True
    Restart Count:  0
    Requests:
      cpu:     1
      memory:  1Gi
    Environment:
      NODE_NAME:            (v1:spec.nodeName)
      VELERO_NAMESPACE:    openshift-adp (v1:metadata.namespace)
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">      --log-format=text
    State:          Running
      Started:      Mon, 09 Jun 2025 16:22:15 +0530
    Ready:          True
    Restart Count:  0
    Requests:
      cpu:     1
      memory:  1Gi
    Environment:
      NODE_NAME:            (v1:spec.nodeName)
      VELERO_NAMESPACE:    openshift-adp (v1:metadata.namespace)</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  --from-backup=&lt;backup_name&gt; --include-resources \
  service.serving.knavtive.dev
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero restore <span class="token operator">&lt;</span>restore_name<span class="token operator">&gt;</span> <span class="token punctuation">\</span>
  --from-backup<span class="token operator">=</span><span class="token operator">&lt;</span>backup_name<span class="token operator">&gt;</span> --include-resources <span class="token punctuation">\</span>
  service.serving.knavtive.dev</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get mutatingwebhookconfigurations</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" actions="copy">

backup=openshift-adp/&lt;backup name&gt; error="error executing custom action (groupResource=imagestreams.image.openshift.io,
namespace=&lt;BSL Name&gt;, name=postgres): rpc error: code = Aborted desc = plugin panicked:
runtime error: index out of range with length 1, stack trace: goroutine 94…
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">024-02-27T10:46:50.028951744Z time="2024-02-27T10:46:50Z" level=error msg="Error backing up item"
backup=openshift-adp/&lt;backup name&gt; error="error executing custom action (groupResource=imagestreams.image.openshift.io,
namespace=&lt;BSL Name&gt;, name=postgres): rpc error: code = Aborted desc = plugin panicked:
runtime error: index out of range with length 1, stack trace: goroutine 94…</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc label backupstoragelocations.velero.io <span class="token operator">&lt;</span>bsl_name<span class="token operator">&gt;</span> app.kubernetes.io/component<span class="token operator">=</span>bsl</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-adp get secret/oadp-<span class="token operator">&lt;</span>bsl_name<span class="token operator">&gt;</span>-<span class="token operator">&lt;</span>bsl_provider<span class="token operator">&gt;</span>-registry-secret <span class="token parameter variable">-o</span> json <span class="token operator">|</span> jq <span class="token parameter variable">-r</span> <span class="token string">'.data'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" actions="copy">

<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">Backup storage contains invalid top-level directories.</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" actions="copy">

<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">`InvalidAccessKeyId: The AWS Access Key Id you provided does not exist in our records.`</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" actions="copy">

<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">NoCredentialProviders: no valid providers in chain.</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" actions="copy">

aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">[default] </code></pre><rh-badge id="CO232-1" state="info">1</rh-badge>
<pre class="language-plaintext" tabindex="0"><code class="language-plaintext">
aws_access_key_id=AKIAIOSFODNN7EXAMPLE </code></pre><rh-badge id="CO232-2" state="info">2</rh-badge>
<pre class="language-plaintext" tabindex="0"><code class="language-plaintext">
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get backupstoragelocations.velero.io <span class="token parameter variable">-A</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero backup-location get <span class="token parameter variable">-n</span> <span class="token operator">&lt;</span>oadp_operator_namespace<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get backupstoragelocations.velero.io <span class="token parameter variable">-n</span> <span class="token operator">&lt;</span>namespace<span class="token operator">&gt;</span> <span class="token parameter variable">-o</span> yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

items:
- apiVersion: velero.io/v1
  kind: BackupStorageLocation
  metadata:
    creationTimestamp: "2023-11-03T19:49:04Z"
    generation: 9703
    name: example-dpa-1
    namespace: openshift-adp-operator
    ownerReferences:
    - apiVersion: oadp.openshift.io/v1alpha1
      blockOwnerDeletion: true
      controller: true
      kind: DataProtectionApplication
      name: example-dpa
      uid: 0beeeaff-0287-4f32-bcb1-2e3c921b6e82
    resourceVersion: "24273698"
    uid: ba37cd15-cf17-4f7d-bf03-8af8655cea83
  spec:
    config:
      enableSharedConfig: "true"
      region: us-west-2
    credential:
      key: credentials
      name: cloud-credentials
    default: true
    objectStorage:
      bucket: example-oadp-operator
      prefix: example
    provider: aws
  status:
    lastValidationTime: "2023-11-10T22:06:46Z"
    message: "BackupStorageLocation \"example-dpa-1\" is unavailable: rpc
      error: code = Unknown desc = WebIdentityErr: failed to retrieve credentials\ncaused
      by: AccessDenied: Not authorized to perform sts:AssumeRoleWithWebIdentity\n\tstatus
      code: 403, request id: d3f2e099-70a0-467b-997e-ff62345e3b54"
    phase: Unavailable
kind: List
metadata:
  resourceVersion: ""
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> v1
<span class="token key atrule"><span class="token key atrule">items</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
  <span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> BackupStorageLocation
  <span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">creationTimestamp</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2023-11-03T19:49:04Z"</span></span>
    <span class="token key atrule"><span class="token key atrule">generation</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">9703</span></span>
    <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> example<span class="token punctuation"><span class="token punctuation">-</span></span>dpa<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">1</span></span>
    <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp<span class="token punctuation"><span class="token punctuation">-</span></span>operator
    <span class="token key atrule"><span class="token key atrule">ownerReferences</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
      <span class="token key atrule"><span class="token key atrule">blockOwnerDeletion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">controller</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
      <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> example<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
      <span class="token key atrule"><span class="token key atrule">uid</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 0beeeaff<span class="token punctuation"><span class="token punctuation">-</span></span>0287<span class="token punctuation"><span class="token punctuation">-</span></span>4f32<span class="token punctuation"><span class="token punctuation">-</span></span>bcb1<span class="token punctuation"><span class="token punctuation">-</span></span>2e3c921b6e82
    <span class="token key atrule"><span class="token key atrule">resourceVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"24273698"</span></span>
    <span class="token key atrule"><span class="token key atrule">uid</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ba37cd15<span class="token punctuation"><span class="token punctuation">-</span></span>cf17<span class="token punctuation"><span class="token punctuation">-</span></span>4f7d<span class="token punctuation"><span class="token punctuation">-</span></span>bf03<span class="token punctuation"><span class="token punctuation">-</span></span>8af8655cea83
  <span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enableSharedConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
      <span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> us<span class="token punctuation"><span class="token punctuation">-</span></span>west<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">2</span></span>
    <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> credentials
      <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
    <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
    <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> example<span class="token punctuation"><span class="token punctuation">-</span></span>oadp<span class="token punctuation"><span class="token punctuation">-</span></span>operator
      <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> example
    <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
  <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">lastValidationTime</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2023-11-10T22:06:46Z"</span></span>
    <span class="token key atrule"><span class="token key atrule">message</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> "BackupStorageLocation \"example<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token key atrule"><span class="token key atrule">dpa-1\" is unavailable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> rpc
      <span class="token key atrule"><span class="token key atrule">error</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token key atrule"><span class="token key atrule">code = Unknown desc = WebIdentityErr</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> failed to retrieve credentials\ncaused
      <span class="token key atrule"><span class="token key atrule">by</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token key atrule"><span class="token key atrule">AccessDenied</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Not authorized to perform sts<span class="token punctuation"><span class="token punctuation">:</span></span>AssumeRoleWithWebIdentity\n\tstatus
      <span class="token key atrule"><span class="token key atrule">code</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">403</span></span><span class="token punctuation"><span class="token punctuation">,</span></span> <span class="token key atrule"><span class="token key atrule">request id</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> d3f2e099<span class="token punctuation"><span class="token punctuation">-</span></span>70a0<span class="token punctuation"><span class="token punctuation">-</span></span>467b<span class="token punctuation"><span class="token punctuation">-</span></span>997e<span class="token punctuation"><span class="token punctuation">-</span></span>ff62345e3b54"
    <span class="token key atrule"><span class="token key atrule">phase</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Unavailable
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> List
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">resourceVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">""</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">level=error msg="Error backing up item" backup=velero/monitoring error="timed out waiting for all PodVolumeBackups to complete"</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
 name: &lt;dpa_name&gt;
spec:
  configuration:
    nodeAgent:
      enable: true
      uploaderType: restic
      timeout: 1h
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
 <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> restic
      <span class="token key atrule"><span class="token key atrule">timeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 1h
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
 name: &lt;dpa_name&gt;
spec:
  configuration:
    velero:
      resourceTimeout: 10m
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
 <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">resourceTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 10m
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
 name: &lt;dpa_name&gt;
spec:
  configuration:
    velero:
      defaultItemOperationTimeout: 1h
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
 <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultItemOperationTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 1h
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
 name: &lt;dpa_name&gt;
spec:
  features:
    dataMover:
      timeout: 10m
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
 <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;dpa_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">features</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">dataMover</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">timeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 10m
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Backup
metadata:
 name: &lt;backup_name&gt;
spec:
 csiSnapshotTimeout: 10m
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Backup
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
 <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;backup_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
 <span class="token key atrule"><span class="token key atrule">csiSnapshotTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 10m
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Restore
metadata:
 name: &lt;restore_name&gt;
spec:
 itemOperationTimeout: 1h
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Restore
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
 <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;restore_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
 <span class="token key atrule"><span class="token key atrule">itemOperationTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 1h
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Backup
metadata:
 name: &lt;backup_name&gt;
spec:
 itemOperationTimeout: 1h
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Backup
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
 <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;backup_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
 <span class="token key atrule"><span class="token key atrule">itemOperationTimeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 1h
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" actions="copy">

<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">InvalidVolume.NotFound: The volume ‘vol-xxxx’ does not exist.</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  backup describe &lt;backup&gt;
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> <span class="token punctuation">{</span>namespace<span class="token punctuation">}</span> <span class="token builtin class-name">exec</span> deployment/velero <span class="token parameter variable">-c</span> velero -- ./velero <span class="token punctuation">\</span>
  backup describe <span class="token operator">&lt;</span>backup<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete backups.velero.io <span class="token operator">&lt;</span>backup<span class="token operator">&gt;</span> <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">velero backup describe <span class="token operator">&lt;</span>backup_name<span class="token operator">&gt;</span> <span class="token parameter variable">--details</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" actions="copy">

<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">time="2023-02-17T16:33:13Z" level=error msg="Error backing up item" backup=openshift-adp/user1-backup-check5 error="error executing custom action (groupResource=persistentvolumeclaims, namespace=busy1, name=pvc1-user1): rpc error: code = Unknown desc = failed to get volumesnapshotclass for storageclass ocs-storagecluster-ceph-rbd: failed to get volumesnapshotclass for provisioner openshift-storage.rbd.csi.ceph.com, ensure that the desired volumesnapshot class has the velero.io/csi-volumesnapshot-class label" logSource="/remote-source/velero/app/pkg/backup/backup.go:417" name=busybox-79799557b5-vprq</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete backups.velero.io <span class="token operator">&lt;</span>backup<span class="token operator">&gt;</span> <span class="token parameter variable">-n</span> openshift-adp</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc label volumesnapshotclass/<span class="token operator">&lt;</span>snapclass_name<span class="token operator">&gt;</span> velero.io/csi-volumesnapshot-class<span class="token operator">=</span>true</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" actions="copy">

<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">controller=pod-volume-backup error="fork/exec/usr/bin/restic: permission denied".</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
# ...
spec:
  configuration:
    nodeAgent:
      enable: true
      uploaderType: restic
      supplementalGroups:
      - &lt;group_id&gt;
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token comment"><span class="token comment"># ...</span></span>
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">nodeAgent</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
      <span class="token key atrule"><span class="token key atrule">uploaderType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> restic
      <span class="token key atrule"><span class="token key atrule">supplementalGroups</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> &lt;group_id<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO233-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" actions="copy">

<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">stderr=Fatal: unable to open config file: Stat: The specified key does not exist.\nIs there a repository at the following location?</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete resticrepository openshift-adp <span class="token operator">&lt;</span>name_of_the_restic_repository<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

 encountered backup up item" backup=velero/backup65
 logSource="pkg/backup/backup.go:431" name=mysql-7d99fc949-qbkds
 time="2021-12-29T18:29:14Z" level=error msg="Error backing up item"
 backup=velero/backup65 error="pod volume backup failed: error running
 restic backup, stderr=Fatal: unable to open config file: Stat: The
 specified key does not exist.\nIs there a repository at the following
 location?\ns3:http://minio-minio.apps.mayap-oadp-
 veleo-1234.qe.devcluster.openshift.com/mayapvelerooadp2/velero1/
 restic/mysql-persistent\n: exit status 1" error.file="/remote-source/
 src/github.com/vmware-tanzu/velero/pkg/restic/backupper.go:184"
 error.function="github.com/vmware-tanzu/velero/
 pkg/restic.(*backupper).BackupPodVolumes"
 logSource="pkg/backup/backup.go:435" name=mysql-7d99fc949-qbkds
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext"> time="2021-12-29T18:29:14Z" level=info msg="1 errors
 encountered backup up item" backup=velero/backup65
 logSource="pkg/backup/backup.go:431" name=mysql-7d99fc949-qbkds
 time="2021-12-29T18:29:14Z" level=error msg="Error backing up item"
 backup=velero/backup65 error="pod volume backup failed: error running
 restic backup, stderr=Fatal: unable to open config file: Stat: The
 specified key does not exist.\nIs there a repository at the following
 location?\ns3:http://minio-minio.apps.mayap-oadp-
 veleo-1234.qe.devcluster.openshift.com/mayapvelerooadp2/velero1/
 restic/<span class="token italic">mysql-persistent</span>\n: exit status 1" error.file="/remote-source/
 src/github.com/vmware-tanzu/velero/pkg/restic/backupper.go:184"
 error.function="github.com/vmware-tanzu/velero/
 pkg/restic.(*backupper).BackupPodVolumes"
 logSource="pkg/backup/backup.go:435" name=mysql-7d99fc949-qbkds</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

level=error msg=\"error restoring mysql-869f9f44f6-tp5lv: pods\\\
"mysql-869f9f44f6-tp5lv\\\" is forbidden: violates PodSecurity\\\
"restricted:v1.24\\\": privil eged (container \\\"mysql\\\
" must not set securityContext.privileged=true),
allowPrivilegeEscalation != false (containers \\\
"restic-wait\\\", \\\"mysql\\\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (containers \\\
"restic-wait\\\", \\\"mysql\\\" must set securityContext.capabilities.drop=[\\\"ALL\\\"]), seccompProfile (pod or containers \\\
"restic-wait\\\", \\\"mysql\\\" must set securityContext.seccompProfile.type to \\\
"RuntimeDefault\\\" or \\\"Localhost\\\")\" logSource=\"/remote-source/velero/app/pkg/restore/restore.go:1388\" restore=openshift-adp/todolist-backup-0780518c-08ed-11ee-805c-0a580a80e92c\n
velero container contains \"level=error\" in line#2447: time=\"2023-06-12T06:50:05Z\"
level=error msg=\"Namespace todolist-mariadb,
resource restore error: error restoring pods/todolist-mariadb/mysql-869f9f44f6-tp5lv: pods \\\
"mysql-869f9f44f6-tp5lv\\\" is forbidden: violates PodSecurity \\\"restricted:v1.24\\\": privileged (container \\\
"mysql\\\" must not set securityContext.privileged=true),
allowPrivilegeEscalation != false (containers \\\
"restic-wait\\\",\\\"mysql\\\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (containers \\\
"restic-wait\\\", \\\"mysql\\\" must set securityContext.capabilities.drop=[\\\"ALL\\\"]), seccompProfile (pod or containers \\\
"restic-wait\\\", \\\"mysql\\\" must set securityContext.seccompProfile.type to \\\
"RuntimeDefault\\\" or \\\"Localhost\\\")\"
logSource=\"/remote-source/velero/app/pkg/controller/restore_controller.go:510\"
restore=openshift-adp/todolist-backup-0780518c-08ed-11ee-805c-0a580a80e92c\n]",
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">\"level=error\" in line#2273: time=\"2023-06-12T06:50:04Z\"
level=error msg=\"error restoring mysql-869f9f44f6-tp5lv: pods\\\
"mysql-869f9f44f6-tp5lv\\\" is forbidden: violates PodSecurity\\\
"restricted:v1.24\\\": privil eged (container \\\"mysql\\\
" must not set securityContext.privileged=true),
allowPrivilegeEscalation != false (containers \\\
"restic-wait\\\", \\\"mysql\\\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (containers \\\
"restic-wait\\\", \\\"mysql\\\" must set securityContext.capabilities.drop=[\\\"ALL\\\"]), seccompProfile (pod or containers \\\
"restic-wait\\\", \\\"mysql\\\" must set securityContext.seccompProfile.type to \\\
"RuntimeDefault\\\" or \\\"Localhost\\\")\" logSource=\"/remote-source/velero/app/pkg/restore/restore.go:1388\" restore=openshift-adp/todolist-backup-0780518c-08ed-11ee-805c-0a580a80e92c\n
velero container contains \"level=error\" in line#2447: time=\"2023-06-12T06:50:05Z\"
level=error msg=\"Namespace todolist-mariadb,
resource restore error: error restoring pods/todolist-mariadb/mysql-869f9f44f6-tp5lv: pods \\\
"mysql-869f9f44f6-tp5lv\\\" is forbidden: violates PodSecurity \\\"restricted:v1.24\\\": privileged (container \\\
"mysql\\\" must not set securityContext.privileged=true),
allowPrivilegeEscalation != false (containers \\\
"restic-wait\\\",\\\"mysql\\\" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (containers \\\
"restic-wait\\\", \\\"mysql\\\" must set securityContext.capabilities.drop=[\\\"ALL\\\"]), seccompProfile (pod or containers \\\
"restic-wait\\\", \\\"mysql\\\" must set securityContext.seccompProfile.type to \\\
"RuntimeDefault\\\" or \\\"Localhost\\\")\"
logSource=\"/remote-source/velero/app/pkg/controller/restore_controller.go:510\"
restore=openshift-adp/todolist-backup-0780518c-08ed-11ee-805c-0a580a80e92c\n]",</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get dpa <span class="token parameter variable">-o</span> yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

configuration:
  restic:
    enable: true
  velero:
    args:
      restore-resource-priorities: 'securitycontextconstraints,customresourcedefinitions,namespaces,storageclasses,volumesnapshotclass.snapshot.storage.k8s.io,volumesnapshotcontents.snapshot.storage.k8s.io,volumesnapshots.snapshot.storage.k8s.io,datauploads.velero.io,persistentvolumes,persistentvolumeclaims,serviceaccounts,secrets,configmaps,limitranges,pods,replicasets.apps,clusterclasses.cluster.x-k8s.io,endpoints,services,-,clusterbootstraps.run.tanzu.vmware.com,clusters.cluster.x-k8s.io,clusterresourcesets.addons.cluster.x-k8s.io'
    defaultPlugins:
    - gcp
    - openshift
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token comment"><span class="token comment"># ...</span></span>
<span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">restic</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">enable</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
  <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">args</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">restore-resource-priorities</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'securitycontextconstraints,customresourcedefinitions,namespaces,storageclasses,volumesnapshotclass.snapshot.storage.k8s.io,volumesnapshotcontents.snapshot.storage.k8s.io,volumesnapshots.snapshot.storage.k8s.io,datauploads.velero.io,persistentvolumes,persistentvolumeclaims,serviceaccounts,secrets,configmaps,limitranges,pods,replicasets.apps,clusterclasses.cluster.x-k8s.io,endpoints,services,-,clusterbootstraps.run.tanzu.vmware.com,clusters.cluster.x-k8s.io,clusterresourcesets.addons.cluster.x-k8s.io'</span></span> </code></pre><rh-badge id="CO234-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> gcp
    <span class="token punctuation"><span class="token punctuation">-</span></span> openshift</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionTest
metadata:
  name: dpt-sample
  namespace: openshift-adp
spec:
  backupLocationName: &lt;bsl_name&gt;
  csiVolumeSnapshotTestConfigs:
  - snapshotClassName: csi-gce-pd-vsc
    timeout: 90s
    volumeSnapshotSource:
      persistentVolumeClaimName: &lt;pvc1_name&gt;
      persistentVolumeClaimNamespace: &lt;pvc_namespace&gt;
  - snapshotClassName: csi-gce-pd-vsc
    timeout: 120s
    volumeSnapshotSource:
      persistentVolumeClaimName: &lt;pvc2_name&gt;
      persistentVolumeClaimNamespace: &lt;pvc_namespace&gt;
  forceRun: false
  uploadSpeedTestConfig:
    fileSize: 200MB
    timeout: 120s
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionTest
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> dpt<span class="token punctuation"><span class="token punctuation">-</span></span>sample
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocationName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bsl_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO235-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">csiVolumeSnapshotTestConfigs</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO235-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">snapshotClassName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> csi<span class="token punctuation"><span class="token punctuation">-</span></span>gce<span class="token punctuation"><span class="token punctuation">-</span></span>pd<span class="token punctuation"><span class="token punctuation">-</span></span>vsc
    <span class="token key atrule"><span class="token key atrule">timeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 90s
    <span class="token key atrule"><span class="token key atrule">volumeSnapshotSource</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">persistentVolumeClaimName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;pvc1_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO235-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">persistentVolumeClaimNamespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;pvc_namespace<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO235-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">snapshotClassName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> csi<span class="token punctuation"><span class="token punctuation">-</span></span>gce<span class="token punctuation"><span class="token punctuation">-</span></span>pd<span class="token punctuation"><span class="token punctuation">-</span></span>vsc
    <span class="token key atrule"><span class="token key atrule">timeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 120s
    <span class="token key atrule"><span class="token key atrule">volumeSnapshotSource</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">persistentVolumeClaimName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;pvc2_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO235-5" state="info">5</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">persistentVolumeClaimNamespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;pvc_namespace<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
  <span class="token key atrule"><span class="token key atrule">forceRun</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">false</span></span> </code></pre><rh-badge id="CO235-6" state="info">6</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">uploadSpeedTestConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO235-7" state="info">7</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">fileSize</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 200MB
    <span class="token key atrule"><span class="token key atrule">timeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 120s</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>dpt_file_name<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO236-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get dpt dpt-sample</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

dpt-sample   Complete   17m          546                 AES256       Enabled      2/2 passed   17m
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME         PHASE      LASTTESTED   UPLOADSPEED(MBPS)   ENCRYPTION   VERSIONING   SNAPSHOTS    AGE
dpt-sample   Complete   17m          546                 AES256       Enabled      2/2 passed   17m</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get dpt dpt-sample <span class="token parameter variable">-o</span> yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionTest
....
status:
  bucketMetadata:
    encryptionAlgorithm: AES256
    versioningStatus: Enabled
  lastTested: "202...:47:51Z"
  phase: Complete
  s3Vendor: AWS
  snapshotSummary: 2/2 passed
  snapshotTests:
  - persistentVolumeClaimName: mysql-data
    persistentVolumeClaimNamespace: ocp-mysql
    readyDuration: 24s
    status: Ready
  - persistentVolumeClaimName: mysql-data1
    persistentVolumeClaimNamespace: ocp-mysql
    readyDuration: 40s
    status: Ready
  uploadTest:
    duration: 3.071s
    speedMbps: 546
    success: true
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionTest
<span class="token punctuation"><span class="token punctuation">...</span></span>.
<span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">bucketMetadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO237-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">encryptionAlgorithm</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> AES256
    <span class="token key atrule"><span class="token key atrule">versioningStatus</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Enabled
  <span class="token key atrule"><span class="token key atrule">lastTested</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"202...:47:51Z"</span></span>
  <span class="token key atrule"><span class="token key atrule">phase</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Complete
  <span class="token key atrule"><span class="token key atrule">s3Vendor</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> AWS </code></pre><rh-badge id="CO237-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">snapshotSummary</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 2/2 passed </code></pre><rh-badge id="CO237-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">snapshotTests</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">persistentVolumeClaimName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> mysql<span class="token punctuation"><span class="token punctuation">-</span></span>data
    <span class="token key atrule"><span class="token key atrule">persistentVolumeClaimNamespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ocp<span class="token punctuation"><span class="token punctuation">-</span></span>mysql
    <span class="token key atrule"><span class="token key atrule">readyDuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 24s
    <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Ready
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">persistentVolumeClaimName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> mysql<span class="token punctuation"><span class="token punctuation">-</span></span>data1
    <span class="token key atrule"><span class="token key atrule">persistentVolumeClaimNamespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ocp<span class="token punctuation"><span class="token punctuation">-</span></span>mysql
    <span class="token key atrule"><span class="token key atrule">readyDuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 40s
    <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Ready
  <span class="token key atrule"><span class="token key atrule">uploadTest</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO237-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">duration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 3.071s
    <span class="token key atrule"><span class="token key atrule">speedMbps</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">546</span></span>
    <span class="token key atrule"><span class="token key atrule">success</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionTest
metadata:
  name: dpt-sample
  namespace: openshift-adp
spec:
  backupLocationSpec:
    provider: aws
    default: true
    objectStorage:
      bucket: sample-bucket
      prefix: velero
    config:
      region: us-east-1
      profile: "default"
      insecureSkipTLSVerify: "true"
      s3Url: "https://s3.amazonaws.com/sample-bucket"
    credential:
      name: cloud-credentials
      key: cloud
  uploadSpeedTestConfig:
    fileSize: 50MB
    timeout: 120s
  csiVolumeSnapshotTestConfigs:
    - volumeSnapshotSource:
        persistentVolumeClaimName: mongo
        persistentVolumeClaimNamespace: mongo-persistent
      snapshotClassName: csi-snapclass
      timeout: 2m
  forceRun: true
  skipTLSVerify: true 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionTest
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> dpt<span class="token punctuation"><span class="token punctuation">-</span></span>sample
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocationSpec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO238-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws
    <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
    <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> sample<span class="token punctuation"><span class="token punctuation">-</span></span>bucket </code></pre><rh-badge id="CO238-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero
    <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">region</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> us<span class="token punctuation"><span class="token punctuation">-</span></span>east<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">1</span></span> </code></pre><rh-badge id="CO238-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">profile</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"default"</span></span>
      <span class="token key atrule"><span class="token key atrule">insecureSkipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"true"</span></span>
      <span class="token key atrule"><span class="token key atrule">s3Url</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"https://s3.amazonaws.com/sample-bucket"</span></span>
    <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO238-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials
      <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
  <span class="token key atrule"><span class="token key atrule">uploadSpeedTestConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO238-5" state="info">5</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">fileSize</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 50MB
    <span class="token key atrule"><span class="token key atrule">timeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 120s
  <span class="token key atrule"><span class="token key atrule">csiVolumeSnapshotTestConfigs</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> </code></pre><rh-badge id="CO238-6" state="info">6</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">volumeSnapshotSource</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">persistentVolumeClaimName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> mongo
        <span class="token key atrule"><span class="token key atrule">persistentVolumeClaimNamespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> mongo<span class="token punctuation"><span class="token punctuation">-</span></span>persistent
      <span class="token key atrule"><span class="token key atrule">snapshotClassName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> csi<span class="token punctuation"><span class="token punctuation">-</span></span>snapclass
      <span class="token key atrule"><span class="token key atrule">timeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 2m
  <span class="token key atrule"><span class="token key atrule">forceRun</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
  <span class="token key atrule"><span class="token key atrule">skipTLSVerify</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span> </code></pre><rh-badge id="CO238-7" state="info">7</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create <span class="token parameter variable">-f</span> <span class="token operator">&lt;</span>dpt_file_name<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO239-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get dpt dpt-sample</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

dpt-sample   Complete   17m          546                 AES256       Enabled      2/2 passed   17m
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME         PHASE      LASTTESTED   UPLOADSPEED(MBPS)   ENCRYPTION   VERSIONING   SNAPSHOTS    AGE
dpt-sample   Complete   17m          546                 AES256       Enabled      2/2 passed   17m</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

--assignee "$AZURE_CLIENT_ID" \
--role "Storage Blob Data Contributor" \
--scope "/subscriptions/$AZURE_SUBSCRIPTION_ID/resourceGroups/$AZURE_RESOURCE_GROUP/providers/Microsoft.Storage/storageAccounts/$AZURE_STORAGE_ACCOUNT_ID"
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">az role assignment create <span class="token punctuation">\</span>
<span class="token parameter variable">--assignee</span> <span class="token string">"<span class="token variable">$AZURE_CLIENT_ID</span>"</span> <span class="token punctuation">\</span>
<span class="token parameter variable">--role</span> <span class="token string">"Storage Blob Data Contributor"</span> <span class="token punctuation">\</span>
<span class="token parameter variable">--scope</span> <span class="token string">"/subscriptions/<span class="token variable">$AZURE_SUBSCRIPTION_ID</span>/resourceGroups/<span class="token variable">$AZURE_RESOURCE_GROUP</span>/providers/Microsoft.Storage/storageAccounts/<span class="token variable">$AZURE_STORAGE_ACCOUNT_ID</span>"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

AZURE_TENANT_ID=&lt;tenant-id&gt;
AZURE_CLIENT_ID=&lt;client-id&gt;
AZURE_CLIENT_SECRET=&lt;client-secret&gt;
AZURE_RESOURCE_GROUP=&lt;resource-group&gt;
AZURE_STORAGE_ACCOUNT_ID=&lt;storage-account&gt;
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">AZURE_SUBSCRIPTION_ID=&lt;subscription-id&gt;
AZURE_TENANT_ID=&lt;tenant-id&gt;
AZURE_CLIENT_ID=&lt;client-id&gt;
AZURE_CLIENT_SECRET=&lt;client-secret&gt;
AZURE_RESOURCE_GROUP=&lt;resource-group&gt;
AZURE_STORAGE_ACCOUNT_ID=&lt;storage-account&gt;</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create secret generic cloud-credentials-azure <span class="token parameter variable">-n</span> openshift-adp --from-file <span class="token assign-left variable">cloud</span><span class="token operator">=</span><span class="token operator">&lt;</span>credentials_file_path<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionApplication
metadata:
  name: ts-dpa
  namespace: openshift-adp
spec:
  configuration:
    velero:
      defaultPlugins:
        - azure
        - openshift
  backupLocations:
    - velero:
        config:
resourceGroup: oadp-....-b7q4-rg
storageAccount: oadp...kb7q4
subscriptionId: 53b8f5...fd54c8a
        credential:
key: cloud
name: cloud-credentials-azure
        provider: azure
        default: true
        objectStorage:
bucket: &lt;bucket_name&gt;
prefix: velero
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionApplication
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ts<span class="token punctuation"><span class="token punctuation">-</span></span>dpa
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">configuration</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">defaultPlugins</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> azure
        <span class="token punctuation"><span class="token punctuation">-</span></span> openshift
  <span class="token key atrule"><span class="token key atrule">backupLocations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">velero</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">config</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">resourceGroup</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token punctuation"><span class="token punctuation">...</span></span>.<span class="token punctuation"><span class="token punctuation">-</span></span>b7q4<span class="token punctuation"><span class="token punctuation">-</span></span>rg
<span class="token key atrule"><span class="token key atrule">storageAccount</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp<span class="token punctuation"><span class="token punctuation">...</span></span>kb7q4
<span class="token key atrule"><span class="token key atrule">subscriptionId</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 53b8f5<span class="token punctuation"><span class="token punctuation">...</span></span>fd54c8a
        <span class="token key atrule"><span class="token key atrule">credential</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud
<span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cloud<span class="token punctuation"><span class="token punctuation">-</span></span>credentials<span class="token punctuation"><span class="token punctuation">-</span></span>azure </code></pre><rh-badge id="CO240-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">provider</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> azure
        <span class="token key atrule"><span class="token key atrule">default</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token boolean important"><span class="token boolean important">true</span></span>
        <span class="token key atrule"><span class="token key atrule">objectStorage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token key atrule"><span class="token key atrule">bucket</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bucket_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span>
<span class="token key atrule"><span class="token key atrule">prefix</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> velero</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: DataProtectionTest
metadata:
  name: dpt-sample
  namespace: openshift-adp
spec:
  backupLocationName: &lt;bsl_name&gt;
  uploadSpeedTestConfig:
    fileSize: 40MB
    timeout: 120s
  csiVolumeSnapshotTestConfigs:
    - snapshotClassName: csi-azuredisk-vsc
      timeout: 90s
      volumeSnapshotSource:
        persistentVolumeClaimName: mysql-data
        persistentVolumeClaimNamespace: ocp-mysql
    - snapshotClassName: csi-azuredisk-vsc
      timeout: 120s
      volumeSnapshotSource:
        persistentVolumeClaimName: mysql-data1
        persistentVolumeClaimNamespace: ocp-mysql
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> DataProtectionTest
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> dpt<span class="token punctuation"><span class="token punctuation">-</span></span>sample
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">backupLocationName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> &lt;bsl_name<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO241-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">uploadSpeedTestConfig</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">fileSize</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 40MB
    <span class="token key atrule"><span class="token key atrule">timeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 120s
  <span class="token key atrule"><span class="token key atrule">csiVolumeSnapshotTestConfigs</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">snapshotClassName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> csi<span class="token punctuation"><span class="token punctuation">-</span></span>azuredisk<span class="token punctuation"><span class="token punctuation">-</span></span>vsc </code></pre><rh-badge id="CO241-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">timeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 90s
      <span class="token key atrule"><span class="token key atrule">volumeSnapshotSource</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">persistentVolumeClaimName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> mysql<span class="token punctuation"><span class="token punctuation">-</span></span>data </code></pre><rh-badge id="CO241-3" state="info">3</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
        <span class="token key atrule"><span class="token key atrule">persistentVolumeClaimNamespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ocp<span class="token punctuation"><span class="token punctuation">-</span></span>mysql </code></pre><rh-badge id="CO241-4" state="info">4</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">snapshotClassName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> csi<span class="token punctuation"><span class="token punctuation">-</span></span>azuredisk<span class="token punctuation"><span class="token punctuation">-</span></span>vsc
      <span class="token key atrule"><span class="token key atrule">timeout</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 120s
      <span class="token key atrule"><span class="token key atrule">volumeSnapshotSource</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">persistentVolumeClaimName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> mysql<span class="token punctuation"><span class="token punctuation">-</span></span>data1
        <span class="token key atrule"><span class="token key atrule">persistentVolumeClaimNamespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ocp<span class="token punctuation"><span class="token punctuation">-</span></span>mysql</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc adm must-gather <span class="token parameter variable">--image</span><span class="token operator">=</span>registry.redhat.io/oadp/oadp-mustgather-rhel9:v1.5 -- /usr/bin/gather <span class="token parameter variable">-h</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc adm must-gather <span class="token parameter variable">--image</span><span class="token operator">=</span>registry.redhat.io/oadp/oadp-mustgather-rhel9:v1.5</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc adm must-gather <span class="token parameter variable">--image</span><span class="token operator">=</span>registry.redhat.io/oadp/oadp-mustgather-rhel9:v1.5 -- /usr/bin/gather --request-timeout 1m </span></span></code></pre><rh-badge id="CO242-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc adm must-gather <span class="token parameter variable">--image</span><span class="token operator">=</span>registry.redhat.io/oadp/oadp-mustgather-rhel9:v1.5 -- /usr/bin/gather --skip-tls</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc adm must-gather <span class="token parameter variable">--image</span><span class="token operator">=</span>registry.redhat.io/oadp/oadp-mustgather-rhel9:v1.5 -- /usr/bin/gather --request-timeout 15s --skip-tls </span></span></code></pre><rh-badge id="CO243-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc edit configmap cluster-monitoring-config <span class="token parameter variable">-n</span> openshift-monitoring</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: ConfigMap
data:
  config.yaml: |
    enableUserWorkload: true
metadata:
# ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ConfigMap
<span class="token key atrule"><span class="token key atrule">data</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">config.yaml</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token punctuation"><span class="token punctuation">|</span></span><span class="token scalar string"><span class="token scalar string">
    enableUserWorkload: true </span></span></code></pre><rh-badge id="CO244-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token comment"><span class="token comment"># ...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get pods <span class="token parameter variable">-n</span> openshift-user-workload-monitoring</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

prometheus-operator-6844b4b99c-b57j9   2/2     Running   0          43s
prometheus-user-workload-0             5/5     Running   0          32s
prometheus-user-workload-1             5/5     Running   0          32s
thanos-ruler-user-workload-0           3/3     Running   0          32s
thanos-ruler-user-workload-1           3/3     Running   0          32s
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                                   READY   STATUS    RESTARTS   AGE
prometheus-operator-6844b4b99c-b57j9   2/2     Running   0          43s
prometheus-user-workload-0             5/5     Running   0          32s
prometheus-user-workload-1             5/5     Running   0          32s
thanos-ruler-user-workload-0           3/3     Running   0          32s
thanos-ruler-user-workload-1           3/3     Running   0          32s</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get configmap user-workload-monitoring-config <span class="token parameter variable">-n</span> openshift-user-workload-monitoring</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">Error from server (NotFound): configmaps "user-workload-monitoring-config" not found</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: ConfigMap
metadata:
  name: user-workload-monitoring-config
  namespace: openshift-user-workload-monitoring
data:
  config.yaml: |
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ConfigMap
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> user<span class="token punctuation"><span class="token punctuation">-</span></span>workload<span class="token punctuation"><span class="token punctuation">-</span></span>monitoring<span class="token punctuation"><span class="token punctuation">-</span></span>config
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>user<span class="token punctuation"><span class="token punctuation">-</span></span>workload<span class="token punctuation"><span class="token punctuation">-</span></span>monitoring
<span class="token key atrule"><span class="token key atrule">data</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">config.yaml</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token punctuation"><span class="token punctuation">|</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> 2_configure_user_workload_monitoring.yaml</span></span>
<span class="token output">configmap/user-workload-monitoring-config created</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get svc <span class="token parameter variable">-n</span> openshift-adp <span class="token parameter variable">-l</span> app.kubernetes.io/name<span class="token operator">=</span>velero</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

openshift-adp-velero-metrics-svc   ClusterIP   172.30.38.244   &lt;none&gt;        8085/TCP   1h
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                               TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
openshift-adp-velero-metrics-svc   ClusterIP   172.30.38.244   &lt;none&gt;        8085/TCP   1h</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: ServiceMonitor
metadata:
  labels:
    app: oadp-service-monitor
  name: oadp-service-monitor
  namespace: openshift-adp
spec:
  endpoints:
  - interval: 30s
    path: /metrics
    targetPort: 8085
    scheme: http
  selector:
    matchLabels:
      app.kubernetes.io/name: "velero"
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> monitoring.coreos.com/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ServiceMonitor
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">labels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">app</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp<span class="token punctuation"><span class="token punctuation">-</span></span>service<span class="token punctuation"><span class="token punctuation">-</span></span>monitor
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> oadp<span class="token punctuation"><span class="token punctuation">-</span></span>service<span class="token punctuation"><span class="token punctuation">-</span></span>monitor
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">endpoints</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">interval</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 30s
    <span class="token key atrule"><span class="token key atrule">path</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> /metrics
    <span class="token key atrule"><span class="token key atrule">targetPort</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">8085</span></span>
    <span class="token key atrule"><span class="token key atrule">scheme</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> http
  <span class="token key atrule"><span class="token key atrule">selector</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">matchLabels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">app.kubernetes.io/name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"velero"</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> 3_create_oadp_service_monitor.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">servicemonitor.monitoring.coreos.com/oadp-service-monitor created</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: PrometheusRule
metadata:
  name: sample-oadp-alert
  namespace: openshift-adp
spec:
  groups:
  - name: sample-oadp-backup-alert
    rules:
    - alert: OADPBackupFailing
      annotations:
        description: 'OADP had {{#123;{{#123;$value | humanize}} backup failures over the last 2 hours.'
        summary: OADP has issues creating backups
      expr: |
        increase(velero_backup_failure_total{job="openshift-adp-velero-metrics-svc"}[2h]) &gt; 0
      for: 5m
      labels:
        severity: warning
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> monitoring.coreos.com/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> PrometheusRule
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> sample<span class="token punctuation"><span class="token punctuation">-</span></span>oadp<span class="token punctuation"><span class="token punctuation">-</span></span>alert
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>adp
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">groups</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> sample<span class="token punctuation"><span class="token punctuation">-</span></span>oadp<span class="token punctuation"><span class="token punctuation">-</span></span>backup<span class="token punctuation"><span class="token punctuation">-</span></span>alert
    <span class="token key atrule"><span class="token key atrule">rules</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">alert</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> OADPBackupFailing
      <span class="token key atrule"><span class="token key atrule">annotations</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">description</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">'OADP had {{#123;{{#123;$value | humanize}} backup failures over the last 2 hours.'</span></span>
        <span class="token key atrule"><span class="token key atrule">summary</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> OADP has issues creating backups
      <span class="token key atrule"><span class="token key atrule">expr</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token punctuation"><span class="token punctuation">|</span></span><span class="token scalar string"><span class="token scalar string">
        increase(velero_backup_failure_total{job="openshift-adp-velero-metrics-svc"}[2h]) &gt; 0</span></span>
      <span class="token key atrule"><span class="token key atrule">for</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 5m
      <span class="token key atrule"><span class="token key atrule">labels</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">severity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> warning</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> 4_create_oadp_alert_rule.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">prometheusrule.monitoring.coreos.com/sample-oadp-alert created</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc debug --as-root node/<span class="token operator">&lt;</span>node_name<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">sh-4.4# chroot /host</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token builtin class-name">export</span> <span class="token assign-left variable">HTTP_PROXY</span><span class="token operator">=</span>http://<span class="token operator">&lt;</span>your_proxy.example.com<span class="token operator">&gt;</span>:8080</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token builtin class-name">export</span> <span class="token assign-left variable">HTTPS_PROXY</span><span class="token operator">=</span>https://<span class="token operator">&lt;</span>your_proxy.example.com<span class="token operator">&gt;</span>:8080</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token builtin class-name">export</span> <span class="token assign-left variable">NO_PROXY</span><span class="token operator">=</span><span class="token operator">&lt;</span>example.com<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">sh-4.4# /usr/local/bin/cluster-backup.sh /home/core/assets/backup</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

found latest kube-controller-manager: /etc/kubernetes/static-pod-resources/kube-controller-manager-pod-7
found latest kube-scheduler: /etc/kubernetes/static-pod-resources/kube-scheduler-pod-6
found latest etcd: /etc/kubernetes/static-pod-resources/etcd-pod-3
ede95fe6b88b87ba86a03c15e669fb4aa5bf0991c180d3c6895ce72eaade54a1
etcdctl version: 3.4.14
API version: 3.4
{"level":"info","ts":1624647639.0188997,"caller":"snapshot/v3_snapshot.go:119","msg":"created temporary db file","path":"/home/core/assets/backup/snapshot_2021-06-25_190035.db.part"}
{"level":"info","ts":"2021-06-25T19:00:39.030Z","caller":"clientv3/maintenance.go:200","msg":"opened snapshot stream; downloading"}
{"level":"info","ts":1624647639.0301006,"caller":"snapshot/v3_snapshot.go:127","msg":"fetching snapshot","endpoint":"https://10.0.0.5:2379"}
{"level":"info","ts":"2021-06-25T19:00:40.215Z","caller":"clientv3/maintenance.go:208","msg":"completed snapshot read; closing"}
{"level":"info","ts":1624647640.6032252,"caller":"snapshot/v3_snapshot.go:142","msg":"fetched snapshot","endpoint":"https://10.0.0.5:2379","size":"114 MB","took":1.584090459}
{"level":"info","ts":1624647640.6047094,"caller":"snapshot/v3_snapshot.go:152","msg":"saved","path":"/home/core/assets/backup/snapshot_2021-06-25_190035.db"}
Snapshot saved at /home/core/assets/backup/snapshot_2021-06-25_190035.db
{"hash":3866667823,"revision":31407,"totalKey":12828,"totalSize":114446336}
snapshot db and kube resources are successfully saved to /home/core/assets/backup
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">found latest kube-apiserver: /etc/kubernetes/static-pod-resources/kube-apiserver-pod-6
found latest kube-controller-manager: /etc/kubernetes/static-pod-resources/kube-controller-manager-pod-7
found latest kube-scheduler: /etc/kubernetes/static-pod-resources/kube-scheduler-pod-6
found latest etcd: /etc/kubernetes/static-pod-resources/etcd-pod-3
ede95fe6b88b87ba86a03c15e669fb4aa5bf0991c180d3c6895ce72eaade54a1
etcdctl version: 3.4.14
API version: 3.4
{"level":"info","ts":1624647639.0188997,"caller":"snapshot/v3_snapshot.go:119","msg":"created temporary db file","path":"/home/core/assets/backup/snapshot_2021-06-25_190035.db.part"}
{"level":"info","ts":"2021-06-25T19:00:39.030Z","caller":"clientv3/maintenance.go:200","msg":"opened snapshot stream; downloading"}
{"level":"info","ts":1624647639.0301006,"caller":"snapshot/v3_snapshot.go:127","msg":"fetching snapshot","endpoint":"https://10.0.0.5:2379"}
{"level":"info","ts":"2021-06-25T19:00:40.215Z","caller":"clientv3/maintenance.go:208","msg":"completed snapshot read; closing"}
{"level":"info","ts":1624647640.6032252,"caller":"snapshot/v3_snapshot.go:142","msg":"fetched snapshot","endpoint":"https://10.0.0.5:2379","size":"114 MB","took":1.584090459}
{"level":"info","ts":1624647640.6047094,"caller":"snapshot/v3_snapshot.go:152","msg":"saved","path":"/home/core/assets/backup/snapshot_2021-06-25_190035.db"}
Snapshot saved at /home/core/assets/backup/snapshot_2021-06-25_190035.db
{"hash":3866667823,"revision":31407,"totalKey":12828,"totalSize":114446336}
snapshot db and kube resources are successfully saved to /home/core/assets/backup</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: FeatureGate
metadata:
  name: cluster
spec:
  featureSet: TechPreviewNoUpgrade
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> config.openshift.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> FeatureGate
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> cluster
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">featureSet</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> TechPreviewNoUpgrade</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> enable-tech-preview-no-upgrade.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get crd <span class="token operator">|</span> <span class="token function">grep</span> backup</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

etcdbackups.operator.openshift.io 2023-10-25T13:32:04Z
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">backups.config.openshift.io 2023-10-25T13:32:43Z
etcdbackups.operator.openshift.io 2023-10-25T13:32:04Z</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

apiVersion: v1
metadata:
  name: etcd-backup-pvc
  namespace: openshift-etcd
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 200Gi
  volumeMode: Filesystem
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> PersistentVolumeClaim
<span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> v1
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> etcd<span class="token punctuation"><span class="token punctuation">-</span></span>backup<span class="token punctuation"><span class="token punctuation">-</span></span>pvc
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>etcd
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">accessModes</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> ReadWriteOnce
  <span class="token key atrule"><span class="token key atrule">resources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">requests</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">storage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 200Gi </code></pre><rh-badge id="CO245-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">volumeMode</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Filesystem</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> etcd-backup-pvc.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get pvc</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

etcd-backup-pvc   Bound                                                       51s
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME              STATUS    VOLUME   CAPACITY   ACCESS MODES   STORAGECLASS   AGE
etcd-backup-pvc   Bound                                                       51s</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: EtcdBackup
metadata:
  name: etcd-single-backup
  namespace: openshift-etcd
spec:
  pvcName: etcd-backup-pvc 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> operator.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> EtcdBackup
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> etcd<span class="token punctuation"><span class="token punctuation">-</span></span>single<span class="token punctuation"><span class="token punctuation">-</span></span>backup
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>etcd
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">pvcName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> etcd<span class="token punctuation"><span class="token punctuation">-</span></span>backup<span class="token punctuation"><span class="token punctuation">-</span></span>pvc </code></pre><rh-badge id="CO246-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> etcd-single-backup.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: StorageClass
metadata:
  name: etcd-backup-local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: Immediate
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> storage.k8s.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> StorageClass
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> etcd<span class="token punctuation"><span class="token punctuation">-</span></span>backup<span class="token punctuation"><span class="token punctuation">-</span></span>local<span class="token punctuation"><span class="token punctuation">-</span></span>storage
<span class="token key atrule"><span class="token key atrule">provisioner</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kubernetes.io/no<span class="token punctuation"><span class="token punctuation">-</span></span>provisioner
<span class="token key atrule"><span class="token key atrule">volumeBindingMode</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Immediate</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> etcd-backup-local-storage.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: PersistentVolume
metadata:
  name: etcd-backup-pv-fs
spec:
  capacity:
    storage: 100Gi
  volumeMode: Filesystem
  accessModes:
  - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  storageClassName: etcd-backup-local-storage
  local:
    path: /mnt
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
      - key: kubernetes.io/hostname
         operator: In
         values:
         - &lt;example_master_node&gt; 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> PersistentVolume
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> etcd<span class="token punctuation"><span class="token punctuation">-</span></span>backup<span class="token punctuation"><span class="token punctuation">-</span></span>pv<span class="token punctuation"><span class="token punctuation">-</span></span>fs
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">capacity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">storage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 100Gi </code></pre><rh-badge id="CO247-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">volumeMode</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Filesystem
  <span class="token key atrule"><span class="token key atrule">accessModes</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> ReadWriteOnce
  <span class="token key atrule"><span class="token key atrule">persistentVolumeReclaimPolicy</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Retain
  <span class="token key atrule"><span class="token key atrule">storageClassName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> etcd<span class="token punctuation"><span class="token punctuation">-</span></span>backup<span class="token punctuation"><span class="token punctuation">-</span></span>local<span class="token punctuation"><span class="token punctuation">-</span></span>storage
  <span class="token key atrule"><span class="token key atrule">local</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">path</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> /mnt
  <span class="token key atrule"><span class="token key atrule">nodeAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">required</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">nodeSelectorTerms</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">matchExpressions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kubernetes.io/hostname
         <span class="token key atrule"><span class="token key atrule">operator</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> In
         <span class="token key atrule"><span class="token key atrule">values</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
         <span class="token punctuation"><span class="token punctuation">-</span></span> &lt;example_master_node<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO247-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get <span class="token function">pv</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

etcd-backup-pv-fs       100Gi      RWO            Retain           Available           etcd-backup-local-storage            10s
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                    CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM   STORAGECLASS                REASON   AGE
etcd-backup-pv-fs       100Gi      RWO            Retain           Available           etcd-backup-local-storage            10s</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

apiVersion: v1
metadata:
  name: etcd-backup-pvc
  namespace: openshift-etcd
spec:
  accessModes:
  - ReadWriteOnce
  volumeMode: Filesystem
  resources:
    requests:
      storage: 10Gi 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> PersistentVolumeClaim
<span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> v1
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> etcd<span class="token punctuation"><span class="token punctuation">-</span></span>backup<span class="token punctuation"><span class="token punctuation">-</span></span>pvc
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>etcd
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">accessModes</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> ReadWriteOnce
  <span class="token key atrule"><span class="token key atrule">volumeMode</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Filesystem
  <span class="token key atrule"><span class="token key atrule">resources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">requests</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">storage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 10Gi </code></pre><rh-badge id="CO248-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> etcd-backup-pvc.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: EtcdBackup
metadata:
  name: etcd-single-backup
  namespace: openshift-etcd
spec:
  pvcName: etcd-backup-pvc 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> operator.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> EtcdBackup
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> etcd<span class="token punctuation"><span class="token punctuation">-</span></span>single<span class="token punctuation"><span class="token punctuation">-</span></span>backup
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>etcd
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">pvcName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> etcd<span class="token punctuation"><span class="token punctuation">-</span></span>backup<span class="token punctuation"><span class="token punctuation">-</span></span>pvc </code></pre><rh-badge id="CO249-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> etcd-single-backup.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

apiVersion: v1
metadata:
  name: etcd-backup-pvc
  namespace: openshift-etcd
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 200Gi
  volumeMode: Filesystem
  storageClassName: etcd-backup-local-storage
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> PersistentVolumeClaim
<span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> v1
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> etcd<span class="token punctuation"><span class="token punctuation">-</span></span>backup<span class="token punctuation"><span class="token punctuation">-</span></span>pvc
  <span class="token key atrule"><span class="token key atrule">namespace</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> openshift<span class="token punctuation"><span class="token punctuation">-</span></span>etcd
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">accessModes</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> ReadWriteOnce
  <span class="token key atrule"><span class="token key atrule">resources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">requests</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">storage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 200Gi </code></pre><rh-badge id="CO250-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">volumeMode</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Filesystem
  <span class="token key atrule"><span class="token key atrule">storageClassName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> etcd<span class="token punctuation"><span class="token punctuation">-</span></span>backup<span class="token punctuation"><span class="token punctuation">-</span></span>local<span class="token punctuation"><span class="token punctuation">-</span></span>storage</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> etcd-backup-pvc.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get pvc</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

etcd-backup-pvc   Bound                                                       51s
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME              STATUS    VOLUME   CAPACITY   ACCESS MODES   STORAGECLASS   AGE
etcd-backup-pvc   Bound                                                       51s</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: StorageClass
metadata:
  name: etcd-backup-local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: Immediate
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> storage.k8s.io/v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> StorageClass
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> etcd<span class="token punctuation"><span class="token punctuation">-</span></span>backup<span class="token punctuation"><span class="token punctuation">-</span></span>local<span class="token punctuation"><span class="token punctuation">-</span></span>storage
<span class="token key atrule"><span class="token key atrule">provisioner</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kubernetes.io/no<span class="token punctuation"><span class="token punctuation">-</span></span>provisioner
<span class="token key atrule"><span class="token key atrule">volumeBindingMode</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Immediate</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> etcd-backup-local-storage.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: PersistentVolume
metadata:
  name: etcd-backup-pv-fs
spec:
  capacity:
    storage: 100Gi
  volumeMode: Filesystem
  accessModes:
  - ReadWriteMany
  persistentVolumeReclaimPolicy: Delete
  storageClassName: etcd-backup-local-storage
  local:
    path: /mnt/
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
operator: In
values:
- &lt;example_master_node&gt; 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> v1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> PersistentVolume
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> etcd<span class="token punctuation"><span class="token punctuation">-</span></span>backup<span class="token punctuation"><span class="token punctuation">-</span></span>pv<span class="token punctuation"><span class="token punctuation">-</span></span>fs
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">capacity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">storage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 100Gi </code></pre><rh-badge id="CO251-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">volumeMode</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Filesystem
  <span class="token key atrule"><span class="token key atrule">accessModes</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> ReadWriteMany
  <span class="token key atrule"><span class="token key atrule">persistentVolumeReclaimPolicy</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Delete
  <span class="token key atrule"><span class="token key atrule">storageClassName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> etcd<span class="token punctuation"><span class="token punctuation">-</span></span>backup<span class="token punctuation"><span class="token punctuation">-</span></span>local<span class="token punctuation"><span class="token punctuation">-</span></span>storage
  <span class="token key atrule"><span class="token key atrule">local</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">path</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> /mnt/
  <span class="token key atrule"><span class="token key atrule">nodeAffinity</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">required</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">nodeSelectorTerms</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">matchExpressions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">key</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> kubernetes.io/hostname
<span class="token key atrule"><span class="token key atrule">operator</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> In
<span class="token key atrule"><span class="token key atrule">values</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">-</span></span> &lt;example_master_node<span class="token punctuation"><span class="token punctuation">&gt;</span></span> </code></pre><rh-badge id="CO251-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get nodes</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get <span class="token function">pv</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

etcd-backup-pv-fs       100Gi      RWX            Delete           Available           etcd-backup-local-storage            10s
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                    CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM   STORAGECLASS                REASON   AGE
etcd-backup-pv-fs       100Gi      RWX            Delete           Available           etcd-backup-local-storage            10s</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

apiVersion: v1
metadata:
  name: etcd-backup-pvc
spec:
  accessModes:
  - ReadWriteMany
  volumeMode: Filesystem
  resources:
    requests:
      storage: 10Gi
  storageClassName: etcd-backup-local-storage
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> PersistentVolumeClaim
<span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> v1
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> etcd<span class="token punctuation"><span class="token punctuation">-</span></span>backup<span class="token punctuation"><span class="token punctuation">-</span></span>pvc
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">accessModes</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> ReadWriteMany
  <span class="token key atrule"><span class="token key atrule">volumeMode</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Filesystem
  <span class="token key atrule"><span class="token key atrule">resources</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">requests</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">storage</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 10Gi </code></pre><rh-badge id="CO252-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
  <span class="token key atrule"><span class="token key atrule">storageClassName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> etcd<span class="token punctuation"><span class="token punctuation">-</span></span>backup<span class="token punctuation"><span class="token punctuation">-</span></span>local<span class="token punctuation"><span class="token punctuation">-</span></span>storage</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> etcd-backup-pvc.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Backup
metadata:
  name: etcd-recurring-backup
spec:
  etcd:
    schedule: "20 4 * * *"
    timeZone: "UTC"
    pvcName: etcd-backup-pvc
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> config.openshift.io/v1alpha1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Backup
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> etcd<span class="token punctuation"><span class="token punctuation">-</span></span>recurring<span class="token punctuation"><span class="token punctuation">-</span></span>backup
<span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">etcd</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">schedule</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"20 4 * * *"</span></span> </code></pre><rh-badge id="CO253-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
    <span class="token key atrule"><span class="token key atrule">timeZone</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"UTC"</span></span>
    <span class="token key atrule"><span class="token key atrule">pvcName</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> etcd<span class="token punctuation"><span class="token punctuation">-</span></span>backup<span class="token punctuation"><span class="token punctuation">-</span></span>pvc</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  etcd:
    retentionPolicy:
      retentionType: RetentionNumber
      retentionNumber:
        maxNumberOfBackups: 5 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">etcd</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">retentionPolicy</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">retentionType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> RetentionNumber </code></pre><rh-badge id="CO254-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml">
      <span class="token key atrule"><span class="token key atrule">retentionNumber</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">maxNumberOfBackups</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">5</span></span> </code></pre><rh-badge id="CO254-2" state="info">2</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  etcd:
    retentionPolicy:
      retentionType: RetentionSize
      retentionSize:
        maxSizeOfBackupsGb: 20 
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">spec</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">etcd</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">retentionPolicy</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
      <span class="token key atrule"><span class="token key atrule">retentionType</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> RetentionSize
      <span class="token key atrule"><span class="token key atrule">retentionSize</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
        <span class="token key atrule"><span class="token key atrule">maxSizeOfBackupsGb</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token number"><span class="token number">20</span></span> </code></pre><rh-badge id="CO255-1" state="info">1</rh-badge>
<pre class="language-yaml" tabindex="0"><code class="language-yaml"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc create <span class="token parameter variable">-f</span> etcd-recurring-backup.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get cronjob <span class="token parameter variable">-n</span> openshift-etcd</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get etcd <span class="token parameter variable">-o</span><span class="token operator">=</span>jsonpath<span class="token operator">=</span><span class="token string">'{range .items[0].status.conditions[?(@.type=="EtcdMembersAvailable")]}{.message}{"\n"}{end}'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">2 of 3 members are available, ip-10-0-131-183.ec2.internal is unhealthy</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get machines <span class="token parameter variable">-A</span> <span class="token parameter variable">-ojsonpath</span><span class="token operator">=</span><span class="token string">'{range .items[*]}{@.status.nodeRef.name}{"\t"}{@.status.providerStatus.instanceState}{"\n"}'</span> <span class="token operator">|</span> <span class="token function">grep</span> <span class="token parameter variable">-v</span> running</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">ip-10-0-131-183.ec2.internal  stopped </span></code></pre><rh-badge id="CO256-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get nodes <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{range .items[*]}{"\n"}{.metadata.name}{"\t"}{range .spec.taints[*]}{.key}{" "}'</span> <span class="token operator">|</span> <span class="token function">grep</span> unreachable</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">ip-10-0-131-183.ec2.internal	node-role.kubernetes.io/master node.kubernetes.io/unreachable node.kubernetes.io/unreachable </span></code></pre><rh-badge id="CO257-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get nodes <span class="token parameter variable">-l</span> node-role.kubernetes.io/master <span class="token operator">|</span> <span class="token function">grep</span> <span class="token string">"NotReady"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">ip-10-0-131-183.ec2.internal   NotReady   master   122m   v1.32.3 </span></code></pre><rh-badge id="CO258-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get nodes <span class="token parameter variable">-l</span> node-role.kubernetes.io/master</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

ip-10-0-131-183.ec2.internal   Ready    master   6h13m   v1.32.3
ip-10-0-164-97.ec2.internal    Ready    master   6h13m   v1.32.3
ip-10-0-154-204.ec2.internal   Ready    master   6h13m   v1.32.3
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                           STATUS   ROLES    AGE     VERSION
ip-10-0-131-183.ec2.internal   Ready    master   6h13m   v1.32.3
ip-10-0-164-97.ec2.internal    Ready    master   6h13m   v1.32.3
ip-10-0-154-204.ec2.internal   Ready    master   6h13m   v1.32.3</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-etcd get pods <span class="token parameter variable">-l</span> k8s-app<span class="token operator">=</span>etcd</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

etcd-ip-10-0-164-97.ec2.internal                 3/3     Running     0          6h6m
etcd-ip-10-0-154-204.ec2.internal                3/3     Running     0          6h6m
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">etcd-ip-10-0-131-183.ec2.internal                2/3     Error       7          6h9m </span></code></pre><rh-badge id="CO259-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">etcd-ip-10-0-164-97.ec2.internal                 3/3     Running     0          6h6m
etcd-ip-10-0-154-204.ec2.internal                3/3     Running     0          6h6m</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-etcd get pods <span class="token parameter variable">-l</span> k8s-app<span class="token operator">=</span>etcd</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

etcd-ip-10-0-164-97.ec2.internal                 3/3     Running     0          123m
etcd-ip-10-0-154-204.ec2.internal                3/3     Running     0          124m
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">etcd-ip-10-0-131-183.ec2.internal                3/3     Running     0          123m
etcd-ip-10-0-164-97.ec2.internal                 3/3     Running     0          123m
etcd-ip-10-0-154-204.ec2.internal                3/3     Running     0          124m</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc rsh <span class="token parameter variable">-n</span> openshift-etcd etcd-ip-10-0-154-204.ec2.internal</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">sh-4.2# etcdctl member list -w table</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

|        ID        | STATUS  |             NAME             |        PEER ADDRS         |       CLIENT ADDRS        |
+------------------+---------+------------------------------+---------------------------+---------------------------+
| 6fc1e7c9db35841d | started | ip-10-0-131-183.ec2.internal | https://10.0.131.183:2380 | https://10.0.131.183:2379 |
| 757b6793e2408b6c | started |  ip-10-0-164-97.ec2.internal |  https://10.0.164.97:2380 |  https://10.0.164.97:2379 |
| ca8c2990a0aa29d1 | started | ip-10-0-154-204.ec2.internal | https://10.0.154.204:2380 | https://10.0.154.204:2379 |
+------------------+---------+------------------------------+---------------------------+---------------------------+
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">+------------------+---------+------------------------------+---------------------------+---------------------------+
|        ID        | STATUS  |             NAME             |        PEER ADDRS         |       CLIENT ADDRS        |
+------------------+---------+------------------------------+---------------------------+---------------------------+
| 6fc1e7c9db35841d | started | ip-10-0-131-183.ec2.internal | https://10.0.131.183:2380 | https://10.0.131.183:2379 |
| 757b6793e2408b6c | started |  ip-10-0-164-97.ec2.internal |  https://10.0.164.97:2380 |  https://10.0.164.97:2379 |
| ca8c2990a0aa29d1 | started | ip-10-0-154-204.ec2.internal | https://10.0.154.204:2380 | https://10.0.154.204:2379 |
+------------------+---------+------------------------------+---------------------------+---------------------------+</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">sh-4.2# etcdctl member remove 6fc1e7c9db35841d</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">Member 6fc1e7c9db35841d removed from cluster ead669ce1fbfb346</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">sh-4.2# etcdctl member list -w table</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

|        ID        | STATUS  |             NAME             |        PEER ADDRS         |       CLIENT ADDRS        |
+------------------+---------+------------------------------+---------------------------+---------------------------+
| 757b6793e2408b6c | started |  ip-10-0-164-97.ec2.internal |  https://10.0.164.97:2380 |  https://10.0.164.97:2379 |
| ca8c2990a0aa29d1 | started | ip-10-0-154-204.ec2.internal | https://10.0.154.204:2380 | https://10.0.154.204:2379 |
+------------------+---------+------------------------------+---------------------------+---------------------------+
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">+------------------+---------+------------------------------+---------------------------+---------------------------+
|        ID        | STATUS  |             NAME             |        PEER ADDRS         |       CLIENT ADDRS        |
+------------------+---------+------------------------------+---------------------------+---------------------------+
| 757b6793e2408b6c | started |  ip-10-0-164-97.ec2.internal |  https://10.0.164.97:2380 |  https://10.0.164.97:2379 |
| ca8c2990a0aa29d1 | started | ip-10-0-154-204.ec2.internal | https://10.0.154.204:2380 | https://10.0.154.204:2379 |
+------------------+---------+------------------------------+---------------------------+---------------------------+</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc patch etcd/cluster <span class="token parameter variable">--type</span><span class="token operator">=</span>merge <span class="token parameter variable">-p</span> <span class="token string">'{"spec": {"unsupportedConfigOverrides": {"useUnsupportedUnsafeNonHANonProductionUnstableEtcd": true}}}'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete <span class="token function">node</span> <span class="token operator">&lt;</span>node_name<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete <span class="token function">node</span> ip-10-0-131-183.ec2.internal</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get secrets <span class="token parameter variable">-n</span> openshift-etcd <span class="token operator">|</span> <span class="token function">grep</span> ip-10-0-131-183.ec2.internal </span></span></code></pre><rh-badge id="CO260-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

etcd-serving-ip-10-0-131-183.ec2.internal           kubernetes.io/tls                     2      47m
etcd-serving-metrics-ip-10-0-131-183.ec2.internal   kubernetes.io/tls                     2      47m
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">etcd-peer-ip-10-0-131-183.ec2.internal              kubernetes.io/tls                     2      47m
etcd-serving-ip-10-0-131-183.ec2.internal           kubernetes.io/tls                     2      47m
etcd-serving-metrics-ip-10-0-131-183.ec2.internal   kubernetes.io/tls                     2      47m</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete secret <span class="token parameter variable">-n</span> openshift-etcd etcd-peer-ip-10-0-131-183.ec2.internal</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete secret <span class="token parameter variable">-n</span> openshift-etcd etcd-serving-ip-10-0-131-183.ec2.internal</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete secret <span class="token parameter variable">-n</span> openshift-etcd etcd-serving-metrics-ip-10-0-131-183.ec2.internal</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-machine-api get controlplanemachineset</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get machines <span class="token parameter variable">-n</span> openshift-machine-api <span class="token parameter variable">-o</span> wide</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

clustername-8qw5l-master-0                  Running   m4.xlarge   us-east-1   us-east-1a   3h37m   ip-10-0-131-183.ec2.internal   aws:///us-east-1a/i-0ec2782f8287dfb7e   stopped
clustername-8qw5l-master-1                  Running   m4.xlarge   us-east-1   us-east-1b   3h37m   ip-10-0-154-204.ec2.internal   aws:///us-east-1b/i-096c349b700a19631   running
clustername-8qw5l-master-2                  Running   m4.xlarge   us-east-1   us-east-1c   3h37m   ip-10-0-164-97.ec2.internal    aws:///us-east-1c/i-02626f1dba9ed5bba   running
clustername-8qw5l-worker-us-east-1a-wbtgd   Running   m4.large    us-east-1   us-east-1a   3h28m   ip-10-0-129-226.ec2.internal   aws:///us-east-1a/i-010ef6279b4662ced   running
clustername-8qw5l-worker-us-east-1b-lrdxb   Running   m4.large    us-east-1   us-east-1b   3h28m   ip-10-0-144-248.ec2.internal   aws:///us-east-1b/i-0cb45ac45a166173b   running
clustername-8qw5l-worker-us-east-1c-pkg26   Running   m4.large    us-east-1   us-east-1c   3h28m   ip-10-0-170-181.ec2.internal   aws:///us-east-1c/i-06861c00007751b0a   running
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                                        PHASE     TYPE        REGION      ZONE         AGE     NODE                           PROVIDERID                              STATE
clustername-8qw5l-master-0                  Running   m4.xlarge   us-east-1   us-east-1a   3h37m   ip-10-0-131-183.ec2.internal   aws:///us-east-1a/i-0ec2782f8287dfb7e   stopped </span></code></pre><rh-badge id="CO261-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">clustername-8qw5l-master-1                  Running   m4.xlarge   us-east-1   us-east-1b   3h37m   ip-10-0-154-204.ec2.internal   aws:///us-east-1b/i-096c349b700a19631   running
clustername-8qw5l-master-2                  Running   m4.xlarge   us-east-1   us-east-1c   3h37m   ip-10-0-164-97.ec2.internal    aws:///us-east-1c/i-02626f1dba9ed5bba   running
clustername-8qw5l-worker-us-east-1a-wbtgd   Running   m4.large    us-east-1   us-east-1a   3h28m   ip-10-0-129-226.ec2.internal   aws:///us-east-1a/i-010ef6279b4662ced   running
clustername-8qw5l-worker-us-east-1b-lrdxb   Running   m4.large    us-east-1   us-east-1b   3h28m   ip-10-0-144-248.ec2.internal   aws:///us-east-1b/i-0cb45ac45a166173b   running
clustername-8qw5l-worker-us-east-1c-pkg26   Running   m4.large    us-east-1   us-east-1c   3h28m   ip-10-0-170-181.ec2.internal   aws:///us-east-1c/i-06861c00007751b0a   running</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete machine <span class="token parameter variable">-n</span> openshift-machine-api clustername-8qw5l-master-0 </span></span></code></pre><rh-badge id="CO262-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get machines <span class="token parameter variable">-n</span> openshift-machine-api <span class="token parameter variable">-o</span> wide</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

clustername-8qw5l-master-1                  Running        m4.xlarge   us-east-1   us-east-1b   3h37m   ip-10-0-154-204.ec2.internal   aws:///us-east-1b/i-096c349b700a19631   running
clustername-8qw5l-master-2                  Running        m4.xlarge   us-east-1   us-east-1c   3h37m   ip-10-0-164-97.ec2.internal    aws:///us-east-1c/i-02626f1dba9ed5bba   running
clustername-8qw5l-master-3                  Provisioning   m4.xlarge   us-east-1   us-east-1a   85s     ip-10-0-133-53.ec2.internal    aws:///us-east-1a/i-015b0888fe17bc2c8   running
clustername-8qw5l-worker-us-east-1a-wbtgd   Running        m4.large    us-east-1   us-east-1a   3h28m   ip-10-0-129-226.ec2.internal   aws:///us-east-1a/i-010ef6279b4662ced   running
clustername-8qw5l-worker-us-east-1b-lrdxb   Running        m4.large    us-east-1   us-east-1b   3h28m   ip-10-0-144-248.ec2.internal   aws:///us-east-1b/i-0cb45ac45a166173b   running
clustername-8qw5l-worker-us-east-1c-pkg26   Running        m4.large    us-east-1   us-east-1c   3h28m   ip-10-0-170-181.ec2.internal   aws:///us-east-1c/i-06861c00007751b0a   running
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                                        PHASE          TYPE        REGION      ZONE         AGE     NODE                           PROVIDERID                              STATE
clustername-8qw5l-master-1                  Running        m4.xlarge   us-east-1   us-east-1b   3h37m   ip-10-0-154-204.ec2.internal   aws:///us-east-1b/i-096c349b700a19631   running
clustername-8qw5l-master-2                  Running        m4.xlarge   us-east-1   us-east-1c   3h37m   ip-10-0-164-97.ec2.internal    aws:///us-east-1c/i-02626f1dba9ed5bba   running
clustername-8qw5l-master-3                  Provisioning   m4.xlarge   us-east-1   us-east-1a   85s     ip-10-0-133-53.ec2.internal    aws:///us-east-1a/i-015b0888fe17bc2c8   running </span></code></pre><rh-badge id="CO263-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">clustername-8qw5l-worker-us-east-1a-wbtgd   Running        m4.large    us-east-1   us-east-1a   3h28m   ip-10-0-129-226.ec2.internal   aws:///us-east-1a/i-010ef6279b4662ced   running
clustername-8qw5l-worker-us-east-1b-lrdxb   Running        m4.large    us-east-1   us-east-1b   3h28m   ip-10-0-144-248.ec2.internal   aws:///us-east-1b/i-0cb45ac45a166173b   running
clustername-8qw5l-worker-us-east-1c-pkg26   Running        m4.large    us-east-1   us-east-1c   3h28m   ip-10-0-170-181.ec2.internal   aws:///us-east-1c/i-06861c00007751b0a   running</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get machines <span class="token parameter variable">-n</span> openshift-machine-api <span class="token parameter variable">-o</span> wide</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

clustername-8qw5l-master-0                  Running   m4.xlarge   us-east-1   us-east-1a   3h37m   ip-10-0-131-183.ec2.internal   aws:///us-east-1a/i-0ec2782f8287dfb7e   stopped
clustername-8qw5l-master-1                  Running   m4.xlarge   us-east-1   us-east-1b   3h37m   ip-10-0-154-204.ec2.internal   aws:///us-east-1b/i-096c349b700a19631   running
clustername-8qw5l-master-2                  Running   m4.xlarge   us-east-1   us-east-1c   3h37m   ip-10-0-164-97.ec2.internal    aws:///us-east-1c/i-02626f1dba9ed5bba   running
clustername-8qw5l-worker-us-east-1a-wbtgd   Running   m4.large    us-east-1   us-east-1a   3h28m   ip-10-0-129-226.ec2.internal   aws:///us-east-1a/i-010ef6279b4662ced   running
clustername-8qw5l-worker-us-east-1b-lrdxb   Running   m4.large    us-east-1   us-east-1b   3h28m   ip-10-0-144-248.ec2.internal   aws:///us-east-1b/i-0cb45ac45a166173b   running
clustername-8qw5l-worker-us-east-1c-pkg26   Running   m4.large    us-east-1   us-east-1c   3h28m   ip-10-0-170-181.ec2.internal   aws:///us-east-1c/i-06861c00007751b0a   running
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                                        PHASE     TYPE        REGION      ZONE         AGE     NODE                           PROVIDERID                              STATE
clustername-8qw5l-master-0                  Running   m4.xlarge   us-east-1   us-east-1a   3h37m   ip-10-0-131-183.ec2.internal   aws:///us-east-1a/i-0ec2782f8287dfb7e   stopped </span></code></pre><rh-badge id="CO264-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">clustername-8qw5l-master-1                  Running   m4.xlarge   us-east-1   us-east-1b   3h37m   ip-10-0-154-204.ec2.internal   aws:///us-east-1b/i-096c349b700a19631   running
clustername-8qw5l-master-2                  Running   m4.xlarge   us-east-1   us-east-1c   3h37m   ip-10-0-164-97.ec2.internal    aws:///us-east-1c/i-02626f1dba9ed5bba   running
clustername-8qw5l-worker-us-east-1a-wbtgd   Running   m4.large    us-east-1   us-east-1a   3h28m   ip-10-0-129-226.ec2.internal   aws:///us-east-1a/i-010ef6279b4662ced   running
clustername-8qw5l-worker-us-east-1b-lrdxb   Running   m4.large    us-east-1   us-east-1b   3h28m   ip-10-0-144-248.ec2.internal   aws:///us-east-1b/i-0cb45ac45a166173b   running
clustername-8qw5l-worker-us-east-1c-pkg26   Running   m4.large    us-east-1   us-east-1c   3h28m   ip-10-0-170-181.ec2.internal   aws:///us-east-1c/i-06861c00007751b0a   running</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

    -n openshift-machine-api \
    -o yaml \
    &gt; new-master-machine.yaml
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get machine clustername-8qw5l-master-0 <span class="token punctuation">\</span> </span></span></code></pre><rh-badge id="CO265-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">    -n openshift-machine-api \
    -o yaml \
    &gt; new-master-machine.yaml</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  addresses:
  - address: 10.0.131.183
    type: InternalIP
  - address: ip-10-0-131-183.ec2.internal
    type: InternalDNS
  - address: ip-10-0-131-183.ec2.internal
    type: Hostname
  lastUpdated: "2020-04-20T17:44:29Z"
  nodeRef:
    kind: Node
    name: ip-10-0-131-183.ec2.internal
    uid: acca4411-af0d-4387-b73e-52b2484295ad
  phase: Running
  providerStatus:
    apiVersion: awsproviderconfig.openshift.io/v1beta1
    conditions:
    - lastProbeTime: "2020-04-20T16:53:50Z"
      lastTransitionTime: "2020-04-20T16:53:50Z"
      message: machine successfully created
      reason: MachineCreationSucceeded
      status: "True"
      type: MachineCreation
    instanceId: i-0fdb85790d76d0c3f
    instanceState: stopped
    kind: AWSMachineProviderStatus
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token key atrule"><span class="token key atrule">addresses</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">address</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> 10.0.131.183
    <span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> InternalIP
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">address</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ip<span class="token punctuation"><span class="token punctuation">-</span></span>10<span class="token punctuation"><span class="token punctuation">-</span></span>0<span class="token punctuation"><span class="token punctuation">-</span></span>131<span class="token punctuation"><span class="token punctuation">-</span></span>183.ec2.internal
    <span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> InternalDNS
  <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">address</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ip<span class="token punctuation"><span class="token punctuation">-</span></span>10<span class="token punctuation"><span class="token punctuation">-</span></span>0<span class="token punctuation"><span class="token punctuation">-</span></span>131<span class="token punctuation"><span class="token punctuation">-</span></span>183.ec2.internal
    <span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Hostname
  <span class="token key atrule"><span class="token key atrule">lastUpdated</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2020-04-20T17:44:29Z"</span></span>
  <span class="token key atrule"><span class="token key atrule">nodeRef</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Node
    <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> ip<span class="token punctuation"><span class="token punctuation">-</span></span>10<span class="token punctuation"><span class="token punctuation">-</span></span>0<span class="token punctuation"><span class="token punctuation">-</span></span>131<span class="token punctuation"><span class="token punctuation">-</span></span>183.ec2.internal
    <span class="token key atrule"><span class="token key atrule">uid</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> acca4411<span class="token punctuation"><span class="token punctuation">-</span></span>af0d<span class="token punctuation"><span class="token punctuation">-</span></span>4387<span class="token punctuation"><span class="token punctuation">-</span></span>b73e<span class="token punctuation"><span class="token punctuation">-</span></span>52b2484295ad
  <span class="token key atrule"><span class="token key atrule">phase</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Running
  <span class="token key atrule"><span class="token key atrule">providerStatus</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> awsproviderconfig.openshift.io/v1beta1
    <span class="token key atrule"><span class="token key atrule">conditions</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
    <span class="token punctuation"><span class="token punctuation">-</span></span> <span class="token key atrule"><span class="token key atrule">lastProbeTime</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2020-04-20T16:53:50Z"</span></span>
      <span class="token key atrule"><span class="token key atrule">lastTransitionTime</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"2020-04-20T16:53:50Z"</span></span>
      <span class="token key atrule"><span class="token key atrule">message</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> machine successfully created
      <span class="token key atrule"><span class="token key atrule">reason</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> MachineCreationSucceeded
      <span class="token key atrule"><span class="token key atrule">status</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> <span class="token string"><span class="token string">"True"</span></span>
      <span class="token key atrule"><span class="token key atrule">type</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> MachineCreation
    <span class="token key atrule"><span class="token key atrule">instanceId</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> i<span class="token punctuation"><span class="token punctuation">-</span></span>0fdb85790d76d0c3f
    <span class="token key atrule"><span class="token key atrule">instanceState</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> stopped
    <span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> AWSMachineProviderStatus</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

kind: Machine
metadata:
  ...
  name: clustername-8qw5l-master-3
  ...
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">apiVersion</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> machine.openshift.io/v1beta1
<span class="token key atrule"><span class="token key atrule">kind</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> Machine
<span class="token key atrule"><span class="token key atrule">metadata</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
  <span class="token punctuation"><span class="token punctuation">...</span></span>
  <span class="token key atrule"><span class="token key atrule">name</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> clustername<span class="token punctuation"><span class="token punctuation">-</span></span>8qw5l<span class="token punctuation"><span class="token punctuation">-</span></span>master<span class="token punctuation"><span class="token punctuation">-</span></span><span class="token number"><span class="token number">3</span></span>
  <span class="token punctuation"><span class="token punctuation">...</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" actions="copy">

<pre class="language-yaml" tabindex="-1"><code class="language-yaml">  <span class="token key atrule"><span class="token key atrule">providerID</span></span><span class="token punctuation"><span class="token punctuation">:</span></span> aws<span class="token punctuation"><span class="token punctuation">:</span></span>///us<span class="token punctuation"><span class="token punctuation">-</span></span>east<span class="token punctuation"><span class="token punctuation">-</span></span>1a/i<span class="token punctuation"><span class="token punctuation">-</span></span>0fdb85790d76d0c3f</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete machine <span class="token parameter variable">-n</span> openshift-machine-api clustername-8qw5l-master-0 </span></span></code></pre><rh-badge id="CO266-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get machines <span class="token parameter variable">-n</span> openshift-machine-api <span class="token parameter variable">-o</span> wide</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

clustername-8qw5l-master-1                  Running   m4.xlarge   us-east-1   us-east-1b   3h37m   ip-10-0-154-204.ec2.internal   aws:///us-east-1b/i-096c349b700a19631   running
clustername-8qw5l-master-2                  Running   m4.xlarge   us-east-1   us-east-1c   3h37m   ip-10-0-164-97.ec2.internal    aws:///us-east-1c/i-02626f1dba9ed5bba   running
clustername-8qw5l-worker-us-east-1a-wbtgd   Running   m4.large    us-east-1   us-east-1a   3h28m   ip-10-0-129-226.ec2.internal   aws:///us-east-1a/i-010ef6279b4662ced   running
clustername-8qw5l-worker-us-east-1b-lrdxb   Running   m4.large    us-east-1   us-east-1b   3h28m   ip-10-0-144-248.ec2.internal   aws:///us-east-1b/i-0cb45ac45a166173b   running
clustername-8qw5l-worker-us-east-1c-pkg26   Running   m4.large    us-east-1   us-east-1c   3h28m   ip-10-0-170-181.ec2.internal   aws:///us-east-1c/i-06861c00007751b0a   running
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                                        PHASE     TYPE        REGION      ZONE         AGE     NODE                           PROVIDERID                              STATE
clustername-8qw5l-master-1                  Running   m4.xlarge   us-east-1   us-east-1b   3h37m   ip-10-0-154-204.ec2.internal   aws:///us-east-1b/i-096c349b700a19631   running
clustername-8qw5l-master-2                  Running   m4.xlarge   us-east-1   us-east-1c   3h37m   ip-10-0-164-97.ec2.internal    aws:///us-east-1c/i-02626f1dba9ed5bba   running
clustername-8qw5l-worker-us-east-1a-wbtgd   Running   m4.large    us-east-1   us-east-1a   3h28m   ip-10-0-129-226.ec2.internal   aws:///us-east-1a/i-010ef6279b4662ced   running
clustername-8qw5l-worker-us-east-1b-lrdxb   Running   m4.large    us-east-1   us-east-1b   3h28m   ip-10-0-144-248.ec2.internal   aws:///us-east-1b/i-0cb45ac45a166173b   running
clustername-8qw5l-worker-us-east-1c-pkg26   Running   m4.large    us-east-1   us-east-1c   3h28m   ip-10-0-170-181.ec2.internal   aws:///us-east-1c/i-06861c00007751b0a   running</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc apply <span class="token parameter variable">-f</span> new-master-machine.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get machines <span class="token parameter variable">-n</span> openshift-machine-api <span class="token parameter variable">-o</span> wide</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

clustername-8qw5l-master-1                  Running        m4.xlarge   us-east-1   us-east-1b   3h37m   ip-10-0-154-204.ec2.internal   aws:///us-east-1b/i-096c349b700a19631   running
clustername-8qw5l-master-2                  Running        m4.xlarge   us-east-1   us-east-1c   3h37m   ip-10-0-164-97.ec2.internal    aws:///us-east-1c/i-02626f1dba9ed5bba   running
clustername-8qw5l-master-3                  Provisioning   m4.xlarge   us-east-1   us-east-1a   85s     ip-10-0-133-53.ec2.internal    aws:///us-east-1a/i-015b0888fe17bc2c8   running
clustername-8qw5l-worker-us-east-1a-wbtgd   Running        m4.large    us-east-1   us-east-1a   3h28m   ip-10-0-129-226.ec2.internal   aws:///us-east-1a/i-010ef6279b4662ced   running
clustername-8qw5l-worker-us-east-1b-lrdxb   Running        m4.large    us-east-1   us-east-1b   3h28m   ip-10-0-144-248.ec2.internal   aws:///us-east-1b/i-0cb45ac45a166173b   running
clustername-8qw5l-worker-us-east-1c-pkg26   Running        m4.large    us-east-1   us-east-1c   3h28m   ip-10-0-170-181.ec2.internal   aws:///us-east-1c/i-06861c00007751b0a   running
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                                        PHASE          TYPE        REGION      ZONE         AGE     NODE                           PROVIDERID                              STATE
clustername-8qw5l-master-1                  Running        m4.xlarge   us-east-1   us-east-1b   3h37m   ip-10-0-154-204.ec2.internal   aws:///us-east-1b/i-096c349b700a19631   running
clustername-8qw5l-master-2                  Running        m4.xlarge   us-east-1   us-east-1c   3h37m   ip-10-0-164-97.ec2.internal    aws:///us-east-1c/i-02626f1dba9ed5bba   running
clustername-8qw5l-master-3                  Provisioning   m4.xlarge   us-east-1   us-east-1a   85s     ip-10-0-133-53.ec2.internal    aws:///us-east-1a/i-015b0888fe17bc2c8   running </span></code></pre><rh-badge id="CO267-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">clustername-8qw5l-worker-us-east-1a-wbtgd   Running        m4.large    us-east-1   us-east-1a   3h28m   ip-10-0-129-226.ec2.internal   aws:///us-east-1a/i-010ef6279b4662ced   running
clustername-8qw5l-worker-us-east-1b-lrdxb   Running        m4.large    us-east-1   us-east-1b   3h28m   ip-10-0-144-248.ec2.internal   aws:///us-east-1b/i-0cb45ac45a166173b   running
clustername-8qw5l-worker-us-east-1c-pkg26   Running        m4.large    us-east-1   us-east-1c   3h28m   ip-10-0-170-181.ec2.internal   aws:///us-east-1c/i-06861c00007751b0a   running</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc patch etcd/cluster <span class="token parameter variable">--type</span><span class="token operator">=</span>merge <span class="token parameter variable">-p</span> <span class="token string">'{"spec": {"unsupportedConfigOverrides": null}}'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get etcd/cluster <span class="token parameter variable">-oyaml</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">EtcdCertSignerControllerDegraded: [Operation cannot be fulfilled on secrets "etcd-peer-sno-0": the object has been modified; please apply your changes to the latest version and try again, Operation cannot be fulfilled on secrets "etcd-serving-sno-0": the object has been modified; please apply your changes to the latest version and try again, Operation cannot be fulfilled on secrets "etcd-serving-metrics-sno-0": the object has been modified; please apply your changes to the latest version and try again]</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-etcd get pods <span class="token parameter variable">-l</span> k8s-app<span class="token operator">=</span>etcd</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

etcd-ip-10-0-164-97.ec2.internal                 3/3     Running     0          123m
etcd-ip-10-0-154-204.ec2.internal                3/3     Running     0          124m
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">etcd-ip-10-0-133-53.ec2.internal                 3/3     Running     0          7m49s
etcd-ip-10-0-164-97.ec2.internal                 3/3     Running     0          123m
etcd-ip-10-0-154-204.ec2.internal                3/3     Running     0          124m</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc patch etcd cluster <span class="token parameter variable">-p</span><span class="token operator">=</span><span class="token string">'{"spec": {"forceRedeploymentReason": "recovery-'</span>"<span class="token variable"><span class="token variable">$(</span> <span class="token function">date</span> --rfc-3339<span class="token operator">=</span>ns <span class="token variable">)</span></span><span class="token string">"'"</span><span class="token punctuation">}</span><span class="token punctuation">}</span>' <span class="token parameter variable">--type</span><span class="token operator">=</span>merge </span></span></code></pre><rh-badge id="CO268-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc rsh <span class="token parameter variable">-n</span> openshift-etcd etcd-ip-10-0-154-204.ec2.internal</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">sh-4.2# etcdctl member list -w table</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

|        ID        | STATUS  |             NAME             |        PEER ADDRS         |       CLIENT ADDRS        |
+------------------+---------+------------------------------+---------------------------+---------------------------+
| 5eb0d6b8ca24730c | started |  ip-10-0-133-53.ec2.internal |  https://10.0.133.53:2380 |  https://10.0.133.53:2379 |
| 757b6793e2408b6c | started |  ip-10-0-164-97.ec2.internal |  https://10.0.164.97:2380 |  https://10.0.164.97:2379 |
| ca8c2990a0aa29d1 | started | ip-10-0-154-204.ec2.internal | https://10.0.154.204:2380 | https://10.0.154.204:2379 |
+------------------+---------+------------------------------+---------------------------+---------------------------+
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">+------------------+---------+------------------------------+---------------------------+---------------------------+
|        ID        | STATUS  |             NAME             |        PEER ADDRS         |       CLIENT ADDRS        |
+------------------+---------+------------------------------+---------------------------+---------------------------+
| 5eb0d6b8ca24730c | started |  ip-10-0-133-53.ec2.internal |  https://10.0.133.53:2380 |  https://10.0.133.53:2379 |
| 757b6793e2408b6c | started |  ip-10-0-164-97.ec2.internal |  https://10.0.164.97:2380 |  https://10.0.164.97:2379 |
| ca8c2990a0aa29d1 | started | ip-10-0-154-204.ec2.internal | https://10.0.154.204:2380 | https://10.0.154.204:2379 |
+------------------+---------+------------------------------+---------------------------+---------------------------+</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc debug node/ip-10-0-131-183.ec2.internal </span></span></code></pre><rh-badge id="CO269-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">sh-4.2# chroot /host</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">sh-4.2# mkdir /var/lib/etcd-backup</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">sh-4.2# mv /etc/kubernetes/manifests/etcd-pod.yaml /var/lib/etcd-backup/</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">sh-4.2# mv /var/lib/etcd/ /tmp</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-etcd get pods <span class="token parameter variable">-l</span> k8s-app<span class="token operator">=</span>etcd</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

etcd-ip-10-0-164-97.ec2.internal                 3/3     Running     0          6h6m
etcd-ip-10-0-154-204.ec2.internal                3/3     Running     0          6h6m
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">etcd-ip-10-0-131-183.ec2.internal                2/3     Error       7          6h9m
etcd-ip-10-0-164-97.ec2.internal                 3/3     Running     0          6h6m
etcd-ip-10-0-154-204.ec2.internal                3/3     Running     0          6h6m</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc rsh <span class="token parameter variable">-n</span> openshift-etcd etcd-ip-10-0-154-204.ec2.internal</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">sh-4.2# etcdctl member list -w table</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

|        ID        | STATUS  |             NAME             |        PEER ADDRS         |       CLIENT ADDRS        |
+------------------+---------+------------------------------+---------------------------+---------------------------+
| 62bcf33650a7170a | started | ip-10-0-131-183.ec2.internal | https://10.0.131.183:2380 | https://10.0.131.183:2379 |
| b78e2856655bc2eb | started |  ip-10-0-164-97.ec2.internal |  https://10.0.164.97:2380 |  https://10.0.164.97:2379 |
| d022e10b498760d5 | started | ip-10-0-154-204.ec2.internal | https://10.0.154.204:2380 | https://10.0.154.204:2379 |
+------------------+---------+------------------------------+---------------------------+---------------------------+
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">+------------------+---------+------------------------------+---------------------------+---------------------------+
|        ID        | STATUS  |             NAME             |        PEER ADDRS         |       CLIENT ADDRS        |
+------------------+---------+------------------------------+---------------------------+---------------------------+
| 62bcf33650a7170a | started | ip-10-0-131-183.ec2.internal | https://10.0.131.183:2380 | https://10.0.131.183:2379 |
| b78e2856655bc2eb | started |  ip-10-0-164-97.ec2.internal |  https://10.0.164.97:2380 |  https://10.0.164.97:2379 |
| d022e10b498760d5 | started | ip-10-0-154-204.ec2.internal | https://10.0.154.204:2380 | https://10.0.154.204:2379 |
+------------------+---------+------------------------------+---------------------------+---------------------------+</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">sh-4.2# etcdctl member remove 62bcf33650a7170a</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">Member 62bcf33650a7170a removed from cluster ead669ce1fbfb346</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">sh-4.2# etcdctl member list -w table</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

|        ID        | STATUS  |             NAME             |        PEER ADDRS         |       CLIENT ADDRS        |
+------------------+---------+------------------------------+---------------------------+---------------------------+
| b78e2856655bc2eb | started |  ip-10-0-164-97.ec2.internal |  https://10.0.164.97:2380 |  https://10.0.164.97:2379 |
| d022e10b498760d5 | started | ip-10-0-154-204.ec2.internal | https://10.0.154.204:2380 | https://10.0.154.204:2379 |
+------------------+---------+------------------------------+---------------------------+---------------------------+
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">+------------------+---------+------------------------------+---------------------------+---------------------------+
|        ID        | STATUS  |             NAME             |        PEER ADDRS         |       CLIENT ADDRS        |
+------------------+---------+------------------------------+---------------------------+---------------------------+
| b78e2856655bc2eb | started |  ip-10-0-164-97.ec2.internal |  https://10.0.164.97:2380 |  https://10.0.164.97:2379 |
| d022e10b498760d5 | started | ip-10-0-154-204.ec2.internal | https://10.0.154.204:2380 | https://10.0.154.204:2379 |
+------------------+---------+------------------------------+---------------------------+---------------------------+</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc patch etcd/cluster <span class="token parameter variable">--type</span><span class="token operator">=</span>merge <span class="token parameter variable">-p</span> <span class="token string">'{"spec": {"unsupportedConfigOverrides": {"useUnsupportedUnsafeNonHANonProductionUnstableEtcd": true}}}'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get secrets <span class="token parameter variable">-n</span> openshift-etcd <span class="token operator">|</span> <span class="token function">grep</span> ip-10-0-131-183.ec2.internal </span></span></code></pre><rh-badge id="CO270-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

etcd-serving-ip-10-0-131-183.ec2.internal           kubernetes.io/tls                     2      47m
etcd-serving-metrics-ip-10-0-131-183.ec2.internal   kubernetes.io/tls                     2      47m
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">etcd-peer-ip-10-0-131-183.ec2.internal              kubernetes.io/tls                     2      47m
etcd-serving-ip-10-0-131-183.ec2.internal           kubernetes.io/tls                     2      47m
etcd-serving-metrics-ip-10-0-131-183.ec2.internal   kubernetes.io/tls                     2      47m</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete secret <span class="token parameter variable">-n</span> openshift-etcd etcd-peer-ip-10-0-131-183.ec2.internal</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete secret <span class="token parameter variable">-n</span> openshift-etcd etcd-serving-ip-10-0-131-183.ec2.internal</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete secret <span class="token parameter variable">-n</span> openshift-etcd etcd-serving-metrics-ip-10-0-131-183.ec2.internal</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc patch etcd cluster <span class="token parameter variable">-p</span><span class="token operator">=</span><span class="token string">'{"spec": {"forceRedeploymentReason": "single-master-recovery-'</span>"<span class="token variable"><span class="token variable">$(</span> <span class="token function">date</span> --rfc-3339<span class="token operator">=</span>ns <span class="token variable">)</span></span><span class="token string">"'"</span><span class="token punctuation">}</span><span class="token punctuation">}</span>' <span class="token parameter variable">--type</span><span class="token operator">=</span>merge </span></span></code></pre><rh-badge id="CO271-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc patch etcd/cluster <span class="token parameter variable">--type</span><span class="token operator">=</span>merge <span class="token parameter variable">-p</span> <span class="token string">'{"spec": {"unsupportedConfigOverrides": null}}'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get etcd/cluster <span class="token parameter variable">-oyaml</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">EtcdCertSignerControllerDegraded: [Operation cannot be fulfilled on secrets "etcd-peer-sno-0": the object has been modified; please apply your changes to the latest version and try again, Operation cannot be fulfilled on secrets "etcd-serving-sno-0": the object has been modified; please apply your changes to the latest version and try again, Operation cannot be fulfilled on secrets "etcd-serving-metrics-sno-0": the object has been modified; please apply your changes to the latest version and try again]</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc rsh <span class="token parameter variable">-n</span> openshift-etcd etcd-ip-10-0-154-204.ec2.internal</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">sh-4.2# etcdctl endpoint health</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

https://10.0.154.204:2379 is healthy: successfully committed proposal: took = 16.698331ms
https://10.0.164.97:2379 is healthy: successfully committed proposal: took = 16.621645ms
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">https://10.0.131.183:2379 is healthy: successfully committed proposal: took = 16.671434ms
https://10.0.154.204:2379 is healthy: successfully committed proposal: took = 16.698331ms
https://10.0.164.97:2379 is healthy: successfully committed proposal: took = 16.621645ms</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-etcd get pods <span class="token parameter variable">-l</span> k8s-app<span class="token operator">=</span>etcd <span class="token parameter variable">-o</span> wide</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

etcd-openshift-control-plane-1   5/5   Running   0    3h54m   192.168.10.10   openshift-control-plane-1   &lt;none&gt;           &lt;none&gt;
etcd-openshift-control-plane-2   5/5   Running   0    3h58m   192.168.10.11   openshift-control-plane-2   &lt;none&gt;           &lt;none&gt;
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">etcd-openshift-control-plane-0   5/5   Running   11   3h56m   192.168.10.9   openshift-control-plane-0  &lt;none&gt;           &lt;none&gt;
etcd-openshift-control-plane-1   5/5   Running   0    3h54m   192.168.10.10   openshift-control-plane-1   &lt;none&gt;           &lt;none&gt;
etcd-openshift-control-plane-2   5/5   Running   0    3h58m   192.168.10.11   openshift-control-plane-2   &lt;none&gt;           &lt;none&gt;</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc rsh <span class="token parameter variable">-n</span> openshift-etcd etcd-openshift-control-plane-0</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">sh-4.2# etcdctl member list -w table</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

| ID               | STATUS  | NAME                      | PEER ADDRS                  | CLIENT ADDRS                | IS LEARNER |
+------------------+---------+--------------------+---------------------------+---------------------------+---------------------+
| 7a8197040a5126c8 | started | openshift-control-plane-2 | https://192.168.10.11:2380/ | https://192.168.10.11:2379/ | false |
| 8d5abe9669a39192 | started | openshift-control-plane-1 | https://192.168.10.10:2380/ | https://192.168.10.10:2379/ | false |
| cc3830a72fc357f9 | started | openshift-control-plane-0 | https://192.168.10.9:2380/ | https://192.168.10.9:2379/   | false |
+------------------+---------+--------------------+---------------------------+---------------------------+---------------------+
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">+------------------+---------+--------------------+---------------------------+---------------------------+---------------------+
| ID               | STATUS  | NAME                      | PEER ADDRS                  | CLIENT ADDRS                | IS LEARNER |
+------------------+---------+--------------------+---------------------------+---------------------------+---------------------+
| 7a8197040a5126c8 | started | openshift-control-plane-2 | https://192.168.10.11:2380/ | https://192.168.10.11:2379/ | false |
| 8d5abe9669a39192 | started | openshift-control-plane-1 | https://192.168.10.10:2380/ | https://192.168.10.10:2379/ | false |
| cc3830a72fc357f9 | started | openshift-control-plane-0 | https://192.168.10.9:2380/ | https://192.168.10.9:2379/   | false |
+------------------+---------+--------------------+---------------------------+---------------------------+---------------------+</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">sh-4.2# etcdctl member remove 7a8197040a5126c8</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">Member 7a8197040a5126c8 removed from cluster b23536c33f2cdd1b</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">sh-4.2# etcdctl member list -w table</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

| ID               | STATUS  | NAME                      | PEER ADDRS                  | CLIENT ADDRS                | IS LEARNER |
+------------------+---------+--------------------+---------------------------+---------------------------+-------------------------+
| cc3830a72fc357f9 | started | openshift-control-plane-2 | https://192.168.10.11:2380/ | https://192.168.10.11:2379/ | false |
| 8d5abe9669a39192 | started | openshift-control-plane-1 | https://192.168.10.10:2380/ | https://192.168.10.10:2379/ | false |
+------------------+---------+--------------------+---------------------------+---------------------------+-------------------------+
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">+------------------+---------+--------------------+---------------------------+---------------------------+-------------------------+
| ID               | STATUS  | NAME                      | PEER ADDRS                  | CLIENT ADDRS                | IS LEARNER |
+------------------+---------+--------------------+---------------------------+---------------------------+-------------------------+
| cc3830a72fc357f9 | started | openshift-control-plane-2 | https://192.168.10.11:2380/ | https://192.168.10.11:2379/ | false |
| 8d5abe9669a39192 | started | openshift-control-plane-1 | https://192.168.10.10:2380/ | https://192.168.10.10:2379/ | false |
+------------------+---------+--------------------+---------------------------+---------------------------+-------------------------+</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc patch etcd/cluster <span class="token parameter variable">--type</span><span class="token operator">=</span>merge <span class="token parameter variable">-p</span> <span class="token string">'{"spec": {"unsupportedConfigOverrides": {"useUnsupportedUnsafeNonHANonProductionUnstableEtcd": true}}}'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get secrets <span class="token parameter variable">-n</span> openshift-etcd <span class="token operator">|</span> <span class="token function">grep</span> openshift-control-plane-2</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

etcd-serving-metrics-openshift-control-plane-2  kubernetes.io/tls   2   134m
etcd-serving-openshift-control-plane-2          kubernetes.io/tls   2   134m
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">etcd-peer-openshift-control-plane-2             kubernetes.io/tls   2   134m
etcd-serving-metrics-openshift-control-plane-2  kubernetes.io/tls   2   134m
etcd-serving-openshift-control-plane-2          kubernetes.io/tls   2   134m</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete secret etcd-peer-openshift-control-plane-2 <span class="token parameter variable">-n</span> openshift-etcd</span></span>

<span class="token output">secret "etcd-peer-openshift-control-plane-2" deleted</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete secret etcd-serving-metrics-openshift-control-plane-2 <span class="token parameter variable">-n</span> openshift-etcd</span></span>

<span class="token output">secret "etcd-serving-metrics-openshift-control-plane-2" deleted</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete secret etcd-serving-openshift-control-plane-2 <span class="token parameter variable">-n</span> openshift-etcd</span></span>

<span class="token output">secret "etcd-serving-openshift-control-plane-2" deleted</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get machines <span class="token parameter variable">-n</span> openshift-machine-api <span class="token parameter variable">-o</span> wide</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

examplecluster-control-plane-0    Running                          3h11m   openshift-control-plane-0   baremetalhost:///openshift-machine-api/openshift-control-plane-0/da1ebe11-3ff2-41c5-b099-0aa41222964e   externally provisioned
examplecluster-control-plane-1    Running                          3h11m   openshift-control-plane-1   baremetalhost:///openshift-machine-api/openshift-control-plane-1/d9f9acbc-329c-475e-8d81-03b20280a3e1   externally provisioned
examplecluster-control-plane-2    Running                          3h11m   openshift-control-plane-2   baremetalhost:///openshift-machine-api/openshift-control-plane-2/3354bdac-61d8-410f-be5b-6a395b056135   externally provisioned
examplecluster-compute-0          Running                          165m    openshift-compute-0         baremetalhost:///openshift-machine-api/openshift-compute-0/3d685b81-7410-4bb3-80ec-13a31858241f         provisioned
examplecluster-compute-1          Running                          165m    openshift-compute-1         baremetalhost:///openshift-machine-api/openshift-compute-1/0fdae6eb-2066-4241-91dc-e7ea72ab13b9         provisioned
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                              PHASE     TYPE   REGION   ZONE   AGE     NODE                               PROVIDERID                                                                                              STATE
examplecluster-control-plane-0    Running                          3h11m   openshift-control-plane-0   baremetalhost:///openshift-machine-api/openshift-control-plane-0/da1ebe11-3ff2-41c5-b099-0aa41222964e   externally provisioned </span></code></pre><rh-badge id="CO272-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">examplecluster-control-plane-1    Running                          3h11m   openshift-control-plane-1   baremetalhost:///openshift-machine-api/openshift-control-plane-1/d9f9acbc-329c-475e-8d81-03b20280a3e1   externally provisioned
examplecluster-control-plane-2    Running                          3h11m   openshift-control-plane-2   baremetalhost:///openshift-machine-api/openshift-control-plane-2/3354bdac-61d8-410f-be5b-6a395b056135   externally provisioned
examplecluster-compute-0          Running                          165m    openshift-compute-0         baremetalhost:///openshift-machine-api/openshift-compute-0/3d685b81-7410-4bb3-80ec-13a31858241f         provisioned
examplecluster-compute-1          Running                          165m    openshift-compute-1         baremetalhost:///openshift-machine-api/openshift-compute-1/0fdae6eb-2066-4241-91dc-e7ea72ab13b9         provisioned</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get clusteroperator baremetal</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

baremetal   4.19.0    True        False         False      3d15h
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME        VERSION   AVAILABLE   PROGRESSING   DEGRADED   SINCE   MESSAGE
baremetal   4.19.0    True        False         False      3d15h</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete bmh openshift-control-plane-2 <span class="token parameter variable">-n</span> openshift-machine-api</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">baremetalhost.metal3.io "openshift-control-plane-2" deleted</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete machine <span class="token parameter variable">-n</span> openshift-machine-api examplecluster-control-plane-2</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc edit machine <span class="token parameter variable">-n</span> openshift-machine-api examplecluster-control-plane-2</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" actions="copy">

- machine.machine.openshift.io
<pre class="language-yaml" tabindex="-1"><code class="language-yaml"><span class="token key atrule"><span class="token key atrule">finalizers</span></span><span class="token punctuation"><span class="token punctuation">:</span></span>
<span class="token punctuation"><span class="token punctuation">-</span></span> machine.machine.openshift.io</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">machine.machine.openshift.io/examplecluster-control-plane-2 edited</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get machines <span class="token parameter variable">-n</span> openshift-machine-api <span class="token parameter variable">-o</span> wide</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

examplecluster-control-plane-0    Running                          3h11m   openshift-control-plane-0   baremetalhost:///openshift-machine-api/openshift-control-plane-0/da1ebe11-3ff2-41c5-b099-0aa41222964e   externally provisioned
examplecluster-control-plane-1    Running                          3h11m   openshift-control-plane-1   baremetalhost:///openshift-machine-api/openshift-control-plane-1/d9f9acbc-329c-475e-8d81-03b20280a3e1   externally provisioned
examplecluster-compute-0          Running                          165m    openshift-compute-0         baremetalhost:///openshift-machine-api/openshift-compute-0/3d685b81-7410-4bb3-80ec-13a31858241f         provisioned
examplecluster-compute-1          Running                          165m    openshift-compute-1         baremetalhost:///openshift-machine-api/openshift-compute-1/0fdae6eb-2066-4241-91dc-e7ea72ab13b9         provisioned
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                              PHASE     TYPE   REGION   ZONE   AGE     NODE                                 PROVIDERID                                                                                       STATE
examplecluster-control-plane-0    Running                          3h11m   openshift-control-plane-0   baremetalhost:///openshift-machine-api/openshift-control-plane-0/da1ebe11-3ff2-41c5-b099-0aa41222964e   externally provisioned
examplecluster-control-plane-1    Running                          3h11m   openshift-control-plane-1   baremetalhost:///openshift-machine-api/openshift-control-plane-1/d9f9acbc-329c-475e-8d81-03b20280a3e1   externally provisioned
examplecluster-compute-0          Running                          165m    openshift-compute-0         baremetalhost:///openshift-machine-api/openshift-compute-0/3d685b81-7410-4bb3-80ec-13a31858241f         provisioned
examplecluster-compute-1          Running                          165m    openshift-compute-1         baremetalhost:///openshift-machine-api/openshift-compute-1/0fdae6eb-2066-4241-91dc-e7ea72ab13b9         provisioned</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get nodes</span></span>

<span class="token output">NAME                     STATUS ROLES   AGE   VERSION
openshift-control-plane-0 Ready master 3h24m v1.32.3
openshift-control-plane-1 Ready master 3h24m v1.32.3
openshift-compute-0       Ready worker 176m v1.32.3
openshift-compute-1       Ready worker 176m v1.32.3</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

apiVersion: v1
kind: Secret
metadata:
  name: openshift-control-plane-2-bmc-secret
  namespace: openshift-machine-api
data:
  password: &lt;password&gt;
  username: &lt;username&gt;
type: Opaque
---
apiVersion: metal3.io/v1alpha1
kind: BareMetalHost
metadata:
  name: openshift-control-plane-2
  namespace: openshift-machine-api
spec:
  automatedCleaningMode: disabled
  bmc:
    address: redfish://10.46.61.18:443/redfish/v1/Systems/1
    credentialsName: openshift-control-plane-2-bmc-secret
    disableCertificateVerification: true
  bootMACAddress: 48:df:37:b0:8a:a0
  bootMode: UEFI
  externallyProvisioned: false
  online: true
  rootDeviceHints:
    deviceName: /dev/disk/by-id/scsi-&lt;serial_number&gt;
  userData:
    name: master-user-data-managed
    namespace: openshift-machine-api
EOF
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">cat</span> <span class="token operator">&lt;&lt;</span><span class="token string">EOF<span class="token bash punctuation"> <span class="token operator">|</span> oc apply <span class="token parameter variable">-f</span> -</span>
apiVersion: v1
kind: Secret
metadata:
  name: openshift-control-plane-2-bmc-secret
  namespace: openshift-machine-api
data:
  password: &lt;password&gt;
  username: &lt;username&gt;
type: Opaque
---
apiVersion: metal3.io/v1alpha1
kind: BareMetalHost
metadata:
  name: openshift-control-plane-2
  namespace: openshift-machine-api
spec:
  automatedCleaningMode: disabled
  bmc:
    address: redfish://10.46.61.18:443/redfish/v1/Systems/1
    credentialsName: openshift-control-plane-2-bmc-secret
    disableCertificateVerification: true
  bootMACAddress: 48:df:37:b0:8a:a0
  bootMode: UEFI
  externallyProvisioned: false
  online: true
  rootDeviceHints:
    deviceName: /dev/disk/by-id/scsi-&lt;serial_number&gt;
  userData:
    name: master-user-data-managed
    namespace: openshift-machine-api
EOF</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get bmh <span class="token parameter variable">-n</span> openshift-machine-api</span></span>

<span class="token output">NAME                      STATE                  CONSUMER                      ONLINE ERROR   AGE
openshift-control-plane-0 externally provisioned examplecluster-control-plane-0 true         4h48m
openshift-control-plane-1 externally provisioned examplecluster-control-plane-1 true         4h48m
openshift-control-plane-2 available              examplecluster-control-plane-3 true         47m
openshift-compute-0       provisioned            examplecluster-compute-0       true         4h48m
openshift-compute-1       provisioned            examplecluster-compute-1       true         4h48m</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get machines <span class="token parameter variable">-n</span> openshift-machine-api <span class="token parameter variable">-o</span> wide</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

examplecluster-control-plane-0         Running                          3h11m   openshift-control-plane-0   baremetalhost:///openshift-machine-api/openshift-control-plane-0/da1ebe11-3ff2-41c5-b099-0aa41222964e   externally provisioned
examplecluster-control-plane-1         Running                          3h11m   openshift-control-plane-1   baremetalhost:///openshift-machine-api/openshift-control-plane-1/d9f9acbc-329c-475e-8d81-03b20280a3e1   externally provisioned
examplecluster-control-plane-2         Running                          3h11m   openshift-control-plane-2   baremetalhost:///openshift-machine-api/openshift-control-plane-2/3354bdac-61d8-410f-be5b-6a395b056135   externally provisioned
examplecluster-compute-0               Running                          165m    openshift-compute-0         baremetalhost:///openshift-machine-api/openshift-compute-0/3d685b81-7410-4bb3-80ec-13a31858241f         provisioned
examplecluster-compute-1               Running                          165m    openshift-compute-1         baremetalhost:///openshift-machine-api/openshift-compute-1/0fdae6eb-2066-4241-91dc-e7ea72ab13b9         provisioned
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                                   PHASE     TYPE   REGION   ZONE   AGE     NODE                              PROVIDERID                                                                                            STATE
examplecluster-control-plane-0         Running                          3h11m   openshift-control-plane-0   baremetalhost:///openshift-machine-api/openshift-control-plane-0/da1ebe11-3ff2-41c5-b099-0aa41222964e   externally provisioned </span></code></pre><rh-badge id="CO273-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">examplecluster-control-plane-1         Running                          3h11m   openshift-control-plane-1   baremetalhost:///openshift-machine-api/openshift-control-plane-1/d9f9acbc-329c-475e-8d81-03b20280a3e1   externally provisioned
examplecluster-control-plane-2         Running                          3h11m   openshift-control-plane-2   baremetalhost:///openshift-machine-api/openshift-control-plane-2/3354bdac-61d8-410f-be5b-6a395b056135   externally provisioned
examplecluster-compute-0               Running                          165m    openshift-compute-0         baremetalhost:///openshift-machine-api/openshift-compute-0/3d685b81-7410-4bb3-80ec-13a31858241f         provisioned
examplecluster-compute-1               Running                          165m    openshift-compute-1         baremetalhost:///openshift-machine-api/openshift-compute-1/0fdae6eb-2066-4241-91dc-e7ea72ab13b9         provisioned</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get bmh <span class="token parameter variable">-n</span> openshift-machine-api</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get bmh <span class="token parameter variable">-n</span> openshift-machine-api</span></span>
<span class="token output">NAME                      STATE                  CONSUMER                       ONLINE ERROR AGE
openshift-control-plane-0 externally provisioned examplecluster-control-plane-0 true         4h48m
openshift-control-plane-1 externally provisioned examplecluster-control-plane-1 true         4h48m
openshift-control-plane-2 provisioned            examplecluster-control-plane-3 true          47m
openshift-compute-0       provisioned            examplecluster-compute-0       true         4h48m
openshift-compute-1       provisioned            examplecluster-compute-1       true         4h48m</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get nodes</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get nodes</span></span>
<span class="token output">NAME                     STATUS ROLES   AGE   VERSION
openshift-control-plane-0 Ready master 4h26m v1.32.3
openshift-control-plane-1 Ready master 4h26m v1.32.3
openshift-control-plane-2 Ready master 12m   v1.32.3
openshift-compute-0       Ready worker 3h58m v1.32.3
openshift-compute-1       Ready worker 3h58m v1.32.3</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc patch etcd/cluster <span class="token parameter variable">--type</span><span class="token operator">=</span>merge <span class="token parameter variable">-p</span> <span class="token string">'{"spec": {"unsupportedConfigOverrides": null}}'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get etcd/cluster <span class="token parameter variable">-oyaml</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">EtcdCertSignerControllerDegraded: [Operation cannot be fulfilled on secrets "etcd-peer-sno-0": the object has been modified; please apply your changes to the latest version and try again, Operation cannot be fulfilled on secrets "etcd-serving-sno-0": the object has been modified; please apply your changes to the latest version and try again, Operation cannot be fulfilled on secrets "etcd-serving-metrics-sno-0": the object has been modified; please apply your changes to the latest version and try again]</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token parameter variable">-n</span> openshift-etcd get pods <span class="token parameter variable">-l</span> k8s-app<span class="token operator">=</span>etcd</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

etcd-openshift-control-plane-1      5/5     Running     0     107m
etcd-openshift-control-plane-2      5/5     Running     0     103m
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">etcd-openshift-control-plane-0      5/5     Running     0     105m
etcd-openshift-control-plane-1      5/5     Running     0     107m
etcd-openshift-control-plane-2      5/5     Running     0     103m</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc patch etcd cluster <span class="token parameter variable">-p</span><span class="token operator">=</span><span class="token string">'{"spec": {"forceRedeploymentReason": "recovery-'</span>"<span class="token variable"><span class="token variable">$(</span> <span class="token function">date</span> --rfc-3339<span class="token operator">=</span>ns <span class="token variable">)</span></span><span class="token string">"'"</span><span class="token punctuation">}</span><span class="token punctuation">}</span>' <span class="token parameter variable">--type</span><span class="token operator">=</span>merge </span></span></code></pre><rh-badge id="CO274-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc rsh <span class="token parameter variable">-n</span> openshift-etcd etcd-openshift-control-plane-0</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">sh-4.2# etcdctl member list -w table</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

|        ID        | STATUS  |        NAME        |        PEER ADDRS         |       CLIENT ADDRS        |    IS LEARNER    |
+------------------+---------+--------------------+---------------------------+---------------------------+-----------------+
| 7a8197040a5126c8 | started | openshift-control-plane-2 | https://192.168.10.11:2380 | https://192.168.10.11:2379 |   false |
| 8d5abe9669a39192 | started | openshift-control-plane-1 | https://192.168.10.10:2380 | https://192.168.10.10:2379 |   false |
| cc3830a72fc357f9 | started | openshift-control-plane-0 | https://192.168.10.9:2380 | https://192.168.10.9:2379 |     false |
+------------------+---------+--------------------+---------------------------+---------------------------+-----------------+
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">+------------------+---------+--------------------+---------------------------+---------------------------+-----------------+
|        ID        | STATUS  |        NAME        |        PEER ADDRS         |       CLIENT ADDRS        |    IS LEARNER    |
+------------------+---------+--------------------+---------------------------+---------------------------+-----------------+
| 7a8197040a5126c8 | started | openshift-control-plane-2 | https://192.168.10.11:2380 | https://192.168.10.11:2379 |   false |
| 8d5abe9669a39192 | started | openshift-control-plane-1 | https://192.168.10.10:2380 | https://192.168.10.10:2379 |   false |
| cc3830a72fc357f9 | started | openshift-control-plane-0 | https://192.168.10.9:2380 | https://192.168.10.9:2379 |     false |
+------------------+---------+--------------------+---------------------------+---------------------------+-----------------+</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">#</span> <span class="token bash language-bash">etcdctl endpoint health <span class="token parameter variable">--cluster</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

https://192.168.10.9:2379 is healthy: successfully committed proposal: took = 11.559829ms
https://192.168.10.11:2379 is healthy: successfully committed proposal: took = 11.665203ms
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">https://192.168.10.10:2379 is healthy: successfully committed proposal: took = 8.973065ms
https://192.168.10.9:2379 is healthy: successfully committed proposal: took = 11.559829ms
https://192.168.10.11:2379 is healthy: successfully committed proposal: took = 11.665203ms</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get etcd <span class="token parameter variable">-o</span><span class="token operator">=</span>jsonpath<span class="token operator">=</span><span class="token string">'{range.items[0].status.conditions[?(@.type=="NodeInstallerProgressing")]}{.reason}{"\n"}{.message}{"\n"}'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" actions="copy">

<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">AllNodesAtLatestRevision</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">sudo</span> /usr/local/bin/disable-etcd.sh</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">sudo</span> <span class="token function">rm</span> <span class="token parameter variable">-rf</span> /var/lib/etcd</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">sudo</span> systemctl disable kubelet.service</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get nodes</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">sudo</span> systemctl <span class="token builtin class-name">enable</span> kubelet.service</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get nodes</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get pods <span class="token parameter variable">-n</span> openshift-etcd</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get pods <span class="token parameter variable">-n</span> openshift-etcd <span class="token parameter variable">-l</span> <span class="token assign-left variable">app</span><span class="token operator">=</span>etcd --field-selector<span class="token operator">=</span><span class="token string">"status.phase==Running"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc <span class="token builtin class-name">exec</span> <span class="token parameter variable">-n</span> openshift-etcd <span class="token operator">&lt;</span>etcd-pod<span class="token operator">&gt;</span> <span class="token parameter variable">-c</span> etcdctl -- etcdctl endpoint status <span class="token parameter variable">-w</span> table</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get nodes <span class="token parameter variable">-o</span> <span class="token assign-left variable">jsonpath</span><span class="token operator">=</span><span class="token string">'{range .items[*]}[{.metadata.name},{.status.addresses[?(@.type=="InternalIP")].address}]{end}'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">sudo</span> <span class="token parameter variable">-E</span> /usr/local/bin/quorum-restore.sh</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get machines <span class="token parameter variable">-n</span> openshift-machine-api <span class="token parameter variable">-o</span> wide</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

clustername-8qw5l-master-0                  Running   m4.xlarge   us-east-1   us-east-1a   3h37m   ip-10-0-131-183.ec2.internal   aws:///us-east-1a/i-0ec2782f8287dfb7e   stopped
clustername-8qw5l-master-1                  Running   m4.xlarge   us-east-1   us-east-1b   3h37m   ip-10-0-143-125.ec2.internal   aws:///us-east-1b/i-096c349b700a19631   running
clustername-8qw5l-master-2                  Running   m4.xlarge   us-east-1   us-east-1c   3h37m   ip-10-0-154-194.ec2.internal    aws:///us-east-1c/i-02626f1dba9ed5bba  running
clustername-8qw5l-worker-us-east-1a-wbtgd   Running   m4.large    us-east-1   us-east-1a   3h28m   ip-10-0-129-226.ec2.internal   aws:///us-east-1a/i-010ef6279b4662ced   running
clustername-8qw5l-worker-us-east-1b-lrdxb   Running   m4.large    us-east-1   us-east-1b   3h28m   ip-10-0-144-248.ec2.internal   aws:///us-east-1b/i-0cb45ac45a166173b   running
clustername-8qw5l-worker-us-east-1c-pkg26   Running   m4.large    us-east-1   us-east-1c   3h28m   ip-10-0-170-181.ec2.internal   aws:///us-east-1c/i-06861c00007751b0a   running
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                                        PHASE     TYPE        REGION      ZONE         AGE     NODE                           PROVIDERID                              STATE
clustername-8qw5l-master-0                  Running   m4.xlarge   us-east-1   us-east-1a   3h37m   ip-10-0-131-183.ec2.internal   aws:///us-east-1a/i-0ec2782f8287dfb7e   stopped </span></code></pre><rh-badge id="CO275-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">clustername-8qw5l-master-1                  Running   m4.xlarge   us-east-1   us-east-1b   3h37m   ip-10-0-143-125.ec2.internal   aws:///us-east-1b/i-096c349b700a19631   running
clustername-8qw5l-master-2                  Running   m4.xlarge   us-east-1   us-east-1c   3h37m   ip-10-0-154-194.ec2.internal    aws:///us-east-1c/i-02626f1dba9ed5bba  running
clustername-8qw5l-worker-us-east-1a-wbtgd   Running   m4.large    us-east-1   us-east-1a   3h28m   ip-10-0-129-226.ec2.internal   aws:///us-east-1a/i-010ef6279b4662ced   running
clustername-8qw5l-worker-us-east-1b-lrdxb   Running   m4.large    us-east-1   us-east-1b   3h28m   ip-10-0-144-248.ec2.internal   aws:///us-east-1b/i-0cb45ac45a166173b   running
clustername-8qw5l-worker-us-east-1c-pkg26   Running   m4.large    us-east-1   us-east-1c   3h28m   ip-10-0-170-181.ec2.internal   aws:///us-east-1c/i-06861c00007751b0a   running</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc delete machine <span class="token parameter variable">-n</span> openshift-machine-api clustername-8qw5l-master-0 </span></span></code></pre><rh-badge id="CO276-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get machines <span class="token parameter variable">-n</span> openshift-machine-api <span class="token parameter variable">-o</span> wide</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

clustername-8qw5l-master-1                  Running        m4.xlarge   us-east-1   us-east-1b   3h37m   ip-10-0-143-125.ec2.internal   aws:///us-east-1b/i-096c349b700a19631   running
clustername-8qw5l-master-2                  Running        m4.xlarge   us-east-1   us-east-1c   3h37m   ip-10-0-154-194.ec2.internal    aws:///us-east-1c/i-02626f1dba9ed5bba  running
clustername-8qw5l-master-3                  Provisioning   m4.xlarge   us-east-1   us-east-1a   85s     ip-10-0-173-171.ec2.internal    aws:///us-east-1a/i-015b0888fe17bc2c8  running
clustername-8qw5l-worker-us-east-1a-wbtgd   Running        m4.large    us-east-1   us-east-1a   3h28m   ip-10-0-129-226.ec2.internal   aws:///us-east-1a/i-010ef6279b4662ced   running
clustername-8qw5l-worker-us-east-1b-lrdxb   Running        m4.large    us-east-1   us-east-1b   3h28m   ip-10-0-144-248.ec2.internal   aws:///us-east-1b/i-0cb45ac45a166173b   running
clustername-8qw5l-worker-us-east-1c-pkg26   Running        m4.large    us-east-1   us-east-1c   3h28m   ip-10-0-170-181.ec2.internal   aws:///us-east-1c/i-06861c00007751b0a   running
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">NAME                                        PHASE          TYPE        REGION      ZONE         AGE     NODE                           PROVIDERID                              STATE
clustername-8qw5l-master-1                  Running        m4.xlarge   us-east-1   us-east-1b   3h37m   ip-10-0-143-125.ec2.internal   aws:///us-east-1b/i-096c349b700a19631   running
clustername-8qw5l-master-2                  Running        m4.xlarge   us-east-1   us-east-1c   3h37m   ip-10-0-154-194.ec2.internal    aws:///us-east-1c/i-02626f1dba9ed5bba  running
clustername-8qw5l-master-3                  Provisioning   m4.xlarge   us-east-1   us-east-1a   85s     ip-10-0-173-171.ec2.internal    aws:///us-east-1a/i-015b0888fe17bc2c8  running </span></code></pre><rh-badge id="CO277-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session">
<span class="token output">clustername-8qw5l-worker-us-east-1a-wbtgd   Running        m4.large    us-east-1   us-east-1a   3h28m   ip-10-0-129-226.ec2.internal   aws:///us-east-1a/i-010ef6279b4662ced   running
clustername-8qw5l-worker-us-east-1b-lrdxb   Running        m4.large    us-east-1   us-east-1b   3h28m   ip-10-0-144-248.ec2.internal   aws:///us-east-1b/i-0cb45ac45a166173b   running
clustername-8qw5l-worker-us-east-1c-pkg26   Running        m4.large    us-east-1   us-east-1c   3h28m   ip-10-0-170-181.ec2.internal   aws:///us-east-1c/i-06861c00007751b0a   running</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc adm wait-for-stable-cluster</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc patch etcd cluster <span class="token parameter variable">-p</span><span class="token operator">=</span><span class="token string">'{"spec": {"forceRedeploymentReason": "recovery-'</span>"<span class="token variable"><span class="token variable">$(</span><span class="token function">date</span> --rfc-3339<span class="token operator">=</span>ns <span class="token variable">)</span></span><span class="token string">"'"</span><span class="token punctuation">}</span><span class="token punctuation">}</span>' <span class="token parameter variable">--type</span><span class="token operator">=</span>merge</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">cp</span> <span class="token operator">&lt;</span>etcd_backup_directory<span class="token operator">&gt;</span> /home/core</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">sudo</span> <span class="token parameter variable">-E</span> /usr/local/bin/cluster-restore.sh /home/core/<span class="token operator">&lt;</span>etcd_backup_directory<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc adm wait-for-stable-cluster</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">sudo</span> <span class="token parameter variable">-E</span> /usr/local/bin/disable-etcd.sh</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">sudo</span> <span class="token parameter variable">-E</span> /usr/local/bin/cluster-restore.sh /home/core/<span class="token operator">&lt;</span>etcd-backup-directory<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc patch etcd/cluster <span class="token parameter variable">--type</span><span class="token operator">=</span>merge <span class="token parameter variable">-p</span> <span class="token string">'{"spec": {"unsupportedConfigOverrides": {"useUnsupportedUnsafeNonHANonProductionUnstableEtcd": true}}}'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc adm wait-for-stable-cluster</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc patch etcd/cluster <span class="token parameter variable">--type</span><span class="token operator">=</span>merge <span class="token parameter variable">-p</span> <span class="token string">'{"spec": {"unsupportedConfigOverrides": null}}'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc patch etcd cluster <span class="token parameter variable">-p</span><span class="token operator">=</span><span class="token string">'{"spec": {"forceRedeploymentReason": "recovery-'</span>"<span class="token variable"><span class="token variable">$(</span><span class="token function">date</span> --rfc-3339<span class="token operator">=</span>ns <span class="token variable">)</span></span><span class="token string">"'"</span><span class="token punctuation">}</span><span class="token punctuation">}</span>' <span class="token parameter variable">--type</span><span class="token operator">=</span>merge</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

mv /etc/kubernetes/manifests/kube-apiserver-pod.yaml /root/manifests-backup/
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">mkdir</span> <span class="token parameter variable">-p</span> /root/manifests-backup</span></span>
<span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">mv</span> /etc/kubernetes/manifests/kube-apiserver-pod.yaml /root/manifests-backup/</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">crictl <span class="token function">ps</span> <span class="token operator">|</span> <span class="token function">grep</span> kube-apiserver <span class="token operator">|</span> <span class="token function">grep</span> <span class="token parameter variable">-E</span> <span class="token parameter variable">-v</span> <span class="token string">"operator|guard"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">crictl stop <span class="token operator">&lt;</span>container_id<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">mv</span> /etc/kubernetes/manifests/kube-controller-manager-pod.yaml /root/manifests-backup/</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">crictl <span class="token function">ps</span> <span class="token operator">|</span> <span class="token function">grep</span> kube-controller-manager <span class="token operator">|</span> <span class="token function">grep</span> <span class="token parameter variable">-E</span> <span class="token parameter variable">-v</span> <span class="token string">"operator|guard"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">mv</span> /etc/kubernetes/manifests/kube-scheduler-pod.yaml /root/manifests-backup/</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">crictl <span class="token function">ps</span> <span class="token operator">|</span> <span class="token function">grep</span> kube-scheduler <span class="token operator">|</span> <span class="token function">grep</span> <span class="token parameter variable">-E</span> <span class="token parameter variable">-v</span> <span class="token string">"operator|guard"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">mv</span> /etc/kubernetes/manifests/etcd-pod.yaml /root/manifests-backup/</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">crictl <span class="token function">ps</span> <span class="token operator">|</span> <span class="token function">grep</span> etcd <span class="token operator">|</span> <span class="token function">grep</span> <span class="token parameter variable">-E</span> <span class="token parameter variable">-v</span> <span class="token string">"operator|guard"</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

mv /var/lib/etcd/member /home/core/assets/old-member-data
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">mkdir</span> /home/core/assets/old-member-data</span></span>
<span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">mv</span> /var/lib/etcd/member /home/core/assets/old-member-data</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

cat $RESTORE_ETCD_POD_YAML | \
  grep -A 1 $(cat $RESTORE_ETCD_POD_YAML | grep 'export ETCD_NAME' | grep -Eo 'NODE_.+_ETCD_NAME') | \
  grep -Po '(?&lt;=value: ").+(?=")'
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">RESTORE_ETCD_POD_YAML="/etc/kubernetes/static-pod-resources/etcd-certs/configmaps/restore-etcd-pod/pod.yaml"
cat $RESTORE_ETCD_POD_YAML | \
  grep -A 1 $(cat $RESTORE_ETCD_POD_YAML | grep 'export ETCD_NAME' | grep -Eo 'NODE_.+_ETCD_NAME') | \
  grep -Po '(?&lt;=value: ").+(?=")'</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">uuidgen</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="yaml" line-numbers="hidden" actions="copy">

<pre class="language-yaml" tabindex="-1"><code class="language-yaml">https<span class="token punctuation"><span class="token punctuation">:</span></span>//&lt;IP_CURRENT_HOST<span class="token punctuation"><span class="token punctuation">&gt;</span></span><span class="token punctuation"><span class="token punctuation">:</span></span><span class="token number"><span class="token number">2380</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

  sed -E 's/[.-]/_/g' | \
  xargs -I {} grep {} /etc/kubernetes/static-pod-resources/etcd-certs/configmaps/etcd-scripts/etcd.env | \
  grep "IP" | grep -Po '(?&lt;=").+(?=")'
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token builtin class-name">echo</span> <span class="token operator">&lt;</span>ETCD_NAME<span class="token operator">&gt;</span> <span class="token operator">|</span> <span class="token punctuation">\</span>
  <span class="token function">sed</span> <span class="token parameter variable">-E</span> <span class="token string">'s/[.-]/_/g'</span> <span class="token operator">|</span> <span class="token punctuation">\</span>
  <span class="token function">xargs</span> <span class="token parameter variable">-I</span> <span class="token punctuation">{</span><span class="token punctuation">}</span> <span class="token function">grep</span> <span class="token punctuation">{</span><span class="token punctuation">}</span> /etc/kubernetes/static-pod-resources/etcd-certs/configmaps/etcd-scripts/etcd.env <span class="token operator">|</span> <span class="token punctuation">\</span>
  <span class="token function">grep</span> <span class="token string">"IP"</span> <span class="token operator">|</span> <span class="token function">grep</span> <span class="token parameter variable">-Po</span> <span class="token string">'(?&lt;=").+(?=")'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">&lt;ETCD_NAME_0&gt;=&lt;ETCD_NODE_PEER_URL_0&gt;,&lt;ETCD_NAME_1&gt;=&lt;ETCD_NODE_PEER_URL_1&gt;,&lt;ETCD_NAME_2&gt;=&lt;ETCD_NODE_PEER_URL_2&gt; </span></code></pre><rh-badge id="CO278-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">cp</span> /home/core/assets/backup/<span class="token operator">&lt;</span>snapshot_yyyy-mm-dd_hhmmss<span class="token operator">&gt;</span>.db /var/lib/etcd</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">jq <span class="token parameter variable">-r</span> <span class="token string">'.spec.containers[]|select(.name=="etcdctl")|.image'</span> /root/manifests-backup/etcd-pod.yaml</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">podman</span> run <span class="token parameter variable">--rm</span> <span class="token parameter variable">-it</span> <span class="token parameter variable">--entrypoint</span><span class="token operator">=</span><span class="token string">"/bin/bash"</span> <span class="token parameter variable">-v</span> /var/lib/etcd:/var/lib/etcd:z <span class="token operator">&lt;</span>image-hash<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">etcdctl version</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

  --name "&lt;ETCD_NAME&gt;" \
  --initial-cluster="&lt;ETCD_INITIAL_CLUSTER&gt;" \
  --initial-cluster-token "openshift-etcd-&lt;UUID&gt;" \
  --initial-advertise-peer-urls "&lt;ETCD_NODE_PEER_URL&gt;" \
  --data-dir="/var/lib/etcd/restore-&lt;UUID&gt;" \
  --skip-hash-check=true
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token assign-left variable">ETCDCTL_API</span><span class="token operator">=</span><span class="token number">3</span> /usr/bin/etcdctl snapshot restore /var/lib/etcd/<span class="token operator">&lt;</span>snapshot_yyyy-mm-dd_hhmmss<span class="token operator">&gt;</span>.db <span class="token punctuation">\</span>
  <span class="token parameter variable">--name</span> <span class="token string">"&lt;ETCD_NAME&gt;"</span> <span class="token punctuation">\</span>
  --initial-cluster<span class="token operator">=</span><span class="token string">"&lt;ETCD_INITIAL_CLUSTER&gt;"</span> <span class="token punctuation">\</span>
  --initial-cluster-token <span class="token string">"openshift-etcd-&lt;UUID&gt;"</span> <span class="token punctuation">\</span>
  --initial-advertise-peer-urls <span class="token string">"&lt;ETCD_NODE_PEER_URL&gt;"</span> <span class="token punctuation">\</span>
  --data-dir<span class="token operator">=</span><span class="token string">"/var/lib/etcd/restore-&lt;UUID&gt;"</span> <span class="token punctuation">\</span>
  --skip-hash-check<span class="token operator">=</span>true</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" actions="copy">

2022-06-28T19:52:43Z    info    membership/cluster.go:421   added member    {"cluster-id": "c5996b7c11c30d6b", "local-member-id": "0", "added-peer-id": "1f63d01b31bb9a9e", "added-peer-peer-urls": ["https://10.0.90.221:2380"], "added-peer-is-learner": false}
2022-06-28T19:52:43Z    info    membership/cluster.go:421   added member    {"cluster-id": "c5996b7c11c30d6b", "local-member-id": "0", "added-peer-id": "fdc2725b3b70127c", "added-peer-peer-urls": ["https://10.0.94.214:2380"], "added-peer-is-learner": false}
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">2022-06-28T19:52:43Z    info    membership/cluster.go:421   added member    {"cluster-id": "c5996b7c11c30d6b", "local-member-id": "0", "added-peer-id": "56cd73b614699e7", "added-peer-peer-urls": ["https://10.0.91.5:2380"], "added-peer-is-learner": false}
2022-06-28T19:52:43Z    info    membership/cluster.go:421   added member    {"cluster-id": "c5996b7c11c30d6b", "local-member-id": "0", "added-peer-id": "1f63d01b31bb9a9e", "added-peer-peer-urls": ["https://10.0.90.221:2380"], "added-peer-is-learner": false}
2022-06-28T19:52:43Z    info    membership/cluster.go:421   added member    {"cluster-id": "c5996b7c11c30d6b", "local-member-id": "0", "added-peer-id": "fdc2725b3b70127c", "added-peer-peer-urls": ["https://10.0.94.214:2380"], "added-peer-is-learner": false}</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">mv</span> /var/lib/etcd/restore-<span class="token operator">&lt;</span>UUID<span class="token operator">&gt;</span>/member /var/lib/etcd</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">restorecon <span class="token parameter variable">-vR</span> /var/lib/etcd/</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">rm</span> <span class="token parameter variable">-rf</span> /var/lib/etcd/restore-<span class="token operator">&lt;</span>UUID<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">rm</span> /var/lib/etcd/<span class="token operator">&lt;</span>snapshot_yyyy-mm-dd_hhmmss<span class="token operator">&gt;</span>.db</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">mv</span> /tmp/etcd-pod.yaml /etc/kubernetes/manifests</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">crictl <span class="token function">ps</span> <span class="token operator">|</span> <span class="token function">grep</span> etcd <span class="token operator">|</span> <span class="token function">grep</span> <span class="token parameter variable">-v</span> operator</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

e1646b15207c6       9d28c15860870e85c91d0e36b45f7a6edd3da757b113ec4abb4507df88b17f06                                                         About a minute ago   Running             etcd-metrics                          0                   fe4b9c3d6483c
08ba29b1f58a7       9d28c15860870e85c91d0e36b45f7a6edd3da757b113ec4abb4507df88b17f06                                                         About a minute ago   Running             etcd                                  0                   fe4b9c3d6483c
2ddc9eda16f53       9d28c15860870e85c91d0e36b45f7a6edd3da757b113ec4abb4507df88b17f06                                                         About a minute ago   Running             etcdctl
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">38c814767ad983       f79db5a8799fd2c08960ad9ee22f784b9fbe23babe008e8a3bf68323f004c840                                                         28 seconds ago       Running             etcd-health-monitor                   2                   fe4b9c3d6483c
e1646b15207c6       9d28c15860870e85c91d0e36b45f7a6edd3da757b113ec4abb4507df88b17f06                                                         About a minute ago   Running             etcd-metrics                          0                   fe4b9c3d6483c
08ba29b1f58a7       9d28c15860870e85c91d0e36b45f7a6edd3da757b113ec4abb4507df88b17f06                                                         About a minute ago   Running             etcd                                  0                   fe4b9c3d6483c
2ddc9eda16f53       9d28c15860870e85c91d0e36b45f7a6edd3da757b113ec4abb4507df88b17f06                                                         About a minute ago   Running             etcdctl</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">crictl <span class="token builtin class-name">exec</span> <span class="token parameter variable">-it</span> <span class="token variable"><span class="token variable">$(</span>crictl <span class="token function">ps</span> <span class="token operator">|</span> <span class="token function">grep</span> etcdctl <span class="token operator">|</span> <span class="token function">awk</span> <span class="token string">'{print $1}'</span><span class="token variable">)</span></span> etcdctl endpoint status <span class="token parameter variable">-w</span> table</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

|         ENDPOINT         |        ID        | VERSION | DB SIZE | IS LEADER | IS LEARNER | RAFT TERM | RAFT INDEX | RAFT APPLIED INDEX | ERRORS |
+--------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
| https://10.0.89.133:2379 | 682e4a83a0cec6c0 |   3.5.0 |   67 MB |      true |      false |         2 |        218 |                218 |        |
|  https://10.0.92.74:2379 | 450bcf6999538512 |   3.5.0 |   67 MB |     false |      false |         2 |        218 |                218 |        |
| https://10.0.93.129:2379 | 358efa9c1d91c3d6 |   3.5.0 |   67 MB |     false |      false |         2 |        218 |                218 |        |
+--------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">+--------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
|         ENDPOINT         |        ID        | VERSION | DB SIZE | IS LEADER | IS LEARNER | RAFT TERM | RAFT INDEX | RAFT APPLIED INDEX | ERRORS |
+--------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
| https://10.0.89.133:2379 | 682e4a83a0cec6c0 |   3.5.0 |   67 MB |      true |      false |         2 |        218 |                218 |        |
|  https://10.0.92.74:2379 | 450bcf6999538512 |   3.5.0 |   67 MB |     false |      false |         2 |        218 |                218 |        |
| https://10.0.93.129:2379 | 358efa9c1d91c3d6 |   3.5.0 |   67 MB |     false |      false |         2 |        218 |                218 |        |
+--------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">mv</span> /root/manifests-backup/kube-apiserver-pod.yaml /etc/kubernetes/manifests</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">crictl <span class="token function">ps</span> <span class="token operator">|</span> <span class="token function">grep</span> kube-apiserver <span class="token operator">|</span> <span class="token function">grep</span> <span class="token parameter variable">-v</span> operator</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">systemctl restart kubelet</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash"><span class="token function">mv</span> /root/manifests-backup/kube-* /etc/kubernetes/manifests/</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">crictl <span class="token function">ps</span> <span class="token operator">|</span> <span class="token function">grep</span> <span class="token parameter variable">-E</span> <span class="token string">'kube-(apiserver|scheduler|controller-manager)'</span> <span class="token operator">|</span> <span class="token function">grep</span> <span class="token parameter variable">-v</span> <span class="token parameter variable">-E</span> <span class="token string">'operator|guard'</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

do
  oc debug node/${NODE} -- chroot /host /bin/bash -c  'rm -f /var/lib/ovn-ic/etc/ovn*.db &amp;&amp; systemctl restart ovs-vswitchd ovsdb-server'
  oc -n openshift-ovn-kubernetes delete pod -l app=ovnkube-node --field-selector=spec.nodeName=${NODE} --wait
  oc -n openshift-ovn-kubernetes wait pod -l app=ovnkube-node --field-selector=spec.nodeName=${NODE} --for condition=ContainersReady --timeout=600s
done
<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token output">for NODE in  $(oc get node -o name | sed 's:node/::g')
do
  oc debug node/${NODE} -- chroot /host /bin/bash -c  'rm -f /var/lib/ovn-ic/etc/ovn*.db &amp;&amp; systemctl restart ovs-vswitchd ovsdb-server'
  oc -n openshift-ovn-kubernetes delete pod -l app=ovnkube-node --field-selector=spec.nodeName=${NODE} --wait
  oc -n openshift-ovn-kubernetes wait pod -l app=ovnkube-node --field-selector=spec.nodeName=${NODE} --for condition=ContainersReady --timeout=600s
done</span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc get csr</span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="plaintext" line-numbers="hidden" data-expandable="true" style="overflow: hidden;" actions="copy">

csr-2s94x   8m3s   kubernetes.io/kubelet-serving                 system:node:&lt;node_name&gt;                                                     Pending
csr-4bd6t   8m3s   kubernetes.io/kubelet-serving                 system:node:&lt;node_name&gt;                                                     Pending
csr-4hl85   13m    kubernetes.io/kube-apiserver-client-kubelet   system:serviceaccount:openshift-machine-config-operator:node-bootstrapper   Pending
csr-zhhhp   3m8s   kubernetes.io/kube-apiserver-client-kubelet   system:serviceaccount:openshift-machine-config-operator:node-bootstrapper   Pending
...
<pre class="language-plaintext" tabindex="-1"><code class="language-plaintext">NAME        AGE    SIGNERNAME                                    REQUESTOR                                                                   CONDITION
csr-2s94x   8m3s   kubernetes.io/kubelet-serving                 system:node:&lt;node_name&gt;                                                     Pending </code></pre><rh-badge id="CO279-1" state="info">1</rh-badge>
<pre class="language-plaintext" tabindex="0"><code class="language-plaintext">
csr-4bd6t   8m3s   kubernetes.io/kubelet-serving                 system:node:&lt;node_name&gt;                                                     Pending
csr-4hl85   13m    kubernetes.io/kube-apiserver-client-kubelet   system:serviceaccount:openshift-machine-config-operator:node-bootstrapper   Pending </code></pre><rh-badge id="CO279-2" state="info">2</rh-badge>
<pre class="language-plaintext" tabindex="0"><code class="language-plaintext">
csr-zhhhp   3m8s   kubernetes.io/kube-apiserver-client-kubelet   system:serviceaccount:openshift-machine-config-operator:node-bootstrapper   Pending
...</code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc describe csr <span class="token operator">&lt;</span>csr_name<span class="token operator">&gt;</span> </span></span></code></pre><rh-badge id="CO280-1" state="info">1</rh-badge>
<pre class="language-shell-session" tabindex="0"><code class="language-shell-session"></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc adm certificate approve <span class="token operator">&lt;</span>csr_name<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
<rh-code-block highlighting="prerendered" language="shell-session" line-numbers="hidden" actions="copy">

<pre class="language-shell-session" tabindex="-1"><code class="language-shell-session"><span class="token command"><span class="token shell-symbol important">$</span> <span class="token bash language-bash">oc adm certificate approve <span class="token operator">&lt;</span>csr_name<span class="token operator">&gt;</span></span></span></code></pre>
</rh-code-block>
© 2025 Red Hat Deploys by Netlify