Skip to content

Commit d00925d

Browse files
authored
Mark 0.1.0 (#133)
# 0.1.0 / 2023-10-03 ### Added - ctfcli has been separated into two main modules `cli` and `core`. The `core` module now packages logic previously found inside `utils`, wrapped into classes. - The classes in the `core` module will only print out warnings instead of interrupting the whole process. Everything else will throw exceptions which can be caught and handled however desired - `cli` and `core` internal modules have type hints - Improved error messages - Unit tests have been added for the entire `core` module - ctfcli will now ask to initialize a new project if one does not exist - Added `--hidden` to `ctf challenge install` which will deploy the challenge / challenges in a hidden state regardless of their `challenge.yml` value. - Added `ctf challenge edit <name>` and `ctf challenge edit <name> --dockerfile` to open challenge.yml or Dockerfile for that challenge - Added aliases under `ctf templates` and `ctf plugins` for `dir` (`path`) and for `view` (`show`) - Progress bars for `ctf challenge deploy` / `ctf challenge install` / `ctf challenge sync` - `ctf challenge deploy` will now deploy ALL deployable challenges if a specific challenge is not specified - For the SSH and Registry deployments, to facilitate this behaviour the challenge name will be automatically appended. So the host should be for example: `registry://registry.example.com/example-project` and the challenge name will be appended for a full location. - `ctf challenge deploy` will now also automatically login to the registry with Cloud and Registry deployments. - For cloud deployments the instance url must be ctfd assigned (e.g. example.ctfd.io) - this is because to log-in to the registry we require a username like `[email protected]`. The deployment will use the access token as the password. - For registry deployment it will look for the `username` and `password` keys inside a `[registry]` section in the project config file. - ctfcli will read a `LOGLEVEL` environment variable to enable DEBUG logging has been added ### Fixed - When syncing a challenge to a remote instance, state specified in challenge.yml will now be ignored to prevent accidental challenge leaking - The CLI will now exit with a 0 if everything went right, and 1 if something went wrong. - With `install`/`sync`/`deploy` - exit code will be 1 if ANY of the challenges failed to `install`/`sync`/`deploy`. ### Changed - Built using poetry and `pyproject.toml` - `python-fire` has been updated to 0.5.0 ### Removed - Removed the `ctf challenge finalize` command
1 parent 3c78ec4 commit d00925d

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

CHANGELOG.md

+36
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,41 @@
11
# Changelog
22

3+
# 0.1.0 / 2023-10-03
4+
5+
### Added
6+
7+
- ctfcli has been separated into two main modules `cli` and `core`. The `core` module now packages logic previously found inside `utils`, wrapped into classes.
8+
- The classes in the `core` module will only print out warnings instead of interrupting the whole process. Everything else will throw exceptions which can be caught and handled however desired
9+
- `cli` and `core` internal modules have type hints
10+
- Improved error messages
11+
- Unit tests have been added for the entire `core` module
12+
- ctfcli will now ask to initialize a new project if one does not exist
13+
- Added `--hidden` to `ctf challenge install` which will deploy the challenge / challenges in a hidden state regardless of their `challenge.yml` value.
14+
- Added `ctf challenge edit <name>` and `ctf challenge edit <name> --dockerfile` to open challenge.yml or Dockerfile for that challenge
15+
- Added aliases under `ctf templates` and `ctf plugins` for `dir` (`path`) and for `view` (`show`)
16+
- Progress bars for `ctf challenge deploy` / `ctf challenge install` / `ctf challenge sync`
17+
- `ctf challenge deploy` will now deploy ALL deployable challenges if a specific challenge is not specified
18+
- For the SSH and Registry deployments, to facilitate this behaviour the challenge name will be automatically appended. So the host should be for example: `registry://registry.example.com/example-project` and the challenge name will be appended for a full location.
19+
- `ctf challenge deploy` will now also automatically login to the registry with Cloud and Registry deployments.
20+
- For cloud deployments the instance url must be ctfd assigned (e.g. example.ctfd.io) - this is because to log-in to the registry we require a username like `[email protected]`. The deployment will use the access token as the password.
21+
- For registry deployment it will look for the `username` and `password` keys inside a `[registry]` section in the project config file.
22+
- ctfcli will read a `LOGLEVEL` environment variable to enable DEBUG logging has been added
23+
24+
### Fixed
25+
26+
- When syncing a challenge to a remote instance, state specified in challenge.yml will now be ignored to prevent accidental challenge leaking
27+
- The CLI will now exit with a 0 if everything went right, and 1 if something went wrong.
28+
- With `install`/`sync`/`deploy` - exit code will be 1 if ANY of the challenges failed to `install`/`sync`/`deploy`.
29+
30+
### Changed
31+
32+
- Built using poetry and `pyproject.toml`
33+
- `python-fire` has been updated to 0.5.0
34+
35+
### Removed
36+
37+
- Removed the `ctf challenge finalize` command
38+
339
# 0.0.13 / 2023-07-29
440

541
### Added

0 commit comments

Comments
 (0)