Skip to content

Commit

Permalink
Merge pull request #69 from BoolPurist/workspace_refacture
Browse files Browse the repository at this point in the history
Converted project to workspace members
  • Loading branch information
BoolPurist authored Nov 8, 2023
2 parents 257a409 + 035f57b commit a16b1b0
Show file tree
Hide file tree
Showing 120 changed files with 6,916 additions and 1,360 deletions.
3 changes: 3 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[alias]
cli = "run --bin usermgmt --"
gui = "run --bin usermgmt_gui --"
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ jobs:
run: cargo fmt --check --all

- name: "Building project to see if it compiles and does not produce any warnings"
run: cargo clippy -- -Dwarnings
run: cargo clippy --all -- -Dwarnings

- name: "Checking if all unit tests pass"
run: cargo test --verbose
run: cargo test --workspace --verbose

6 changes: 3 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,14 @@ jobs:
# os: macos-latest
- target: x86_64-unknown-linux-gnu
os: ubuntu-latest
- target: x86_64-apple-darwin
os: macos-latest
# - target: x86_64-apple-darwin
# os: macos-latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: taiki-e/upload-rust-binary-action@v1
with:
bin: usermgmt
bin: usermgmt,usermgmt_gui
include: LICENSE,README.md
target: ${{ matrix.target }}
token: ${{ secrets.GITHUB_TOKEN }}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@
.idea/
conf_thn.toml
.DS_Store
*.pdf
84 changes: 54 additions & 30 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,20 @@
# Changelog
All changes to this project.
All changes to the CLI tool and library of the usermgmt project.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Changed
Changelog for binary "usermgmt" and library "usermgmt_lib".

- Configuration file is not created automatically anymore
- Username and passwords which are empty or only white spaces and have default value are invalid
- Output of for LDAP user via the sub command list is now presented in a nicer ASCII table format
- CLI argument for slurm, ldap and directory management can be toggled via cli and conf.toml individually
CLI Option for a system is only available if a sub command supports it.
slurm-only, ldap-only and dirs-only were replaced by new options
- LDAP bind OU and general LDPA OU are more configurable.
One can now specify several dn parts like ou=people,ou=department.
Before one could only specify a value for one fixed dn key part like people => ou=people.

### Added

- Subcommands can be issued via shortcuts which consists of one or two letters.
- Configuration file can be located in several places.
It always try user specific configuration locations, then system configuration places and the CWD as the last resort.
- Default configuration can be generated via new subcommand "generate-config".
- Option to try authentication via ssh agent before simple password authentication.
- Added option to use different user prefix and org unit binding for readonly LDAP user.
- Made username and password optional for readonly user to allow for prompting these credentials.
- Used base dc, dn for user manipulation and dn for user bind are now logged.
- Port for ssh connection can now specified via configuration file

### Fixed

- The prompt showing allowed number for selection for several keys under ssh agent is now correctly displayed.
Before the maximum index selection was too big by one.
## [Unreleased]

## [0.1.0] - 2022-06-20

### Added
- Usermanagement via subprocess calls to [LDAPUtils](https://wiki.debian.org/LDAP/LDAPUtils) and `sacctmgr`

## [0.2.0] - 2022-10-29

### Added
- Publickeys can now be added and modified via the CLI

Expand All @@ -53,43 +27,53 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- `LDAPUtils` dependency

## [0.3.0] - 2022-10-30

### Added
- Experimental directory management functionalities that include creating directories on NFS and compute nodes and setting quotas

## [0.3.3] - 2022-10-31

### Added
- Add changelog and github actions

## [0.3.4] - 2022-10-31

### Added
- Add `aarch64-apple-darwin` to release
- Add `LICENSE` and `README.md` to release

## [0.3.5] - 2022-10-31

### Added
- Add `aarch64-unknown-linux-gnu` to release

## [0.3.6] - 2022-10-31

### Added
- Cross compile `aarch64-apple-darwin` release

## [0.3.7] - 2022-10-31

### Added
- Add cross-compilation tools

## [0.3.8] - 2022-10-31

### Removed
- Cross-compilation tools

## [0.3.9] - 2022-10-31

### Removed
- Broken `aarch64-apple-darwin` target (missing openssl lib)

## [0.3.10] - 2022-10-31

### Removed
- Broken `aarch64-unknown-linux-gnu` target (missing openssl lib)

## [0.4.0] - 2022-11-01

### Added
- Slurm remote execution via SSH
- Options for listing users in Slurm and/or LDAP
Expand All @@ -99,14 +83,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Config file location now depends on the target OS, as well as debug assertions

## [0.4.1] - 2022-11-01

### Changed
- Ask credentials during LDAP search, when no readonly user or password is supplied via config

## [0.4.5] - 2022-11-14

### Changed
- Adjust directory creation on NFS from `/nfs/scratch` to `/nfs/scratch/<students|staff>`

## [0.4.6] - 2023-03-15

### Fixed
- Fix for [#13](https://github.com/th-nuernberg/usermgmt/issues/13)

Expand All @@ -119,6 +106,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Various improvements by @BoolPurist

## [0.4.7] - 2023-03-15

### Changed
- Try M1 release build

Expand Down Expand Up @@ -151,3 +139,39 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Used base dc, dn for user manipulation and dn for user bind are now logged.
- Port for ssh connection can now specified via configuration file

## [0.6.0] - 2023-11-08

### Changed

- Configuration file is not created automatically anymore
- Username and passwords which are empty or only white spaces and have default value are invalid
- Output of for LDAP user via the sub command list is now presented in a nicer ASCII table format
- CLI argument for slurm, ldap and directory management can be toggled via cli and conf.toml individually
CLI Option for a system is only available if a sub command supports it.
slurm-only, ldap-only and dirs-only were replaced by new options
- LDAP bind OU and general LDPA OU are more configurable.
One can now specify several dn parts like ou=people,ou=department.
Before one could only specify a value for one fixed dn key part like people => ou=people.

### Added

- Subcommands can be issued via shortcuts which consists of one or two letters.
- Configuration file can be located in several places.
It always try user specific configuration locations, then system configuration places and the CWD as the last resort.
- Default configuration can be generated via new subcommand "generate-config".
- Option to try authentication via ssh agent before simple password authentication.
- Added option to use different user prefix and org unit binding for readonly LDAP user.
- Made username and password optional for readonly user to allow for prompting these credentials.
- Used base dc, dn for user manipulation and dn for user bind are now logged.
- Port for ssh connection can now specified via configuration file

### Fixed

- CLI tool now enforces the following:
- Default Qos must be contained in the collection of Qos for the operations add, remove and modify
- Default Qos along with the collection of Qos must be given both or none of them for the operations add, remove and modify.
- This prevents the problem where sacctmgr CLI, slurm CLI, did not update default Qos or colletion of Qos.
- The prompt showing allowed number for selection for several keys under ssh agent is now correctly displayed.
Before the maximum index selection was too big by one.
- Fixed faulty determining inside os config folder space.
Example: before It searched under ~/.config instead of ~/.config/usermgmt
Loading

0 comments on commit a16b1b0

Please sign in to comment.