createHubResources()

in src/index.ts [160:194]


  createHubResources(options: IResourceDefinitionProps) {
    var service = this.createService({
      resource: options,
      env: {
        GRID_BROWSER_TIMEOUT: '200000',
        GRID_TIMEOUT: '180',
        SE_OPTS: '-debug',
      },
      image: 'selenium/hub:'+this.seleniumVersion,
    });

    // Create autoscaling policy
    this.createScalingPolicy({
      clusterName: options.cluster.clusterName,
      serviceName: service.serviceName,
      identifier: options.identifier,
      stack: options.stack,
      minInstances: options.minInstances,
      maxInstances: options.maxInstances
    });

    // Default target routing for 4444 so webdriver client can connect to
    const listener = options.loadBalancer.addListener('Listener', { port: 4444, protocol: elbv2.ApplicationProtocol.HTTP });
    service.registerLoadBalancerTargets({
      containerName: 'selenium-hub-container',
      containerPort: 4444,
      newTargetGroupId: 'ECS',
      protocol: ecs.Protocol.TCP,
      listener: ecs.ListenerConfig.applicationListener(listener, {
        protocol: elbv2.ApplicationProtocol.HTTP,
        port: 4444,
        targets: [service],
      }),
    });
  }