fix: generate docker-compatible registry repositories
This commit is contained in:
@@ -184,6 +184,7 @@ tap.test('should expose generated service registry targets', async () => {
|
|||||||
expect(registryTarget.protocol).toEqual('oci');
|
expect(registryTarget.protocol).toEqual('oci');
|
||||||
expect(registryTarget.registryHost).toEqual(`${helpers.testCloudlyConfig.publicUrl}:${helpers.testCloudlyConfig.publicPort}`);
|
expect(registryTarget.registryHost).toEqual(`${helpers.testCloudlyConfig.publicUrl}:${helpers.testCloudlyConfig.publicPort}`);
|
||||||
expect(registryTarget.repository.startsWith('workloads/registry-target-test-service-')).toBeTrue();
|
expect(registryTarget.repository.startsWith('workloads/registry-target-test-service-')).toBeTrue();
|
||||||
|
expect(registryTarget.repository.split('/').every((partArg) => /^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(partArg))).toBeTrue();
|
||||||
expect(registryTarget.imageUrl).toEqual(`${registryTarget.registryHost}/${registryTarget.repository}:latest`);
|
expect(registryTarget.imageUrl).toEqual(`${registryTarget.registryHost}/${registryTarget.repository}:latest`);
|
||||||
|
|
||||||
const refreshedService = await testClient.services.getServiceById(service.id);
|
const refreshedService = await testClient.services.getServiceById(service.id);
|
||||||
|
|||||||
@@ -252,7 +252,8 @@ export class CloudlyRegistryManager {
|
|||||||
private slugify(valueArg: string) {
|
private slugify(valueArg: string) {
|
||||||
return valueArg
|
return valueArg
|
||||||
.toLowerCase()
|
.toLowerCase()
|
||||||
.replace(/[^a-z0-9._-]+/g, '-')
|
.replace(/[^a-z0-9]+/g, '-')
|
||||||
|
.replace(/-+/g, '-')
|
||||||
.replace(/^-+|-+$/g, '')
|
.replace(/^-+|-+$/g, '')
|
||||||
|| 'service';
|
|| 'service';
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user