diff --git a/config/crd/v2alpha1/bases/velero.io_datauploads.yaml b/config/crd/v2alpha1/bases/velero.io_datauploads.yaml index 324a981815..98700006f6 100644 --- a/config/crd/v2alpha1/bases/velero.io_datauploads.yaml +++ b/config/crd/v2alpha1/bases/velero.io_datauploads.yaml @@ -115,6 +115,8 @@ spec: snapshotType: description: SnapshotType is the type of the snapshot to be backed up. + enum: + - CSI type: string sourceNamespace: description: SourceNamespace is the original namespace where the volume diff --git a/config/crd/v2alpha1/crds/crds.go b/config/crd/v2alpha1/crds/crds.go index f68d2ce642..ac3f732d04 100644 --- a/config/crd/v2alpha1/crds/crds.go +++ b/config/crd/v2alpha1/crds/crds.go @@ -30,7 +30,7 @@ import ( var rawCRDs = [][]byte{ []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xbcY_s\xe3\xb8\r\x7fϧ\xc0l\x1f\xf2\xb2Rn\xaf\x9dN\xc7o\xbbN;\x93\xe9m\xea\xb9\xec\xe4\x9d\x12a\x99\x17\x8adI\xc8i\xda\xe9w\uf014d\xfd\xa1\xe3d\xafwz3\t\x82?\xfc\x00\x02 ]\x14ŕp\xea\x11}P\xd6l@8\x85\xff\"4\xfc+\x94O\x7f\t\xa5\xb27\xc7OWO\xca\xc8\rl\xbb@\xb6\xfd\x19\x83\xed|\x8d\xb7\xb8WF\x91\xb2\xe6\xaaE\x12R\x90\xd8\\\x01\bc,\t\x1e\x0e\xfc\x13\xa0\xb6\x86\xbc\xd5\x1a}Ѡ)\x9f\xba\n\xabNi\x89>*\x1f\xb6>\xfeP~\xfa\xb1\xfc\xe1\n\xc0\x88\x167\xc0\xfa\xa4}6\xda\n\x19\xca#j\xf4\xb6T\xf6*8\xacYq\xe3m\xe76p\x9aH\v\xfbM\x13\xe0[A\xe2\xb6\xd7\x11\x87\xb5\n\xf4\xf7\xd5\xd4O*P\x9cv\xba\xf3B/\xf6\x8e3A\x99\xa6\xd3\xc2\xcf\xe7\xae\x00Bm\x1dn\xe0\x9e\xb7v\xa2F\x1e\xebm\x8aP\n\x10RF\x96\x84\xdeye\b\xfd\xd6\xea\xae\x1d\xd8)@b\xa8\xbdr\x14Y\x98\u0082@\x82\xba\x00\xa1\xab\x0f \x02\xdc\xe3\xf3͝\xd9y\xdbx\f\t\x16\xc0/\xc1\x9a\x9d\xa0\xc3\x06\xca$^\xba\x83\b\xd8\xcf&*\x1f\xe2D?D/\x8c7\x90W\xa6\xc9!\xf8\xa6Z\x04\xd9\xf9\xe8B\xb6\xbbF\xa0\x83\nsh\xcf\"0\xa0\xc7(Q%\t\x8e^P\xec;볮sX\x97I\xb6W6\xe8Z\xf8o\xbe\xd1\xff=\xb6j\x8f\"\x1b[C\xaa)\xa3\x84\xb2&\x1f`\x9f\x1b|SpMI4Vℱ\x19&\x15\xc0y[c\b\xaf\x04<+\x98\xa1\xb8?\r\xac\xa8I\x12\xc7\x1f\x85v\a\xf1)%\x99\xfa\x80\xad\xd8\xf4+\xacC\xf3yw\xf7\xf8LJ\xd90\xbc\x920DM\x813\x05\xc3wޒ\xad\xad\x86\n\xe9\x19\xd1$\u05f7\xf6\x88\x9e\xf3\\\xa3L\x185r֖S\x81S\xce\xe6\xf8\x8e\xfax6Mz\x8c\xd1\xc3\x00\xfd\xd4\xfb\xc0{:\xf4\xa4\x86,\xdc\xeb>\x15\x98\xc9\xe8\u008ek65I\x81\xe4ʂɌ>\x97\xa2\xec\xd9I\xceR\x01<:\x8f\x01\r\xcd!\xf4\xdc\xedA\x18\xb0\xd5/XS\t\x0f\xe8Y\r\x84\x83\xed\xb4d\xe3\x8e\xe8\t<ֶ1\xeaߣ\xee\x00d\xe3\xa6Z\x10\xf6%\xe1\xf4\xc5\xdcm\x84\x86\xa3\xd0\x1d~\x8c\x94\xb5\xe2\x05<\xf2.Й\x89\xbe(\x12J\xf8\xca<)\xb3\xb7\x1b8\x10\xb9\xb0\xb9\xb9i\x14\r\x85\xb5\xb6m\xdb\x19E/7\x91oUud}\xb8\x91xD}\x13TS\b_\x1f\x14aM\x9d\xc7\x1b\xe1T\x11\xa1\x9bX\\\xcbV\xfe\xc1\xf7\xa58\\ϰ\xaeb-}\xb1&\xbe\xe2\x01.\x8c\x1c\xe8\xa2_\x9a\xac8\x11\xcdC\xcc\xce\xcf\x7f}\xf8\x06\xc3\xd6\xd1\x19K\xf6#暈\xe1\xe4\x02&L\x99=\xfa\xe4Ľ\xb7mԉF:\xab\f\xc5\x1f\xb5Vh\x96\xf4\x87\xaej\x15\xb1\xdf\xff\xd9a \xf6U\t\xdb\xd8m@\x85\xd09>Ⲅ;\x03[Ѣފ\x80\xbf\xb9\x03\x98\xe9P0\xb1os\xc1\xb4QZ\n'\xd6&\x13C\xa7s\xc6_ӓ\xff\xe0\xb0f\xd71{\xbcL\xedU_\x01\xf8\xf8\x8a\x99l9S\x99?\xb2\xfce\xab\xc0Rh\x81\xe9Kn\xcd\x00\xccLrm_\x8eB\x92\\)\x05\xd0gK\x98Gg\x83\"\xeb_N\x85\xac\\i8\xe3\x00\xfejaj\xd4\x17,\xd9F!PF2\x938\xc6\x1d\xa7\x88\xa4 b\xb2\xa6\xb1|.\xce\x13\x9c\xbe;\xe2U\x1c\xa8\x01\x89m2\xd9\x1a\xa3\f\x9c:<\x98vrK\xcb*k5\x8ae\xde\xe3\xd8\xfa\xcaIzk\xcd^5k\x1b\xa7\xcd\xe89\xc7_\xa0/\x13\x86\x93-\xd9\n\x8e9FR\xc4zQ\f\x01ɉw\xaf\x9a\xce\xe726\x7f{\x85Z\x86s\xbe\\\x9d\x8f\xc1\xe0\xb8\xcb\x05w\x8e(\x87\xe3ї\x97I\xcd#\x1b\xf3H\x88\x8d&Of\x10\xa6\x10,\xe1n?Ѩ\x02|\xf8\x00\xd6Çt\x19\xf9\xf01\x85k\xa74\x15jZx3\x1a\x9f\x95\xd6þ\xef\x8a\xe2\xb1\xfar\x03d;\xba@\xc0?\x16\xe2\v\x1e\x88;\xb3h;Yx\x16\x8a\xc6r\x97\xc1B\x85{N\xb1\x1e\xa9\xf3\x86O\x02z\xcf)'D\x95\xb6\xa3w\x19\x15\x8cp\xe1`\xe9\xee\xf6\x829\x0f\xa3\xe0\x90]\xeen\x87\xdc\xf2\x18\xbd0\xa6\x98^\x12\xc8\xe6\x1c\x8aC;#c1z\x1f\xdaX\x01ǫ\xdf%\xc8s\xe9\x01\xb7\xf5\xaaQ\xdcV\x98q\xe6\x94\xf2\x8e|U\xcc\x05\xa2\n\xd1>\x94й\x04\x9cS\fW\xd7\nA\xaa\xfd\x1e=\x1aJ\xf55m\xbc{\xdc^\x87\xd3&9\x9d\xfb\t\x86\xd8a\xb5\xc29\x94ܱ\xb3g{\xa2\xdeE\x11\t\xdf =F3.\xf0\xf3m\":\x90Õ\x9b\xafW\\\bz\xef&\x8d\xb0{\xdcr\a\x961c\xf7\xb8Fx\xbe\xcaAߊ\x9f\xf1\xe0\n\xe5\xca\x7f=\x9e\u05c8\xbd\x90N\x01\xdc\xf1\r;\xef\x1es\x85t\xa4\x03\xe8 \x88%\xfa\xab\x13T/Y\x9d0\x9c\x8fޝ߇\xb7~\x13\xe0\xed\xab\x88\xb7K\xc8g\xf0V/\xbf\x1a2\x17o\xe5Q\xaeQ\x17\xafx\xae\x00w\xcc\x0e\xd6o/Q\xf9\x9d\x8b|w\xb5\x90Y\xa6\xf8\xc5\xf4)Y.'\xe6\x99f1;=\x92ojC\xe3\xe5\xf6\xad\x8dhz\xb2\xea\xdd^w>\xa6\xa1\xfe!\x8boe\xdfՊ\xd6\xe9\thzۿԾ\xadW\xc4\xfb\x9e\x97\x93z'ƫl|r\x18ޙr\xfd\xdbI_Z\x1a\xd3#\xabC\txD\x03\xdcj\v\xa5Q\x0e:C\t߸\x1b\x8f\x17\x9f\xeb\xe5\x15)\xf2\xdd+\x8ae\x97{\xa6\f\xe8\xf5\xbaὉ\xaf;\x05\xabXI\x98NkQi\xdc\x00\xf9\xee\\\xff\x98=(-\x86 \x9aK\x89\xfak\x92JW\xc5~\t\x88\x8a\x9b\x8aeO{\x1dz߿\xabh\x18+/a\xb8\xb72\x020\xdf\xf1~\xf3.,\xb1\a\xbf\x00f\xc72\xb9\x98\x1f\xa1\xbd~=@ӵ\xb9\xcct\x8fϙ\xd1\xcfu\x8d.\x97-\v\xd8yt\xc2g\xa7V\x0f\xc7\xd3\xc9t\xd9\xc9%\xcea.\xabs|\x99\xcd\xcc\xfd-\x1e\x86w1\xdd\xe3\xbbD\xf6p;:X=\x1c\xe6\xf8xj\xba\xb6Bό\xc7\xe7ف\xfa!Kf\x0e\xa00r沓\x86\xb1'\x8c\xaa\xf8$s\x95J\x17\xb8\xa1K\x96*8-rEv\xb0d־\x9c\x0e\xc8\xea\xfd\xec\xbd\xfd\xca\xf8\x98\x9d/¹\x17\xe9\x9c\x17\xa6oˋ\xf9\xf1\x91\xfa\xb7\xd9\xe1\x95\v\xdd\xfcO\x83K-\xf5L\xf8R\x82\xef\xff\xafȥ\xf7i\xa6^\xe7\xe5\xf96\xbfgJ\xce\x12\xb5\x1a\x8c\xc8\xe5Dw\xff\xac2\x1d\xe9\xaa\xf1\xb1p\x03\xff\xf9\xef\xd5\xff\x02\x00\x00\xff\xffG\x0e\xcf\xec\xfa\x1b\x00\x00"), - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xbcYK\x93۸\x11\xbeϯ\xe8r\x0e\xbe\x8c8\xebM*\x95\xd2\xcd\xd6d\xabTYOT\x96w\xee\x10\xd9\"\xb1\x03\x02\f\x1e\x9aLR\xf9\xef\xa9\x06\b\n$\xa1\x97c\x87\x87\xa9\x11\x80nt7\xd0_?\xb0X,\xeeXǟQ\x1b\xae\xe4\x12X\xc7\xf1\x9f\x16%\xfd2\xc5\xcb_L\xc1\xd5\xc3\xe1\xc3\xdd\v\x97\xd5\x12V\xceX\xd5~A\xa3\x9c.\xf1\x11\xf7\\r˕\xbckѲ\x8aY\xb6\xbc\x03`R*\xcbh\xd8\xd0O\x80RI\xab\x95\x10\xa8\x175\xca\xe2\xc5\xedp縨P{\xe6q\xeb\xc3OŇ\x9f\x8b\x9f\xee\x00$kq\t\xc4\xcfuB\xb1\xca\x14\a\x14\xa8U\xc1՝\xe9\xb0$\xb6\xb5V\xae[\xc2q\"\x90\xf5[\x06q\x1f\x99e\xbfy\x0e~Ppc\xff6\x99\xf8\x95\x1b\xeb';\xe14\x13\xa3]\xfd\xb8\xe1\xb2v\x82\xe9t\xe6\x0e\xc0\x94\xaa\xc3%<і\x1d+\x91\xc6zM\xbc\b\v`U\xe5m\xc3\xc4FsiQ\xaf\x94pm\xb4\xc9\x02*4\xa5\xe6\x9d\xf5\xba\x1f\x05\x02c\x99u\x06\x8c+\x1b`\x06\x9e\xf0\xf5a-7Z\xd5\x1aM\x10\t\xe0w\xa3\xe4\x86\xd9f\tEX^t\r3\xd8\xcf\x06\xf3m\xfdD?d\xdfHZc5\x97un\xff\xaf\xbcE\xa8\x9c\xf6\xc7F:\x97\b\xb6\xe1&\x15\xec\x95\x19\x12N[\xacN\x8a\xe1牙\xb1\xac\xed\xa6\xf2$\xa4A\xa0\x8aỶ\xb3Rm'\xd0b\x05\xbb7\x8bQ\x89\xbd\xd2-\xb3K\xe0\xd2\xfe\xf9O\xa7-ћ\xaa\xf0\xa4\x8fJ\x8e\xcd\xf2\x89F!\x19\x0e\x92\xd0\tը\xb3\xb6Q\x96\x89\xffE\x10K\f>%\xf4A\x92\xc07\x1d\xbf(\n]7P{\xb0\r\xc2'V\xbe\xb8\x0e\xb6ViV#\xfc\xaa\xcapx\xaf\r\xea\xfe\xf0va\x89i\x94\x13\x15\xec\xa2\xc6\x00\xc6*\x9d=\xc5\x0e\xcb\"P\xf5|#\xdb\xc9Q\x8e\xf7\xfcΗ\xac\xd4Ȳ\x97,\xa2L\xe1Wp%\xf37\xedc\x8dWݲԚRU8\x98\x0eS\x89\xb8\x81N\xab\x12\x8d9s\xef\x89|$\xc3\xd3q`f\x96\xb0\xe2\xf03\x13]\xc3>\x04\x94)\x1blٲ\xa7P\x1dʏ\x9b\xf5\xf3\x1f\xb7\xa3a8\x89\x19\xac\xb4\x86\xc0\x82Dﴲ\xaaT\x02vh_\x11\xa5\xc7-h\xd5\x015\x81\\ͥ\x01&\xab\x81'\xa4\v\x8ePM\x97\xdc\xf3\xa3\xd90\xd9_'աN\x8f\x1dh\xcb\x0e\xb5\xe5\x11}×\x84\x95dt\xa2\xc4{\xd23\xac\x82\x8a\xe2\t\x06-z,Ū7M8'n@c\xa7Ѡ\xb4c\x11z\xc3\xed\x81IP\xbb߱\xb4\x05lQ\x13\x9bx\xffK%\x0f\xa8-h,U-\xf9\xbf\x06\xde\x06\xac\xf2\x9b\nf\xb1\x0f\a\xc7\xcfc\xb7d\x02\x0eL8\xbc'\xdbA\xcb\xde@#\xed\x02N&\xfc\xfc\x12S\xc0g\xa5\x11\xb8ܫ%4\xd6vf\xf9\xf0Ps\x1b\xc3i\xa9\xda\xd6In\xdf\x1e\xbc\xb9\xf9\xceY\xa5\xcdC\x85\a\x14\x0f\x86\xd7\v\xa6ˆ[,\xad\xd3\xf8\xc0:\xbe\xf0\xa2K\x1fR\x8b\xb6\xfa\x83\xee\x03\xb0y?\x92uv\xd1\xc2\xe7c\xe1\x99\x13\xa0\x90H\xb7\x9c\xf5\xa4A\x8b\xa3\xa1i\x88\xac\xf3\xe5\xafۯ\x10\xb7\xf6\x871\xb5\xbe\xb7\xfb\x91\xd0\x1c\x8f\x80\f\xc6\xe5\x1eu8ĽV\xad牲\xea\x14\x97\xd6\xff(\x05G95\xbfq\xbb\x96[:\xf7\x7f84\x96Ϊ\x80\x95\xcf1`\x87\xe0:\xf2\uea80\xb5\x84\x15kQ\xac\x98\xc1\x1f~\x00di\xb3 \xc3^w\x04iz4]\x1c\xac\x96L\xc4\f\xe7\xc4y\x1d\xdd~\xdbaI\aG\xb6#\"\xbe\xe7}\f \xdfe\xc9\xcab\xc4.\xef\xae\xf4e\xa1\x7f\xbah\"ϧ\x1cM\x14K&\x10\x1b\xa3QX9c\n \xa6!l\xa0\xd1\xd8)í\xd2o\xc48D\xafb\xc6\xe1\x84\xf1\xe9+\x99,Q\\\xd0d\xe5\x17\x01\x97\x15\xd9\x11\x87;G\xf0\x10\x18x\x99\x94\xac\x15\xf9\xc4)\xf3\x86om\x89\x86\xae\xa8AK\x1a\xc9L`\xe1\x12\x8e\xb9\x1d\xa49\xdcT\xab\x9dR\x02\xd9\x14\xefJ÷\x92u\xa6Q\xf6\x82n\xeb=ĕ_\xdf:\xa4\xcdW\xdb\xf5=\xfd\x89\xe3t/\x0e\xbc\xea\x01\x98\x9c\x87\xb2\x9c9\xc8B\x00ZZ\xb4ڮ\xc1\xf4\xe4s#H'\x04\xdb\t\\\x82\xd5n\xae\xd8\xe9kH_d\xbb\x12\xccd\x17L\x14ܦ\xebs\xd7/2\x84ү\xb0\r\x9bB\xcd`q\x8a?\x94\xac'D|HK\xe0\x95\xdb&Ky\xe6\xfeA\x9ft\xb1\x1a\xafV(Y\x9eէO\u0082:j\x7fF\x99\xcd\xf3\xca\xeb{I3\x82\xe5o\xd1,\xb0<}\x13g\xba=\x8f\br\xdaM\xa4<\xa5\x9c\"\a#\x90\xc0\n\\w\xbb\xec\xe4\xe1\\c5\x97y1:\xaf\xcc\xf4X\xe9\x13n;\x03w\xe8\xf3\xadϔQ\xad\x94\xdc\xf3z\xbewZ:\x9e\U000d1cea͂F\xb2%Y\x9cb\x04I\xb2\xf0\xc9\xdd\"\x06\x10J\x93\xf6\xbcv\xfa\x94\xeb\xef9\x8a\xca\xdc\xec\xed\x17\xecᅸ\x80a\x83\x121\xda\xf5P\x95\xe4\xaf\xe1B8\xe3+G\x9a\xcc(\x10bJA\x90x\xe4\xc8\r\xbc{\aJû\xd0Qxw\x1f\xe2\x8f\xe3\xc2.x\x9aDg8\xber!\xe2\xbe7\x85\xa5!\x95\xa6BF\xb9K \xfe\xf7\xc9\xf2\x89\x1d,\xd5W^w\xab\xe0\x95q;\xe4\xae9\x04\x8f\xbc\xcc=\xecpO\xf9\x92F봤ІZS\x06a\x85\x1dz7\x97\x84\x1c\xaf\x8er*\xcdkNu\x81\x1cf\x8eyK\x00\x87\x8c\xa4}U\xee\xe1\xca\xe3mA\x99BL\xe2\b\x00\x8f\xec\xc8C\xc3\xe6\x04\xe0Tw\xac\xb6\xeb\fρ\xa2\xea\xfd+\xe3\x9d\x17\xad\xb1y^]e\a\x12%\x83\xd74\xfc\xda\xf0\xb2\x19\x9f۬F\xf0\xb2\xb0\x17\xf49\xeaMb\x86\xd6\xdbi\xd0\x1c\xc9\xfa\xdbh\xf1\xc4OF\b7Թ\x91\xff\\\xa8\xf3\x89J\xc74\x13\x02\xc5/\\\xa0\t\xfb^\x11\x017s\xaa\xc1\xac\xaeݡ&\xc3\xeeir\xd8\xe0D\f웕\xe4\"\x1djJ\xdaB\xb6\xe9L,\xdcNk\x06٦\xd3|6\x03\xdb\xf9ȹȗ\x10\x935S؛L\xa7\x002\x9d\x1a\xfbbvv\U000fceaa\xcc\xf2\x9d\x9b\xeb\n\xadВ\xedϧtZ\xa3\xb4\xb1Q\xab\xf6\xdfTj\x95\xa1ř6\xb1.\x95's\n\xdf\xcb\xd0U\x02\xff,\x96L\xbe\x91\x16ۨ\xb9\x93?\xb2\v\x94\xbe\xb7Bܰ\x02<\xa0\x04\xf2\r\xc6\x05\x85R\xcf\xd2\x14S\x9a<\xbe\r\\\xfa\xb0\x12\xae_\xbc\x8c\xb1\x89\xd4\xf7h\xbe\x12Z\xf8&\xc1{s\x86\xa7\x8fj\xe4\xa9\x19#\xcc!&\xf6g+fq\x91ezU\xb2\x92\x85\xa1!y\xfb\x82ƉL\xc4\xfe\x81\xc9[\xd82Կ&\x9b\xbc\x9d\xafژ\x01\x06:0\xe9q\xfb\\\x11\xfb\xed\x19]\x8bư\xfaR`\xfd\x1cV\x85\xdeSO\x02lG\x89\xcdX\xb4\xf7\xa6w\xb6\x9b\x02\x86T\xd5%\t\x9eT巗7w\x82o\x92\xa4c\xb6\xb9 Ɇ\xd9&\x02\xcc\xde\t\xe1ifiP_\x15퐼\xe9{eC\xbe\xedpI\xcd\x1c\xd3ly\xb6\xd6M\xfa\xa7\xb7U\x06\xa3\xd7\xdcK\x12\x8f\x16_\xc8L\xfaw\xe4\\^\xb2%\x17'`\xf1\x8f\x04\xab\xe9K\xdf\xfd\xf0p\xc8l\xffRQ6L\xd6\xe4\x10\x92\x82\x9b\x0f\x8e9ƳTc\x94X\x8c\xc5\xff\x7f\xe6\x14\xd9\xeb2\x1b\xf4\x92W\t\xef\xbe=\x95\x8e\xb8\xdd\xf02\xb4\x84\x7f\xff\xe7\xee\xbf\x01\x00\x00\xff\xff\xf8I\x957\xdd!\x00\x00"), + []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xbcYK\x93۸\x11\xbeϯ\xe8r\x0e\xbe\x8c8\xebM*\x95\xd2\xcd\xd6d\xabTYOT\x96w\xee\x10\xd9\x12\xe1\x01\x01\x06\x0fM&\xa9\xfc\xf7T\x03\x04\t\x92\xd0ˉ\x97\x87\xa9\x11\x1e\x8d\xee\x06\xfa\xeb\x0f\x8d\xc5bq\xc7Z\xfe\x8c\xdap%\x97\xc0Z\x8e\xff\xb4(\xe9\x97)^\xfeb\n\xae\x1e\x8e\x1f\xee^\xb8\xac\x96\xb0rƪ\xe6\v\x1a\xe5t\x89\x8f\xb8\xe7\x92[\xae\xe4]\x83\x96U̲\xe5\x1d\x00\x93RYF͆~\x02\x94JZ\xad\x84@\xbd8\xa0,^\xdc\x0ew\x8e\x8b\n\xb5\x17\x1e\x97>\xfeT|\xf8\xb9\xf8\xe9\x0e@\xb2\x06\x97@\xf2\\+\x14\xabLqD\x81Z\x15\\ݙ\x16K\x12{\xd0ʵK\x18:´nɠ\xee#\xb3\xec7/\xc17\nn\xec\xdf&\x1d\xbfrc}g+\x9cfb\xb4\xaao7\\\x1e\x9c`:\xed\xb9\x030\xa5jq\tO\xb4d\xcbJ\xa4\xb6\xce\x12\xaf\xc2\x02XUy\xdf0\xb1\xd1\\Z\xd4+%\\\x13}\xb2\x80\nM\xa9yk\xbd\xed\x83B`,\xb3\u0380qe\r\xcc\xc0\x13\xbe>\xac\xe5F\xab\x83F\x13T\x02\xf8f\x94\xdc0[/\xa1\bË\xb6f\x06\xbb\xdeྭ\xef\xe8\x9a\xec\x1bik\xac\xe6\xf2\x90[\xff+o\x10*\xa7\xfd\xb6\x91\xcd%\x82\xad\xb9I\x15{e\x86\x94\xd3\x16\xab\x93j\xf8~\x12f,kک>\xc9ԠP\xc5,\xe6\xd4Y\xa9\xa6\x15h\xb1\x82ݛ\xc5h\xc4^\xe9\x86\xd9%pi\xff\xfc\xa7Ӟ\xe8\\U\xf8\xa9\x8fJ\x8e\xdd\xf2\x89Z!i\x0e\x9a\xd0\x0e\x1dPg}\xa3,\x13\xff\x8b\"\x96\x04|J\xe6\aM\x82ܴ\xfd\xa2*t\xdc@\xed\xc1\xd6\b\x9fX\xf9\xe2Z\xd8Z\xa5\xd9\x01\xe1WU\x86\xcd{\xadQw\x9b\xb7\vCL\xad\x9c\xa8`\x17-\x060V\xe9\xec.\xb6X\x16aV'7\x8a\x9dl\xe5x\xcd\xff\xf3!+5\xb2\xec!\x8b(S\xf8\x11\\\xc9\xfcI\xfbx\xc0\xabNY\xeaM\xa9*\xec]\x87\xa9F\xdc@\xabU\x89Ɯ9\xf74}\xa4\xc3\xd3\xd00sK\x18q\xfc\x99\x89\xb6f\x1f\x02ʔ56l\xd9\xcdP-ʏ\x9b\xf5\xf3\x1f\xb7\xa3f8\x89\x19\xac\xb4\x86\xc0\x82To\xb5\xb2\xaaT\x02vh_\x11\xa5\xc7-h\xd4\x115\x81܁K\x03LV\xbdLH\a\fPM\x87\xdcˣ\xde\xd0\xd9\x1d'բN\xb7\x1dh\xc9\x16\xb5\xe5\x11}×\xa4\x95\xa4ub\xc4{\xb23\x8c\x82\x8a\xf2\t\x06+:,ŪsM\xd8'n@c\xabѠ\xb4c\x15:\xc7\xed\x81IP\xbboX\xda\x02\xb6\xa8IL<\xff\xa5\x92G\xd4\x164\x96\xea \xf9\xbfz\xd9\x06\xac\xf2\x8b\nf\xb1K\a\xc3\xe7\xb1[2\x01G&\x1cޓ\xef\xa0ao\xa0\x91V\x01'\x13y~\x88)\xe0\xb3\xd2\b\\\xee\xd5\x12jk[\xb3|x8p\x1b\xd3i\xa9\x9a\xc6In\xdf\x1e\xbc\xbb\xf9\xceY\xa5\xcdC\x85G\x14\x0f\x86\x1f\x16L\x975\xb7XZ\xa7\xf1\x81\xb5|\xe1U\x97>\xa5\x16M\xf5\a\xdd%`\xf3~\xa4\xeb젅\xcf\xe7\xc23;@)\x91N9\xeb\xa6\x06+\x06GS\x13y\xe7\xcb_\xb7_!.\xed7c\xea}\xef\xf7a\xa2\x19\xb6\x80\x1c\xc6\xe5\x1eu\xd8ĽV\x8d\x97\x89\xb2j\x15\x97\xd6\xff(\x05G9u\xbfq\xbb\x86[\xda\xf7\x7f84\x96\xf6\xaa\x80\x95\xe7\x18\xb0Cp-EwU\xc0Z\u008a5(V\xcc\xe0\x0f\xdf\x00\xf2\xb4Y\x90c\xafۂ\x94\x1eM\a\a\xaf%\x1d\x91\xe1\x9cد!\xec\xb7-\x96\xb4q\xe4;\x9a\xc4\xf7\xbc\xcb\x01\x14\xbb,\x19Y\x8c\xc4\xe5Õ\xbe,\xf4O\aM\xf4\xf9\x94\x9b\x13Ւ\t\xc4\xc6l\x14F΄\x02\x88i\n\xeb\xe7hl\x95\xe1V\xe97\x12\x1c\xb2W1\x93p\xc2\xf9\xf4\x95L\x96(.X\xb2\xf2\x83\x80ˊ\xfc\x88\xfd\x99#x\b\x02\xbcNJ\x1e\x14\xc5\xc4)\xf7\x86omi\x0e\x1dQ\x83\x96,\x92\x99\xc4\xc2%\f\xdc\x0eR\x0e7\xb5j\xa7\x94@6Ż\xd2\xf0\xadd\xad\xa9\x95\xbd`\xdbz\x0fq\xe4\u05f7\x16i\xf1\xd5v}O\x7fb;\x9d\x8b#\xaf:\x00\xa6\xe0!\x963\aY\b@K\x83V\xdb5\x98n\xfa\xdc\t\xd2\t\xc1v\x02\x97`\xb5\x9b\x1bv\xfa\x18\xd2\x17Ů\x043\xd9\x01\x13\x03\xb7\xe9\xf8\xdc\xf1\x8b\x02\xa1\xf4#lͦP\xd3{\x9c\xf2\x0f\x91\xf5d\x12\xefi\t\xbcr[gg\x9e9\x7fБ.v\xc0\xab\rJ\x86g\xed\xe9HX0G\xed\xcf\x18\xb3y^y{/YF\xb0\xfc=\x96\x05\x91\xa7O\xe2̶\xe7ф\x9cu\x13-O\x19\xa7(\xc0\b$\xb0\x02\xd7ޮ;E8\xd7X\xcdu^\x8c\xf6+\xd3=6\xfaD\xd8\xce\xc0\x1d:\xbe\xf5\x99\x18\xd5J\xc9=?\xcc\xd7N\xaf\x8e\xe7b\xe4\xaci\xb3\xa4\x91,I\x1e\xa7\x1cA\x9a,<\xb9[\xc4\x04B4i\xcf\x0fN\x9f\n\xfd=GQ\x99\x9b\xa3\xfd\x82?\xbc\x12\x170\xac7\"f\xbb\x0e\xaa\x12\xfe\x1a\x0e\x843\xfe\xe6H\x9d\x19\x03BN)\b\x12\a\x89\xdc\xc0\xbbw\xa04\xbc\v\x15\x85w\xf7!\xff8.삧$:#\xf1\x95\v\x11\u05fd)-\xf5T\x9a.2\xca]\x02\xf1\xbfO\x86O\xfc`\xe9~\xe5m\xb7\n^\x19\xb7=w\xcd!x\x94e\xeea\x87{\xe2K\x1a\xadӒR\x1bjM\f\xc2x\x91\xcae\xb0\xfd\x8cQ&\xc93\x17\f\x9a\xa6$o\x05\xfd?\xc5\xec4\xd03Ƹv\xae!J\xd7\xe4\xc2z\xb5]\xdfd\x8d\xa7\xbb}\x9d\xe7\x92A\xe3\xd1\xd1&\xa5\xf9\x81\xd3\x1dB\xf6=\x03\xc7\t@\x92\xb1\xaa\xbb\xc1{h\xf3\xd8\\\x10\xab\x88\x84\x8f\xc0r\x10G\xd1\x1c\x16'\xb0\xa7;J\xceN\x18fT],f\"\xf9\xa276ϫ\xab\xfc@\xaad\xb0\x9d\x9a_k^\xd6\xe3=\x9e\xdd'\xbc.\xec\x05=\x9f\xbdI\xcdP\xa6;\r\xb0#]\x7f\x1b\r\x9e\xc4\xd4\b\r\xfb;q\x94?W\xea<\xa9i\x99fB\xa0\xf8\x85\v4a\xdd+\xb2\xe5f>\xabw\xabkv\xa8ɱ{\xea\xec\x178\x91/\xbb\xc2&\x85S\x8b\x9a\b^`\xa6\xce\xc4K\xdei\xcb [\xa0\x9a\xf7f >\x9fe\x17\xf9\xeb\xc6d\xcc\x14\"'\xdd)\xd8L\xbbƱ\x98\xed\xdd<\xaf\xae\xba\x92\xf9*\xcfu\x97\xb2P\xbe\xed\xf6\xa7tZ\xa3\xb4\xb1\xa8\xab\xf6\xdfu-+C94-x]\xba\xca\xccg\xf8\xba\x87\xae\x92T\xc1\xe2\xf5\xca\x17\xddb\xc95\xb7\xf3\x83\xb80\xd3\xd7aH\x1aV\x80G\x94@\xb1\xc1\xb8\xa0\xb4\xebE\x9ab:'\x8fo\xbd\x94.\x05\x85\xe3\x17\x0fc,8u\xf5\x9c\xaf\x84\x16\xbe\xa0\xf0ޜ\x91\xe93 Ej\xc6\ts\x88\x89\xb5܊Y\\d\x85^El\xb20\xd4\x13\xbd/h\x9c\xc8d\xf7\x1fH\xf4\u0092\xe1\xael\xb2D\xef\xfc\r\x8f\x19`\xa0\x83\x90\x0e\xb7\xcf]x\xbf\x9f\xfd5h\f;\\J\xac\x9fèP\xa7\xea\xa6\x00\xdb\x11\t\x1a\xab\xf6\xdet\xc1vS\u0090\xaa\xba\xa4\xc1\x93\xaa\xfc\xf2\xf2\xe6\xaa\xf1M\x9a\xb4\xcc\xd6\x174\xd90[G\x80\xd9;!\xfc\x9c\x19e\xeanP;\xa4h\xba\x899\x9dӮf撣64&\a\x80x\xcdA:E۞\xf05\xd3\xfa\xb1,\xb1\xb5\x19\xcb\x16\xb0\xd1\xd82\x9d횽\xa7\xa5\x9d\xa1\n\x94\v\xb4ؗ\x95\xd9?Ye\xfa~\xf1\xd0x\x93\x9f;\xfd.\xb9:\x96\x8ej%\"\xb2\xfbW\xa5\x81\x17\xf8w\xab\xf1\xad:\x17\xed\xb2\x1amW2\xbfg\xa0^\x12\xa107\xb1\xb4\x15/\x1b\x157\xad`o9\xc6\x135L\xd0&\x89\xdb\xe9\x93\u00ad\x84\xaa\x7f\xe3\xcbӨ\xdcC]n\x0fN1\x1a\x80\xe1\xed\xeeǬp\x06\x18c$\xaf\x1f\xaf\xbcE\xad\x1fc\xd4\xf1\n\xa5%\x12;<\xe3\f4[\x9e\xbd\x17'\xb5\xd6\xdbn\x06\xa3\x97\xdfK\x1a\x8f\x06_`&ݛs\x8e\x97l)\xc4\tX\xfc\x83\xc2j\xfa*x\xdf?22۽j\x945\x93\a\n\bI\xc9\xcd'ǜ\xe0\x19\xd5\x18\x11\x8b\xb1\xfa\xbf'\xa7\xc8\x1e\x97Y\xa3\u05fcJdw\xa5\xac\xb4\xc5\xed\xfaW\xa4%\xfc\xfb?w\xff\r\x00\x00\xff\xff;\x97\x19\xb4\t\"\x00\x00"), } var CRDs = crds() diff --git a/pkg/apis/velero/v1/backup_repository_types.go b/pkg/apis/velero/v1/backup_repository_types.go index 6a062c4fee..300ecae9c1 100644 --- a/pkg/apis/velero/v1/backup_repository_types.go +++ b/pkg/apis/velero/v1/backup_repository_types.go @@ -51,9 +51,6 @@ const ( BackupRepositoryPhaseNew BackupRepositoryPhase = "New" BackupRepositoryPhaseReady BackupRepositoryPhase = "Ready" BackupRepositoryPhaseNotReady BackupRepositoryPhase = "NotReady" - - BackupRepositoryTypeRestic string = "restic" - BackupRepositoryTypeKopia string = "kopia" ) // BackupRepositoryStatus is the current status of a BackupRepository. diff --git a/pkg/apis/velero/v1/constants.go b/pkg/apis/velero/v1/constants.go index a7292d5684..60fbc12fc9 100644 --- a/pkg/apis/velero/v1/constants.go +++ b/pkg/apis/velero/v1/constants.go @@ -16,6 +16,12 @@ limitations under the License. package v1 +type VeleroResourceUsage string + +const ( + VeleroResourceUsageDataUploadResult VeleroResourceUsage = "DataUpload" +) + const ( // DefaultNamespace is the Kubernetes namespace that is used by default for // the Velero server and API objects. @@ -46,4 +52,90 @@ const ( // APIGroupVersionsFeatureFlag is the feature flag string that defines whether or not to handle multiple API Group Versions APIGroupVersionsFeatureFlag = "EnableAPIGroupVersions" + + BackupRepositoryTypeRestic string = "restic" + BackupRepositoryTypeKopia string = "kopia" + + // Labels + + // BackupNameLabel is the label key used to identify a backup by name. + BackupNameLabel = "velero.io/backup-name" + + // BackupUIDLabel is the label key used to identify a backup by uid. + BackupUIDLabel = "velero.io/backup-uid" + + // RestoreNameLabel is the label key used to identify a restore by name. + RestoreNameLabel = "velero.io/restore-name" + + // ScheduleNameLabel is the label key used to identify a schedule by name. + ScheduleNameLabel = "velero.io/schedule-name" + + // RestoreUIDLabel is the label key used to identify a restore by uid. + RestoreUIDLabel = "velero.io/restore-uid" + + // PodUIDLabel is the label key used to identify a pod by uid. + PodUIDLabel = "velero.io/pod-uid" + + // PVCUIDLabel is the label key used to identify a PVC by uid. + PVCUIDLabel = "velero.io/pvc-uid" + + // PodVolumeOperationTimeoutAnnotation is the annotation key used to apply + // a backup/restore-specific timeout value for pod volume operations (i.e. + // pod volume backups/restores). + PodVolumeOperationTimeoutAnnotation = "velero.io/pod-volume-timeout" + + // StorageLocationLabel is the label key used to identify the storage + // location of a backup. + StorageLocationLabel = "velero.io/storage-location" + + // VolumeNamespaceLabel is the label key used to identify which + // namespace a repository stores backups for. + VolumeNamespaceLabel = "velero.io/volume-namespace" + + // RepositoryTypeLabel is the label key used to identify the type of a repository + RepositoryTypeLabel = "velero.io/repository-type" + + // DataUploadLabel is the label key used to identify the dataupload for snapshot backup pod + DataUploadLabel = "velero.io/data-upload" + + // DataUploadSnapshotInfoLabel is used to identify the configmap that contains the snapshot info of a data upload + // normally the value of the label should the "true" or "false" + DataUploadSnapshotInfoLabel = "velero.io/data-upload-snapshot-info" + + // DataDownloadLabel is the label key used to identify the datadownload for snapshot restore pod + DataDownloadLabel = "velero.io/data-download" + + // SourceClusterK8sVersionAnnotation is the label key used to identify the k8s + // git version of the backup , i.e. v1.16.4 + SourceClusterK8sGitVersionAnnotation = "velero.io/source-cluster-k8s-gitversion" + + // SourceClusterK8sMajorVersionAnnotation is the label key used to identify the k8s + // major version of the backup , i.e. 1 + SourceClusterK8sMajorVersionAnnotation = "velero.io/source-cluster-k8s-major-version" + + // SourceClusterK8sMajorVersionAnnotation is the label key used to identify the k8s + // minor version of the backup , i.e. 16 + SourceClusterK8sMinorVersionAnnotation = "velero.io/source-cluster-k8s-minor-version" + + // ResourceTimeoutAnnotation is the annotation key used to carry the global resource + // timeout value for backup to plugins. + ResourceTimeoutAnnotation = "velero.io/resource-timeout" + + // AsyncOperationIDLabel is the label key used to identify the async operation ID + AsyncOperationIDLabel = "velero.io/async-operation-id" + + // PVCNameLabel is the label key used to identify the PVC's namespace and name. + // The format is /. + PVCNamespaceNameLabel = "velero.io/pvc-namespace-name" + + // ResourceUsageLabel is the label key to explain the Velero resource usage. + ResourceUsageLabel = "velero.io/resource-usage" + + // VolumesToBackupAnnotation is the annotation on a pod whose mounted volumes + // need to be backed up using pod volume backup. + VolumesToBackupAnnotation = "backup.velero.io/backup-volumes" + + // VolumesToExcludeAnnotation is the annotation on a pod whose mounted volumes + // should be excluded from pod volume backup. + VolumesToExcludeAnnotation = "backup.velero.io/backup-volumes-excludes" ) diff --git a/pkg/apis/velero/v1/labels_annotations.go b/pkg/apis/velero/v1/labels_annotations.go deleted file mode 100644 index 08b6b24405..0000000000 --- a/pkg/apis/velero/v1/labels_annotations.go +++ /dev/null @@ -1,113 +0,0 @@ -/* -Copyright 2018 the Velero contributors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package v1 - -const ( - // BackupNameLabel is the label key used to identify a backup by name. - BackupNameLabel = "velero.io/backup-name" - - // BackupUIDLabel is the label key used to identify a backup by uid. - BackupUIDLabel = "velero.io/backup-uid" - - // RestoreNameLabel is the label key used to identify a restore by name. - RestoreNameLabel = "velero.io/restore-name" - - // ScheduleNameLabel is the label key used to identify a schedule by name. - ScheduleNameLabel = "velero.io/schedule-name" - - // RestoreUIDLabel is the label key used to identify a restore by uid. - RestoreUIDLabel = "velero.io/restore-uid" - - // PodUIDLabel is the label key used to identify a pod by uid. - PodUIDLabel = "velero.io/pod-uid" - - // PVCUIDLabel is the label key used to identify a PVC by uid. - PVCUIDLabel = "velero.io/pvc-uid" - - // PodVolumeOperationTimeoutAnnotation is the annotation key used to apply - // a backup/restore-specific timeout value for pod volume operations (i.e. - // pod volume backups/restores). - PodVolumeOperationTimeoutAnnotation = "velero.io/pod-volume-timeout" - - // StorageLocationLabel is the label key used to identify the storage - // location of a backup. - StorageLocationLabel = "velero.io/storage-location" - - // VolumeNamespaceLabel is the label key used to identify which - // namespace a repository stores backups for. - VolumeNamespaceLabel = "velero.io/volume-namespace" - - // RepositoryTypeLabel is the label key used to identify the type of a repository - RepositoryTypeLabel = "velero.io/repository-type" - - // DataUploadLabel is the label key used to identify the dataupload for snapshot backup pod - DataUploadLabel = "velero.io/data-upload" - - // DataUploadSnapshotInfoLabel is used to identify the configmap that contains the snapshot info of a data upload - // normally the value of the label should the "true" or "false" - DataUploadSnapshotInfoLabel = "velero.io/data-upload-snapshot-info" - - // DataDownloadLabel is the label key used to identify the datadownload for snapshot restore pod - DataDownloadLabel = "velero.io/data-download" - - // SourceClusterK8sVersionAnnotation is the label key used to identify the k8s - // git version of the backup , i.e. v1.16.4 - SourceClusterK8sGitVersionAnnotation = "velero.io/source-cluster-k8s-gitversion" - - // SourceClusterK8sMajorVersionAnnotation is the label key used to identify the k8s - // major version of the backup , i.e. 1 - SourceClusterK8sMajorVersionAnnotation = "velero.io/source-cluster-k8s-major-version" - - // SourceClusterK8sMajorVersionAnnotation is the label key used to identify the k8s - // minor version of the backup , i.e. 16 - SourceClusterK8sMinorVersionAnnotation = "velero.io/source-cluster-k8s-minor-version" - - // ResourceTimeoutAnnotation is the annotation key used to carry the global resource - // timeout value for backup to plugins. - ResourceTimeoutAnnotation = "velero.io/resource-timeout" - - // AsyncOperationIDLabel is the label key used to identify the async operation ID - AsyncOperationIDLabel = "velero.io/async-operation-id" - - // PVCNameLabel is the label key used to identify the PVC's namespace and name. - // The format is /. - PVCNamespaceNameLabel = "velero.io/pvc-namespace-name" - - // ResourceUsageLabel is the label key to explain the Velero resource usage. - ResourceUsageLabel = "velero.io/resource-usage" - - // VolumesToBackupAnnotation is the annotation on a pod whose mounted volumes - // need to be backed up using pod volume backup. - VolumesToBackupAnnotation = "backup.velero.io/backup-volumes" - - // VolumesToExcludeAnnotation is the annotation on a pod whose mounted volumes - // should be excluded from pod volume backup. - VolumesToExcludeAnnotation = "backup.velero.io/backup-volumes-excludes" -) - -type AsyncOperationIDPrefix string - -const ( - AsyncOperationIDPrefixDataDownload AsyncOperationIDPrefix = "dd-" - AsyncOperationIDPrefixDataUpload AsyncOperationIDPrefix = "du-" -) - -type VeleroResourceUsage string - -const ( - VeleroResourceUsageDataUploadResult VeleroResourceUsage = "DataUpload" -) diff --git a/pkg/apis/velero/v2alpha1/data_upload_types.go b/pkg/apis/velero/v2alpha1/data_upload_types.go index 4fb822ff48..bf8ac4a722 100644 --- a/pkg/apis/velero/v2alpha1/data_upload_types.go +++ b/pkg/apis/velero/v2alpha1/data_upload_types.go @@ -65,6 +65,7 @@ type DataUploadSpec struct { UploaderConfig shared.UploaderConfig `json:"uploaderConfig,omitempty"` } +// +kubebuilder:validation:Enum=CSI type SnapshotType string const (