setName("docker:stack:register") ->setDescription("Register a stack"); $this->addArgument("options", InputArgument::IS_ARRAY, "key=value pairs of stack options"); } protected function execute(InputInterface $input, OutputInterface $output) { $stacks = $this->getStackManager(); $opts = []; foreach ($input->getArgument("options") as $opt) { if (str_contains($opt, "=")) { [$k,$v] = explode("=", $opt, 2); $opts[$k] = $v; } } $root = $this->getEnvironment()->getProjectDirectory(); $stacks->registerStack($root, $opts); return Command::SUCCESS; } private function getStackManager(): StackManager { return new StackManager($this->getEnvironment()); } }