45
45
import org .apache .commons .io .IOUtils ;
46
46
import org .pytorch .serve .servingsdk .snapshot .SnapshotSerializer ;
47
47
import org .pytorch .serve .snapshot .SnapshotSerializerFactory ;
48
+ import org .slf4j .Logger ;
48
49
import org .slf4j .LoggerFactory ;
49
50
50
51
public final class ConfigManager {
@@ -111,6 +112,9 @@ public final class ConfigManager {
111
112
private static final String MODEL_CONFIG = "models" ;
112
113
private static final String VERSION = "version" ;
113
114
115
+ // Configuration default values
116
+ private static final String DEFAULT_TS_ALLOWED_URLS = "file://.*|http(s)?://.*" ;
117
+
114
118
// Variables which are local
115
119
public static final String MODEL_METRICS_LOGGER = "MODEL_METRICS" ;
116
120
public static final String MODEL_LOGGER = "MODEL_LOG" ;
@@ -136,6 +140,7 @@ public final class ConfigManager {
136
140
private String hostName ;
137
141
private Map <String , Map <String , JsonObject >> modelConfig = new HashMap <>();
138
142
private String torchrunLogDir ;
143
+ private Logger logger = LoggerFactory .getLogger (ConfigManager .class );
139
144
140
145
private ConfigManager (Arguments args ) throws IOException {
141
146
prop = new Properties ();
@@ -234,6 +239,13 @@ private ConfigManager(Arguments args) throws IOException {
234
239
}
235
240
236
241
setModelConfig ();
242
+
243
+ // Issue warnining about URLs that can be accessed when loading models
244
+ if (prop .getProperty (TS_ALLOWED_URLS , DEFAULT_TS_ALLOWED_URLS ) == DEFAULT_TS_ALLOWED_URLS ) {
245
+ logger .warn (
246
+ "Your torchserve instance can access any URL to load models. "
247
+ + "When deploying to production, make sure to limit the set of allowed_urls in config.properties" );
248
+ }
237
249
}
238
250
239
251
public static String readFile (String path ) throws IOException {
@@ -783,7 +795,7 @@ private static int getAvailableGpu() {
783
795
}
784
796
785
797
public List <String > getAllowedUrls () {
786
- String allowedURL = prop .getProperty (TS_ALLOWED_URLS , "file://.*|http(s)?://.*" );
798
+ String allowedURL = prop .getProperty (TS_ALLOWED_URLS , DEFAULT_TS_ALLOWED_URLS );
787
799
return Arrays .asList (allowedURL .split ("," ));
788
800
}
789
801
0 commit comments