Validate instance name

This commit is contained in:
2025-07-19 12:01:33 +02:00
parent 016e67a6c4
commit cbce56cf77

View File

@@ -49,8 +49,8 @@ func (im *instanceManager) CreateInstance(options *InstanceOptions) (*Instance,
} }
// Check if name is provided // Check if name is provided
if options.Name == "" { if options.Name == "" || !isValidInstanceName(options.Name) {
return nil, fmt.Errorf("instance name cannot be empty") return nil, fmt.Errorf("invalid instance name: %s", options.Name)
} }
// Check if instance with this name already exists // Check if instance with this name already exists
@@ -71,7 +71,17 @@ func (im *instanceManager) CreateInstance(options *InstanceOptions) (*Instance,
im.instances[instance.Name] = instance im.instances[instance.Name] = instance
return instance, nil return instance, nil
}
// isValidInstanceName checks if the instance name is valid.
func isValidInstanceName(name string) bool {
// A simple validation: name should only contain alphanumeric characters, dashes, and underscores
for _, char := range name {
if !(('a' <= char && char <= 'z') || ('A' <= char && char <= 'Z') || ('0' <= char && char <= '9') || char == '-' || char == '_') {
return false
}
}
return true
} }
// GetInstance retrieves an instance by its name. // GetInstance retrieves an instance by its name.