1
0
mirror of https://github.com/woodpecker-ci/woodpecker.git synced 2025-11-23 21:44:44 +02:00

fix(backend/kubernetes): Ensure valid naming of name field (#1661)

- Kubernetes v1.26 on VKE causes error when creating persistent volume
claim because of uppercase characters in name field

This patch is trivial just in order to get it working - happy to
implement differently.

The error in question:

```
The PersistentVolumeClaim "wp-01G1131R63FWBSPMA4ZAZTKLE-0-clone-0" is invalid: metadata.name: Invalid value: "wp-01G1131R63FWBSPMA4ZAZTKLE-0-clone-0": a lowercase RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*')
```
This commit is contained in:
Neil Hanlon
2023-03-21 15:00:45 -04:00
committed by GitHub
parent 7c56d7246d
commit a95a5b43bf
8 changed files with 101 additions and 39 deletions

View File

@@ -11,7 +11,7 @@ func TestPersistentVolumeClaim(t *testing.T) {
expectedRwx := `
{
"metadata": {
"name": "someName",
"name": "somename",
"namespace": "someNamespace",
"creationTimestamp": null
},
@@ -32,7 +32,7 @@ func TestPersistentVolumeClaim(t *testing.T) {
expectedRwo := `
{
"metadata": {
"name": "someName",
"name": "somename",
"namespace": "someNamespace",
"creationTimestamp": null
},
@@ -50,13 +50,20 @@ func TestPersistentVolumeClaim(t *testing.T) {
"status": {}
}`
pvc := PersistentVolumeClaim("someNamespace", "someName", "local-storage", "1Gi", true)
pvc, err := PersistentVolumeClaim("someNamespace", "somename", "local-storage", "1Gi", true)
assert.Nil(t, err)
j, err := json.Marshal(pvc)
assert.Nil(t, err)
assert.JSONEq(t, expectedRwx, string(j))
pvc = PersistentVolumeClaim("someNamespace", "someName", "local-storage", "1Gi", false)
pvc, err = PersistentVolumeClaim("someNamespace", "somename", "local-storage", "1Gi", false)
assert.Nil(t, err)
j, err = json.Marshal(pvc)
assert.Nil(t, err)
assert.JSONEq(t, expectedRwo, string(j))
_, err = PersistentVolumeClaim("someNamespace", "some0INVALID3name", "local-storage", "1Gi", false)
assert.NotNil(t, err)
}