d600a927ea
tests: generalize secret cli parser to work for all cli commands
2023-08-24 18:28:33 +02:00
3b099ccb89
clan-cli: move arg parsing to extra method
2023-08-24 18:28:33 +02:00
c5b16124ef
add machine subcommand
2023-08-24 16:58:22 +02:00
56542ca5ef
mv update command to machines update command
2023-08-24 16:25:06 +02:00
80d3349ce0
add stub api for machines
2023-08-24 16:11:08 +02:00
4d183fff58
apply prettier to source tree
build / test (pull_request) Successful in 29s
2023-08-24 14:13:02 +02:00
dbc0ae08c0
integrate prettier into treefmt
2023-08-24 14:09:19 +02:00
13a6386004
add integration test for webui
2023-08-24 14:09:19 +02:00
acc648fc6b
integrate webserver into cli
...
integrate webserver into cli
2023-08-24 11:31:41 +02:00
7f6f147d84
Merge pull request 'drop black/ruff from dependency list' ( #160 ) from Mic92-mic92 into main
build / test (push) Successful in 29s
2023-08-23 15:25:06 +00:00
d60548dfc4
integrate webserver into cli
build / test (pull_request) Successful in 19s
2023-08-23 17:17:34 +02:00
79c61f61c7
drop black/ruff from dependency list
...
those are used implictly by treefmt already
2023-08-23 16:03:56 +02:00
0b847bafae
Merge pull request 'clan-cli: disable config subcommand' ( #157 ) from Mic92-mic92 into main
build / test (push) Successful in 22s
2023-08-23 12:43:22 +00:00
35340aff80
clan-cli: disable config subcommand
...
build / test (pull_request) Successful in 19s
This currently break flakes that do not have clan options defined
2023-08-23 14:42:17 +02:00
7365df338b
Merge pull request 'Add nixos module to import secrets automatically' ( #154 ) from Mic92-mic92 into main
build / test (push) Successful in 27s
2023-08-23 12:04:20 +00:00
59e31b3c56
fix mypy errors
build / test (pull_request) Failing after 27s
2023-08-23 13:59:43 +02:00
63bb9395fd
automatically import secrets into nixos
2023-08-23 13:59:43 +02:00
b16f314c80
clan-config: add option --quiet
build / test (pull_request) Successful in 25s
2023-08-23 12:25:02 +02:00
48a5f64be6
clan-cli: make jsonschema optional
2023-08-23 11:59:37 +02:00
999fbe0d89
clan-config: add readme
...
build / test (pull_request) Failing after 24s
Also add capability of reading an option value
2023-08-23 01:01:07 +02:00
780fd881c3
clan-config: fix tests
2023-08-22 21:17:47 +00:00
48686591d8
clan-config: improve and add flake-parts module for clan-config
2023-08-22 21:17:47 +00:00
957e417b50
Merge pull request 'merge-after-ci: just inline script' ( #151 ) from Mic92-mic92 into main
build / test (push) Successful in 24s
2023-08-22 11:47:17 +00:00
c44338ec84
merge-after-ci: just inline script
build / test (pull_request) Successful in 18s
2023-08-22 13:20:16 +02:00
c9d2cfcda5
init template view
build / test (pull_request) Successful in 27s
2023-08-19 12:04:27 +02:00
33f85380ae
add static code analysis
build / test (pull_request) Successful in 28s
2023-08-19 10:11:14 +02:00
96bf33a76d
Fixed jumping icon on selected
build / test (pull_request) Successful in 20s
2023-08-15 20:37:34 +02:00
46566131d4
Added fixed speed dial
2023-08-15 20:06:55 +02:00
980b64d3d0
Merge branch 'Qubasa-main' into new_edit_way
build / test (pull_request) Successful in 20s
2023-08-15 17:57:14 +02:00
48eeba1dc1
Revamped node selection and edit process
2023-08-15 17:53:27 +02:00
52d6798315
clan-config: stop using jsonschema at all for CLI
...
build / test (pull_request) Successful in 19s
- instead use options.json coming from nixosOptionsDoc
2023-08-15 15:48:17 +02:00
2d40c01db0
Merge pull request 'init: step formular for new image templates' ( #144 ) from feature/installer into main
build / test (push) Successful in 28s
2023-08-15 12:46:02 +00:00
66617c0d62
init: step formular for new image templates
build / test (pull_request) Successful in 34s
2023-08-15 14:44:51 +02:00
348e503789
clan-config: get rid of jsonschema dependency
build / test (pull_request) Successful in 27s
2023-08-15 13:29:48 +02:00
257e6c1d8e
UI: Added Metadata view with Grids to List for mobile
build / test (pull_request) Successful in 20s
2023-08-14 19:39:26 +02:00
c020cce56b
UI: Replaced enum infavor of hash keys
2023-08-14 19:08:15 +02:00
3489ebc5c4
Added collapse to table
2023-08-14 18:25:06 +02:00
b112969d87
Fixed mobile layout in Pie Chart and in table
2023-08-14 15:56:31 +02:00
ed9e0c1623
add more example utils to dashboard
build / test (pull_request) Successful in 28s
2023-08-13 12:55:22 +02:00
cdef88e55e
add: some util to dashboard
build / test (pull_request) Successful in 27s
2023-08-12 17:11:41 +02:00
6ab0298b1b
add: fix responsive layout transition
build / test (pull_request) Successful in 27s
2023-08-12 13:44:35 +02:00
ff89bcba4b
add: responsive layout for sidebar and dashboard
build / test (pull_request) Successful in 27s
2023-08-12 12:25:44 +02:00
a243f97574
Merge pull request 'UI: Fixed missing key tag in Grid' ( #135 ) from Qubasa-Qubasa-main into main
build / test (push) Successful in 27s
2023-08-11 22:16:07 +00:00
2720f47fdb
UI: Fixed missing key tag in Grid
build / test (pull_request) Successful in 20s
2023-08-12 00:15:06 +02:00
16f674e281
Merge pull request 'UI: NodeList added Pie Chart and extracted Table Data' ( #134 ) from Qubasa-Qubasa-main into main
build / test (push) Successful in 27s
2023-08-11 22:02:22 +00:00
de9cac534b
UI: NodeList added Pie Chart and extracted Table Data
build / test (pull_request) Successful in 39s
2023-08-12 00:01:09 +02:00
295591ed79
clan-cli/update: only pass flake-uri/flake-attr if they are set
build / test (pull_request) Successful in 29s
2023-08-11 17:27:36 +02:00
51f40a4f09
test_update_cli: also test --help
build / test (pull_request) Successful in 20s
2023-08-11 17:11:47 +02:00
c3a1c89efc
cli/admin: drop unused commands
build / test (pull_request) Successful in 28s
2023-08-11 16:39:03 +02:00
8f858ca86a
cli: add missing help descriptions
2023-08-11 16:39:03 +02:00
da2c1629fe
cli: register update command
2023-08-11 16:39:03 +02:00
a096d8ddcc
clan-cli: add update command
build / test (pull_request) Successful in 28s
2023-08-11 16:10:25 +02:00
c9b77e5927
clan-cli/tests/clan_flake: add flake.nix
2023-08-11 16:10:12 +02:00
8bf809d0ec
clan-cli/sshd: fix pytest warnings
2023-08-11 16:10:12 +02:00
2a31b1d65b
add host_group fixture
2023-08-11 16:10:12 +02:00
b3a665cb19
clan-cli/ssh: rename Group -> HostGroup
2023-08-11 16:10:12 +02:00
0a9b914ad5
clan-config: improve jsonschema arg parsing
...
build / test (pull_request) Successful in 21s
- output json to stdout after success
- expect args in the style: `foo.bar = baz`
- handle different input types
- cast input types on best effort basis
- throw meaningful errors
2023-08-11 00:05:52 +02:00
d04278e9b1
clan-config: add tests
2023-08-10 21:17:17 +02:00
c2ff6acef4
sops: pass empty manifest when decrypting
build / test (pull_request) Successful in 28s
2023-08-10 12:08:17 +02:00
8e07fc28ab
clan-cli: unbreak build
build / test (pull_request) Successful in 20s
2023-08-10 11:30:12 +02:00
2fa0c38625
Merge pull request 'add test for remote ssh commands' ( #115 ) from Mic92-mic92 into main
build / test (push) Successful in 29s
2023-08-10 09:05:48 +00:00
a17baa4861
add test for remote ssh commands
build / test (pull_request) Successful in 28s
2023-08-10 11:05:05 +02:00
a2648f2afb
clan-cli: prepare source in extra derivation
...
Towards not rebuilding clan-cli on each commit
2023-08-09 18:38:44 +02:00
0f54eccb78
clan-cli: unbreak dev-shell
build / test (pull_request) Successful in 19s
2023-08-09 18:03:46 +02:00
f9aaa5ad39
clan-config: unbreak + include data files
build / test (pull_request) Successful in 27s
2023-08-09 17:59:18 +02:00
b9c6ffd95c
UI: Added /nodes page
build / test (pull_request) Successful in 16s
2023-08-09 17:31:28 +02:00
dd9f1820a5
Merge pull request 'add test for local commands' ( #114 ) from Mic92-mic92 into main
build / test (push) Successful in 23s
2023-08-09 14:24:06 +00:00
f8f9cd457a
add test for local commands
build / test (pull_request) Successful in 21s
2023-08-09 16:23:15 +02:00
7262208a4c
clanLib.jsonschema: move tests from pkgs/clan-cli
build / test (pull_request) Successful in 26s
2023-08-09 16:05:33 +02:00
9438a9eb5f
clan-config: move jsonschema lib to clanLib
2023-08-09 16:05:33 +02:00
d977499ffe
rename cli tests to have a common suffix
...
build / test (pull_request) Successful in 25s
rename test_import_sops -> test_import_sops
2023-08-09 15:54:27 +02:00
8fea55da32
move ssh cli to cli submodule
build / test (pull_request) Failing after 23s
2023-08-09 15:46:34 +02:00
1f79a610d4
groups: add more api
build / test (pull_request) Successful in 20s
2023-08-09 15:30:50 +02:00
e103a4186c
add api for secret groups and decrypting secrets
build / test (pull_request) Failing after 23s
2023-08-09 15:17:43 +02:00
6c169b0bed
print nothing if secret collections are empty
build / test (pull_request) Successful in 29s
2023-08-09 14:50:04 +02:00
c535cf78a1
add secret api for machines/users/secrets
build / test (pull_request) Failing after 21s
2023-08-09 14:10:04 +02:00
2483e29819
users: seperate cli from library
build / test (pull_request) Successful in 20s
2023-08-09 13:56:24 +02:00
119d68bdcd
clan-cli: add deploykit
2023-08-09 13:05:26 +02:00
daf1058312
clan-cli: fix secrets test
build / test (pull_request) Successful in 37s
2023-08-09 10:50:48 +02:00
7d39f8346c
clan-cli: fix grep in breakpoint check
build / test (pull_request) Failing after 22s
2023-08-09 10:36:46 +02:00
9189c31def
improve error message if users don't exist
build / test (pull_request) Failing after 17s
2023-08-09 10:33:54 +02:00
3d5a37ad03
check for breakpoint() function in code
build / test (pull_request) Failing after 25s
2023-08-09 10:21:59 +02:00
68905fc233
don't add user to a secret if they already can access the secret
...
build / test (pull_request) Failing after 21s
If the user is part of a group we don't need to add them explicitly
2023-08-09 10:17:30 +02:00
2988532909
allow to set groups/admins/users when setting secrets
build / test (pull_request) Successful in 20s
2023-08-08 19:40:35 +02:00
5ee620b77b
only print names when listing existing users
build / test (pull_request) Successful in 16s
2023-08-08 19:07:38 +02:00
504adb4f6d
make error message nicer when members are not found
build / test (pull_request) Successful in 21s
2023-08-08 19:05:32 +02:00
6f9aaef56a
add option to import sops secrets with groups,users,machines,prefixes
build / test (pull_request) Successful in 25s
2023-08-08 18:46:37 +02:00
efa0546da5
sops: make symlinks relative
build / test (pull_request) Successful in 21s
2023-08-08 17:24:40 +02:00
35f2d6a76e
add dummy sops manifest
build / test (pull_request) Successful in 20s
2023-08-08 16:40:32 +02:00
d8c2df2e72
add test for import-sops command
build / test (pull_request) Successful in 24s
2023-08-08 16:28:38 +02:00
1d1452ddd5
add import-sops command to secrets
build / test (pull_request) Successful in 21s
2023-08-08 15:48:19 +02:00
4cf82f3596
also rename project/pypi name
build / test (pull_request) Successful in 21s
2023-08-08 14:20:45 +02:00
4296ef92a9
rename clan to clan-cli
...
build / test (pull_request) Successful in 25s
It's already confusing enough to have so many things called clan-cli
2023-08-08 14:18:10 +02:00
6d1de943e1
move out non-toplevel flake modules from flake.nix
build / test (pull_request) Successful in 21s
2023-08-08 14:03:26 +02:00
6f22717ffd
Merge pull request 'fix rotating keys with sops' ( #94 ) from Mic92-mic92 into main
build / test (push) Successful in 24s
2023-08-08 11:44:55 +00:00
0533948085
fix rotating keys with sops
build / test (push) Successful in 8s
2023-08-08 13:44:15 +02:00
d8cb8069f5
init: layout with simple side navigation
build / test (push) Successful in 20s
2023-08-06 17:42:13 +02:00
d90f4bc449
init: layout
2023-08-06 17:41:07 +02:00
c3b49fdce0
init: layout with simple side navigation
2023-08-06 17:31:44 +02:00
52c73265ac
Fixed wrong flake template name ( #89 )
...
build / test (push) Successful in 16s
Co-authored-by: Luis-Hebendanz <luis.nixos@gmail.com>
Reviewed-on: #89
2023-08-05 12:19:14 +00:00
a0a137191d
init: layout
2023-08-05 12:10:58 +00:00
88ec2d3e3e
Added fonts symlink to devShell
build / test (push) Successful in 20s
2023-08-05 12:34:04 +02:00
c9b19b5060
init: ui bootstrapping nextjs
build / test (push) Successful in 20s
2023-08-05 11:42:48 +02:00
d947c32a9b
use callPackage for merge-after-ci, nix-unit & tea-create-pr
build / test (push) Successful in 9s
2023-08-03 18:05:53 +02:00
b8fd28af2f
move flake-parts into pkgs or toplevel
build / test (push) Successful in 8s
2023-08-03 17:11:36 +02:00
b540f318c7
cli: add test for --help
build / test (push) Successful in 8s
2023-08-03 15:33:08 +02:00
31a2d90df9
cli: fix installation of subpackages
build / test (push) Successful in 9s
2023-08-03 15:22:22 +02:00
ae4f36ecf9
clan-cli/sops: rename add_key to write_key
build / test (push) Successful in 12s
2023-08-03 14:58:51 +02:00
9b1f0cf918
clan-cli: fix error message if registering parser fails
build / test (push) Successful in 12s
2023-08-03 13:38:35 +02:00
7199f405ab
cli: fix broken type checks in config module
build / test (push) Successful in 14s
2023-08-03 13:34:44 +02:00
fa8dbf0e4f
cli: re-expose missing dependenices
2023-08-03 13:34:44 +02:00
cb0197fcf3
simplify clan cli build expression
...
also re-expose missing age
2023-08-03 13:34:44 +02:00
e603ee6f49
readd mypy/pytest to checks
build / test (push) Failing after 16s
2023-08-03 11:31:56 +02:00
25b5f58866
drop nix-unit from flake-inputs
2023-08-03 11:29:05 +02:00
54e9d4427c
fix cirular import
2023-08-03 11:07:17 +02:00
56c018d61c
clan-config: add bin wrapper
build / test (push) Successful in 10s
2023-08-02 21:10:54 +02:00
7299a63a13
clan-config: allow passing schema or module file
2023-08-02 21:10:41 +02:00
b88ac7a2bf
clan-config: init
...
build / test (push) Successful in 20s
- nixos-modules to jsonschema converter
- nix unit testing via adisbladis/nix-unit
- clan config: configuration CLI for nixos-modules
2023-08-02 20:04:16 +02:00
dab483339a
test list/remove secret
2023-08-02 12:00:32 +00:00
658c76336f
add secrets integration
...
clan-cli: also depend on age for secrets
2023-08-02 09:19:14 +00:00
7c388f977e
dirs: fix user_config_dir on macos
build / test (push) Successful in 14s
2023-07-29 14:21:36 +02:00
270c3fc2e6
cli: drop no cover pragma
...
build / test (push) Successful in 14s
We don't really enforce 100% coverage anymore
2023-07-28 16:14:40 +02:00
e219d38c7c
cli/main: catch ClanError in main
2023-07-28 16:13:43 +02:00
9a8c1d5e7a
clan-cli: also source parent devshell
build / test (push) Successful in 13s
2023-07-28 15:28:27 +02:00
6e7c34cd5c
tests/clan-flake: yield flake path rather than homedir
build / test (push) Successful in 13s
2023-07-28 15:01:37 +02:00
bc7dada58c
tests/clan_flake: fix fixture name
build / test (push) Successful in 12s
2023-07-28 13:47:32 +02:00
1834070c8d
update envrc if flake-module.nix was changed
2023-07-28 13:45:50 +02:00
81615939ea
clan-cli: also add dev dependencies to PYTHONPATH
build / test (push) Successful in 12s
2023-07-28 13:04:02 +02:00
29c711db30
add clan_flake fixture to setup a temporary clan
build / test (push) Successful in 12s
2023-07-28 12:54:49 +02:00
88a2c2656a
get_clan_flake_toplevel: fix check
build / test (push) Successful in 12s
2023-07-28 12:36:01 +02:00
5e5fbfcf06
write test for get_clan_flake_toplevel
2023-07-28 10:22:25 +00:00
df6e94b20e
move environment to helpers module
...
This fixes registering pytest plugins
2023-07-28 10:22:25 +00:00
282307ca2a
cli: explicitly list clan_cli package
2023-07-28 10:22:25 +00:00
4101b9adb4
introduce ClanError type
build / test (push) Successful in 12s
2023-07-27 15:47:15 +02:00
b4ba9c70cd
move moc_env to module
2023-07-26 15:22:52 +02:00
a61d0c5a42
add dirs module to get toplevel flake and configuration dir
2023-07-26 14:34:39 +02:00
20dc480123
add tty module to color text
2023-07-26 14:33:15 +02:00
d516b449e8
clan-cli: add bin wrapper
build / test (push) Successful in 13s
2023-07-26 10:59:18 +02:00
38222cee58
cli: make it more clear what optional deps are
2023-07-26 07:37:24 +00:00
09cc79867d
cli: get optional deps from our own flake
...
build / test (push) Successful in 10s
This ensures we actually test if all those binaries build
2023-07-26 09:31:49 +02:00
ed474457b3
drop executable bit on cli packages
2023-07-26 09:31:49 +02:00
83005a6795
cli: use nixpkgs in nix shell in pure mode
...
This avoids nixpkgs config and overlay provided by the user.
Also enables caching in nix.
2023-07-26 09:31:49 +02:00
88e85cdbbe
clan-cli/envrc: disable remote builders
2023-07-26 06:53:33 +00:00
3d14039474
using flakes for devshell without reimporting nixpkgs multiple times
2023-07-26 06:53:33 +00:00
72f6b368d6
cli: resolve CLAN_NIXPKGS on every invocation
...
this makes mocking easier
2023-07-26 06:53:33 +00:00
9aa75336b7
cli: use nix_shell also in ssh.py
2023-07-26 06:53:33 +00:00
409e5d459c
zerotier: move nix_shell to external package
build / test (push) Successful in 14s
2023-07-26 08:04:46 +02:00
821ff71e4a
pytest: actually fail build
build / test (push) Successful in 13s
2023-07-25 19:13:24 +02:00
a6e8e08dec
add module to generate zerotier configuration
2023-07-25 19:13:24 +02:00
944c53c214
drop duplicate clan-ruff and clan-black checks
...
we already test this with treefmt
2023-07-25 18:55:31 +02:00
e4af29d0b4
disable 100% coverage enforcement
2023-07-25 18:55:30 +02:00
e56b86f8b2
clan-cli: remove coverage exclusion for qrcode_scan
build / test (push) Successful in 14s
2023-07-25 15:48:01 +02:00
1183ac9618
clan-cli: format
build / test (push) Successful in 14s
2023-07-25 15:43:45 +02:00
2a31d785cf
clan-cli: add checks for black and ruff
2023-07-25 15:43:26 +02:00
310bdacb9d
clan-cli/ssh: add tests + fixes
2023-07-25 15:16:05 +02:00
202e07d5fe
clan-cli: hint on how to get coverage html
build / test (push) Failing after 13s
2023-07-25 00:59:51 +02:00
c354157bd5
clan-cli: minor fixes in ssh.py
2023-07-25 00:59:03 +02:00
a3bcb93f2f
clan-cli: split out ssh subcommand, add more tests
2023-07-24 21:15:39 +02:00
c8e59471a0
flake.nix: set clan-cli as default package
build / test (push) Failing after 13s
2023-07-24 17:42:26 +02:00
4571b65123
clan-cli: set mainProgram name
2023-07-24 17:42:26 +02:00
09bc5b06c9
clan-cli: add ssh subcommand
2023-07-24 17:42:26 +02:00
291b353d9c
clan-cli: actually run commands
2023-07-24 17:42:26 +02:00
0b654c7434
apply treefmt
build / test (push) Successful in 11s
2023-07-21 14:11:46 +02:00
DavHau
7223b25ac6
clan-cli: fix tests
build / test (push) Failing after 4s
2023-07-21 14:07:38 +02:00
DavHau
f370635518
python: fix dev shell command check
build / test (push) Failing after 3s
2023-07-21 13:51:56 +02:00
e4ccd85848
clan-cli: fix tests
build / test (push) Failing after 3s
2023-07-21 13:51:10 +02:00
b7cf89dba8
clan-cli: add missing typing
2023-07-21 13:50:46 +02:00
DavHau
e806b5549d
clan-cli: enable mypy for tests
build / test (push) Failing after 8s
2023-07-21 13:43:29 +02:00
054ac3f624
clan-cli: make mypy it's own derivation
...
parallelize ci more.
2023-07-21 13:31:14 +02:00
7f937077cf
clan-cli/tests: fixup imports
2023-07-21 13:30:49 +02:00
3ce01871e5
fix black and ruff checks
2023-07-21 13:03:51 +02:00
926de547e2
clan-cli/tests: reformat
2023-07-21 12:48:26 +02:00
0bf3f42812
clan-cli: restructure according to python's module standard
2023-07-21 12:47:47 +02:00
73dbad0167
clan-cli: drop duplicate entrypoint
...
not sure what's the use case of multiple main function is
2023-07-21 11:30:38 +02:00
3ab90e6785
add deadnix to formatter
2023-07-21 11:25:24 +02:00
22849366d8
apply ruff autoformatting
2023-07-21 11:22:02 +02:00
e4fbb08f91
make argcomplete optional
...
In case someone ever messes up the PYTHONPATH this will gracefull degrade
2023-07-21 11:19:03 +02:00
DavHau
4c4ff01b64
clan-cli: write some unit tests
2023-07-21 11:19:03 +02:00
DavHau
a0701bf988
clan-cli: expose via flake packages
2023-07-21 11:19:03 +02:00
DavHau
af7e4d7bb9
clan-cli: shell completion for bash, zsh, fish
2023-07-21 11:19:03 +02:00
DavHau
1e5cce99a9
clan-cli: manage sub-commands via python argparse
2023-07-21 11:19:03 +02:00
DavHau
95df33e2bc
clan-cli: rename clan-admin.py -> clan_admin.py
2023-07-21 11:19:03 +02:00
DavHau
b34141283f
clan-cli: fix mypy
2023-07-21 11:19:03 +02:00
DavHau
9906d12384
clan-cli: initialize python project from template
...
clan-cli: remove unnecessary unit test file
clan-cli: fix shell.nix too stateful
clan-cli: remove conftest.py
clan-cli: fix flake-module.nix
2023-07-21 11:19:03 +02:00
9aaac528f8
switch from alejandra -> nixpkgs-fmt
...
alejandra has someone questionable choices for formatting that no one would apply to there code if they would format manually.
nixpkgs-fmt seems to produce more readable results.
2023-07-21 11:15:28 +02:00
e3af3e9fb6
pkgs.clan: init barebones version
2023-07-17 18:53:29 +02:00
DavHau
5d04a17ecd
treewide: format all files
2023-07-12 19:50:23 +02:00
29cd36d916
pkgs: init go-ssb
2023-07-11 17:19:24 +02:00