Просмотр исходного кода

use installed versions when available

tags/v1.1.4
Jonathan Cobb 4 лет назад
Родитель
Сommit
bfcec35bda
4 измененных файлов: 32 добавлений и 3 удалений
  1. +3
    -0
      bubble-server/src/main/java/bubble/model/cloud/BubbleVersionInfo.java
  2. +21
    -1
      bubble-server/src/main/java/bubble/server/BubbleConfiguration.java
  3. +8
    -1
      bubble-server/src/main/java/bubble/service/packer/PackerService.java
  4. +0
    -1
      bubble-server/src/main/resources/packer/roles/bubble/tasks/main.yml

+ 3
- 0
bubble-server/src/main/java/bubble/model/cloud/BubbleVersionInfo.java Просмотреть файл

@@ -10,6 +10,8 @@ import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.util.Properties;

import static org.cobbzilla.util.daemon.ZillaRuntime.empty;
import static org.cobbzilla.wizard.model.SemanticVersion.isNewerVersion;

@@ -19,6 +21,7 @@ public class BubbleVersionInfo {
@Getter @Setter private String version;
@Getter @Setter private String shortVersion;
@Getter @Setter private String sha256;
@Getter @Setter private Properties software;

public boolean valid() { return !empty(version) && !empty(sha256); }



+ 21
- 1
bubble-server/src/main/java/bubble/server/BubbleConfiguration.java Просмотреть файл

@@ -53,6 +53,8 @@ import org.springframework.context.annotation.Configuration;

import java.beans.Transient;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.*;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
@@ -98,6 +100,7 @@ public class BubbleConfiguration extends PgRestServerConfiguration
public static final String TAG_SECURITY_LEVELS = "securityLevels";
public static final String TAG_RESTORE_MODE = "awaitingRestore";
public static final String TAG_RESTORING_IN_PROGRESS = "restoreInProgress";
public static final String TAG_FULL_VERSION = "fullVersion";
public static final String TAG_JAR_VERSION = "jarVersion";
public static final String TAG_JAR_UPGRADE_AVAILABLE = "jarUpgradeAvailable";
public static final String TAG_MAX_USERS = "maxUsers";
@@ -165,8 +168,23 @@ public class BubbleConfiguration extends PgRestServerConfiguration
public boolean hasSageNode () { return getSageNode() != null; }

@Getter @Setter private String letsencryptEmail;

@Getter @Setter private String releaseUrlBase;

public static final File SOFTWARE_VERSIONS_FILE = new File(HOME_DIR+"/bubble_versions.properties");
@Getter(lazy=true) private final Properties defaultSoftwareVersions = initDefaultSoftwareVersions();
private Properties initDefaultSoftwareVersions() {
if (!SOFTWARE_VERSIONS_FILE.exists()) return null;
final Properties props = new Properties();
try (InputStream in = new FileInputStream(SOFTWARE_VERSIONS_FILE)) {
props.load(in);
return props;
} catch (Exception e) {
log.error("initDefaultSoftwareVersions: "+shortError(e));
return null;
}
}

@Setter private String localStorageDir = DEFAULT_LOCAL_STORAGE_DIR;
public String getLocalStorageDir () { return empty(localStorageDir) ? DEFAULT_LOCAL_STORAGE_DIR : localStorageDir; }

@@ -265,7 +283,8 @@ public class BubbleConfiguration extends PgRestServerConfiguration
return new BubbleVersionInfo()
.setVersion(version)
.setShortVersion(shortVersion)
.setSha256(getJarSha());
.setSha256(getJarSha())
.setSoftware(getDefaultSoftwareVersions());
}
public String getShortVersion () { return getVersionInfo().getShortVersion(); }

@@ -367,6 +386,7 @@ public class BubbleConfiguration extends PgRestServerConfiguration
{TAG_SSL_PORT, getDefaultSslPort()},
{TAG_SUPPORT, getSupport()},
{TAG_SECURITY_LEVELS, DeviceSecurityLevel.values()},
{TAG_FULL_VERSION, getVersionInfo()},
{TAG_JAR_VERSION, getVersion()},
{TAG_JAR_UPGRADE_AVAILABLE, getJarUpgradeAvailable() ? getSageVersion() : null},
{TAG_MAX_USERS, plan == null ? null : plan.getMaxAccounts()},


+ 8
- 1
bubble-server/src/main/java/bubble/service/packer/PackerService.java Просмотреть файл

@@ -18,6 +18,7 @@ import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.atomic.AtomicReference;
@@ -28,7 +29,7 @@ import static org.cobbzilla.util.http.HttpUtil.url2string;
import static org.cobbzilla.util.io.FileUtil.abs;
import static org.cobbzilla.util.io.FileUtil.mkdirOrDie;
import static org.cobbzilla.util.io.StreamUtil.stream2string;
import static org.cobbzilla.util.security.ShaUtil.*;
import static org.cobbzilla.util.security.ShaUtil.sha256_file;
import static org.cobbzilla.util.string.StringUtil.splitAndTrim;
import static org.cobbzilla.util.system.CommandShell.chmod;
import static org.cobbzilla.util.system.CommandShell.execScript;
@@ -118,7 +119,13 @@ public class PackerService {
}

private final Map<String, String> softwareVersions = new HashMap<>();

public String getSoftwareVersion(String roleName) {
final Properties defaults = configuration.getDefaultSoftwareVersions();
if (defaults != null) {
final String version = defaults.getProperty(roleName.replace("-", "_"));
if (version != null) return version;
}
final String releaseUrlBase = configuration.getReleaseUrlBase();
return softwareVersions.computeIfAbsent(roleName, r -> {
try {


+ 0
- 1
bubble-server/src/main/resources/packer/roles/bubble/tasks/main.yml Просмотреть файл

@@ -140,4 +140,3 @@
owner: bubble
group: bubble
mode: 0400
when: install_type == 'node'

Загрузка…
Отмена
Сохранить