You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: web/docs/resource-name-migration.md
+47-40Lines changed: 47 additions & 40 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,26 +50,16 @@ Using generic names for cluster-wide resources is discouraged as they may confli
50
50
The migration process is straightforward and can be completed with a few kubectl commands.
51
51
52
52
:::danger Verify Resources Before Deletion
53
-
**IMPORTANT**: The old resource names are generic and could potentially belong to other components in your cluster. Before deleting, verify they belong to the barman plugin by checking their labels:
53
+
**IMPORTANT**: The old resource names are generic and could potentially belong to other components in your cluster.
54
54
55
-
```bash
56
-
# Check if the resources have the barman plugin labels
57
-
kubectl get clusterrole metrics-auth-role -o yaml | grep -A 5 "labels:"
58
-
kubectl get clusterrole metrics-reader -o yaml | grep -A 5 "labels:"
59
-
kubectl get clusterrole objectstore-viewer-role -o yaml | grep -A 5 "labels:"
60
-
kubectl get clusterrole objectstore-editor-role -o yaml | grep -A 5 "labels:"
61
-
kubectl get clusterrolebinding metrics-auth-rolebinding -o yaml | grep -A 5 "labels:"
62
-
```
63
-
64
-
Look for labels like `app.kubernetes.io/name: plugin-barman-cloud` or references to `barmancloud.cnpg.io` in the rules. If the resources don't have these indicators, **DO NOT DELETE THEM** as they may belong to another application.
55
+
**Before deleting each resource, verify it belongs to the barman plugin by checking:**
56
+
- For `objectstore-*` roles: Look for `barmancloud.cnpg.io` in the API groups
57
+
- For `metrics-*` roles: Check if they reference the `plugin-barman-cloud` ServiceAccount in `cnpg-system` namespace
58
+
- For other roles: Look for labels like `app.kubernetes.io/name: plugin-barman-cloud`
65
59
66
-
If you're unsure, you can also check what the resources manage:
67
-
```bash
68
-
kubectl get clusterrole objectstore-viewer-role -o yaml
69
-
kubectl get clusterrole objectstore-editor-role -o yaml
70
-
```
60
+
If a resource doesn't have these indicators, **DO NOT DELETE IT** as it may belong to another application.
71
61
72
-
These should reference `barmancloud.cnpg.io` API groups. If they don't, they are not barman plugin resources.
62
+
In Step 1 below, carefully review the output of each verification command before proceeding with the delete.
73
63
:::
74
64
75
65
:::tip Dry Run First
@@ -80,24 +70,55 @@ You can add `--dry-run=client` to any `kubectl delete` command to preview what w
80
70
81
71
**Only proceed if you've verified these resources belong to the barman plugin (see warning above).**
82
72
73
+
For each resource below, first verify it belongs to barman, then delete it:
74
+
83
75
```bash
84
-
# Only delete if this belongs to barman plugin (check labels first)
85
-
kubectl delete clusterrole metrics-auth-role
76
+
# 1. Check metrics-auth-rolebinding FIRST (we'll check the role after)
77
+
# Look for references to plugin-barman-cloud ServiceAccount
# 5. Check metrics-reader (MOST DANGEROUS - very generic name)
103
+
# First, check if it's being used by any rolebindings OTHER than barman's:
104
+
kubectl get clusterrolebinding -o json | jq -r '.items[] | select(.roleRef.name=="metrics-reader") | "\(.metadata.name) -> \(.subjects[0].name) in \(.subjects[0].namespace)"'
105
+
# If this shows ANY rolebindings, review them carefully. Only proceed if they're all barman-related.
106
+
# Then check the role itself:
107
+
kubectl describe clusterrole metrics-reader
108
+
# If it ONLY has nonResourceURLs: /metrics and NO other rolebindings use it, delete it:
109
+
kubectl delete clusterrole metrics-reader
98
110
```
99
111
100
-
If any resource is not found, that's okay - it means it was never created or already deleted.
112
+
:::warning
113
+
The `metrics-reader` role is particularly dangerous to delete blindly. Many monitoring systems use this exact name. Only delete it if:
114
+
1. You've verified it ONLY grants access to `/metrics`
115
+
2. No other rolebindings reference it (checked with the jq command above)
116
+
3. You're certain it was created by the barman plugin
117
+
118
+
If you're unsure, it's safer to leave it and let the new `barman-plugin-metrics-reader` role coexist with it.
119
+
:::
120
+
121
+
If any resource is not found during the `describe` command, that's okay - it means it was never created or already deleted. Simply skip the delete command for that resource.
101
122
102
123
### Step 2: Delete Old Namespace-scoped Resources
103
124
@@ -170,20 +191,6 @@ If the plugin fails to start after migration, check:
If you encounter issues during migration, please open an issue on the [GitHub repository](https://github.com/cloudnative-pg/plugin-barman-cloud/issues).
0 commit comments