Package org.platformlayer.service.mysql.model

Examples of org.platformlayer.service.mysql.model.MysqlServer


  public void beforeCreateItem(ItemBase item) throws OpsException {
    super.beforeCreateItem(item);

    // TODO: This doesn't feel like the right place for this
    if (item instanceof MysqlServer) {
      MysqlServer mysqlServer = (MysqlServer) item;
      Passwords passwords = new Passwords();

      if (Secret.isNullOrEmpty(mysqlServer.rootPassword)) {
        mysqlServer.rootPassword = passwords.generateRandomPassword(12);
      }
View Full Code Here


public class MysqlServerBootstrap {

  @Handler
  public void handler() throws OpsException {
    MysqlServer model = OpsContext.get().getInstance(MysqlServer.class);

    MysqlTarget mysql = new MysqlTarget("localhost", "root", model.rootPassword);

    // TODO: Better Idempotency
    // Save password into text file??
View Full Code Here

  public void handler() throws OpsException, IOException {
  }

  @Override
  protected void addChildren() throws OpsException {
    MysqlServer model = OpsContext.get().getInstance(MysqlServer.class);

    InstanceBuilder instance = InstanceBuilder.build(model.dnsName, this, model.getTags());
    // TODO: Memory _really_ needs to be configurable here!

    instance.publicPorts.add(3306);

    instance.minimumMemoryMb = 2048;

    instance.hostPolicy.allowRunInContainer = true;
    addChild(instance);

    {
      PackageDependency serverPackage = instance.addChild(PackageDependency.build("mysql-server"));
      // mysql-server-5.1 mysql-server/root_password_again password
      // mysql-server-5.1 mysql-server/root_password password
      // mysql-server-5.1 mysql-server-5.1/start_on_boot boolean true
      // mysql-server-5.1 mysql-server-5.1/postrm_remove_databases boolean false
      // mysql-server-5.1 mysql-server/error_setting_password error
      // mysql-server-5.1 mysql-server-5.1/nis_warning note
      // mysql-server-5.1 mysql-server-5.1/really_downgrade boolean false
      // mysql-server-5.1 mysql-server/password_mismatch error
      // mysql-server-5.1 mysql-server/no_upgrade_when_using_ndb error

      // We need to install with a default password, which we then change
      String plaintextPassword = DEFAULT_BOOTSTRAP_PASSWORD.plaintext();
      serverPackage.addConfiguration("mysql-server-5.1", "mysql-server/root_password", "password",
          plaintextPassword);
      serverPackage.addConfiguration("mysql-server-5.1", "mysql-server/root_password_again", "password",
          plaintextPassword);
    }

    // TODO: Is there a window of vulnerability when first booting a machine?
    // Do we need to secure it so that mysql doesn't listen remotely initially (or isn't running)?
    // Maybe use mysql-server-5.1 mysql-server-5.1/start_on_boot boolean true

    instance.addChild(PackageDependency.build("mysql-client"));

    instance.addChild(MysqlServerBootstrap.build());

    instance.addChild(SimpleFile.build(getClass(), new File("/etc/mysql/conf.d/bind_all.cnf")));
    instance.addChild(SimpleFile.build(getClass(), new File("/etc/mysql/conf.d/skip_name_resolve.cnf")));

    // Collectd not restarting correctly (doesn't appear to be hostname problems??)
    // instance.addChild(CollectdCollector.build());

    {
      PublicEndpoint endpoint = injected(PublicEndpoint.class);
      // endpoint.network = null;
      endpoint.publicPort = 3306;
      endpoint.backendPort = 3306;
      endpoint.dnsName = model.dnsName;

      endpoint.tagItem = model.getKey();
      endpoint.parentItem = model.getKey();

      instance.addChild(endpoint);
    }

    instance.addChild(ManagedService.build("mysql"));
View Full Code Here

  public void handler() {
  }

  @Override
  public void doRecurseOperation() throws OpsException {
    MysqlServer mysqlServer = platformLayerHelpers.getItem(key, MysqlServer.class);

    String username = this.username;
    if (username == null) {
      username = "root";
      password = mysqlServer.rootPassword;
View Full Code Here

  private Secret getSecretKey() {
    return getModel().wordpressSecretKey;
  }

  private String getDatabaseHost() throws OpsException {
    MysqlServer item = platformLayerHelpers.getItem(getModel().databaseItem, MysqlServer.class);

    if (USE_DNS_NAME) {
      return item.dnsName;
    } else {
      Machine itemMachine = instanceHelpers.getMachine(item);
View Full Code Here

TOP

Related Classes of org.platformlayer.service.mysql.model.MysqlServer

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.