Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add master and minion (initial) #43

Merged
merged 148 commits into from
Nov 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
148 commits
Select commit Hold shift + click to select a range
bb7d862
Move config to its own utils
isbm Nov 1, 2024
67a57cd
Add a very simple Minion (no proto yet)
isbm Nov 2, 2024
db1724c
Add master/minion config
isbm Nov 2, 2024
dbd6191
Add FFI null error handler
isbm Nov 2, 2024
eefea5a
Add very basic initial master
isbm Nov 2, 2024
579933f
Lintfix: sort import
isbm Nov 2, 2024
8978ccd
Tear down minion after help printed
isbm Nov 2, 2024
c69ea85
Update gitignore
isbm Nov 2, 2024
60f2c9b
Update workspaces and deps
isbm Nov 2, 2024
1b55460
Update general config for the master
isbm Nov 2, 2024
634a2aa
Define system traits for a minion
isbm Nov 2, 2024
0548d21
Read all basic traits
isbm Nov 3, 2024
2336f45
Update deps
isbm Nov 3, 2024
aab2ca1
Add lintfixes
isbm Nov 3, 2024
9c8294a
Add RSA keygen and PEM import/export
isbm Nov 3, 2024
ded53b7
Refactor RSA functions
isbm Nov 3, 2024
442fa47
Update deps
isbm Nov 3, 2024
68533f0
Write keys to a file as PEM
isbm Nov 3, 2024
d26e1c5
Add IO to files, refactor
isbm Nov 3, 2024
da7c5b9
Add unit tests for basic RSA operations
isbm Nov 3, 2024
dcb14a9
Update unit tests
isbm Nov 3, 2024
902d3cf
Flatten checks
isbm Nov 3, 2024
cb4da8f
Add proto description
isbm Nov 4, 2024
4506e68
Add master and minion error definitions
isbm Nov 4, 2024
d9e3324
Update proto description
isbm Nov 4, 2024
c43ce12
Define error codes
isbm Nov 4, 2024
5b92297
Define request types
isbm Nov 4, 2024
3aa843f
Implmement master and minion proto messages
isbm Nov 4, 2024
2bb5d3a
Implement on-disk cache minion registry for traits
isbm Nov 4, 2024
52b8ba3
Add minion record message (todo)
isbm Nov 4, 2024
025c206
Update dependencies
isbm Nov 4, 2024
464c867
Add default to MinionTarget
isbm Nov 4, 2024
616676d
Add error code for unknown
isbm Nov 4, 2024
f63e30a
Add MinionMessage and serialisation methods
isbm Nov 4, 2024
de51f66
Include registry
isbm Nov 4, 2024
cc901ee
Accept message types
isbm Nov 4, 2024
77fdf52
Refactor standard traits
isbm Nov 4, 2024
5331bfe
Send ehlo from minion
isbm Nov 4, 2024
988b869
Refactor with lintfixes
isbm Nov 4, 2024
4470634
Add minion key registry
isbm Nov 5, 2024
c1b51d5
Make defaults public
isbm Nov 5, 2024
8485fac
Refactor master
isbm Nov 5, 2024
7c20373
Lintfix
isbm Nov 5, 2024
b6b98e3
Start proto parser for Minion
isbm Nov 6, 2024
460faaf
Add ProtoError type
isbm Nov 6, 2024
122eb4d
Add methods for MasterMessage
isbm Nov 6, 2024
e05b32a
Add another RequestType for unknown minion (unregistered, banned, blo…
isbm Nov 6, 2024
d9742f9
Refactor master
isbm Nov 6, 2024
3165d64
Change type of db search
isbm Nov 6, 2024
440432a
Move proto code to its own module
isbm Nov 6, 2024
6c86774
Handle RSA dynamic errors
isbm Nov 6, 2024
42a1829
Implement RSA keys autogenerate
isbm Nov 6, 2024
f75f93b
Add CLI option to register a minion
isbm Nov 6, 2024
51d7b66
Update log records
isbm Nov 6, 2024
7cc1e69
Add keymanager for the minion
isbm Nov 6, 2024
d61640b
Update dependencies
isbm Nov 6, 2024
bda66c0
Add reconnect request type
isbm Nov 7, 2024
46f8dee
Add keypair registration
isbm Nov 7, 2024
9407173
Prevent "start" be together with "register"
isbm Nov 7, 2024
ffa5b38
Use registration CLI
isbm Nov 7, 2024
5fb23af
Implement registration on minion side
isbm Nov 7, 2024
231d108
Remove formatter in favour to just a string
isbm Nov 7, 2024
6f0ae75
Flatten if clause
isbm Nov 7, 2024
eb5ac00
Update dependencies
isbm Nov 7, 2024
7d7082d
Implement minion session tracker
isbm Nov 7, 2024
df92cca
Add async dynamic error
isbm Nov 7, 2024
c0d53ac
Implement heartbeat and unique connections per machine (not per net a…
isbm Nov 7, 2024
dd9e99e
Lintfix
isbm Nov 7, 2024
50c613f
Update error code getter for MinionMessage
isbm Nov 8, 2024
5a43c3b
Update protocol internal doc
isbm Nov 8, 2024
5e96daf
Remove inspector from the main to its own incapsulable class
isbm Nov 8, 2024
2c95139
Move inspector app to libsysinspect for common use
isbm Nov 8, 2024
b8504c4
Remove dead prop code
isbm Nov 8, 2024
e33c479
Update main to extend on sysinspect network use
isbm Nov 8, 2024
a30fd3a
Move network configs to one common place
isbm Nov 8, 2024
84a7971
Move master and minion internal config structures to the mmconfig
isbm Nov 8, 2024
0efbf4a
Allow override default config selector
isbm Nov 8, 2024
8260822
Refactor sysinspect, incorporating remote command
isbm Nov 8, 2024
b680e34
Lintfix
isbm Nov 8, 2024
c7f65af
Update dependencies
isbm Nov 9, 2024
234e55d
Add fileserver config
isbm Nov 9, 2024
20bd080
Update configuration struct for fileserver options
isbm Nov 9, 2024
b1064a3
Implement a basic HTTP-based fileserver
isbm Nov 9, 2024
533823a
Update deps
isbm Nov 9, 2024
905348b
Remove dead code
isbm Nov 9, 2024
65eebe7
Refactor minion as class
isbm Nov 9, 2024
494426f
Remove unused import
isbm Nov 9, 2024
6aeda49
Remove redundant refcount
isbm Nov 9, 2024
c613928
Remove unnecessary macros
isbm Nov 9, 2024
7f953ee
Fix file downloader
isbm Nov 10, 2024
9d65ba8
Describe distributed model principles
isbm Nov 10, 2024
1f4798e
Moved traits subsystem to the libsysinspect
isbm Nov 11, 2024
edb9c28
Add query grammar
isbm Nov 11, 2024
ef36330
Update dependencies
isbm Nov 11, 2024
f16c969
Add query parser implementation
isbm Nov 11, 2024
e414785
Update documentation on usage and targeting minions
isbm Nov 11, 2024
c00cbbd
Update documentation on traits and dynamic traits use
isbm Nov 11, 2024
fab0d4b
Refactor configs for master/minion
isbm Nov 12, 2024
e1ed6e7
Update mmconf by adding models, functions and traits root dirs
isbm Nov 12, 2024
2b8361b
Fix import order
isbm Nov 12, 2024
4d57b52
Add minion init
isbm Nov 12, 2024
32abdfc
Load custom traits from the minion
isbm Nov 12, 2024
c730377
Add implementation of custom trait functions
isbm Nov 12, 2024
347ccf6
Lintfix imports
isbm Nov 12, 2024
4261d6e
Return sorted trait items
isbm Nov 12, 2024
9b5ba97
Move traits listing to debug realm
isbm Nov 12, 2024
4e2ed97
Update dependencies
isbm Nov 12, 2024
b4a35c8
Lazymake a checksum of all traits
isbm Nov 12, 2024
f9a70e1
Add traits autosync
isbm Nov 13, 2024
dc06ee0
Simplify expression
isbm Nov 13, 2024
6b5529a
Use a separate BTree with its own namespace for the minions, implemen…
isbm Nov 14, 2024
6b56e2e
Add quoted values and dotted keys
isbm Nov 15, 2024
b5c2dec
Send in main CLI scheme and query
isbm Nov 15, 2024
a7923ad
Update deps
isbm Nov 15, 2024
f2584b7
Replace string value with the reference
isbm Nov 15, 2024
58bd5bf
XXX: Probably won't be needed
isbm Nov 15, 2024
c73dee2
Add command dispatcher
isbm Nov 15, 2024
8e98162
Remove regex crate as unused
isbm Nov 15, 2024
0fa5d93
Remove commented-out unused code
isbm Nov 15, 2024
64aaaae
Fix references
isbm Nov 15, 2024
71da409
Lintfix
isbm Nov 15, 2024
aa136b5
Update config with more data. TODO: docs!
isbm Nov 15, 2024
163fd79
Run dispatcher in its own spawn
isbm Nov 17, 2024
6ad8d10
Use JSON value instead of a plain String for the payload.
isbm Nov 17, 2024
273d6cc
Add readmes to help understanding that each package is for
isbm Nov 17, 2024
e75228a
Update dependencies
isbm Nov 18, 2024
a012d8f
Add model/state source autosync. It is using SHA256 checksum to downl…
isbm Nov 18, 2024
e18d4c0
Update config file
isbm Nov 18, 2024
18e2ffc
remove done note
isbm Nov 18, 2024
de1844d
Update internal comments, remove forgotten warn!() as should be debug!()
isbm Nov 18, 2024
d9d1a90
Simplify trims on option
isbm Nov 18, 2024
740c202
Consume to cleanup the memory
isbm Nov 18, 2024
b85a95f
Prevent unnecessary mem consumption
isbm Nov 18, 2024
3a15974
Remove legacy code
isbm Nov 18, 2024
dd8056f
Pass query scheme to the sysinspect launcher
isbm Nov 18, 2024
a83530b
Add sysinspect model query parser
isbm Nov 18, 2024
ebbc871
Fix imports
isbm Nov 18, 2024
82f0ed0
Change default config location
isbm Nov 19, 2024
d9b9faf
Clarify an error
isbm Nov 19, 2024
659b3a3
Query should return the list of entities, comma-separated
isbm Nov 19, 2024
8b7a101
Launch sysinspect runner
isbm Nov 19, 2024
9dd49ec
Remove unnecessary double-references
isbm Nov 19, 2024
5faa8e4
Make config:modules optional in the configuration, defaulting to /usr…
isbm Nov 19, 2024
2d3fc33
Update on config
isbm Nov 19, 2024
5f165a8
Accept checkbook labels
isbm Nov 19, 2024
435b5a4
Updated documentation on targeting
isbm Nov 20, 2024
3cbafc4
Added documentation on configuration
isbm Nov 20, 2024
d7e93d6
Add documentation about /etc/sysinspect layout
isbm Nov 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@
docs/_build
man/*8
package/
.tmp/
Loading
Loading