diff --git a/Cargo.lock b/Cargo.lock index 45bf9671..c6abc32d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -193,9 +193,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.9.3" +version = "2.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34efbcccd345379ca2868b2b2c9d3782e9cc58ba87bc7d79d5b53d9c9ae6f25d" +checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" [[package]] name = "block-buffer" @@ -286,10 +286,11 @@ checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" [[package]] name = "cc" -version = "1.2.34" +version = "1.2.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42bc4aea80032b7bf409b0bc7ccad88853858911b7713a8062fdc0623867bedc" +checksum = "5252b3d2648e5eedbc1a6f501e3c795e07025c1e93bbf8bbdd6eef7f447a6d54" dependencies = [ + "find-msvc-tools", "shlex", ] @@ -393,15 +394,15 @@ dependencies = [ [[package]] name = "console" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e09ced7ebbccb63b4c65413d821f2e00ce54c5ca4514ddc6b3c892fdbcbc69d" +checksum = "b430743a6eb14e9764d4260d4c0d8123087d504eeb9c48f2b2a5e810dd369df4" dependencies = [ "encode_unicode", "libc", "once_cell", "unicode-width", - "windows-sys 0.60.2", + "windows-sys 0.61.0", ] [[package]] @@ -509,9 +510,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.4.0" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" +checksum = "d630bccd429a5bb5a64b5e94f693bfc48c9f8566418fda4c494cc94f911f87cc" dependencies = [ "powerfmt", "serde", @@ -559,7 +560,7 @@ version = "2.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "229850a212cd9b84d4f0290ad9d294afc0ae70fccaa8949dbe8b43ffafa1e20c" dependencies = [ - "bitflags 2.9.3", + "bitflags 2.9.4", "byteorder", "chrono", "diesel_derives", @@ -719,12 +720,12 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.13" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.60.2", + "windows-sys 0.61.0", ] [[package]] @@ -765,6 +766,12 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +[[package]] +name = "find-msvc-tools" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fd99930f64d146689264c637b5af2f0233a933bef0d8570e2526bf9e083192d" + [[package]] name = "flate2" version = "1.1.2" @@ -970,7 +977,7 @@ dependencies = [ "cfg-if", "libc", "r-efi", - "wasi 0.14.3+wasi-0.2.4", + "wasi 0.14.4+wasi-0.2.4", ] [[package]] @@ -1278,9 +1285,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.11.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2481980430f9f78649238835720ddccc57e52df14ffce1c6f37391d61b563e9" +checksum = "206a8042aec68fa4a62e8d3f7aa4ceb508177d9324faf261e1959e495b7a1921" dependencies = [ "equivalent", "hashbrown 0.15.5", @@ -1306,7 +1313,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" dependencies = [ - "bitflags 2.9.3", + "bitflags 2.9.4", "inotify-sys", "libc", ] @@ -1326,7 +1333,7 @@ version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b" dependencies = [ - "bitflags 2.9.3", + "bitflags 2.9.4", "cfg-if", "libc", ] @@ -1387,9 +1394,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.77" +version = "0.3.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +checksum = "0c0b063578492ceec17683ef2f8c5e89121fbd0b172cbc280635ab7567db2738" dependencies = [ "once_cell", "wasm-bindgen", @@ -1465,9 +1472,9 @@ checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" [[package]] name = "libz-rs-sys" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "172a788537a2221661b480fee8dc5f96c580eb34fa88764d3205dc356c7e4221" +checksum = "840db8cf39d9ec4dd794376f38acc40d0fc65eec2a8f484f7fd375b84602becd" dependencies = [ "zlib-rs", ] @@ -1478,6 +1485,12 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" +[[package]] +name = "linux-raw-sys" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" + [[package]] name = "liquid" version = "0.26.11" @@ -1849,7 +1862,7 @@ version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" dependencies = [ - "bitflags 2.9.3", + "bitflags 2.9.4", "cfg-if", "cfg_aliases", "libc", @@ -1861,7 +1874,7 @@ version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" dependencies = [ - "bitflags 2.9.3", + "bitflags 2.9.4", "fsevent-sys", "inotify", "kqueue", @@ -1886,7 +1899,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a01c0fce65d13a771d36b3a27d32edad8b5cedadbc57bb4c92120dca808cfcce" dependencies = [ "base64", - "bitflags 2.9.3", + "bitflags 2.9.4", "encoding_rs", "env_logger", "httparse", @@ -1925,7 +1938,7 @@ version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53d23b86ef2f4a947e29e959a61bdae71c9d52a80df02936a9992bc6dbda9ddb" dependencies = [ - "bitflags 2.9.3", + "bitflags 2.9.4", "bytes", "futures-core", "serde", @@ -1957,7 +1970,7 @@ version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41420ae3324234a8fbb3007dc924097400aca20de5bc90644ec6771b4c308a60" dependencies = [ - "bitflags 2.9.3", + "bitflags 2.9.4", "fxhash", "log", "nanorand", @@ -1994,7 +2007,7 @@ version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55eb13ef2e89f799ef0395911b6365052cab4cea65a7d2ef870e39732bf346b2" dependencies = [ - "bitflags 2.9.3", + "bitflags 2.9.4", "log", "ntex-bytes", "ntex-codec", @@ -2020,7 +2033,7 @@ version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e25de68e90b2f1f15a765366e170b0d5b2d2fe0f81db03673505998a009f991" dependencies = [ - "bitflags 2.9.3", + "bitflags 2.9.4", "cfg-if", "libc", "log", @@ -2126,7 +2139,7 @@ version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "546d60d666f713b18357d233aa9da7e38a30c934f0dbfe97526c7e475cd0f12e" dependencies = [ - "bitflags 2.9.3", + "bitflags 2.9.4", "futures-core", "futures-timer", "fxhash", @@ -2267,7 +2280,7 @@ version = "0.10.73" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8" dependencies = [ - "bitflags 2.9.3", + "bitflags 2.9.4", "cfg-if", "foreign-types", "libc", @@ -2578,7 +2591,7 @@ version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" dependencies = [ - "bitflags 2.9.3", + "bitflags 2.9.4", ] [[package]] @@ -2715,15 +2728,16 @@ dependencies = [ [[package]] name = "rustix" -version = "1.0.8" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8" +checksum = "9621e389a110cae094269936383d69b869492f03e5c1ed2d575a53c029d4441d" dependencies = [ - "bitflags 2.9.3", + "bitflags 2.9.4", "errno", "libc", - "linux-raw-sys", - "windows-sys 0.60.2", + "linux-raw-sys 0.11.0", + "linux-raw-sys 0.9.4", + "windows-sys 0.61.0", ] [[package]] @@ -2867,7 +2881,7 @@ version = "0.9.42" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e408f29489b5fd500fab51ff1484fc859bb655f32c671f307dcd733b72e8168c" dependencies = [ - "indexmap 2.11.0", + "indexmap 2.11.1", "itoa", "ryu", "serde", @@ -2916,7 +2930,7 @@ dependencies = [ "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.11.0", + "indexmap 2.11.1", "schemars 0.9.0", "schemars 1.0.4", "serde", @@ -2931,7 +2945,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.11.0", + "indexmap 2.11.1", "itoa", "ryu", "serde", @@ -3177,12 +3191,11 @@ dependencies = [ [[package]] name = "time" -version = "0.3.41" +version = "0.3.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" +checksum = "83bde6f1ec10e72d583d91623c939f623002284ef622b87de38cfd546cbf2031" dependencies = [ "deranged", - "itoa", "num-conv", "powerfmt", "serde", @@ -3192,15 +3205,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.4" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" +checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" [[package]] name = "time-macros" -version = "0.2.22" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" +checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3" dependencies = [ "num-conv", "time-core", @@ -3253,7 +3266,7 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75129e1dc5000bfbaa9fee9d1b21f974f9fbad9daec557a521ee6e080825f6e8" dependencies = [ - "indexmap 2.11.0", + "indexmap 2.11.1", "serde", "serde_spanned", "toml_datetime", @@ -3407,7 +3420,7 @@ version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2fcc29c80c21c31608227e0912b2d7fddba57ad76b606890627ba8ee7964e993" dependencies = [ - "indexmap 2.11.0", + "indexmap 2.11.1", "serde", "serde_json", "serde_norway", @@ -3445,9 +3458,9 @@ dependencies = [ [[package]] name = "uuid" -version = "1.18.0" +version = "1.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f33196643e165781c20a5ead5582283a7dacbb87855d867fbc2df3f81eddc1be" +checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" dependencies = [ "getrandom 0.3.3", "js-sys", @@ -3533,30 +3546,31 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasi" -version = "0.14.3+wasi-0.2.4" +version = "0.14.4+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a51ae83037bdd272a9e28ce236db8c07016dd0d50c27038b3f407533c030c95" +checksum = "88a5f4a424faf49c3c2c344f166f0662341d470ea185e939657aaff130f0ec4a" dependencies = [ "wit-bindgen", ] [[package]] name = "wasm-bindgen" -version = "0.2.100" +version = "0.2.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +checksum = "7e14915cadd45b529bb8d1f343c4ed0ac1de926144b746e2710f9cd05df6603b" dependencies = [ "cfg-if", "once_cell", "rustversion", "wasm-bindgen-macro", + "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.100" +version = "0.2.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" +checksum = "e28d1ba982ca7923fd01448d5c30c6864d0a14109560296a162f80f305fb93bb" dependencies = [ "bumpalo", "log", @@ -3568,9 +3582,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.100" +version = "0.2.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +checksum = "7c3d463ae3eff775b0c45df9da45d68837702ac35af998361e2c84e7c5ec1b0d" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3578,9 +3592,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.100" +version = "0.2.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +checksum = "7bb4ce89b08211f923caf51d527662b75bdc9c9c7aab40f86dcb9fb85ac552aa" dependencies = [ "proc-macro2", "quote", @@ -3591,9 +3605,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.100" +version = "0.2.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +checksum = "f143854a3b13752c6950862c906306adb27c7e839f7414cec8fea35beab624c1" dependencies = [ "unicode-ident", ] @@ -3626,11 +3640,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0978bf7171b3d90bac376700cb56d606feb40f251a475a5d6634613564460b22" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.60.2", + "windows-sys 0.61.0", ] [[package]] @@ -3877,9 +3891,9 @@ checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" [[package]] name = "wit-bindgen" -version = "0.45.0" +version = "0.45.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052283831dbae3d879dc7f51f3d92703a316ca49f91540417d38591826127814" +checksum = "5c573471f125075647d03df72e026074b7203790d41351cd6edc96f46bcccd36" [[package]] name = "writeable" @@ -3913,18 +3927,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.26" +version = "0.8.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" +checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.26" +version = "0.8.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" +checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" dependencies = [ "proc-macro2", "quote", @@ -4000,16 +4014,16 @@ dependencies = [ "arbitrary", "crc32fast", "flate2", - "indexmap 2.11.0", + "indexmap 2.11.1", "memchr", "zopfli", ] [[package]] name = "zlib-rs" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "626bd9fa9734751fc50d6060752170984d7053f5a39061f524cda68023d4db8a" +checksum = "2f06ae92f42f5e5c42443fd094f245eb656abf56dd7cce9b8b263236565e00f2" [[package]] name = "zopfli" diff --git a/bin/nanocl/Cargo.toml b/bin/nanocl/Cargo.toml index bfd405da..331538cb 100644 --- a/bin/nanocl/Cargo.toml +++ b/bin/nanocl/Cargo.toml @@ -3,7 +3,7 @@ name = "nanocl" version = "0.16.3" edition = "2021" authors = ["nanocl contributors "] -description = "The Self-Sufficient Orchestrator CLI" +description = "Container and virtual machine orchestrator" readme = "../../README.md" license = "MIT OR Apache-2.0" homepage = "https://next-hat.com/nanocl" diff --git a/bin/nanocl/src/commands/secret.rs b/bin/nanocl/src/commands/secret.rs index 55e32898..d372b68c 100644 --- a/bin/nanocl/src/commands/secret.rs +++ b/bin/nanocl/src/commands/secret.rs @@ -4,7 +4,8 @@ use nanocld_client::stubs::secret::Secret; use crate::{ config::CliConfig, models::{ - GenericDefaultOpts, SecretArg, SecretCommand, SecretCreateOpts, SecretRow, + GenericDefaultOpts, SecretArg, SecretCommand, SecretCreateOpts, + SecretPatchOpts, SecretRow, }, }; @@ -43,6 +44,15 @@ async fn exec_secret_create( Ok(()) } +async fn exec_secret_patch( + cli_conf: &CliConfig, + opts: &SecretPatchOpts, +) -> IoResult<()> { + let update = opts.clone().try_into()?; + cli_conf.client.patch_secret(&opts.name, &update).await?; + Ok(()) +} + /// Function that execute when running `nanocl secret` pub async fn exec_secret( cli_conf: &CliConfig, @@ -59,5 +69,6 @@ pub async fn exec_secret( SecretArg::exec_inspect(cli_conf, opts, None).await } SecretCommand::Create(opts) => exec_secret_create(cli_conf, opts).await, + SecretCommand::Patch(opts) => exec_secret_patch(cli_conf, opts).await, } } diff --git a/bin/nanocl/src/main.rs b/bin/nanocl/src/main.rs index 8936ae0f..ae6ce17b 100644 --- a/bin/nanocl/src/main.rs +++ b/bin/nanocl/src/main.rs @@ -750,6 +750,26 @@ mod tests { assert_cli_ok!("secret", "rm", "-y", "test-cli"); } + /// Test Secret patch command for env secrets + #[ntex::test] + async fn secret_patch() { + // Create an env secret + assert_cli_ok!( + "secret", + "create", + "env.test", + "env", + "FOO=bar", + "HELLO=world" + ); + // Patch the env secret with a new value for FOO + assert_cli_ok!("secret", "patch", "env.test", "env", "FOO=baz"); + // Inspect the secret + assert_cli_ok!("secret", "inspect", "env.test"); + // Cleanup + assert_cli_ok!("secret", "rm", "-y", "env.test"); + } + #[ntex::test] async fn virtual_machine() { assert_cli_ok!( diff --git a/bin/nanocl/src/models/mod.rs b/bin/nanocl/src/models/mod.rs index d92d1085..6ee91a40 100644 --- a/bin/nanocl/src/models/mod.rs +++ b/bin/nanocl/src/models/mod.rs @@ -41,9 +41,15 @@ pub use uninstall::*; pub use vm::*; pub use vm_image::*; +const LONG_ABOUT: &str = r#"Nanocl is a modern, self-sufficient orchestrator for containers and virtual machines. +It delivers a clean dev→prod workflow with declarative Statefiles (YAML/TOML/JSON) and opinionated, predictable defaults. +Built in Rust for performance and safety, it keeps operational overhead low while remaining powerful and extensible. +Manage cargoes, resources, jobs, and VMs with dynamic routing, DNS, and end-to-end TLS. +Start local on a single node and scale out when ready — simple to learn, production-grade by design."#; + /// Cli available options and commands #[derive(Parser)] -#[clap(about, version, name = "nanocl")] +#[clap(name = "nanocl", version, about, long_about = LONG_ABOUT)] pub struct Cli { /// Nanocld host default: unix://run/nanocl/nanocl.sock #[clap(long, short = 'H')] diff --git a/bin/nanocl/src/models/secret.rs b/bin/nanocl/src/models/secret.rs index 479a29e7..18531be2 100644 --- a/bin/nanocl/src/models/secret.rs +++ b/bin/nanocl/src/models/secret.rs @@ -4,7 +4,7 @@ use serde::Serialize; use tabled::Tabled; use nanocl_error::io::IoError; -use nanocld_client::stubs::secret::{Secret, SecretPartial}; +use nanocld_client::stubs::secret::{Secret, SecretPartial, SecretUpdate}; use super::{GenericInspectOpts, GenericListOpts, GenericRemoveOpts}; @@ -21,6 +21,8 @@ pub enum SecretCommand { Inspect(GenericInspectOpts), /// Create a new secret Create(SecretCreateOpts), + /// Update a secret data + Patch(SecretPatchOpts), } /// `nanocl secret` available arguments @@ -159,6 +161,74 @@ pub struct SecretCreateOpts { pub kind: SecretKindCreateCommand, } +/// Kind for patching secret data +#[derive(Clone, Subcommand)] +pub enum SecretKindPatchCommand { + /// Update env secret values + Env(EnvCreateOpts), + /// Update TLS secret values + Tls(TlsCreateOpts), + /// Update container registry secret values + ContainerRegistry(ContainerRegistryCreateOpts), +} + +/// `nanocl secret patch` available options +#[derive(Clone, Parser)] +pub struct SecretPatchOpts { + /// Name of your secret to update + pub name: String, + /// New data of the secret according to its kind + #[clap(subcommand)] + pub kind: SecretKindPatchCommand, +} + +impl TryFrom for SecretUpdate { + type Error = IoError; + + fn try_from(opts: SecretPatchOpts) -> Result { + let data = match &opts.kind { + SecretKindPatchCommand::Env(env) => serde_json::to_value(&env.values)?, + SecretKindPatchCommand::Tls(tls) => { + let mut cert = tls.certificate.clone(); + let mut cert_key = tls.certificate_key.clone(); + let mut cert_client = tls.certificate_client.clone(); + if cert.is_none() && tls.certificate_path.is_none() { + return Err(IoError::interrupted("Certificate", "is required")); + } + if cert_key.is_none() && tls.certificate_key_path.is_none() { + return Err(IoError::interrupted("Certificate key", "is required")); + } + if let Some(certificate_path) = &tls.certificate_path { + cert = Some(std::fs::read_to_string(certificate_path)?); + } + if let Some(certificate_key_path) = &tls.certificate_key_path { + cert_key = Some(std::fs::read_to_string(certificate_key_path)?); + } + if let Some(certificate_client_path) = &tls.certificate_client_path { + cert_client = Some(std::fs::read_to_string(certificate_client_path)?); + } + let tls = TlsCreateOpts { + certificate: cert, + certificate_key: cert_key, + certificate_client: cert_client, + certificate_path: None, + certificate_key_path: None, + certificate_client_path: None, + ..tls.clone() + }; + serde_json::to_value(tls)? + } + SecretKindPatchCommand::ContainerRegistry(container_registry) => { + serde_json::to_value(container_registry)? + } + }; + Ok(SecretUpdate { + metadata: None, + data, + }) + } +} + /// A row of the secret table #[derive(Tabled)] #[tabled(rename_all = "UPPERCASE")] diff --git a/bin/ncdns/Cargo.toml b/bin/ncdns/Cargo.toml index 90da9e9b..531dbe03 100644 --- a/bin/ncdns/Cargo.toml +++ b/bin/ncdns/Cargo.toml @@ -30,7 +30,12 @@ nanocl_utils = { version = "0.7", features = ["build_tools"] } serde_yaml = "0.9" [dependencies] -nanocl_error = { version = "0.5", features = ["io", "http", "http_client"] } +nanocl_error = { version = "0.5", features = [ + "io", + "http", + "http_client", + "serde_json", +] } log = "0.4" clap = { version = "4.5", features = ["derive"] } ntex = { version = "2", features = ["tokio", "openssl"] } diff --git a/doc/man/nanocl-backup.md b/doc/man/nanocl-backup.md index e3f8285b..d019fec7 100644 --- a/doc/man/nanocl-backup.md +++ b/doc/man/nanocl-backup.md @@ -1,10 +1,14 @@ --- title: Backup -sidebar_position: 2 +sidebar_position: 1 --- # Backup +# NAME + +backup - Backup the current state + ## SYNOPSIS **backup** \[**-o**\|**--output-dir**\] \[**-y**\|**--yes**\] @@ -16,7 +20,7 @@ Backup the current state ## OPTIONS -**-o**, **--output-dir**=*OUTPUT_DIR* +**-o**, **--output-dir** *\* Directory where to write the backup default to the current directory **-y**, **--yes** diff --git a/doc/man/nanocl-cargo-create.md b/doc/man/nanocl-cargo-create.md index a60da30f..82ef2659 100644 --- a/doc/man/nanocl-cargo-create.md +++ b/doc/man/nanocl-cargo-create.md @@ -1,10 +1,14 @@ --- title: Cargo create -sidebar_position: 4 +sidebar_position: 2 --- # Cargo create +# NAME + +create - Create a new cargo + ## SYNOPSIS **create** \[**-v**\|**--volume**\] \[**-e**\|**--env**\] @@ -16,10 +20,10 @@ Create a new cargo ## OPTIONS -**-v**, **--volume**=*VOLUMES* +**-v**, **--volume** *\* Volumes of the cargo -**-e**, **--env**=*ENV* +**-e**, **--env** *\* Environment variables of the cargo **-h**, **--help** diff --git a/doc/man/nanocl-cargo-exec.md b/doc/man/nanocl-cargo-exec.md index 6d5852e1..554d0c43 100644 --- a/doc/man/nanocl-cargo-exec.md +++ b/doc/man/nanocl-cargo-exec.md @@ -1,10 +1,14 @@ --- title: Cargo exec -sidebar_position: 5 +sidebar_position: 3 --- # Cargo exec +# NAME + +exec - Execute a command inside a cargo + ## SYNOPSIS **exec** \[**-t**\|**--tty**\] \[**--detach-keys**\] \[**-e **\] @@ -20,19 +24,19 @@ Execute a command inside a cargo **-t**, **--tty** Allocate a pseudo-TTY -**--detach-keys**=*DETACH_KEYS* +**--detach-keys** *\* Override the key sequence for detaching a container -**-e**=*ENV* +**-e** *\* Set environment variables **--privileged** Give extended privileges to the command -**-u**=*USER* +**-u** *\* Username or UID (format: "\\[:\\]") -**-w**, **--workdir**=*WORKING_DIR* +**-w**, **--workdir** *\* Working directory inside the container **-h**, **--help** diff --git a/doc/man/nanocl-cargo-history.md b/doc/man/nanocl-cargo-history.md index 7a83301e..bdb60db3 100644 --- a/doc/man/nanocl-cargo-history.md +++ b/doc/man/nanocl-cargo-history.md @@ -1,10 +1,14 @@ --- title: Cargo history -sidebar_position: 6 +sidebar_position: 4 --- # Cargo history +# NAME + +history - List cargo history + ## SYNOPSIS **history** \[**-h**\|**--help**\] \<*NAME*\> diff --git a/doc/man/nanocl-cargo-image.md b/doc/man/nanocl-cargo-image.md new file mode 100644 index 00000000..09475d93 --- /dev/null +++ b/doc/man/nanocl-cargo-image.md @@ -0,0 +1,43 @@ +--- +title: Cargo image +sidebar_position: 5 +--- + +# Cargo image + +# NAME + +nanocl cargo image - \`nanocl cargo image\` available arguments + +## SYNOPSIS + +**nanocl cargo image** \[**-h**\|**--help**\] \<*subcommands*\> + +## DESCRIPTION + +\`nanocl cargo image\` available arguments + +## OPTIONS + +**-h**, **--help** +Print help + +# SUBCOMMANDS + +nanocl cargo image-list(1) +List cargo images + +nanocl cargo image-pull(1) +Pull a new cargo image + +nanocl cargo image-remove(1) +Remove an existing cargo image + +nanocl cargo image-inspect(1) +Inspect a cargo image + +nanocl cargo image-import(1) +Import a cargo image from a tarball + +nanocl cargo image-help(1) +Print this message or the help of the given subcommand(s) diff --git a/doc/man/nanocl-cargo-inspect.md b/doc/man/nanocl-cargo-inspect.md index e0f66430..c578c485 100644 --- a/doc/man/nanocl-cargo-inspect.md +++ b/doc/man/nanocl-cargo-inspect.md @@ -1,10 +1,14 @@ --- title: Cargo inspect -sidebar_position: 7 +sidebar_position: 6 --- # Cargo inspect +# NAME + +inspect - Inspect a cargo by its name + ## SYNOPSIS **inspect** \[**--display**\] \[**-h**\|**--help**\] \<*KEY*\> @@ -15,7 +19,7 @@ Inspect a cargo by its name ## OPTIONS -**--display**=*DISPLAY* +**--display** *\* Display format diff --git a/doc/man/nanocl-cargo-list.md b/doc/man/nanocl-cargo-list.md index b8a8812b..acce0823 100644 --- a/doc/man/nanocl-cargo-list.md +++ b/doc/man/nanocl-cargo-list.md @@ -1,10 +1,14 @@ --- title: Cargo list -sidebar_position: 8 +sidebar_position: 7 --- # Cargo list +# NAME + +list - List existing cargo + ## SYNOPSIS **list** \[**-q**\|**--quiet**\] \[**-l**\|**--limit**\] @@ -19,13 +23,13 @@ List existing cargo **-q**, **--quiet** Only show keys -**-l**, **--limit**=*LIMIT* +**-l**, **--limit** *\* Limit the number of results default to 100 -**-o**, **--offset**=*OFFSET* +**-o**, **--offset** *\* Offset the results to navigate through the results -**--filters**=*FILTERS* +**--filters** *\* Filters **-h**, **--help** diff --git a/doc/man/nanocl-cargo-logs.md b/doc/man/nanocl-cargo-logs.md index 2591fde6..a7b9c698 100644 --- a/doc/man/nanocl-cargo-logs.md +++ b/doc/man/nanocl-cargo-logs.md @@ -1,10 +1,14 @@ --- title: Cargo logs -sidebar_position: 9 +sidebar_position: 8 --- # Cargo logs +# NAME + +logs - Show logs + ## SYNOPSIS **logs** \[**-s **\] \[**-u **\] \[**-t **\] \[**--timestamps**\] \[**-f @@ -16,13 +20,13 @@ Show logs ## OPTIONS -**-s**=*SINCE* +**-s** *\* Only include logs since unix timestamp -**-u**=*UNTIL* +**-u** *\* Only include logs until unix timestamp -**-t**=*TAIL* +**-t** *\* If integer only return last n logs, if "all" returns all logs **--timestamps** diff --git a/doc/man/nanocl-cargo-patch.md b/doc/man/nanocl-cargo-patch.md index c6abc475..99dec7ea 100644 --- a/doc/man/nanocl-cargo-patch.md +++ b/doc/man/nanocl-cargo-patch.md @@ -1,10 +1,14 @@ --- title: Cargo patch -sidebar_position: 10 +sidebar_position: 9 --- # Cargo patch +# NAME + +patch - Update a cargo by its name + ## SYNOPSIS **patch** \[**-n**\|**--name**\] \[**-i**\|**--image**\] @@ -17,16 +21,16 @@ Update a cargo by its name ## OPTIONS -**-n**, **--name**=*NEW_NAME* +**-n**, **--name** *\* New name of cargo -**-i**, **--image**=*IMAGE* +**-i**, **--image** *\* New image of cargo -**-e**, **--env**=*ENV* +**-e**, **--env** *\* New environment variables of cargo -**-v**, **--volume**=*VOLUMES* +**-v**, **--volume** *\* New volumes of cargo **-h**, **--help** diff --git a/doc/man/nanocl-cargo-remove.md b/doc/man/nanocl-cargo-remove.md index 0cc24a9c..1ce02fb1 100644 --- a/doc/man/nanocl-cargo-remove.md +++ b/doc/man/nanocl-cargo-remove.md @@ -1,10 +1,14 @@ --- title: Cargo remove -sidebar_position: 11 +sidebar_position: 10 --- # Cargo remove +# NAME + +remove - Remove cargo by its name + ## SYNOPSIS **remove** \[**-y**\|**--skip-confirm**\] \[**-f**\|**--force**\] diff --git a/doc/man/nanocl-cargo-restart.md b/doc/man/nanocl-cargo-restart.md index 888ba896..567758f7 100644 --- a/doc/man/nanocl-cargo-restart.md +++ b/doc/man/nanocl-cargo-restart.md @@ -1,10 +1,14 @@ --- title: Cargo restart -sidebar_position: 12 +sidebar_position: 11 --- # Cargo restart +# NAME + +restart - Restart a cargo by its name + ## SYNOPSIS **restart** \[**-h**\|**--help**\] \[*NAMES*\] diff --git a/doc/man/nanocl-cargo-revert.md b/doc/man/nanocl-cargo-revert.md index 26e99498..31c6ce39 100644 --- a/doc/man/nanocl-cargo-revert.md +++ b/doc/man/nanocl-cargo-revert.md @@ -1,10 +1,14 @@ --- title: Cargo revert -sidebar_position: 13 +sidebar_position: 12 --- # Cargo revert +# NAME + +revert - Revert cargo to a specific history + ## SYNOPSIS **revert** \[**-h**\|**--help**\] \<*NAME*\> \<*HISTORY_ID*\> diff --git a/doc/man/nanocl-cargo-run.md b/doc/man/nanocl-cargo-run.md index 294703d8..6ed7d53d 100644 --- a/doc/man/nanocl-cargo-run.md +++ b/doc/man/nanocl-cargo-run.md @@ -1,10 +1,14 @@ --- title: Cargo run -sidebar_position: 14 +sidebar_position: 13 --- # Cargo run +# NAME + +run - Run a cargo + ## SYNOPSIS **run** \[**-v**\|**--volume**\] \[**-e**\|**--env**\] \[**--rm**\] @@ -16,10 +20,10 @@ Run a cargo ## OPTIONS -**-v**, **--volume**=*VOLUMES* +**-v**, **--volume** *\* Volumes of the cargo -**-e**, **--env**=*ENV* +**-e**, **--env** *\* Environment variables of the cargo **--rm** diff --git a/doc/man/nanocl-cargo-start.md b/doc/man/nanocl-cargo-start.md index 0fa7cc7b..b4393567 100644 --- a/doc/man/nanocl-cargo-start.md +++ b/doc/man/nanocl-cargo-start.md @@ -1,10 +1,14 @@ --- title: Cargo start -sidebar_position: 15 +sidebar_position: 14 --- # Cargo start +# NAME + +start - Start cargoes by names + ## SYNOPSIS **start** \[**-h**\|**--help**\] \[*NAMES*\] diff --git a/doc/man/nanocl-cargo-stats.md b/doc/man/nanocl-cargo-stats.md index 264ebde5..869bc01a 100644 --- a/doc/man/nanocl-cargo-stats.md +++ b/doc/man/nanocl-cargo-stats.md @@ -1,10 +1,14 @@ --- title: Cargo stats -sidebar_position: 16 +sidebar_position: 15 --- # Cargo stats +# NAME + +stats - Show stats of cargo + ## SYNOPSIS **stats** \[**--no-stream**\] \[**-h**\|**--help**\] \[*NAMES*\] diff --git a/doc/man/nanocl-cargo-stop.md b/doc/man/nanocl-cargo-stop.md index da8cfb22..47b4e4dd 100644 --- a/doc/man/nanocl-cargo-stop.md +++ b/doc/man/nanocl-cargo-stop.md @@ -1,10 +1,14 @@ --- title: Cargo stop -sidebar_position: 17 +sidebar_position: 16 --- # Cargo stop +# NAME + +stop - Stop cargoes by names + ## SYNOPSIS **stop** \[**-h**\|**--help**\] \[*NAMES*\] diff --git a/doc/man/nanocl-cargo.md b/doc/man/nanocl-cargo.md index 1f8fbb97..3df57468 100644 --- a/doc/man/nanocl-cargo.md +++ b/doc/man/nanocl-cargo.md @@ -1,10 +1,14 @@ --- title: Cargo -sidebar_position: 3 +sidebar_position: 17 --- # Cargo +# NAME + +cargo - Manage cargoes + ## SYNOPSIS **cargo** \[**-n**\|**--namespace**\] \[**-h**\|**--help**\] @@ -16,7 +20,7 @@ Manage cargoes ## OPTIONS -**-n**, **--namespace**=*NAMESPACE* +**-n**, **--namespace** *\* namespace to target by default global is used **-h**, **--help** diff --git a/doc/man/nanocl-context-from.md b/doc/man/nanocl-context-from.md index 88ac314e..4504612c 100644 --- a/doc/man/nanocl-context-from.md +++ b/doc/man/nanocl-context-from.md @@ -1,10 +1,14 @@ --- title: Context from -sidebar_position: 19 +sidebar_position: 18 --- # Context from +# NAME + +from - Create a new context from a file + ## SYNOPSIS **from** \[**-h**\|**--help**\] \<*PATH*\> diff --git a/doc/man/nanocl-context-list.md b/doc/man/nanocl-context-list.md index 11253ef0..b14548c4 100644 --- a/doc/man/nanocl-context-list.md +++ b/doc/man/nanocl-context-list.md @@ -1,10 +1,14 @@ --- title: Context list -sidebar_position: 20 +sidebar_position: 19 --- # Context list +# NAME + +list - List contexts + ## SYNOPSIS **list** \[**-h**\|**--help**\] diff --git a/doc/man/nanocl-context-use.md b/doc/man/nanocl-context-use.md index f70ea966..e764bd67 100644 --- a/doc/man/nanocl-context-use.md +++ b/doc/man/nanocl-context-use.md @@ -1,10 +1,14 @@ --- title: Context use -sidebar_position: 21 +sidebar_position: 20 --- # Context use +# NAME + +use - Set current context + ## SYNOPSIS **use** \[**-h**\|**--help**\] \<*NAME*\> diff --git a/doc/man/nanocl-context.md b/doc/man/nanocl-context.md index 8db802ad..00f27f4f 100644 --- a/doc/man/nanocl-context.md +++ b/doc/man/nanocl-context.md @@ -1,10 +1,14 @@ --- title: Context -sidebar_position: 18 +sidebar_position: 21 --- # Context +# NAME + +context - Manage contexts + ## SYNOPSIS **context** \[**-h**\|**--help**\] \<*subcommands*\> diff --git a/doc/man/nanocl-event-inspect.md b/doc/man/nanocl-event-inspect.md index 81dfec0e..269c4358 100644 --- a/doc/man/nanocl-event-inspect.md +++ b/doc/man/nanocl-event-inspect.md @@ -1,10 +1,14 @@ --- title: Event inspect -sidebar_position: 23 +sidebar_position: 22 --- # Event inspect +# NAME + +inspect - Inspect a specific event + ## SYNOPSIS **inspect** \[**--display**\] \[**-h**\|**--help**\] \<*KEY*\> @@ -15,7 +19,7 @@ Inspect a specific event ## OPTIONS -**--display**=*DISPLAY* +**--display** *\* Display format diff --git a/doc/man/nanocl-event-list.md b/doc/man/nanocl-event-list.md index bcaeff1b..ad6c626e 100644 --- a/doc/man/nanocl-event-list.md +++ b/doc/man/nanocl-event-list.md @@ -1,10 +1,14 @@ --- title: Event list -sidebar_position: 24 +sidebar_position: 23 --- # Event list +# NAME + +list - List existing events + ## SYNOPSIS **list** \[**-q**\|**--quiet**\] \[**-l**\|**--limit**\] @@ -19,13 +23,13 @@ List existing events **-q**, **--quiet** Only show keys -**-l**, **--limit**=*LIMIT* +**-l**, **--limit** *\* Limit the number of results default to 100 -**-o**, **--offset**=*OFFSET* +**-o**, **--offset** *\* Offset the results to navigate through the results -**--filters**=*FILTERS* +**--filters** *\* Filters **-h**, **--help** diff --git a/doc/man/nanocl-event-watch.md b/doc/man/nanocl-event-watch.md index f2aed4c0..d597f101 100644 --- a/doc/man/nanocl-event-watch.md +++ b/doc/man/nanocl-event-watch.md @@ -1,10 +1,14 @@ --- title: Event watch -sidebar_position: 25 +sidebar_position: 24 --- # Event watch +# NAME + +watch - Watch for new events in real time + ## SYNOPSIS **watch** \[**-h**\|**--help**\] diff --git a/doc/man/nanocl-event.md b/doc/man/nanocl-event.md index c9d8cce6..ed24dd1d 100644 --- a/doc/man/nanocl-event.md +++ b/doc/man/nanocl-event.md @@ -1,10 +1,14 @@ --- title: Event -sidebar_position: 22 +sidebar_position: 25 --- # Event +# NAME + +event - Show or watch events + ## SYNOPSIS **event** \[**-h**\|**--help**\] \<*subcommands*\> diff --git a/doc/man/nanocl-info.md b/doc/man/nanocl-info.md index f653a616..83367440 100644 --- a/doc/man/nanocl-info.md +++ b/doc/man/nanocl-info.md @@ -5,6 +5,10 @@ sidebar_position: 26 # Info +# NAME + +info - Show nanocl host information + ## SYNOPSIS **info** \[**-h**\|**--help**\] diff --git a/doc/man/nanocl-inspect.md b/doc/man/nanocl-inspect.md index 642525c3..83bce4bc 100644 --- a/doc/man/nanocl-inspect.md +++ b/doc/man/nanocl-inspect.md @@ -5,6 +5,10 @@ sidebar_position: 27 # Inspect +# NAME + +inspect - Inspect a process + ## SYNOPSIS **inspect** \[**--display**\] \[**-h**\|**--help**\] \<*KEY*\> @@ -15,7 +19,7 @@ Inspect a process ## OPTIONS -**--display**=*DISPLAY* +**--display** *\* Display format diff --git a/doc/man/nanocl-install.md b/doc/man/nanocl-install.md index 86076e68..375df170 100644 --- a/doc/man/nanocl-install.md +++ b/doc/man/nanocl-install.md @@ -5,6 +5,10 @@ sidebar_position: 28 # Install +# NAME + +install - Install components + ## SYNOPSIS **install** \[**--docker-host**\] \[**--docker-desktop**\] @@ -19,37 +23,37 @@ Install components ## OPTIONS -**--docker-host**=*DOCKER_HOST* +**--docker-host** *\* The docker host to install nanocl default is unix:///var/run/docker.sock **--docker-desktop** Specify if the docker host is docker desktop detected if docker context is desktop-linux -**--state-dir**=*STATE_DIR* +**--state-dir** *\* The state directory to store the state of the nanocl daemon default is /var/lib/nanocl -**--conf-dir**=*CONF_DIR* +**--conf-dir** *\* The configuration directory to store the configuration of the nanocl daemon default is /etc/nanocl -**--gateway**=*GATEWAY* +**--gateway** *\* The gateway address to use for the nanocl daemon default is detected -**--advertise-addr**=*ADVERTISE_ADDR* +**--advertise-addr** *\* The hosts to use for the nanocl daemon default is detected -**--daemon-hosts**=*DAEMON_HOSTS* +**--daemon-hosts** *\* The hosts to use for the nanocl daemon default is detected -**--group**=*GROUP* +**--group** *\* The group to use for the nanocl daemon default is nanocl -**--hostname**=*HOSTNAME* +**--hostname** *\* The hostname to use for the nanocl daemon default is detected -**-t**, **--template**=*TEMPLATE* +**-t**, **--template** *\* Installation template to use for nanocl by default its detected **-p**, **--force-pull** diff --git a/doc/man/nanocl-job-inspect.md b/doc/man/nanocl-job-inspect.md index 6f0e20cd..9660cdaf 100644 --- a/doc/man/nanocl-job-inspect.md +++ b/doc/man/nanocl-job-inspect.md @@ -1,10 +1,14 @@ --- title: Job inspect -sidebar_position: 30 +sidebar_position: 29 --- # Job inspect +# NAME + +inspect - Inspect a job by its name + ## SYNOPSIS **inspect** \[**--display**\] \[**-h**\|**--help**\] \<*KEY*\> @@ -15,7 +19,7 @@ Inspect a job by its name ## OPTIONS -**--display**=*DISPLAY* +**--display** *\* Display format diff --git a/doc/man/nanocl-job-list.md b/doc/man/nanocl-job-list.md index 0dec557b..bdbf305c 100644 --- a/doc/man/nanocl-job-list.md +++ b/doc/man/nanocl-job-list.md @@ -1,10 +1,14 @@ --- title: Job list -sidebar_position: 31 +sidebar_position: 30 --- # Job list +# NAME + +list - List existing job + ## SYNOPSIS **list** \[**-q**\|**--quiet**\] \[**-l**\|**--limit**\] @@ -19,13 +23,13 @@ List existing job **-q**, **--quiet** Only show keys -**-l**, **--limit**=*LIMIT* +**-l**, **--limit** *\* Limit the number of results default to 100 -**-o**, **--offset**=*OFFSET* +**-o**, **--offset** *\* Offset the results to navigate through the results -**--filters**=*FILTERS* +**--filters** *\* Filters **-h**, **--help** diff --git a/doc/man/nanocl-job-logs.md b/doc/man/nanocl-job-logs.md index be3da759..3cfccec9 100644 --- a/doc/man/nanocl-job-logs.md +++ b/doc/man/nanocl-job-logs.md @@ -1,10 +1,14 @@ --- title: Job logs -sidebar_position: 32 +sidebar_position: 31 --- # Job logs +# NAME + +logs - Show logs of a job + ## SYNOPSIS **logs** \[**-s **\] \[**-u **\] \[**-t **\] \[**--timestamps**\] \[**-f @@ -16,13 +20,13 @@ Show logs of a job ## OPTIONS -**-s**=*SINCE* +**-s** *\* Only include logs since unix timestamp -**-u**=*UNTIL* +**-u** *\* Only include logs until unix timestamp -**-t**=*TAIL* +**-t** *\* If integer only return last n logs, if "all" returns all logs **--timestamps** diff --git a/doc/man/nanocl-job-remove.md b/doc/man/nanocl-job-remove.md index eaad172d..d0210bd7 100644 --- a/doc/man/nanocl-job-remove.md +++ b/doc/man/nanocl-job-remove.md @@ -1,10 +1,14 @@ --- title: Job remove -sidebar_position: 33 +sidebar_position: 32 --- # Job remove +# NAME + +remove - Remove job by its name + ## SYNOPSIS **remove** \[**-y**\|**--skip-confirm**\] \[**-h**\|**--help**\] diff --git a/doc/man/nanocl-job-start.md b/doc/man/nanocl-job-start.md index d8d15af1..2e1f2384 100644 --- a/doc/man/nanocl-job-start.md +++ b/doc/man/nanocl-job-start.md @@ -1,10 +1,14 @@ --- title: Job start -sidebar_position: 34 +sidebar_position: 33 --- # Job start +# NAME + +start - Start a job + ## SYNOPSIS **start** \[**-h**\|**--help**\] \[*NAMES*\] diff --git a/doc/man/nanocl-job-wait.md b/doc/man/nanocl-job-wait.md index 941f0295..bd6a9131 100644 --- a/doc/man/nanocl-job-wait.md +++ b/doc/man/nanocl-job-wait.md @@ -1,10 +1,14 @@ --- title: Job wait -sidebar_position: 35 +sidebar_position: 34 --- # Job wait +# NAME + +wait - Wait for a job to finish + ## SYNOPSIS **wait** \[**-c **\] \[**-h**\|**--help**\] \<*NAME*\> @@ -15,7 +19,7 @@ Wait for a job to finish ## OPTIONS -**-c**=*CONDITION* +**-c** *\* State to wait **-h**, **--help** diff --git a/doc/man/nanocl-job.md b/doc/man/nanocl-job.md index 9592a7fd..306064cd 100644 --- a/doc/man/nanocl-job.md +++ b/doc/man/nanocl-job.md @@ -1,10 +1,14 @@ --- title: Job -sidebar_position: 29 +sidebar_position: 35 --- # Job +# NAME + +job - Manage jobs + ## SYNOPSIS **job** \[**-h**\|**--help**\] \<*subcommands*\> diff --git a/doc/man/nanocl-logs.md b/doc/man/nanocl-logs.md index df1664dd..a388542c 100644 --- a/doc/man/nanocl-logs.md +++ b/doc/man/nanocl-logs.md @@ -5,6 +5,10 @@ sidebar_position: 36 # Logs +# NAME + +logs - Get logs of a process + ## SYNOPSIS **logs** \[**-s **\] \[**-u **\] \[**-t **\] \[**--timestamps**\] \[**-f @@ -16,13 +20,13 @@ Get logs of a process ## OPTIONS -**-s**=*SINCE* +**-s** *\* Only include logs since unix timestamp -**-u**=*UNTIL* +**-u** *\* Only include logs until unix timestamp -**-t**=*TAIL* +**-t** *\* If integer only return last n logs, if "all" returns all logs **--timestamps** diff --git a/doc/man/nanocl-metric-inspect.md b/doc/man/nanocl-metric-inspect.md index 6191f797..c29da3b4 100644 --- a/doc/man/nanocl-metric-inspect.md +++ b/doc/man/nanocl-metric-inspect.md @@ -1,10 +1,14 @@ --- title: Metric inspect -sidebar_position: 38 +sidebar_position: 37 --- # Metric inspect +# NAME + +inspect - Inspect a metric + ## SYNOPSIS **inspect** \[**--display**\] \[**-h**\|**--help**\] \<*KEY*\> @@ -15,7 +19,7 @@ Inspect a metric ## OPTIONS -**--display**=*DISPLAY* +**--display** *\* Display format diff --git a/doc/man/nanocl-metric-list.md b/doc/man/nanocl-metric-list.md index b849f35a..0cff3f10 100644 --- a/doc/man/nanocl-metric-list.md +++ b/doc/man/nanocl-metric-list.md @@ -1,10 +1,14 @@ --- title: Metric list -sidebar_position: 39 +sidebar_position: 38 --- # Metric list +# NAME + +list - List existing metrics + ## SYNOPSIS **list** \[**-q**\|**--quiet**\] \[**-l**\|**--limit**\] @@ -19,13 +23,13 @@ List existing metrics **-q**, **--quiet** Only show keys -**-l**, **--limit**=*LIMIT* +**-l**, **--limit** *\* Limit the number of results default to 100 -**-o**, **--offset**=*OFFSET* +**-o**, **--offset** *\* Offset the results to navigate through the results -**--filters**=*FILTERS* +**--filters** *\* Filters **-h**, **--help** diff --git a/doc/man/nanocl-metric.md b/doc/man/nanocl-metric.md index ab0e4986..07b4bfa1 100644 --- a/doc/man/nanocl-metric.md +++ b/doc/man/nanocl-metric.md @@ -1,10 +1,14 @@ --- title: Metric -sidebar_position: 37 +sidebar_position: 39 --- # Metric +# NAME + +metric - Manage metrics + ## SYNOPSIS **metric** \[**-h**\|**--help**\] \<*subcommands*\> diff --git a/doc/man/nanocl-namespace-create.md b/doc/man/nanocl-namespace-create.md index f99c9980..afae450e 100644 --- a/doc/man/nanocl-namespace-create.md +++ b/doc/man/nanocl-namespace-create.md @@ -1,10 +1,14 @@ --- title: Namespace create -sidebar_position: 41 +sidebar_position: 40 --- # Namespace create +# NAME + +create - Create new namespace + ## SYNOPSIS **create** \[**-h**\|**--help**\] \<*NAME*\> diff --git a/doc/man/nanocl-namespace-inspect.md b/doc/man/nanocl-namespace-inspect.md index e2577f9b..4890aa4c 100644 --- a/doc/man/nanocl-namespace-inspect.md +++ b/doc/man/nanocl-namespace-inspect.md @@ -1,10 +1,14 @@ --- title: Namespace inspect -sidebar_position: 42 +sidebar_position: 41 --- # Namespace inspect +# NAME + +inspect - Inspect a namespace + ## SYNOPSIS **inspect** \[**--display**\] \[**-h**\|**--help**\] \<*KEY*\> @@ -15,7 +19,7 @@ Inspect a namespace ## OPTIONS -**--display**=*DISPLAY* +**--display** *\* Display format diff --git a/doc/man/nanocl-namespace-list.md b/doc/man/nanocl-namespace-list.md index 30a7e4f3..5effa598 100644 --- a/doc/man/nanocl-namespace-list.md +++ b/doc/man/nanocl-namespace-list.md @@ -1,10 +1,14 @@ --- title: Namespace list -sidebar_position: 43 +sidebar_position: 42 --- # Namespace list +# NAME + +list - List existing namespaces + ## SYNOPSIS **list** \[**-q**\|**--quiet**\] \[**-l**\|**--limit**\] @@ -19,13 +23,13 @@ List existing namespaces **-q**, **--quiet** Only show keys -**-l**, **--limit**=*LIMIT* +**-l**, **--limit** *\* Limit the number of results default to 100 -**-o**, **--offset**=*OFFSET* +**-o**, **--offset** *\* Offset the results to navigate through the results -**--filters**=*FILTERS* +**--filters** *\* Filters **-h**, **--help** diff --git a/doc/man/nanocl-namespace-remove.md b/doc/man/nanocl-namespace-remove.md index 6fa77f87..2fe4ae27 100644 --- a/doc/man/nanocl-namespace-remove.md +++ b/doc/man/nanocl-namespace-remove.md @@ -1,10 +1,14 @@ --- title: Namespace remove -sidebar_position: 44 +sidebar_position: 43 --- # Namespace remove +# NAME + +remove - Remove a namespace + ## SYNOPSIS **remove** \[**-y**\|**--skip-confirm**\] \[**-h**\|**--help**\] diff --git a/doc/man/nanocl-namespace.md b/doc/man/nanocl-namespace.md index 52e03c3e..bfe49745 100644 --- a/doc/man/nanocl-namespace.md +++ b/doc/man/nanocl-namespace.md @@ -1,10 +1,14 @@ --- title: Namespace -sidebar_position: 40 +sidebar_position: 44 --- # Namespace +# NAME + +namespace - Manage namespaces + ## SYNOPSIS **namespace** \[**-h**\|**--help**\] \<*subcommands*\> diff --git a/doc/man/nanocl-node-list.md b/doc/man/nanocl-node-list.md index 104edbd1..ee5de6c7 100644 --- a/doc/man/nanocl-node-list.md +++ b/doc/man/nanocl-node-list.md @@ -1,10 +1,14 @@ --- title: Node list -sidebar_position: 46 +sidebar_position: 45 --- # Node list +# NAME + +list - List nodes + ## SYNOPSIS **list** \[**-q**\|**--quiet**\] \[**-l**\|**--limit**\] @@ -19,13 +23,13 @@ List nodes **-q**, **--quiet** Only show keys -**-l**, **--limit**=*LIMIT* +**-l**, **--limit** *\* Limit the number of results default to 100 -**-o**, **--offset**=*OFFSET* +**-o**, **--offset** *\* Offset the results to navigate through the results -**--filters**=*FILTERS* +**--filters** *\* Filters **-h**, **--help** diff --git a/doc/man/nanocl-node.md b/doc/man/nanocl-node.md index 39720928..e746a932 100644 --- a/doc/man/nanocl-node.md +++ b/doc/man/nanocl-node.md @@ -1,10 +1,14 @@ --- title: Node -sidebar_position: 45 +sidebar_position: 46 --- # Node +# NAME + +node - Manage nodes (experimental) + ## SYNOPSIS **node** \[**-h**\|**--help**\] \<*subcommands*\> diff --git a/doc/man/nanocl-ps.md b/doc/man/nanocl-ps.md index 63a0bebb..947e6947 100644 --- a/doc/man/nanocl-ps.md +++ b/doc/man/nanocl-ps.md @@ -5,6 +5,10 @@ sidebar_position: 47 # Ps +# NAME + +ps - Show processes + ## SYNOPSIS **ps** \[**-q**\|**--quiet**\] \[**-l**\|**--limit**\] @@ -20,19 +24,19 @@ Show processes **-q**, **--quiet** Only show keys -**-l**, **--limit**=*LIMIT* +**-l**, **--limit** *\* Limit the number of results default to 100 -**-o**, **--offset**=*OFFSET* +**-o**, **--offset** *\* Offset the results to navigate through the results -**--filters**=*FILTERS* +**--filters** *\* Filters -**-n**, **--namespace**=*NAMESPACE* +**-n**, **--namespace** *\* Show all processes for the given namespace -**-k**, **--kind**=*KIND* +**-k**, **--kind** *\* Show all processes for the given kind **-a**, **--all** diff --git a/doc/man/nanocl-resource-history.md b/doc/man/nanocl-resource-history.md index 2845e76f..51d5de4f 100644 --- a/doc/man/nanocl-resource-history.md +++ b/doc/man/nanocl-resource-history.md @@ -1,10 +1,14 @@ --- title: Resource history -sidebar_position: 49 +sidebar_position: 48 --- # Resource history +# NAME + +history - Browse history of a resource + ## SYNOPSIS **history** \[**-h**\|**--help**\] \<*NAME*\> diff --git a/doc/man/nanocl-resource-inspect.md b/doc/man/nanocl-resource-inspect.md index 0a4f89d3..747d80ba 100644 --- a/doc/man/nanocl-resource-inspect.md +++ b/doc/man/nanocl-resource-inspect.md @@ -1,10 +1,14 @@ --- title: Resource inspect -sidebar_position: 50 +sidebar_position: 49 --- # Resource inspect +# NAME + +inspect - Inspect a resource + ## SYNOPSIS **inspect** \[**--display**\] \[**-h**\|**--help**\] \<*KEY*\> @@ -15,7 +19,7 @@ Inspect a resource ## OPTIONS -**--display**=*DISPLAY* +**--display** *\* Display format diff --git a/doc/man/nanocl-resource-list.md b/doc/man/nanocl-resource-list.md index 967fe09e..d4b68fa5 100644 --- a/doc/man/nanocl-resource-list.md +++ b/doc/man/nanocl-resource-list.md @@ -1,10 +1,14 @@ --- title: Resource list -sidebar_position: 51 +sidebar_position: 50 --- # Resource list +# NAME + +list - List existing namespaces + ## SYNOPSIS **list** \[**-q**\|**--quiet**\] \[**-l**\|**--limit**\] @@ -19,13 +23,13 @@ List existing namespaces **-q**, **--quiet** Only show keys -**-l**, **--limit**=*LIMIT* +**-l**, **--limit** *\* Limit the number of results default to 100 -**-o**, **--offset**=*OFFSET* +**-o**, **--offset** *\* Offset the results to navigate through the results -**--filters**=*FILTERS* +**--filters** *\* Filters **-h**, **--help** diff --git a/doc/man/nanocl-resource-remove.md b/doc/man/nanocl-resource-remove.md index 706ec7e0..47689b85 100644 --- a/doc/man/nanocl-resource-remove.md +++ b/doc/man/nanocl-resource-remove.md @@ -1,10 +1,14 @@ --- title: Resource remove -sidebar_position: 52 +sidebar_position: 51 --- # Resource remove +# NAME + +remove - Remove existing resource + ## SYNOPSIS **remove** \[**-y**\|**--skip-confirm**\] \[**-h**\|**--help**\] diff --git a/doc/man/nanocl-resource-revert.md b/doc/man/nanocl-resource-revert.md index 185750cf..03072d2e 100644 --- a/doc/man/nanocl-resource-revert.md +++ b/doc/man/nanocl-resource-revert.md @@ -1,10 +1,14 @@ --- title: Resource revert -sidebar_position: 53 +sidebar_position: 52 --- # Resource revert +# NAME + +revert - Revert a resource to a specific history + ## SYNOPSIS **revert** \[**-h**\|**--help**\] \<*NAME*\> \<*KEY*\> diff --git a/doc/man/nanocl-resource.md b/doc/man/nanocl-resource.md index b0fd9eb8..1fb5d5ac 100644 --- a/doc/man/nanocl-resource.md +++ b/doc/man/nanocl-resource.md @@ -1,10 +1,14 @@ --- title: Resource -sidebar_position: 48 +sidebar_position: 53 --- # Resource +# NAME + +resource - Manage resources + ## SYNOPSIS **resource** \[**-h**\|**--help**\] \<*subcommands*\> diff --git a/doc/man/nanocl-secret-create-container-registry.md b/doc/man/nanocl-secret-create-container-registry.md index bfd97bbd..f89722ef 100644 --- a/doc/man/nanocl-secret-create-container-registry.md +++ b/doc/man/nanocl-secret-create-container-registry.md @@ -1,10 +1,14 @@ --- title: Secret create container registry -sidebar_position: 56 +sidebar_position: 54 --- # Secret create container registry +# NAME + +container-registry - Create a new nanocl.io/container-registry secret + ## SYNOPSIS **container-registry** \[**-h**\|**--help**\] \[*USERNAME*\] diff --git a/doc/man/nanocl-secret-create-env.md b/doc/man/nanocl-secret-create-env.md index 50571608..7f5abd93 100644 --- a/doc/man/nanocl-secret-create-env.md +++ b/doc/man/nanocl-secret-create-env.md @@ -1,10 +1,14 @@ --- title: Secret create env -sidebar_position: 57 +sidebar_position: 55 --- # Secret create env +# NAME + +env - Create a new nanocl.io/env secret + ## SYNOPSIS **env** \[**-h**\|**--help**\] \<*VALUES*\> diff --git a/doc/man/nanocl-secret-create-tls.md b/doc/man/nanocl-secret-create-tls.md index 89bec7b4..0e6d9d25 100644 --- a/doc/man/nanocl-secret-create-tls.md +++ b/doc/man/nanocl-secret-create-tls.md @@ -1,10 +1,14 @@ --- title: Secret create tls -sidebar_position: 58 +sidebar_position: 56 --- # Secret create tls +# NAME + +tls - Create a new nanocl.io/tls secret + ## SYNOPSIS **tls** \[**--certificate**\] \[**--certificate-path**\] @@ -18,25 +22,25 @@ Create a new nanocl.io/tls secret ## OPTIONS -**--certificate**=*CERTIFICATE* +**--certificate** *\* Certificate -**--certificate-path**=*CERTIFICATE_PATH* +**--certificate-path** *\* Certificate path to read from a file -**--certificate-key**=*CERTIFICATE_KEY* +**--certificate-key** *\* Certificate key -**--certificate-key-path**=*CERTIFICATE_KEY_PATH* +**--certificate-key-path** *\* Certificate key path to read from a file -**--certificate-client**=*CERTIFICATE_CLIENT* +**--certificate-client** *\* Client certificate -**--certificate-client-path**=*CERTIFICATE_CLIENT_PATH* +**--certificate-client-path** *\* Client certificate path to read from a file -**--dhparam**=*DHPARAM* +**--dhparam** *\* DHParam **--verify-client** diff --git a/doc/man/nanocl-secret-create.md b/doc/man/nanocl-secret-create.md index 7a2b472d..c935fba2 100644 --- a/doc/man/nanocl-secret-create.md +++ b/doc/man/nanocl-secret-create.md @@ -1,10 +1,14 @@ --- title: Secret create -sidebar_position: 55 +sidebar_position: 57 --- # Secret create +# NAME + +create - Create a new secret + ## SYNOPSIS **create** \[**-h**\|**--help**\] \<*NAME*\> \<*subcommands*\> diff --git a/doc/man/nanocl-secret-inspect.md b/doc/man/nanocl-secret-inspect.md index c9c3cc95..b64721f7 100644 --- a/doc/man/nanocl-secret-inspect.md +++ b/doc/man/nanocl-secret-inspect.md @@ -1,10 +1,14 @@ --- title: Secret inspect -sidebar_position: 59 +sidebar_position: 58 --- # Secret inspect +# NAME + +inspect - Inspect a secret + ## SYNOPSIS **inspect** \[**--display**\] \[**-h**\|**--help**\] \<*KEY*\> @@ -15,7 +19,7 @@ Inspect a secret ## OPTIONS -**--display**=*DISPLAY* +**--display** *\* Display format diff --git a/doc/man/nanocl-secret-list.md b/doc/man/nanocl-secret-list.md index 947cf366..f3e87640 100644 --- a/doc/man/nanocl-secret-list.md +++ b/doc/man/nanocl-secret-list.md @@ -1,10 +1,14 @@ --- title: Secret list -sidebar_position: 60 +sidebar_position: 59 --- # Secret list +# NAME + +list - List existing secret + ## SYNOPSIS **list** \[**-q**\|**--quiet**\] \[**-l**\|**--limit**\] @@ -19,13 +23,13 @@ List existing secret **-q**, **--quiet** Only show keys -**-l**, **--limit**=*LIMIT* +**-l**, **--limit** *\* Limit the number of results default to 100 -**-o**, **--offset**=*OFFSET* +**-o**, **--offset** *\* Offset the results to navigate through the results -**--filters**=*FILTERS* +**--filters** *\* Filters **-h**, **--help** diff --git a/doc/man/nanocl-secret-patch-container-registry.md b/doc/man/nanocl-secret-patch-container-registry.md new file mode 100644 index 00000000..4225ec11 --- /dev/null +++ b/doc/man/nanocl-secret-patch-container-registry.md @@ -0,0 +1,39 @@ +--- +title: Secret patch container registry +sidebar_position: 60 +--- + +# Secret patch container registry + +# NAME + +container-registry - Update container registry secret values + +## SYNOPSIS + +**container-registry** \[**-h**\|**--help**\] \[*USERNAME*\] +\[*PASSWORD*\] \[*AUTH*\] \[*EMAIL*\] \[*SERVERADDRESS*\] +\[*IDENTITYTOKEN*\] \[*REGISTRYTOKEN*\] + +## DESCRIPTION + +Update container registry secret values + +## OPTIONS + +**-h**, **--help** +Print help + +\[*USERNAME*\] + +\[*PASSWORD*\] + +\[*AUTH*\] + +\[*EMAIL*\] + +\[*SERVERADDRESS*\] + +\[*IDENTITYTOKEN*\] + +\[*REGISTRYTOKEN*\] diff --git a/doc/man/nanocl-secret-patch-env.md b/doc/man/nanocl-secret-patch-env.md new file mode 100644 index 00000000..0994e04f --- /dev/null +++ b/doc/man/nanocl-secret-patch-env.md @@ -0,0 +1,26 @@ +--- +title: Secret patch env +sidebar_position: 61 +--- + +# Secret patch env + +# NAME + +env - Update env secret values + +## SYNOPSIS + +**env** \[**-h**\|**--help**\] \<*VALUES*\> + +## DESCRIPTION + +Update env secret values + +## OPTIONS + +**-h**, **--help** +Print help + +\<*VALUES*\> +List of values in the form of \`key=value\` diff --git a/doc/man/nanocl-secret-patch-tls.md b/doc/man/nanocl-secret-patch-tls.md new file mode 100644 index 00000000..0dcf8249 --- /dev/null +++ b/doc/man/nanocl-secret-patch-tls.md @@ -0,0 +1,50 @@ +--- +title: Secret patch tls +sidebar_position: 62 +--- + +# Secret patch tls + +# NAME + +tls - Update TLS secret values + +## SYNOPSIS + +**tls** \[**--certificate**\] \[**--certificate-path**\] +\[**--certificate-key**\] \[**--certificate-key-path**\] +\[**--certificate-client**\] \[**--certificate-client-path**\] +\[**--dhparam**\] \[**--verify-client**\] \[**-h**\|**--help**\] + +## DESCRIPTION + +Update TLS secret values + +## OPTIONS + +**--certificate** *\* +Certificate + +**--certificate-path** *\* +Certificate path to read from a file + +**--certificate-key** *\* +Certificate key + +**--certificate-key-path** *\* +Certificate key path to read from a file + +**--certificate-client** *\* +Client certificate + +**--certificate-client-path** *\* +Client certificate path to read from a file + +**--dhparam** *\* +DHParam + +**--verify-client** +Verify client + +**-h**, **--help** +Print help diff --git a/doc/man/nanocl-secret-patch.md b/doc/man/nanocl-secret-patch.md new file mode 100644 index 00000000..83606c3a --- /dev/null +++ b/doc/man/nanocl-secret-patch.md @@ -0,0 +1,40 @@ +--- +title: Secret patch +sidebar_position: 63 +--- + +# Secret patch + +# NAME + +patch - Update a secret data + +## SYNOPSIS + +**patch** \[**-h**\|**--help**\] \<*NAME*\> \<*subcommands*\> + +## DESCRIPTION + +Update a secret data + +## OPTIONS + +**-h**, **--help** +Print help + +\<*NAME*\> +Name of your secret to update + +# SUBCOMMANDS + +patch-env(1) +Update env secret values + +patch-tls(1) +Update TLS secret values + +patch-container-registry(1) +Update container registry secret values + +patch-help(1) +Print this message or the help of the given subcommand(s) diff --git a/doc/man/nanocl-secret-remove.md b/doc/man/nanocl-secret-remove.md index 269a03e1..aa0465ca 100644 --- a/doc/man/nanocl-secret-remove.md +++ b/doc/man/nanocl-secret-remove.md @@ -1,10 +1,14 @@ --- title: Secret remove -sidebar_position: 61 +sidebar_position: 64 --- # Secret remove +# NAME + +remove - Remove existing secret + ## SYNOPSIS **remove** \[**-y**\|**--skip-confirm**\] \[**-h**\|**--help**\] diff --git a/doc/man/nanocl-secret.md b/doc/man/nanocl-secret.md index f1cafb29..dadf7b0a 100644 --- a/doc/man/nanocl-secret.md +++ b/doc/man/nanocl-secret.md @@ -1,10 +1,14 @@ --- title: Secret -sidebar_position: 54 +sidebar_position: 65 --- # Secret +# NAME + +secret - Manage secrets + ## SYNOPSIS **secret** \[**-h**\|**--help**\] \<*subcommands*\> @@ -32,5 +36,8 @@ Inspect a secret secret-create(1) Create a new secret +secret-patch(1) +Update a secret data + secret-help(1) Print this message or the help of the given subcommand(s) diff --git a/doc/man/nanocl-setup.md b/doc/man/nanocl-setup.md new file mode 100644 index 00000000..59890dc0 --- /dev/null +++ b/doc/man/nanocl-setup.md @@ -0,0 +1,66 @@ +--- +title: Setup +sidebar_position: 66 +--- + +# Setup + +# NAME + +nanocl - \`nanocl install\` available options + +## SYNOPSIS + +**nanocl** \[**--docker-host**\] \[**--docker-desktop**\] +\[**--state-dir**\] \[**--conf-dir**\] \[**--gateway**\] +\[**--advertise-addr**\] \[**--daemon-hosts**\] \[**--group**\] +\[**--hostname**\] \[**-t**\|**--template**\] +\[**-p**\|**--force-pull**\] \[**-f **\] \[**-h**\|**--help**\] + +## DESCRIPTION + +\`nanocl install\` available options + +## OPTIONS + +**--docker-host**=*DOCKER_HOST* +The docker host to install nanocl default is unix:///var/run/docker.sock + +**--docker-desktop** +Specify if the docker host is docker desktop detected if docker context +is desktop-linux + +**--state-dir**=*STATE_DIR* +The state directory to store the state of the nanocl daemon default is +/var/lib/nanocl + +**--conf-dir**=*CONF_DIR* +The configuration directory to store the configuration of the nanocl +daemon default is /etc/nanocl + +**--gateway**=*GATEWAY* +The gateway address to use for the nanocl daemon default is detected + +**--advertise-addr**=*ADVERTISE_ADDR* +The hosts to use for the nanocl daemon default is detected + +**--daemon-hosts**=*DAEMON_HOSTS* +The hosts to use for the nanocl daemon default is detected + +**--group**=*GROUP* +The group to use for the nanocl daemon default is nanocl + +**--hostname**=*HOSTNAME* +The hostname to use for the nanocl daemon default is detected + +**-t**, **--template**=*TEMPLATE* +Installation template to use for nanocl by default its detected + +**-p**, **--force-pull** +Force re pull of the nanocl components + +**-f** +Attach to the container logs after installation + +**-h**, **--help** +Print help diff --git a/doc/man/nanocl-state-apply.md b/doc/man/nanocl-state-apply.md index 8e80512c..f0e27446 100644 --- a/doc/man/nanocl-state-apply.md +++ b/doc/man/nanocl-state-apply.md @@ -1,10 +1,14 @@ --- title: State apply -sidebar_position: 63 +sidebar_position: 67 --- # State apply +# NAME + +apply - Create or Update elements from a Statefile + ## SYNOPSIS **apply** \[**-s**\|**--state-location**\] \[**-f**\|**--follow**\] @@ -17,7 +21,7 @@ Create or Update elements from a Statefile ## OPTIONS -**-s**, **--state-location**=*STATE_LOCATION* +**-s**, **--state-location** *\* Path or Url to the Statefile **-f**, **--follow** diff --git a/doc/man/nanocl-state-logs.md b/doc/man/nanocl-state-logs.md index 8776c567..abd17483 100644 --- a/doc/man/nanocl-state-logs.md +++ b/doc/man/nanocl-state-logs.md @@ -1,10 +1,14 @@ --- title: State logs -sidebar_position: 64 +sidebar_position: 68 --- # State logs +# NAME + +logs - Logs elements from a Statefile + ## SYNOPSIS **logs** \[**-s**\|**--state-location**\] \[**--since**\] \[**-u **\] @@ -17,16 +21,16 @@ Logs elements from a Statefile ## OPTIONS -**-s**, **--state-location**=*STATE_LOCATION* +**-s**, **--state-location** *\* Path or Url to the Statefile -**--since**=*SINCE* +**--since** *\* Only include logs since unix timestamp -**-u**=*UNTIL* +**-u** *\* Only include logs until unix timestamp -**-t**=*TAIL* +**-t** *\* If integer only return last n logs, if "all" returns all logs **--timestamps** diff --git a/doc/man/nanocl-state-remove.md b/doc/man/nanocl-state-remove.md index b55150d1..56f302f2 100644 --- a/doc/man/nanocl-state-remove.md +++ b/doc/man/nanocl-state-remove.md @@ -1,10 +1,14 @@ --- title: State remove -sidebar_position: 65 +sidebar_position: 69 --- # State remove +# NAME + +remove - Remove elements from a Statefile + ## SYNOPSIS **remove** \[**-s**\|**--state-location**\] \[**-y**\|**--yes**\] @@ -16,7 +20,7 @@ Remove elements from a Statefile ## OPTIONS -**-s**, **--state-location**=*STATE_LOCATION* +**-s**, **--state-location** *\* Path or Url to the Statefile **-y**, **--yes** diff --git a/doc/man/nanocl-state.md b/doc/man/nanocl-state.md index d6a54ccc..72141805 100644 --- a/doc/man/nanocl-state.md +++ b/doc/man/nanocl-state.md @@ -1,10 +1,14 @@ --- title: State -sidebar_position: 62 +sidebar_position: 70 --- # State +# NAME + +state - Apply or Remove a Statefile + ## SYNOPSIS **state** \[**-h**\|**--help**\] \<*subcommands*\> diff --git a/doc/man/nanocl-stats.md b/doc/man/nanocl-stats.md new file mode 100644 index 00000000..ffaaff86 --- /dev/null +++ b/doc/man/nanocl-stats.md @@ -0,0 +1,25 @@ +--- +title: Stats +sidebar_position: 71 +--- + +# Stats + +# NAME + +stats - Stats of the process + +## SYNOPSIS + +**stats** \[**-h**\|**--help**\] \[*NAMES*\] + +## DESCRIPTION + +Stats of the process + +## OPTIONS + +**-h**, **--help** +Print help + +\[*NAMES*\] diff --git a/doc/man/nanocl-uninstall.md b/doc/man/nanocl-uninstall.md index a59c9995..96055707 100644 --- a/doc/man/nanocl-uninstall.md +++ b/doc/man/nanocl-uninstall.md @@ -1,10 +1,14 @@ --- title: Uninstall -sidebar_position: 66 +sidebar_position: 72 --- # Uninstall +# NAME + +uninstall - Uninstall components + ## SYNOPSIS **uninstall** \[**--docker-host**\] \[**-t**\|**--template**\] @@ -16,11 +20,11 @@ Uninstall components ## OPTIONS -**--docker-host**=*DOCKER_HOST* +**--docker-host** *\* The docker host where nanocl is installed default is unix:///var/run/docker.sock -**-t**, **--template**=*TEMPLATE* +**-t**, **--template** *\* Uninstall template to use for nanocl by default its detected **--docker-desktop** diff --git a/doc/man/nanocl-version.md b/doc/man/nanocl-version.md index 779262ea..1eebeb55 100644 --- a/doc/man/nanocl-version.md +++ b/doc/man/nanocl-version.md @@ -1,10 +1,14 @@ --- title: Version -sidebar_position: 67 +sidebar_position: 73 --- # Version +# NAME + +version - Show nanocl version information + ## SYNOPSIS **version** \[**-h**\|**--help**\] diff --git a/doc/man/nanocl-vm-attach.md b/doc/man/nanocl-vm-attach.md index 59c8d614..ef69bb2b 100644 --- a/doc/man/nanocl-vm-attach.md +++ b/doc/man/nanocl-vm-attach.md @@ -1,10 +1,14 @@ --- title: Vm attach -sidebar_position: 69 +sidebar_position: 74 --- # Vm attach +# NAME + +attach - Attach to a vm + ## SYNOPSIS **attach** \[**-h**\|**--help**\] \<*NAME*\> diff --git a/doc/man/nanocl-vm-create.md b/doc/man/nanocl-vm-create.md index 87266f93..d3830e3e 100644 --- a/doc/man/nanocl-vm-create.md +++ b/doc/man/nanocl-vm-create.md @@ -1,10 +1,14 @@ --- title: Vm create -sidebar_position: 70 +sidebar_position: 75 --- # Vm create +# NAME + +create - Create a vm + ## SYNOPSIS **create** \[**--hostname**\] \[**--cpu**\] \[**--mem**\] @@ -17,25 +21,25 @@ Create a vm ## OPTIONS -**--hostname**=*HOSTNAME* +**--hostname** *\* hostname of the vm -**--cpu**=*CPU* +**--cpu** *\* Cpu of the vm default to 1 -**--mem**=*MEMORY* +**--mem** *\* Memory of the vm in MB default to 512 -**--net-iface**=*NET_IFACE* +**--net-iface** *\* network interface of the vm -**--user**=*USER* +**--user** *\* Default user of the VM -**--password**=*PASSWORD* +**--password** *\* Default password of the VM -**--ssh-key**=*SSH_KEY* +**--ssh-key** *\* Ssh key for the user **--kvm** diff --git a/doc/man/nanocl-vm-image-clone.md b/doc/man/nanocl-vm-image-clone.md index e6491b15..d4d1de1c 100644 --- a/doc/man/nanocl-vm-image-clone.md +++ b/doc/man/nanocl-vm-image-clone.md @@ -1,10 +1,14 @@ --- title: Vm image clone -sidebar_position: 72 +sidebar_position: 76 --- # Vm image clone +# NAME + +clone - Clone a VM image + ## SYNOPSIS **clone** \[**-h**\|**--help**\] \<*NAME*\> \<*CLONE_NAME*\> diff --git a/doc/man/nanocl-vm-image-create.md b/doc/man/nanocl-vm-image-create.md index 9a0af1b3..97af2fba 100644 --- a/doc/man/nanocl-vm-image-create.md +++ b/doc/man/nanocl-vm-image-create.md @@ -1,10 +1,14 @@ --- title: Vm image create -sidebar_position: 73 +sidebar_position: 77 --- # Vm image create +# NAME + +create - Create a base VM image + ## SYNOPSIS **create** \[**-h**\|**--help**\] \<*NAME*\> \<*FILE_PATH*\> diff --git a/doc/man/nanocl-vm-image-list.md b/doc/man/nanocl-vm-image-list.md index 796acfc4..10426dbd 100644 --- a/doc/man/nanocl-vm-image-list.md +++ b/doc/man/nanocl-vm-image-list.md @@ -1,10 +1,14 @@ --- title: Vm image list -sidebar_position: 74 +sidebar_position: 78 --- # Vm image list +# NAME + +list - List VM images + ## SYNOPSIS **list** \[**-q**\|**--quiet**\] \[**-l**\|**--limit**\] @@ -19,13 +23,13 @@ List VM images **-q**, **--quiet** Only show keys -**-l**, **--limit**=*LIMIT* +**-l**, **--limit** *\* Limit the number of results default to 100 -**-o**, **--offset**=*OFFSET* +**-o**, **--offset** *\* Offset the results to navigate through the results -**--filters**=*FILTERS* +**--filters** *\* Filters **-h**, **--help** diff --git a/doc/man/nanocl-vm-image-remove.md b/doc/man/nanocl-vm-image-remove.md index 05a20408..eb0e75bc 100644 --- a/doc/man/nanocl-vm-image-remove.md +++ b/doc/man/nanocl-vm-image-remove.md @@ -1,10 +1,14 @@ --- title: Vm image remove -sidebar_position: 75 +sidebar_position: 79 --- # Vm image remove +# NAME + +remove - Remove a VM image + ## SYNOPSIS **remove** \[**-y**\|**--skip-confirm**\] \[**-h**\|**--help**\] diff --git a/doc/man/nanocl-vm-image-resize.md b/doc/man/nanocl-vm-image-resize.md index 1da0f659..c8aba0ea 100644 --- a/doc/man/nanocl-vm-image-resize.md +++ b/doc/man/nanocl-vm-image-resize.md @@ -1,10 +1,14 @@ --- title: Vm image resize -sidebar_position: 76 +sidebar_position: 80 --- # Vm image resize +# NAME + +resize - Resize a VM image + ## SYNOPSIS **resize** \[**--shrink**\] \[**-h**\|**--help**\] \<*NAME*\> \<*SIZE*\> diff --git a/doc/man/nanocl-vm-image.md b/doc/man/nanocl-vm-image.md index a4cbe459..925bb845 100644 --- a/doc/man/nanocl-vm-image.md +++ b/doc/man/nanocl-vm-image.md @@ -1,10 +1,14 @@ --- title: Vm image -sidebar_position: 71 +sidebar_position: 81 --- # Vm image +# NAME + +image - Manage vm images + ## SYNOPSIS **image** \[**-h**\|**--help**\] \<*subcommands*\> diff --git a/doc/man/nanocl-vm-inspect.md b/doc/man/nanocl-vm-inspect.md index f3e7ae6d..6b00de5b 100644 --- a/doc/man/nanocl-vm-inspect.md +++ b/doc/man/nanocl-vm-inspect.md @@ -1,10 +1,14 @@ --- title: Vm inspect -sidebar_position: 77 +sidebar_position: 82 --- # Vm inspect +# NAME + +inspect - Inspect a vm + ## SYNOPSIS **inspect** \[**--display**\] \[**-h**\|**--help**\] \<*KEY*\> @@ -15,7 +19,7 @@ Inspect a vm ## OPTIONS -**--display**=*DISPLAY* +**--display** *\* Display format diff --git a/doc/man/nanocl-vm-list.md b/doc/man/nanocl-vm-list.md index 7d894a1a..709864eb 100644 --- a/doc/man/nanocl-vm-list.md +++ b/doc/man/nanocl-vm-list.md @@ -1,10 +1,14 @@ --- title: Vm list -sidebar_position: 78 +sidebar_position: 83 --- # Vm list +# NAME + +list - List vms + ## SYNOPSIS **list** \[**-q**\|**--quiet**\] \[**-l**\|**--limit**\] @@ -19,13 +23,13 @@ List vms **-q**, **--quiet** Only show keys -**-l**, **--limit**=*LIMIT* +**-l**, **--limit** *\* Limit the number of results default to 100 -**-o**, **--offset**=*OFFSET* +**-o**, **--offset** *\* Offset the results to navigate through the results -**--filters**=*FILTERS* +**--filters** *\* Filters **-h**, **--help** diff --git a/doc/man/nanocl-vm-patch.md b/doc/man/nanocl-vm-patch.md index 2397c849..ce869383 100644 --- a/doc/man/nanocl-vm-patch.md +++ b/doc/man/nanocl-vm-patch.md @@ -1,10 +1,14 @@ --- title: Vm patch -sidebar_position: 79 +sidebar_position: 84 --- # Vm patch +# NAME + +patch - Patch a vm + ## SYNOPSIS **patch** \[**--user**\] \[**--password**\] \[**--ssh-key**\] @@ -17,28 +21,28 @@ Patch a vm ## OPTIONS -**--user**=*USER* +**--user** *\* Default user of the VM -**--password**=*PASSWORD* +**--password** *\* Default password of the VM -**--ssh-key**=*SSH_KEY* +**--ssh-key** *\* Ssh key for the user -**--hostname**=*HOSTNAME* +**--hostname** *\* hostname of the vm -**--cpu**=*CPU* +**--cpu** *\* Cpu of the vm default to 1 -**--mem**=*MEMORY* +**--mem** *\* Memory of the vm in MB default to 512 **--kvm** Enable KVM -**--net-iface**=*NET_IFACE* +**--net-iface** *\* network interface of the vm **-h**, **--help** diff --git a/doc/man/nanocl-vm-remove.md b/doc/man/nanocl-vm-remove.md index 60ea6a69..3c2487bd 100644 --- a/doc/man/nanocl-vm-remove.md +++ b/doc/man/nanocl-vm-remove.md @@ -1,10 +1,14 @@ --- title: Vm remove -sidebar_position: 80 +sidebar_position: 85 --- # Vm remove +# NAME + +remove - Remove vms + ## SYNOPSIS **remove** \[**-y**\|**--skip-confirm**\] \[**-h**\|**--help**\] diff --git a/doc/man/nanocl-vm-run.md b/doc/man/nanocl-vm-run.md index 369149fc..bcc5f8d0 100644 --- a/doc/man/nanocl-vm-run.md +++ b/doc/man/nanocl-vm-run.md @@ -1,10 +1,14 @@ --- title: Vm run -sidebar_position: 81 +sidebar_position: 86 --- # Vm run +# NAME + +run - Run a vm + ## SYNOPSIS **run** \[**--hostname**\] \[**--cpu**\] \[**--mem**\] @@ -18,28 +22,28 @@ Run a vm ## OPTIONS -**--hostname**=*HOSTNAME* +**--hostname** *\* hostname of the vm -**--cpu**=*CPU* +**--cpu** *\* Cpu of the vm default to 1 -**--mem**=*MEMORY* +**--mem** *\* Memory of the vm in MB default to 512 -**--net-iface**=*NET_IFACE* +**--net-iface** *\* network interface of the vm -**--user**=*USER* +**--user** *\* Default user of the VM -**--password**=*PASSWORD* +**--password** *\* Default password of the VM -**--ssh-key**=*SSH_KEY* +**--ssh-key** *\* Ssh key for the user -**--img-size**=*IMAGE_SIZE* +**--img-size** *\* Size of the disk in GB **--kvm** diff --git a/doc/man/nanocl-vm-start.md b/doc/man/nanocl-vm-start.md index ea12dfa7..1f8b55ca 100644 --- a/doc/man/nanocl-vm-start.md +++ b/doc/man/nanocl-vm-start.md @@ -1,10 +1,14 @@ --- title: Vm start -sidebar_position: 82 +sidebar_position: 87 --- # Vm start +# NAME + +start - Start a vm + ## SYNOPSIS **start** \[**-h**\|**--help**\] \[*NAMES*\] diff --git a/doc/man/nanocl-vm-stop.md b/doc/man/nanocl-vm-stop.md index 45258644..429773c8 100644 --- a/doc/man/nanocl-vm-stop.md +++ b/doc/man/nanocl-vm-stop.md @@ -1,10 +1,14 @@ --- title: Vm stop -sidebar_position: 83 +sidebar_position: 88 --- # Vm stop +# NAME + +stop - Stop a vm + ## SYNOPSIS **stop** \[**-h**\|**--help**\] \[*NAMES*\] diff --git a/doc/man/nanocl-vm.md b/doc/man/nanocl-vm.md index 6f4b0730..7b8154f5 100644 --- a/doc/man/nanocl-vm.md +++ b/doc/man/nanocl-vm.md @@ -1,10 +1,14 @@ --- title: Vm -sidebar_position: 68 +sidebar_position: 89 --- # Vm +# NAME + +vm - Manage virtual machines + ## SYNOPSIS **vm** \[**-n**\|**--namespace**\] \[**-h**\|**--help**\] @@ -16,7 +20,7 @@ Manage virtual machines ## OPTIONS -**-n**, **--namespace**=*NAMESPACE* +**-n**, **--namespace** *\* namespace to target by default global is used **-h**, **--help** diff --git a/doc/man/nanocl.md b/doc/man/nanocl.md index 5d428447..0342b5ae 100644 --- a/doc/man/nanocl.md +++ b/doc/man/nanocl.md @@ -1,10 +1,14 @@ --- title: Nanocl -sidebar_position: 1 +sidebar_position: 90 --- # Nanocl +# NAME + +nanocl - Container and virtual machine orchestrator + ## SYNOPSIS **nanocl** \[**-H**\|**--host**\] \[**-h**\|**--help**\] @@ -12,15 +16,22 @@ sidebar_position: 1 ## DESCRIPTION -The Self-Sufficient Orchestrator CLI +Nanocl is a modern, self-sufficient orchestrator for containers and +virtual machines. It delivers a clean dev→prod workflow with declarative +Statefiles (YAML/TOML/JSON) and opinionated, predictable defaults. Built +in Rust for performance and safety, it keeps operational overhead low +while remaining powerful and extensible. Manage cargoes, resources, +jobs, and VMs with dynamic routing, DNS, and end-to-end TLS. Start local +on a single node and scale out when ready — simple to learn, +production-grade by design. ## OPTIONS -**-H**, **--host**=*HOST* +**-H**, **--host** *\* Nanocld host default: unix://run/nanocl/nanocl.sock **-h**, **--help** -Print help +Print help (see a summary with -h) **-V**, **--version** Print version @@ -84,9 +95,12 @@ Uninstall components nanocl-backup(1) Backup the current state +nanocl-stats(1) +Stats of the process + nanocl-help(1) Print this message or the help of the given subcommand(s) # VERSION -v0.16.0 +v0.16.3 diff --git a/doc/man/nanocld.md b/doc/man/nanocld.md new file mode 100644 index 00000000..d976f989 --- /dev/null +++ b/doc/man/nanocld.md @@ -0,0 +1,73 @@ +--- +title: Nanocld +sidebar_position: 1 +--- + +# Nanocld + +# NAME + +Nanocl - Nanocl Daemon - Self Sufficient Orchestrator + +## SYNOPSIS + +**Nanocl** \[**-H**\|**--hosts**\] \[**--docker-host**\] +\[**--state-dir**\] \[**--conf-dir**\] \[**--gateway**\] +\[**--hostname**\] \[**--node**\] \[**--advertise-addr**\] \[**--gid**\] +\[**--cert**\] \[**--cert-key**\] \[**--cert-ca**\] +\[**-h**\|**--help**\] \[**-V**\|**--version**\] + +## DESCRIPTION + +Nanocl Daemon - Self Sufficient Orchestrator + +## OPTIONS + +**-H**, **--hosts**=*HOSTS* +Hosts to listen to use tcp:// and unix:// \[default: +unix:///run/nanocl.sock\] + +**--docker-host**=*DOCKER_HOST* +Docker daemon socket to connect \[default: unix:///var/run/docker.sock\] + +**--state-dir**=*STATE_DIR* +State directory \[default: /var/lib/nanocl\] + +**--conf-dir**=*CONF_DIR* \[default: /etc/nanocl\] +Config directory + +**--gateway**=*GATEWAY* +Gateway automatically detected to host default source ip gateway if not +set + +**--hostname**=*HOSTNAME* +Hostname to use for the node automatically detected if not set + +**--node**=*NODES* +Join current node to a cluster + +**--advertise-addr**=*ADVERTISE_ADDR* +Address to advertise to other nodes + +**--gid**=*GID* \[default: 0\] +Group id + +**--cert**=*CERT* + +**--cert-key**=*CERT_KEY* + +**--cert-ca**=*CERT_CA* + +**-h**, **--help** +Print help + +**-V**, **--version** +Print version + +# VERSION + +v0.14.0 + +# AUTHORS + +Next Hat team \ diff --git a/doc/man/ncproxy.md b/doc/man/ncproxy.md new file mode 100644 index 00000000..c855fcbb --- /dev/null +++ b/doc/man/ncproxy.md @@ -0,0 +1,28 @@ +--- +title: Ncproxy +sidebar_position: 1 +--- + +# Ncproxy + +# NAME + +ncproxy + +## SYNOPSIS + +**ncproxy** \[**--nginx-dir**\] \<**--state-dir**\> +\[**-h**\|**--help**\] + +## DESCRIPTION + +## OPTIONS + +**--nginx-dir**=*NGINX_DIR* \[default: /etc/nginx\] +Path to nginx config directory + +**--state-dir**=*STATE_DIR* +Path to state directory + +**-h**, **--help** +Print help diff --git a/doc/man/readme.md b/doc/man/readme.md index ee2c1155..ac4cfe9d 100644 --- a/doc/man/readme.md +++ b/doc/man/readme.md @@ -7,86 +7,95 @@ With `scripts/generate_man.sh` script. ## Summary -* [nanocl-backup.md](./nanocl-backup.md) -* [nanocl-cargo-create.md](./nanocl-cargo-create.md) -* [nanocl-cargo-exec.md](./nanocl-cargo-exec.md) -* [nanocl-cargo-history.md](./nanocl-cargo-history.md) -* [nanocl-cargo-inspect.md](./nanocl-cargo-inspect.md) -* [nanocl-cargo-list.md](./nanocl-cargo-list.md) -* [nanocl-cargo-logs.md](./nanocl-cargo-logs.md) -* [nanocl-cargo.md](./nanocl-cargo.md) -* [nanocl-cargo-patch.md](./nanocl-cargo-patch.md) -* [nanocl-cargo-remove.md](./nanocl-cargo-remove.md) -* [nanocl-cargo-restart.md](./nanocl-cargo-restart.md) -* [nanocl-cargo-revert.md](./nanocl-cargo-revert.md) -* [nanocl-cargo-run.md](./nanocl-cargo-run.md) -* [nanocl-cargo-start.md](./nanocl-cargo-start.md) -* [nanocl-cargo-stats.md](./nanocl-cargo-stats.md) -* [nanocl-cargo-stop.md](./nanocl-cargo-stop.md) -* [nanocl-context-from.md](./nanocl-context-from.md) -* [nanocl-context-list.md](./nanocl-context-list.md) -* [nanocl-context.md](./nanocl-context.md) -* [nanocl-context-use.md](./nanocl-context-use.md) -* [nanocl-event-inspect.md](./nanocl-event-inspect.md) -* [nanocl-event-list.md](./nanocl-event-list.md) -* [nanocl-event.md](./nanocl-event.md) -* [nanocl-event-watch.md](./nanocl-event-watch.md) -* [nanocl-info.md](./nanocl-info.md) -* [nanocl-inspect.md](./nanocl-inspect.md) -* [nanocl-install.md](./nanocl-install.md) -* [nanocl-job-inspect.md](./nanocl-job-inspect.md) -* [nanocl-job-list.md](./nanocl-job-list.md) -* [nanocl-job-logs.md](./nanocl-job-logs.md) -* [nanocl-job.md](./nanocl-job.md) -* [nanocl-job-remove.md](./nanocl-job-remove.md) -* [nanocl-job-start.md](./nanocl-job-start.md) -* [nanocl-job-wait.md](./nanocl-job-wait.md) -* [nanocl-logs.md](./nanocl-logs.md) -* [nanocl.md](./nanocl.md) -* [nanocl-metric-inspect.md](./nanocl-metric-inspect.md) -* [nanocl-metric-list.md](./nanocl-metric-list.md) -* [nanocl-metric.md](./nanocl-metric.md) -* [nanocl-namespace-create.md](./nanocl-namespace-create.md) -* [nanocl-namespace-inspect.md](./nanocl-namespace-inspect.md) -* [nanocl-namespace-list.md](./nanocl-namespace-list.md) -* [nanocl-namespace.md](./nanocl-namespace.md) -* [nanocl-namespace-remove.md](./nanocl-namespace-remove.md) -* [nanocl-node-list.md](./nanocl-node-list.md) -* [nanocl-node.md](./nanocl-node.md) -* [nanocl-ps.md](./nanocl-ps.md) -* [nanocl-resource-history.md](./nanocl-resource-history.md) -* [nanocl-resource-inspect.md](./nanocl-resource-inspect.md) -* [nanocl-resource-list.md](./nanocl-resource-list.md) -* [nanocl-resource.md](./nanocl-resource.md) -* [nanocl-resource-remove.md](./nanocl-resource-remove.md) -* [nanocl-resource-revert.md](./nanocl-resource-revert.md) -* [nanocl-secret-create-container-registry.md](./nanocl-secret-create-container-registry.md) -* [nanocl-secret-create-env.md](./nanocl-secret-create-env.md) -* [nanocl-secret-create.md](./nanocl-secret-create.md) -* [nanocl-secret-create-tls.md](./nanocl-secret-create-tls.md) -* [nanocl-secret-inspect.md](./nanocl-secret-inspect.md) -* [nanocl-secret-list.md](./nanocl-secret-list.md) -* [nanocl-secret.md](./nanocl-secret.md) -* [nanocl-secret-remove.md](./nanocl-secret-remove.md) -* [nanocl-state-apply.md](./nanocl-state-apply.md) -* [nanocl-state-logs.md](./nanocl-state-logs.md) -* [nanocl-state.md](./nanocl-state.md) -* [nanocl-state-remove.md](./nanocl-state-remove.md) -* [nanocl-uninstall.md](./nanocl-uninstall.md) -* [nanocl-version.md](./nanocl-version.md) -* [nanocl-vm-attach.md](./nanocl-vm-attach.md) -* [nanocl-vm-create.md](./nanocl-vm-create.md) -* [nanocl-vm-image-clone.md](./nanocl-vm-image-clone.md) -* [nanocl-vm-image-create.md](./nanocl-vm-image-create.md) -* [nanocl-vm-image-list.md](./nanocl-vm-image-list.md) -* [nanocl-vm-image.md](./nanocl-vm-image.md) -* [nanocl-vm-image-remove.md](./nanocl-vm-image-remove.md) -* [nanocl-vm-image-resize.md](./nanocl-vm-image-resize.md) -* [nanocl-vm-inspect.md](./nanocl-vm-inspect.md) -* [nanocl-vm-list.md](./nanocl-vm-list.md) -* [nanocl-vm.md](./nanocl-vm.md) -* [nanocl-vm-patch.md](./nanocl-vm-patch.md) -* [nanocl-vm-remove.md](./nanocl-vm-remove.md) -* [nanocl-vm-run.md](./nanocl-vm-run.md) -* [nanocl-vm-start.md](./nanocl-vm-start.md) -* [nanocl-vm-stop.md](./nanocl-vm-stop.md) +* [Nanocl backup](./nanocl-backup.md) +* [Nanocl cargo create](./nanocl-cargo-create.md) +* [Nanocl cargo exec](./nanocl-cargo-exec.md) +* [Nanocl cargo history](./nanocl-cargo-history.md) +* [Nanocl cargo image](./nanocl-cargo-image.md) +* [Nanocl cargo inspect](./nanocl-cargo-inspect.md) +* [Nanocl cargo list](./nanocl-cargo-list.md) +* [Nanocl cargo logs](./nanocl-cargo-logs.md) +* [Nanocl cargo patch](./nanocl-cargo-patch.md) +* [Nanocl cargo remove](./nanocl-cargo-remove.md) +* [Nanocl cargo restart](./nanocl-cargo-restart.md) +* [Nanocl cargo revert](./nanocl-cargo-revert.md) +* [Nanocl cargo run](./nanocl-cargo-run.md) +* [Nanocl cargo start](./nanocl-cargo-start.md) +* [Nanocl cargo stats](./nanocl-cargo-stats.md) +* [Nanocl cargo stop](./nanocl-cargo-stop.md) +* [Nanocl cargo](./nanocl-cargo.md) +* [Nanocl context from](./nanocl-context-from.md) +* [Nanocl context list](./nanocl-context-list.md) +* [Nanocl context use](./nanocl-context-use.md) +* [Nanocl context](./nanocl-context.md) +* [Nanocl event inspect](./nanocl-event-inspect.md) +* [Nanocl event list](./nanocl-event-list.md) +* [Nanocl event watch](./nanocl-event-watch.md) +* [Nanocl event](./nanocl-event.md) +* [Nanocl info](./nanocl-info.md) +* [Nanocl inspect](./nanocl-inspect.md) +* [Nanocl install](./nanocl-install.md) +* [Nanocl job inspect](./nanocl-job-inspect.md) +* [Nanocl job list](./nanocl-job-list.md) +* [Nanocl job logs](./nanocl-job-logs.md) +* [Nanocl job remove](./nanocl-job-remove.md) +* [Nanocl job start](./nanocl-job-start.md) +* [Nanocl job wait](./nanocl-job-wait.md) +* [Nanocl job](./nanocl-job.md) +* [Nanocl logs](./nanocl-logs.md) +* [Nanocl metric inspect](./nanocl-metric-inspect.md) +* [Nanocl metric list](./nanocl-metric-list.md) +* [Nanocl metric](./nanocl-metric.md) +* [Nanocl namespace create](./nanocl-namespace-create.md) +* [Nanocl namespace inspect](./nanocl-namespace-inspect.md) +* [Nanocl namespace list](./nanocl-namespace-list.md) +* [Nanocl namespace remove](./nanocl-namespace-remove.md) +* [Nanocl namespace](./nanocl-namespace.md) +* [Nanocl node list](./nanocl-node-list.md) +* [Nanocl node](./nanocl-node.md) +* [Nanocl ps](./nanocl-ps.md) +* [Nanocl resource history](./nanocl-resource-history.md) +* [Nanocl resource inspect](./nanocl-resource-inspect.md) +* [Nanocl resource list](./nanocl-resource-list.md) +* [Nanocl resource remove](./nanocl-resource-remove.md) +* [Nanocl resource revert](./nanocl-resource-revert.md) +* [Nanocl resource](./nanocl-resource.md) +* [Nanocl secret create container registry](./nanocl-secret-create-container-registry.md) +* [Nanocl secret create env](./nanocl-secret-create-env.md) +* [Nanocl secret create tls](./nanocl-secret-create-tls.md) +* [Nanocl secret create](./nanocl-secret-create.md) +* [Nanocl secret inspect](./nanocl-secret-inspect.md) +* [Nanocl secret list](./nanocl-secret-list.md) +* [Nanocl secret patch container registry](./nanocl-secret-patch-container-registry.md) +* [Nanocl secret patch env](./nanocl-secret-patch-env.md) +* [Nanocl secret patch tls](./nanocl-secret-patch-tls.md) +* [Nanocl secret patch](./nanocl-secret-patch.md) +* [Nanocl secret remove](./nanocl-secret-remove.md) +* [Nanocl secret](./nanocl-secret.md) +* [Nanocl setup](./nanocl-setup.md) +* [Nanocl state apply](./nanocl-state-apply.md) +* [Nanocl state logs](./nanocl-state-logs.md) +* [Nanocl state remove](./nanocl-state-remove.md) +* [Nanocl state](./nanocl-state.md) +* [Nanocl stats](./nanocl-stats.md) +* [Nanocl uninstall](./nanocl-uninstall.md) +* [Nanocl version](./nanocl-version.md) +* [Nanocl vm attach](./nanocl-vm-attach.md) +* [Nanocl vm create](./nanocl-vm-create.md) +* [Nanocl vm image clone](./nanocl-vm-image-clone.md) +* [Nanocl vm image create](./nanocl-vm-image-create.md) +* [Nanocl vm image list](./nanocl-vm-image-list.md) +* [Nanocl vm image remove](./nanocl-vm-image-remove.md) +* [Nanocl vm image resize](./nanocl-vm-image-resize.md) +* [Nanocl vm image](./nanocl-vm-image.md) +* [Nanocl vm inspect](./nanocl-vm-inspect.md) +* [Nanocl vm list](./nanocl-vm-list.md) +* [Nanocl vm patch](./nanocl-vm-patch.md) +* [Nanocl vm remove](./nanocl-vm-remove.md) +* [Nanocl vm run](./nanocl-vm-run.md) +* [Nanocl vm start](./nanocl-vm-start.md) +* [Nanocl vm stop](./nanocl-vm-stop.md) +* [Nanocl vm](./nanocl-vm.md) +* [Nanocl](./nanocl.md) +* [Nanocld](./nanocld.md) +* [Ncproxy](./ncproxy.md) diff --git a/scripts/generate_man.sh b/scripts/generate_man.sh index c790de61..4838bb31 100755 --- a/scripts/generate_man.sh +++ b/scripts/generate_man.sh @@ -49,5 +49,9 @@ for file in $(ls ./doc/man/*); do if [ "$file_name" = "readme.md" ]; then continue fi - echo "* [${file_name}](./${file_name})" >> ./doc/man/readme.md + # remove .md from the file_name + basename="${file_name%.md}" + # replace _ and - with a space in the file name + title=$(echo ${basename} | sed 's/_/ /g' | sed 's/-/ /g' | sed 's/.*/\u&/') + echo "* [${title}](./${file_name})" >> ./doc/man/readme.md done