in teamcity-kubernetes-plugin-server/src/main/java/jetbrains/buildServer/clouds/kubernetes/KubePodNameGeneratorImpl.java [38:61]
public KubePodNameGeneratorImpl(@NotNull ServerPaths serverPaths,
@NotNull ExecutorServices executorServices,
@NotNull EventDispatcher<BuildServerListener> eventDispatcher
){
myIdxStorage = new File(serverPaths.getPluginDataDirectory(), "kubeIdx");
if (!myIdxStorage.exists()){
myIdxStorage.mkdirs();
}
if (!myIdxStorage.isDirectory()){
throw new CloudException("Unable to create a directory for kube plugin VM indexes");
}
myIsAvailable = new AtomicBoolean(true);
loadIdxes(myIdxStorage);
eventDispatcher.addListener(new BuildServerAdapter(){
@Override
public void serverShutdown() {
myIsAvailable.set(false);
storeIdxes();
}
});
executorServices.getNormalExecutorService().scheduleWithFixedDelay(this::storeIdxes, 60, 60, TimeUnit.SECONDS);
}