public function confirm(string $directory, string $stackName, array $serviceNames = null) {
		if($serviceNames === null)
			$serviceNames = [];
		if( !is_array($serviceNames) )
			$serviceNames = [$serviceNames];

		$url = $this->getUrl();
		$command = [
			$this->account->getRancherCompose(), "-f", "$directory/docker-compose.yml", '-r',
			"$directory/rancher-compose.yml", '-p', $stackName, 'up', '-d', '--confirm-upgrade'
		];

		$command = array_merge($command, $serviceNames);

		$process = ProcessBuilder::create( $command )
			->setTimeout(null)
			->addEnvironmentVariables([
				'RANCHER_URL' => $url,
				'RANCHER_ACCESS_KEY' => $this->account->getKey(),
				'RANCHER_SECRET_KEY' => $this->account->getSecret(),
			])->getProcess();

		$ran = $this->processHelper->run($this->output, $process, null, null, OutputInterface::VERBOSITY_NORMAL);
		if( $ran->getExitCode() != 0 )
			throw new ConfirmFailedException("Command ".$ran->getCommandLine());
	}