diff --git a/lib/core/playcmds/bizmodel.v b/lib/core/playcmds/_archive/bizmodel.v similarity index 100% rename from lib/core/playcmds/bizmodel.v rename to lib/core/playcmds/_archive/bizmodel.v diff --git a/lib/core/playcmds/currency.v b/lib/core/playcmds/_archive/currency.v similarity index 100% rename from lib/core/playcmds/currency.v rename to lib/core/playcmds/_archive/currency.v diff --git a/lib/core/playcmds/_archive/dagu.v b/lib/core/playcmds/_archive/dagu.v new file mode 100644 index 00000000..36e75132 --- /dev/null +++ b/lib/core/playcmds/_archive/dagu.v @@ -0,0 +1,9 @@ +module playcmds + +// import freeflowuniverse.herolib.installers.sysadmintools.daguserver + +// pub fn scheduler(heroscript string) ! { +// daguserver.play( +// heroscript: heroscript +// )! +// } diff --git a/lib/core/playcmds/downloader.v b/lib/core/playcmds/_archive/downloader.v similarity index 100% rename from lib/core/playcmds/downloader.v rename to lib/core/playcmds/_archive/downloader.v diff --git a/lib/core/playcmds/_archive/play_dagu.v b/lib/core/playcmds/_archive/play_dagu.v new file mode 100644 index 00000000..e8f417a1 --- /dev/null +++ b/lib/core/playcmds/_archive/play_dagu.v @@ -0,0 +1,95 @@ +module playcmds + +// import freeflowuniverse.herolib.clients.daguclient +// import freeflowuniverse.herolib.installers.sysadmintools.daguserver +// import freeflowuniverse.herolib.installers.sysadmintools.daguserver +import freeflowuniverse.herolib.core.playbook +import freeflowuniverse.herolib.ui.console +import os + +// pub fn play_dagu(mut plbook playbook.PlayBook) ! { +// // dagu_actions := plbook.find(filter: 'dagu.')! +// // if dagu_actions.len == 0 { +// // return +// // } + +// // play_dagu_basic(mut plbook)! +// // play_dagu_configure(mut plbook)! +// } + +// // play_dagu plays the dagu play commands +// pub fn play_dagu_basic(mut plbook playbook.PlayBook) ! { +// // mut install_actions := plbook.find(filter: 'daguserver.configure')! + +// // if install_actions.len > 0 { +// // for install_action in install_actions { +// // mut p := install_action.params +// // panic("daguinstall play") +// // } +// // } + +// // dagu_actions := plbook.find(filter: 'daguserver.install')! +// // if dagu_actions.len > 0 { +// // panic("daguinstall play") +// // return +// // } + +// // mut config_actions := plbook.find(filter: 'dagu.configure')! +// // mut d := if config_actions.len > 1 { +// // return error('can only have 1 config action for dagu') +// // } else if config_actions.len == 1 { +// // mut p := config_actions[0].params +// // instance := p.get_default('instance', 'default')! +// // port := p.get_int_default('port', 8888)! +// // username := p.get_default('username', '')! +// // password := p.get_default('password', '')! +// // config_actions[0].done = true +// // mut server := daguserver.configure(instance, +// // port: port +// // username: username +// // password: password +// // )! +// // server.start()! +// // console.print_debug('Dagu server is running at http://localhost:${port}') +// // console.print_debug('Username: ${username} password: ${password}') + +// // // configure dagu client with server url and api secret +// // server_cfg := server.config()! +// // daguclient.get(instance, +// // url: 'http://localhost:${port}' +// // apisecret: server_cfg.secret +// // )! +// // } else { +// // mut server := daguserver.get('')! +// // server.start()! +// // daguclient.get('')! +// // } + +// // mut dags := map[string]DAG{} + +// // for mut action in plbook.find(filter: 'dagu.new_dag')! { +// // mut p := action.params +// // name := p.get_default('name', '')! +// // dags[name] = DAG{} +// // action.done = true +// // } + +// // for mut action in plbook.find(filter: 'dagu.add_step')! { +// // mut p := action.params +// // dag := p.get_default('dag', 'default')! +// // name := p.get_default('name', 'default')! +// // command := p.get_default('command', '')! +// // dags[dag].step_add( +// // nr: dags.len +// // name: name +// // command: command +// // )! +// // } + +// // for mut action in plbook.find(filter: 'dagu.run')! { +// // mut p := action.params +// // dag := p.get_default('dag', 'default')! +// // // d.new_dag(dags[dag])! +// // panic('to implement') +// // } +// } diff --git a/lib/core/playcmds/play_dagu_test.v b/lib/core/playcmds/_archive/play_dagu_test.v similarity index 100% rename from lib/core/playcmds/play_dagu_test.v rename to lib/core/playcmds/_archive/play_dagu_test.v diff --git a/lib/core/playcmds/play_publisher.v b/lib/core/playcmds/_archive/play_publisher.v similarity index 100% rename from lib/core/playcmds/play_publisher.v rename to lib/core/playcmds/_archive/play_publisher.v diff --git a/lib/core/playcmds/play_publisher_test.v b/lib/core/playcmds/_archive/play_publisher_test.v similarity index 100% rename from lib/core/playcmds/play_publisher_test.v rename to lib/core/playcmds/_archive/play_publisher_test.v diff --git a/lib/core/playcmds/_archive/play_threefold.v b/lib/core/playcmds/_archive/play_threefold.v new file mode 100644 index 00000000..5ce89e64 --- /dev/null +++ b/lib/core/playcmds/_archive/play_threefold.v @@ -0,0 +1,64 @@ +module playcmds + +import freeflowuniverse.herolib.core.playbook +// import freeflowuniverse.herolib.threefold.grid +// import freeflowuniverse.herolib.threefold.tfrobot +// import os + +// pub fn play_threefold(mut plbook playbook.PlayBook) ! { +// panic('fix tfrobot module') +// // mut config_actions := plbook.find(filter: 'threefold.configure')! + +// // mnemonics_ := os.getenv_opt('TFGRID_MNEMONIC') or { '' } +// // mut ssh_key := os.getenv_opt('SSH_KEY') or { '' } + +// // tfrobot.configure('play', network: 'main', mnemonics: mnemonics_)! + +// // mut robot := tfrobot.get('play')! + +// // if config_actions.len > 1 { +// // return error('can only have 1 config action for threefold') +// // } else if config_actions.len == 1 { +// // mut a := config_actions[0] +// // mut p := a.params +// // mut network := p.get_default('network', 'main')! +// // mnemonics := p.get_default('mnemonics', '')! +// // ssh_key = p.get_default('ssh_key', '')! + +// // network = network.to_lower() + +// // // mnemonics string +// // // network string = 'main' +// // tfrobot.configure('play', network: network, mnemonics: mnemonics)! + +// // robot = tfrobot.get('play')! + +// // config_actions[0].done = true +// // } +// // cfg := robot.config()! +// // if cfg.mnemonics == '' { +// // return error('TFGRID_MNEMONIC should be specified as env variable') +// // } + +// // if ssh_key == '' { +// // return error('SSHKey should be specified as env variable') +// // } + +// // panic('implement') + +// // for mut action in plbook.find(filter: 'threefold.deploy_vm')! { +// // mut p := action.params +// // deployment_name := p.get_default('deployment_name', 'deployment')! +// // name := p.get_default('name', 'vm')! +// // ssh_key := p.get_default('ssh_key', '')! +// // cores := p.get_int_default('cores', 1)! +// // memory := p.get_int_default('memory', 20)! +// // panic("implement") +// // action.done = true +// // } + +// // for mut action in plbook.find(filter: 'threefold.deploy_zdb')! { +// // panic("implement") +// // action.done = true +// // } +// } diff --git a/lib/core/playcmds/play_zola.v b/lib/core/playcmds/_archive/play_zola.v similarity index 100% rename from lib/core/playcmds/play_zola.v rename to lib/core/playcmds/_archive/play_zola.v diff --git a/lib/core/playcmds/dagu.v b/lib/core/playcmds/dagu.v deleted file mode 100644 index ca4bfc9e..00000000 --- a/lib/core/playcmds/dagu.v +++ /dev/null @@ -1,9 +0,0 @@ -module playcmds - -import freeflowuniverse.herolib.installers.sysadmintools.daguserver - -pub fn scheduler(heroscript string) ! { - daguserver.play( - heroscript: heroscript - )! -} diff --git a/lib/core/playcmds/play_core.v b/lib/core/playcmds/play_core.v index 0cc6556f..a3ef7775 100644 --- a/lib/core/playcmds/play_core.v +++ b/lib/core/playcmds/play_core.v @@ -1,7 +1,7 @@ module playcmds import freeflowuniverse.herolib.develop.gittools -import freeflowuniverse.herolib.core.playbook +import freeflowuniverse.herolib.core.playbook { PlayBook } import freeflowuniverse.herolib.ui.console // !!context.configure @@ -9,7 +9,14 @@ import freeflowuniverse.herolib.ui.console // coderoot:... // interactive:true -pub fn play_core(mut plbook playbook.PlayBook) ! { + +pub fn play_core(args_ PlayArgs) !PlayBook { + mut args := args_ + mut plbook := args.plbook or { + playbook.new(text: args.heroscript, path: args.heroscript_path)! + } + + // for mut action in plbook.find(filter: 'context.configure')! { // mut p := action.params // mut session := plbook.session @@ -92,4 +99,6 @@ pub fn play_core(mut plbook playbook.PlayBook) ! { // } // action.done = true // } + + return plbook } diff --git a/lib/core/playcmds/play_dagu.v b/lib/core/playcmds/play_dagu.v deleted file mode 100644 index 1f80dfb0..00000000 --- a/lib/core/playcmds/play_dagu.v +++ /dev/null @@ -1,95 +0,0 @@ -module playcmds - -// import freeflowuniverse.herolib.clients.daguclient -// import freeflowuniverse.herolib.installers.sysadmintools.daguserver -// import freeflowuniverse.herolib.installers.sysadmintools.daguserver -import freeflowuniverse.herolib.core.playbook -import freeflowuniverse.herolib.ui.console -import os - -pub fn play_dagu(mut plbook playbook.PlayBook) ! { - // dagu_actions := plbook.find(filter: 'dagu.')! - // if dagu_actions.len == 0 { - // return - // } - - // play_dagu_basic(mut plbook)! - // play_dagu_configure(mut plbook)! -} - -// play_dagu plays the dagu play commands -pub fn play_dagu_basic(mut plbook playbook.PlayBook) ! { - // mut install_actions := plbook.find(filter: 'daguserver.configure')! - - // if install_actions.len > 0 { - // for install_action in install_actions { - // mut p := install_action.params - // panic("daguinstall play") - // } - // } - - // dagu_actions := plbook.find(filter: 'daguserver.install')! - // if dagu_actions.len > 0 { - // panic("daguinstall play") - // return - // } - - // mut config_actions := plbook.find(filter: 'dagu.configure')! - // mut d := if config_actions.len > 1 { - // return error('can only have 1 config action for dagu') - // } else if config_actions.len == 1 { - // mut p := config_actions[0].params - // instance := p.get_default('instance', 'default')! - // port := p.get_int_default('port', 8888)! - // username := p.get_default('username', '')! - // password := p.get_default('password', '')! - // config_actions[0].done = true - // mut server := daguserver.configure(instance, - // port: port - // username: username - // password: password - // )! - // server.start()! - // console.print_debug('Dagu server is running at http://localhost:${port}') - // console.print_debug('Username: ${username} password: ${password}') - - // // configure dagu client with server url and api secret - // server_cfg := server.config()! - // daguclient.get(instance, - // url: 'http://localhost:${port}' - // apisecret: server_cfg.secret - // )! - // } else { - // mut server := daguserver.get('')! - // server.start()! - // daguclient.get('')! - // } - - // mut dags := map[string]DAG{} - - // for mut action in plbook.find(filter: 'dagu.new_dag')! { - // mut p := action.params - // name := p.get_default('name', '')! - // dags[name] = DAG{} - // action.done = true - // } - - // for mut action in plbook.find(filter: 'dagu.add_step')! { - // mut p := action.params - // dag := p.get_default('dag', 'default')! - // name := p.get_default('name', 'default')! - // command := p.get_default('command', '')! - // dags[dag].step_add( - // nr: dags.len - // name: name - // command: command - // )! - // } - - // for mut action in plbook.find(filter: 'dagu.run')! { - // mut p := action.params - // dag := p.get_default('dag', 'default')! - // // d.new_dag(dags[dag])! - // panic('to implement') - // } -} diff --git a/lib/core/playcmds/play_docusaurus.v b/lib/core/playcmds/play_docusaurus.v index f7993d2d..91ed2cc9 100644 --- a/lib/core/playcmds/play_docusaurus.v +++ b/lib/core/playcmds/play_docusaurus.v @@ -3,10 +3,10 @@ module playcmds import freeflowuniverse.herolib.core.playbook { PlayBook } -import freeflowuniverse.herolib.ui.console +// import freeflowuniverse.herolib.ui.console import freeflowuniverse.herolib.web.docusaurus -pub fn play(args_ PlayArgs) ! { +pub fn play(args_ PlayArgs) !PlayBook { mut args := args_ mut plbook := args.plbook or { playbook.new(text: args.heroscript, path: args.heroscript_path)! @@ -45,4 +45,6 @@ pub fn play(args_ PlayArgs) ! { } + return plbook + } diff --git a/lib/core/playcmds/play_luadns.v b/lib/core/playcmds/play_luadns.v index fd9a2ae9..c37d226d 100644 --- a/lib/core/playcmds/play_luadns.v +++ b/lib/core/playcmds/play_luadns.v @@ -1,10 +1,16 @@ module playcmds import freeflowuniverse.herolib.develop.luadns -import freeflowuniverse.herolib.core.playbook -import os +import freeflowuniverse.herolib.core.playbook {PlayBook} +// import os + +pub fn play_luadns(args_ PlayArgs) !PlayBook { + mut args := args_ + mut plbook := args.plbook or { + playbook.new(text: args.heroscript, path: args.heroscript_path)! + } + -pub fn play_luadns(mut plbook playbook.PlayBook) ! { // Variables below are not used, commenting them out // mut buildroot := '${os.home_dir()}/hero/var/mdbuild' // mut publishroot := '${os.home_dir()}/hero/www/info' @@ -33,4 +39,6 @@ pub fn play_luadns(mut plbook playbook.PlayBook) ! { dns.set_domain(domain, ip)! action.done = true } + + return plbook } diff --git a/lib/core/playcmds/play_ssh.v b/lib/core/playcmds/play_ssh.v index 52baed17..2d77c6e5 100644 --- a/lib/core/playcmds/play_ssh.v +++ b/lib/core/playcmds/play_ssh.v @@ -1,9 +1,14 @@ module playcmds import freeflowuniverse.herolib.osal.sshagent -import freeflowuniverse.herolib.core.playbook +import freeflowuniverse.herolib.core.playbook {PlayBook} + +pub fn play_ssh(args_ PlayArgs) !PlayBook { + mut args := args_ + mut plbook := args.plbook or { + playbook.new(text: args.heroscript, path: args.heroscript_path)! + } -pub fn play_ssh(mut plbook playbook.PlayBook) ! { mut agent := sshagent.new()! for mut action in plbook.find(filter: 'sshagent.*')! { mut p := action.params @@ -19,4 +24,5 @@ pub fn play_ssh(mut plbook playbook.PlayBook) ! { } action.done = true } + return plbook } diff --git a/lib/core/playcmds/play_threefold.v b/lib/core/playcmds/play_threefold.v deleted file mode 100644 index 89e215af..00000000 --- a/lib/core/playcmds/play_threefold.v +++ /dev/null @@ -1,64 +0,0 @@ -module playcmds - -import freeflowuniverse.herolib.core.playbook -// import freeflowuniverse.herolib.threefold.grid -// import freeflowuniverse.herolib.threefold.tfrobot -// import os - -pub fn play_threefold(mut plbook playbook.PlayBook) ! { - panic('fix tfrobot module') - // mut config_actions := plbook.find(filter: 'threefold.configure')! - - // mnemonics_ := os.getenv_opt('TFGRID_MNEMONIC') or { '' } - // mut ssh_key := os.getenv_opt('SSH_KEY') or { '' } - - // tfrobot.configure('play', network: 'main', mnemonics: mnemonics_)! - - // mut robot := tfrobot.get('play')! - - // if config_actions.len > 1 { - // return error('can only have 1 config action for threefold') - // } else if config_actions.len == 1 { - // mut a := config_actions[0] - // mut p := a.params - // mut network := p.get_default('network', 'main')! - // mnemonics := p.get_default('mnemonics', '')! - // ssh_key = p.get_default('ssh_key', '')! - - // network = network.to_lower() - - // // mnemonics string - // // network string = 'main' - // tfrobot.configure('play', network: network, mnemonics: mnemonics)! - - // robot = tfrobot.get('play')! - - // config_actions[0].done = true - // } - // cfg := robot.config()! - // if cfg.mnemonics == '' { - // return error('TFGRID_MNEMONIC should be specified as env variable') - // } - - // if ssh_key == '' { - // return error('SSHKey should be specified as env variable') - // } - - // panic('implement') - - // for mut action in plbook.find(filter: 'threefold.deploy_vm')! { - // mut p := action.params - // deployment_name := p.get_default('deployment_name', 'deployment')! - // name := p.get_default('name', 'vm')! - // ssh_key := p.get_default('ssh_key', '')! - // cores := p.get_int_default('cores', 1)! - // memory := p.get_int_default('memory', 20)! - // panic("implement") - // action.done = true - // } - - // for mut action in plbook.find(filter: 'threefold.deploy_zdb')! { - // panic("implement") - // action.done = true - // } -}