From 8de86e031845593315ad1225782b40a8c838ba95 Mon Sep 17 00:00:00 2001 From: "azykov@mail.ru" Date: Mon, 20 Jul 2026 21:23:28 +0300 Subject: [PATCH] data-migate ns fix --- clusters/base/apps/radicale/secret.enc.yaml | 16 ++++++++-------- clusters/base/apps/vaultwarden/secret.enc.yaml | 18 +++++++++--------- clusters/base/apps/zigbee2mqtt/secret.enc.yaml | 16 ++++++++-------- utils/data-migrate/README.md | 11 ++++++----- utils/data-migrate/install.yaml | 2 +- 5 files changed, 32 insertions(+), 31 deletions(-) diff --git a/clusters/base/apps/radicale/secret.enc.yaml b/clusters/base/apps/radicale/secret.enc.yaml index 98a4ded..76218f2 100644 --- a/clusters/base/apps/radicale/secret.enc.yaml +++ b/clusters/base/apps/radicale/secret.enc.yaml @@ -4,19 +4,19 @@ metadata: name: radicale-secrets namespace: radicale stringData: - users: ENC[AES256_GCM,data:SVe+X2tOO1skqK47Y8HrSmSXTRFhEVEB0my54448d3F/JwgboEG+hwnKcVOpKzXFINkIpvVOi5Y6eZJ4LRiTt69zLT2zG9GVZS5HLA8X2BDAU9Im4vbyQhFX72wBYRAzSQHJYuipgl+iyttaP8VwWoHO/16OY3HPhbxHes6g6Y+JlybCHbzvrw==,iv:KmlVYIrdwUZ+CpGx1k9D66aKdf7UaruQwGSLuCHTQ4M=,tag:t3BmeBQknv4QVzaOM7P3Hw==,type:str] + users: ENC[AES256_GCM,data:Jg9bn8OFcstQlKIN7u96FTKvJyDf95dwB0CVc5zQoY0WIddWza5S0NiWa9pLEPHE/XVRIefirYdvEgNTEbkWppx9zXjBSR7XS9AYzFx7g/rBIzUoK3r38Big690WmcnJe5vN/nHmzOcfNvvpHfuQh1zvUYjDN1fxBk90z8RBuk3RDTXrFp7PIg==,iv:9fzE19KuEDlq7p7IwiisnUATTGGt7wtpSL2CwVo6p18=,tag:ORZIZKsmUAjZH+9SNPw3Xg==,type:str] sops: age: - recipient: age1nqjekn6qk8uqunyv5cl88nx9g3y8a94h5qr0u53q5dsdsmhr7g2syy6fsd enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4YVN4Q2N3d216LzJrVEwy - SHRSR3EwZUwzbkNEdHhEN1ZaTmkwM2NZL0cwCkh4b2RGYXc3QVhFaE41T0V1YlY4 - R01yTEs2SDhZbzVYdDhzMHBtTTdsOGcKLS0tIERtN3U5T054VFQ1bVM0cGUyUzFK - UTF2cnFwZWtGRGxSblBnZERQT1drcE0KpXz/psOXMH5/Ikl7UQ0W5LTesLv0wOFd - UHtwITdFJpXpVmyz3nJPzl/T+c+GKpfjNThcqY1iXYdeubSPFl/Iuw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPMzRKY1BqdHBuc1J4cGFj + VVorSUdoemhWNmZjeUVXNVZ3NjJTVVFYdXo0CnIza1hEK0tIVGlrWmFHU2xKWEFt + UjhuWXNSdlV3dGtDNHA1Qm9pbmV2YXMKLS0tIGlWTjMzWUNMSVhqVDVaUlN5amcz + dHhiRlBtK2lCaDZwRFVUeTk1MkxXdjgKR9j3TrGtWAkNswZJUGyT1LdWNrZtbch6 + LK2NfrcSoomWINkd+ltHsSVRmzbAhXcNUEBSUGYXq3g71W6umqE5xA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-08-26T10:17:51Z" - mac: ENC[AES256_GCM,data:eO2TYUDwsaQXvDQgvuXayJ96/bjHnqkQFyc+0JQImTDG3g5JAFzWkyIInXo03IcDf4PrlNL1VKB3jJrO8YrASwfC53r2PqFuggkFCquHPeQQaF5ZkOg3QELsypuccT1mWzfDdX2MPflpc4IoSF5luGvaoA6yZC+4QEBaA1RWfOI=,iv:Cx6Q+EAoNjtDJe8nsK47CWVGI5rYAPS5ZJU2AuLs/Go=,tag:fCwkOJQO4T3BlK2n+/wHKA==,type:str] + lastmodified: "2026-08-26T10:17:55Z" + mac: ENC[AES256_GCM,data:ZsXLvMpFWfDWZw2YmmtRyQ9/+SCeexQgCM11Z17eYMPKvsrf/NUJuLNjpOpr8CLR7WtfIAnEqqB8AC4Zto+lssrw0Df7bkxjhbnLQ7cl0ay743EsaO2Wlk0cyZUy0y2lvZRlyElKMNDjwDYaQT9/ZinwqRZYP3x2dP6MBRRSIFs=,iv:mL2BJL9OIL7Mp2Dujm0uAihxhXN8BWcL6JLxgIq2GLE=,tag:yXT6PaYk21wa6Z10gnchZA==,type:str] encrypted_regex: ^(data|stringData)$ version: 3.11.0 diff --git a/clusters/base/apps/vaultwarden/secret.enc.yaml b/clusters/base/apps/vaultwarden/secret.enc.yaml index e137660..6a5ad1f 100644 --- a/clusters/base/apps/vaultwarden/secret.enc.yaml +++ b/clusters/base/apps/vaultwarden/secret.enc.yaml @@ -4,20 +4,20 @@ metadata: name: vaultwarden-secrets namespace: vaultwarden stringData: - #ENC[AES256_GCM,data:+pADpFTk7bOhY/qxT0Gz1GSKFW38PK0EOn0zm1LD0D4tJ8cd+rvRdF3aNsj1EoKC3ONwAXGScsd9,iv:dHg8i4m/156oFXjeZoBSeHbUHa8jEMKbznQH1sk69aE=,tag:f3ROFD2UsJk2HaVQIUgvgg==,type:comment] - ADMIN_TOKEN: ENC[AES256_GCM,data:tvNeaxVILprFBMElHkUGSV/+LQ4lRItPi0adrPDAA2LjsxGjaSRqznWMAskgRPhvFoD9fGfjaduDyJLFLyIx0sQT0QniRWzNPTst8arj6745+pxYs6jfTmt1FmqgrvkDfbV6TQF2tGtKg6qPuw6wQFRLOeA1jA==,iv:LmbjBV7zyzUZw0ryiYtTncDqqm3B/5D+G9UNNEEEQSw=,tag:BBUjxwWeuhvjk1Y7cv/s4g==,type:str] + #ENC[AES256_GCM,data:Rgz6I3Ko2l/yMpeP9bjG1NT/PBhNZyB/VxIf49GR4wJ5ETblyLFzn+BEEx1XwaBOWmZKHsn2fHVZ,iv:1Jr9BH8P+FaNX7kaVMPL/UF4CwLod0aYH2xB2nyAev4=,tag:v18YCoE8hWRCj77+uygcVw==,type:comment] + ADMIN_TOKEN: ENC[AES256_GCM,data:9DHptkwxK3O7MOrLA3P9Nbnps/WedhrvZPTkB4XSSsLn8FYK+ruFG5TncwhLXV36f+ZZh5zEZQWlJplZkGcFzx/lkWCxmwRAZ+ksyROo34Vj6NqqA39MVGGzZQ0j+F5RT1cGL0se7s7Gvkw37UKxwsUs+2621Q==,iv:thhQbpQbBY848hzcdZyPEveeyvikAOich8NV6FUZH2o=,tag:WurDduYCj7uQTXOlUXe7jw==,type:str] sops: age: - recipient: age109zta6l0cwpkxn5wek82kvauxn6yqrq80rsz4mvu5atdnpcn9pusuvnqk5 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHRDNxRnFJNXFEcTlHZklJ - cmlzWTR2NFRaUkNVV3pISlpJTEVHSUV5VFIwCnd0NHYvS3A0c21JSTF6V2lvdnJG - ZjNCdk9vOEtKdWJuZnpYWE9kZnQ4YWMKLS0tIDNNMFV0VkJ3Qm5ybFViV2o4cVRt - aVZHWitsemcrU05td21YK01Kc1NGSE0KRs4ulUT2+qEvEf589RczFZSuK7joxqHo - X2DIlKkkgcPapPKzQv2wFb3ZOtpACKf28z4zbXzqML7uHcpwBbzrQw== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrM3RzOVFIVUZHbzhRTGo1 + a3RQME5Pa1Zhb1RPNG9GeldUOU53dTJrNlI0CjdxWGpNR3pLdEsxc2pDeU9LSGtu + eVZXdlM2ZllXM3VvMTN1b2pSK09XU3MKLS0tIHVlVFlCL3V3VjFDT01Sa1JpQ1pP + eHZSM2hNY1dzV01GUlRXSldBb3lXMGcKdwRMdWIAwptaIQ/skd/JywxA77hyZasd + avTldJYiR0NZUEpYiNA1bMqwtzYhImXKqnIXfhwWWUPUin+aWBWnJA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-08-26T10:17:52Z" - mac: ENC[AES256_GCM,data:QiULStHctOOXKs77VrxGlusBxd4+80kJzZx7IPHaQ5jferre8NQx3wl+rQwLJmYiiri1ifVV5PuptQvniFNrs7tH3SH9WowJgvR+FCPbN8H72CtQRppwNj2mzMoik0RN+gXnRAtPYDJdz1L7HKg8COLjGNbwBtBCVnKMn6C2mqA=,iv:OEYB9U9CjVEnRo26UTl1A8WgIC0WZWoc4zABSngm5Aw=,tag:/Iyk7tztL8Vgh/alTBMHBQ==,type:str] + lastmodified: "2026-08-26T10:17:56Z" + mac: ENC[AES256_GCM,data:P73sqCWzj/Yv3UF5Z17pjk/zjfPt7W1AqMbt2S79cflX+Fx1rlj/BM+pFL5gzLSDZN/znNmXjqAnjcx5ZtJALDpZqA6T04Zo7vFQvnm2tCO3kOdzlKLF8ie6BFPUHBkJ0Sucphx0JXmnB2xUKVxnrnAEDvXd1g9yEMDyKEzhiA8=,iv:K3c5GtrOuZMmw1nKo8ha3jUyO1pWIJBYHt5f8YHKKmE=,tag:AHZrX/Q6fDPmQL4cAFiW0Q==,type:str] encrypted_regex: ^(data|stringData)$ version: 3.11.0 diff --git a/clusters/base/apps/zigbee2mqtt/secret.enc.yaml b/clusters/base/apps/zigbee2mqtt/secret.enc.yaml index a86559e..88b0efb 100644 --- a/clusters/base/apps/zigbee2mqtt/secret.enc.yaml +++ b/clusters/base/apps/zigbee2mqtt/secret.enc.yaml @@ -4,19 +4,19 @@ metadata: name: zigbee2mqtt-secrets namespace: zigbee2mqtt stringData: - secret.yaml: ENC[AES256_GCM,data:aW2sz89BvgbMHHYcTqpKdt1zYmTOXneb5tlPIeWbJyWMt9zJtCn7Jn5uxQCj/1IKt+z7jCQdW6Yb/CPkQo36cVGfz6SLpvLPqfupDd/RDCrjcj6zK1CXY7OPejp6F0CRfFm3D/dMoiU+4ngpSYy7Pde5nuLsCMo9tAKECHk=,iv:+6rzGzV/lcBpmyeowRZgNbNzKWk3/HQAffx62iRJC6Q=,tag:YG8nUAyO1Nlv3LFVj9fpag==,type:str] + secret.yaml: ENC[AES256_GCM,data:cNUgISei9wG15ASojdXMGy3cZOYe63Ti4L88qmeaZY23dWFRXywkB5wC/o1oTCeYxpDpUO0yfx+bqpKXyOwgJlGkFi0lgcNlqPybHF65HhGqRQ5SpGfcIhIDNw57eowgcvBzy8jEVRf3r2I9xX7FDFNzrBGTw53IMwkuW7U=,iv:mio+jOHo81XE6E+O/FRQKRDpamRdsrcujH+wwje7Y8Y=,tag:fgFylzYNOAmuJKhxei/4AA==,type:str] sops: age: - recipient: age1tu4xgfefvgdda0vn2thaqndq4p9tuydq2ud6qa98tzzgnff6749qnlcx29 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEMUJuVFA4NnI0UjJlNTZx - ZTF0dkJGMWEyd2ZNWjAzV1BDY1RoNmI5TUV3CkhSTGlsbFJTU283VnA4NUNjYk02 - Z3E2T0NSTVBteWt3RVhKTlhnU0tjSlUKLS0tIGc0V1lYUy9mcDJsL0N5bmZRT1Bn - WUZrNDZvREZ3ZFRIWGptVGRhRzMrOWsKoSlR+NGPPWC03CEloEAfThUu5GLRKf55 - zc6zi76KdGo4apDZ0Ikd2qjlWL/9IrpFxD7j5zIEsljTnKJZVH7YTg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1N2Jsd3NrMndHeWl4aEtN + Lzg5a29Wb2tpZW9hVlRVNGRMbHFyeElLUkhFCnluWkovM3pxeElCSHZRc1llcDUy + REpSQTkyM3pHdWxZZnY0QXg0elBuZVUKLS0tIEJhaTViMzN5NitpMEM4UzlYd1ln + bG42SGl1T0JOejcrUHd6WkV6aGV6Ym8KQOmzIu57Dve5kTg2gxmNaCEtCkvSHL2q + IGaDJmTavmq2is4js81Huw86NYQCpTnZrBskw182wpENiK9d9SGmPw== -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-08-26T10:17:53Z" - mac: ENC[AES256_GCM,data:BIOhrUPLRJ0Ltpsi9L4ZSsZzT+I2m7B04FUNqS9GbIOGtMjFxVXSyhfNFDw3D+7Q4oeG4NdTSQ+2wvK88D4QN/szXagZjmY7kHRtF9Hn33vcoz7HVTOAkSnw0gFUvVKmd31yT/yK62HkSFnscQNqyXGglBrsutcYdAf56S8e7iE=,iv:GCIJRqyHJRagXO0eNcKmb9io3TvcKOOlSLVHZRoUS/w=,tag:gY1PBP6vAKkAwL9AVeXngw==,type:str] + lastmodified: "2026-08-26T10:17:57Z" + mac: ENC[AES256_GCM,data:0T7Ozd12aRccYDAtGL7HELU+t6+VndHF80Ogo++V7KsSNxwnvZgX2jFI3ZotYNtdWmEXjeA35MgHgt+ir9hdoGa1FsDSGEUfCLb6ZHir4QsvHkcoygY20+6wcNSpXa/Hj8ytnkTbAj0MM5Jf/MPw+fmY9nTQ8iOVqv/LNXuNJss=,iv:tTEZGLBy/0kYisCx9WpbXeCOXy31cPIySEzEfR8IIlk=,tag:vgKv/1ke/P8N7Eq/67VEyQ==,type:str] encrypted_regex: ^(data|stringData)$ version: 3.11.0 diff --git a/utils/data-migrate/README.md b/utils/data-migrate/README.md index 38457ef..84668a1 100644 --- a/utils/data-migrate/README.md +++ b/utils/data-migrate/README.md @@ -1,11 +1,12 @@ +0. the namespace will be the namespace for your target application 1. run the application you need 2. wait for its PVs to be created 3. suspend the application: `kubectl scale deployment/statefulset/... NAME -n NAMESPACE --replicas=0` 4. wait for it to scale down so that the ReadWriteOnce PVs are released (or data-migrate will not be able to mount them) 5. look up the destination PVC name you need: `kubectl get pvc NAME -n NAMESPACE` -6. put the source host(node) and dir and destination PVC name to `install.yaml` -7. install the data-migrate: `kubectl create namespace data-migrate && kubectl delete pod data-migrate -n data-migrate --ignore-not-found=true && kubectl apply -f install.yaml` -8. run the migration: `kubectl exec data-migrate -n data-migrate -- cp -a /old/. /new/` or anything you need instead of `cp` -9. validate you have everything migrated: `kubectl exec data-migrate -n data-migrate -- ls -laR /new` -10. uninstall the data-migrate: `kubectl delete pod data-migrate -n data-migrate` +6. put the namespace, source host(node) and dir and destination PVC name to `install.yaml` +7. install the data-migrate: `kubectl delete pod data-migrate -n NAMESPACE --ignore-not-found=true && kubectl apply -f install.yaml` +8. run the migration: `kubectl exec data-migrate -n NAMESPACE -- cp -a /old/. /new/` or anything you need instead of `cp` or interactive shell `kubectl exec -it data-migrate -n NAMESPACE -- sh` (or `bash` or `zsh`) +9. validate you have everything migrated: `kubectl exec data-migrate -n NAMESPACE -- ls -laR /new` +10. uninstall the data-migrate: `kubectl delete pod data-migrate -n NAMESPACE` 11. resume the application back: `kubectl scale deployment/statefulset/... NAME -n NAMESPACE --replicas=1` \ No newline at end of file diff --git a/utils/data-migrate/install.yaml b/utils/data-migrate/install.yaml index e800337..4e55493 100644 --- a/utils/data-migrate/install.yaml +++ b/utils/data-migrate/install.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: Pod metadata: name: data-migrate - namespace: data-migrate + namespace: spec: restartPolicy: Never containers: