stork issueshttps://gitlab.isc.org/isc-projects/stork/-/issues2024-03-28T10:29:47Zhttps://gitlab.isc.org/isc-projects/stork/-/issues/1341Add a reference from the Stork ARM to the KB on how to generate the certifica...2024-03-28T10:29:47ZMarcin SiodelskiAdd a reference from the Stork ARM to the KB on how to generate the certificates?We have created KB on how to generate and import the certificates to Stork. I wonder if we maybe need to give a link from the Stork ARM to this article?We have created KB on how to generate and import the certificates to Stork. I wonder if we maybe need to give a link from the Stork ARM to this article?1.16https://gitlab.isc.org/isc-projects/stork/-/issues/1300Check the minimum Java version in build system and describe it in docs2024-02-13T14:52:11ZSlawek FigielCheck the minimum Java version in build system and describe it in docsThe issue was found by @marcin during 1.15 sanity checks: https://gitlab.isc.org/isc-projects/stork/-/issues/1296#note_434164
The current version of the OpenAPI generator requires at least OpenJRE 11. The build system checks only if the...The issue was found by @marcin during 1.15 sanity checks: https://gitlab.isc.org/isc-projects/stork/-/issues/1296#note_434164
The current version of the OpenAPI generator requires at least OpenJRE 11. The build system checks only if the `java` binary is present and the documentation specifies that Java is required without providing a minimum version.
We should somehow cover the java requirement checks in the rake files or/and the docs.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/1297Keep the list of tested systems in ARM up to date2024-02-13T14:42:14ZAndrei Pavelandrei@isc.orgKeep the list of tested systems in ARM up to dateNeed a methodology for keeping this list up to date, which currently has both EOL systems and systems that we are not testing anything on.
> Stork is tested on the following systems:
>
> - Ubuntu 18.04 and 20.04
> - Fedora 31 and 32
> -...Need a methodology for keeping this list up to date, which currently has both EOL systems and systems that we are not testing anything on.
> Stork is tested on the following systems:
>
> - Ubuntu 18.04 and 20.04
> - Fedora 31 and 32
> - CentOS 8
> - MacOS 11.3*1.16https://gitlab.isc.org/isc-projects/stork/-/issues/1276github-friendly security policy2024-01-16T14:41:55ZTomek Mrugalskigithub-friendly security policyThis is mostly to check off some extra check boxes on github.
Something similar as we have in Kea: [Kea security policy](https://github.com/isc-projects/kea/security/policy).
This is just writing down what we already have spread out in...This is mostly to check off some extra check boxes on github.
Something similar as we have in Kea: [Kea security policy](https://github.com/isc-projects/kea/security/policy).
This is just writing down what we already have spread out in several places, condensed and formatted in github friendly format. No specific process changes proposed.1.16Tomek MrugalskiTomek Mrugalskihttps://gitlab.isc.org/isc-projects/stork/-/issues/1235Improve documentation of Stork API (SwaggerUI)2023-12-05T14:55:44ZDarren AnkneyImprove documentation of Stork API (SwaggerUI)There is documentation of the Stork API in the Stork UI under "Help -> Stork API Docs (SwaggerUI)". This documentation is really good, especially the "try it out" functionality. Unfortunately, the "try it out" seems to always work no m...There is documentation of the Stork API in the Stork UI under "Help -> Stork API Docs (SwaggerUI)". This documentation is really good, especially the "try it out" functionality. Unfortunately, the "try it out" seems to always work no matter if you have set things properly by clicking the Lock icon, or made a mistake there. Therefore, it is somewhat difficult to figure out the actual process to come up with the session key to use during the API calls. I propose to resolve this by adding a simple example with accompanying short instruction so that it is more obvious how to use the API. It is really easy once you understand this step!
<details><summary>Example</summary>
```
$ curl -v -X 'POST' 'http://192.168.20.10:8080/api/sessions' -H 'accept: application/json' -H 'Content-Type: application/json' -d '{"authenticationMethodId": "internal", "identifier": "admin", "secret": "admin"}' | jq
Note: Unnecessary use of -X or --request, POST is already inferred.
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 192.168.20.10:8080...
* Connected to 192.168.20.10 (192.168.20.10) port 8080 (#0)
> POST /api/sessions HTTP/1.1
> Host: 192.168.20.10:8080
> User-Agent: curl/7.88.1
> accept: application/json
> Content-Type: application/json
> Content-Length: 80
>
} [80 bytes data]
< HTTP/1.1 200 OK
< Cache-Control: no-cache="Set-Cookie"
< Content-Type: application/json
< Set-Cookie: session=L0cdSK9h6l_Cm4UY7D-Fsw_HWPmkYN0HwfnB5oNlI5U; Path=/; Expires=Thu, 30 Nov 2023 12:17:18 GMT; Max-Age=86400; HttpOnly; SameSite=Lax
< Vary: Cookie
< Date: Wed, 29 Nov 2023 12:17:17 GMT
< Content-Length: 108
<
{ [108 bytes data]
100 188 100 108 100 80 12253 9076 --:--:-- --:--:-- --:--:-- 23500
* Connection #0 to host 192.168.20.10 left intact
{
"authenticationMethodId": "internal",
"groups": [
1
],
"id": 1,
"lastname": "admin",
"login": "admin",
"name": "admin"
}
$ curl -v -X 'GET' 'http://192.168.20.10:8080/api/shared-networks' -H 'accept: application/json' -H 'Cookie: session=L0cdSK9h6l_Cm4UY7D-Fsw_HWPmkYN0HwfnB5oNlI5U' | jq
Note: Unnecessary use of -X or --request, GET is already inferred.
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 192.168.20.10:8080...
* Connected to 192.168.20.10 (192.168.20.10) port 8080 (#0)
> GET /api/shared-networks HTTP/1.1
> Host: 192.168.20.10:8080
> User-Agent: curl/7.88.1
> accept: application/json
> Cookie: session=L0cdSK9h6l_Cm4UY7D-Fsw_HWPmkYN0HwfnB5oNlI5U
>
< HTTP/1.1 200 OK
< Content-Type: application/json
< Vary: Cookie
< Date: Wed, 29 Nov 2023 12:17:38 GMT
< Content-Length: 15
<
{ [15 bytes data]
100 15 100 15 0 0 6407 0 --:--:-- --:--:-- --:--:-- 7500
* Connection #0 to host 192.168.20.10 left intact
{
"items": null
}
```
</details>
<details><summary>Instructions based on the example</summary>
- First a login must be performed: `$ curl -v -X 'POST' 'http://192.168.20.10:8080/api/sessions' -H 'accept: application/json' -H 'Content-Type: application/json' -d '{"authenticationMethodId": "internal", "identifier": "admin", "secret": "admin"}'` The `"identifier": "admin"` and `"secret": "admin"` should match a username and password that can log into the Stork UI.
- The return, if authentication is successful, will contain (in the header) something like this: `< Set-Cookie: session=L0cdSK9h6l_Cm4UY7D-Fsw_HWPmkYN0HwfnB5oNlI5U; Path=/; Expires=Thu, 30 Nov 2023 12:17:18 GMT; Max-Age=86400; HttpOnly; SameSite=Lax`
- Subsequent calls, for the next 24 hours, must include: `session=L0cdSK9h6l_Cm4UY7D-Fsw_HWPmkYN0HwfnB5oNlI5U` as shown here: `$ curl -v -X 'GET' 'http://192.168.20.10:8080/api/shared-networks' -H 'accept: application/json' -H 'Cookie: session=L0cdSK9h6l_Cm4UY7D-Fsw_HWPmkYN0HwfnB5oNlI5U'`
</details>
Of course, the above is only a suggestion. There may be better examples and subsequent instructions, and/or a more dynamic way that could include data from the local StorkUI the user is actually using, which would be even easier to understand.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/1234Update the build from sources guide for Ubuntu 20.04 LTS2024-02-06T14:42:33ZSlawek FigielUpdate the build from sources guide for Ubuntu 20.04 LTSSince the Stork build system requires Python 3.10 and Ruby 2.3, [the guide to build Stork from sources](https://gitlab.isc.org/isc-projects/stork/-/wikis/Install) is no longer applicable on Ubuntu 20.04 LTS.
The guide recommends install...Since the Stork build system requires Python 3.10 and Ruby 2.3, [the guide to build Stork from sources](https://gitlab.isc.org/isc-projects/stork/-/wikis/Install) is no longer applicable on Ubuntu 20.04 LTS.
The guide recommends installing Python and Ruby from the package repository, but the available versions of the above dependencies are outdated. Users need to install Python and Ruby from their maintainers' external, official packages. We should mention it in the guide.1.16https://gitlab.isc.org/isc-projects/stork/-/issues/1189Describe purpose of the "rename" directive in the hook go.mod file2024-02-02T13:00:13ZSlawek FigielDescribe purpose of the "rename" directive in the hook go.mod fileThe `README.md` file only briefly mentions the `replace` statement usage. There should be some more text in the README file explaining the compatibility issues I am bringing in this [thread](https://gitlab.isc.org/isc-projects/stork-hook...The `README.md` file only briefly mentions the `replace` statement usage. There should be some more text in the README file explaining the compatibility issues I am bringing in this [thread](https://gitlab.isc.org/isc-projects/stork-hook-ldap/-/merge_requests/5#note_408838).backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/1032Install and Enable TSDoc linter2023-05-09T13:42:32ZMarcin SiodelskiInstall and Enable TSDoc linterOn the in-person 2023 meeting the team have agreed to follow the TSDoc style for documenting the typescript code. Having said that, we need a linter to validate the documentation formatting. To do it:
```
npm install --save-dev eslint-p...On the in-person 2023 meeting the team have agreed to follow the TSDoc style for documenting the typescript code. Having said that, we need a linter to validate the documentation formatting. To do it:
```
npm install --save-dev eslint-plugin-tsdoc
```
Then, update the `.eslintrc.json` with the following contents:
```
"plugins": ["eslint-plugin-tsdoc"],
"rules": {
"tsdoc/syntax": "warn"
},
```
Finally, correct the issues reported by the linter. Most of the errors seem to be related to not using a hyphen after function parameter names (`tsdoc-param-tag-missing-hyphen`).backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/922Out-of-date hook link2023-12-01T15:43:46ZSlawek FigielOut-of-date hook linkThe issue was reported during 1.8.0 sanity checks by @slawek. [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/910#note_335067)
The link to the `lease_cmds` hook in the Lease Search help tip is out-of-date.
![image](https://...The issue was reported during 1.8.0 sanity checks by @slawek. [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/910#note_335067)
The link to the `lease_cmds` hook in the Lease Search help tip is out-of-date.
![image](https://gitlab.isc.org/isc-projects/stork/uploads/8c806822befdfae40ccea8f5d8c7873c/image.png)backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/892Bug: Documentation not clear about how to register a machine2022-11-22T14:33:09ZmikygeeBug: Documentation not clear about how to register a machineHello,
I wanted to register a machine so I did this
`# ./backend/cmd/stork-agent/stork-agent register http://IPSERVER:8080`
The command line said
```
COMMANDS:
register Register this machine in the Stork Server indicated by <serve...Hello,
I wanted to register a machine so I did this
`# ./backend/cmd/stork-agent/stork-agent register http://IPSERVER:8080`
The command line said
```
COMMANDS:
register Register this machine in the Stork Server indicated by <server-url>
```
Now that I know the answer it's a bit more clear but still...
It's better to write "register Register this machine in the Stork Server with the --server-url option"
After some searches I did
`# ./backend/cmd/stork-agent/stork-agent register -u http://IPSERVER:8080`
And it worked
Regardsoutstandinghttps://gitlab.isc.org/isc-projects/stork/-/issues/888Bug: stork-server -h not clear for a beginner2022-11-08T14:59:29ZmikygeeBug: stork-server -h not clear for a beginnerVersion:
```
# ./backend/cmd/stork-server/stork-server -v
1.7.0
```
Hello,
The help message is not clear.
It talks about the rest server but the administrator will use it's browser.
I think I understand that the administrator would use ...Version:
```
# ./backend/cmd/stork-server/stork-server -v
1.7.0
```
Hello,
The help message is not clear.
It talks about the rest server but the administrator will use it's browser.
I think I understand that the administrator would use a web interface while the stork clients would communicate via Rest but that is confusing in the first place. I think it should be Web server flags or HTTP server flags
```
# ./backend/cmd/stork-server/stork-server -h
Usage:
stork-server [OPTIONS]
Stork Server is a Kea and BIND 9 dashboard
...
ReST Server Flags:
...
--rest-max-header-size= controls the maximum number of bytes the server reads when parsing the request header's keys and values, including the request line. It does not limit the size of the request body. (default: 1MiB)
--rest-host= the IP to listen on [$STORK_REST_HOST]
--rest-port= the port to listen on for connections (default: 8080) [$STORK_REST_PORT]
...
--rest-tls-certificate= the certificate to use for secure connections [$STORK_REST_TLS_CERTIFICATE]
--rest-tls-key= the private key to use for secure connections [$STORK_REST_TLS_PRIVATE_KEY]
--rest-tls-ca= the certificate authority file to be used with mutual tls auth [$STORK_REST_TLS_CA_CERTIFICATE]
--rest-static-files-dir= the directory with static files for the UI [$STORK_REST_STATIC_FILES_DIR]
```
Regardsbackloghttps://gitlab.isc.org/isc-projects/stork/-/issues/865Inconsistent boolean values in documentation2022-12-06T22:53:17ZSlawek FigielInconsistent boolean values in documentationIssue reported by @vps-eric in #859:
> Note 3: The Stork documentation says [here](https://stork.readthedocs.io/en/latest/install.html#agent-configuration-settings) that the default for `STORK_AGENT_SKIP_TLS_CERT_VERIFICATION` is `false...Issue reported by @vps-eric in #859:
> Note 3: The Stork documentation says [here](https://stork.readthedocs.io/en/latest/install.html#agent-configuration-settings) that the default for `STORK_AGENT_SKIP_TLS_CERT_VERIFICATION` is `false`, but says [here](https://stork.readthedocs.io/en/latest/install.html#securing-connections-between-stork-agent-and-the-kea-control-agent) to set it to `1` to disable verification. I see [here](https://gitlab.isc.org/isc-projects/stork/-/blob/master/backend/cmd/stork-agent/main.go#L182) that it is [parsed with strconv](https://github.com/urfave/cli/blob/main/flag_bool.go#L99) and that it can accept any of ["](https://pkg.go.dev/strconv#ParseBool)`1`, `t`, `T`, `TRUE`, `true`, `True`, `0`, `f`, `F`, `FALSE`, `false`, `False`". I suggest that the documentation chooses one of these and standardizes on it to avoid confusion, instead of using `false` and `1`.outstandinghttps://gitlab.isc.org/isc-projects/stork/-/issues/857Improve Postgres configuration section in doc2022-12-06T22:52:59ZSlawek FigielImprove Postgres configuration section in docThe issue was found during 1.6.0 sanity checks. [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/850#note_312552)
I successfully installed the server from RPM on Fedora, but it turns out it may not be so trivial to properly c...The issue was found during 1.6.0 sanity checks. [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/850#note_312552)
I successfully installed the server from RPM on Fedora, but it turns out it may not be so trivial to properly configure the Postgres database. Our ARM says this:
```
The general installation procedure for PostgreSQL is OS-specific
and is not included here. However, please note that Stork uses
pgcrypto extensions, which often come in a separate package. For
example, a postgresql-crypto package is required on Fedora and
postgresql12-contrib is needed on RHEL and CentOS.
```
which is almost correct, but the newest Fedora keeps the crypto package in `postgresql-contrib` rather than `postgresql-crypto`. We should probably slightly generalize this text to mention that crypto lib must be installed but do not be so specific what package contains it on what system because it is a moving target.outstandinghttps://gitlab.isc.org/isc-projects/stork/-/issues/832Feature Request: Documentation not clear about the syntax2022-10-13T10:32:28ZmikygeeFeature Request: Documentation not clear about the syntaxHello,
The documentation
https://stork.readthedocs.io/en/latest/install.html#setup
is not clear about syntax to use netween the parameter and the value
"STORK_REST_HOST - the IP address on which the server listen"
I know by having rea...Hello,
The documentation
https://stork.readthedocs.io/en/latest/install.html#setup
is not clear about syntax to use netween the parameter and the value
"STORK_REST_HOST - the IP address on which the server listen"
I know by having read the issues and mailing list that an equal sign should separate the parameter STORK_REST_HOST and the value defined by an IP
STORK_REST_HOST=1.1.1.1
But when I first read the documentation I was wondering if it should be an equal sign, a colon, something else...
Same for
https://stork.readthedocs.io/en/latest/install.html#agent-configuration-settings
Sometimes configuration lines end with a semi colon, here we don't know if it's the case or not.
Regardsbackloghttps://gitlab.isc.org/isc-projects/stork/-/issues/820Unify the Nginx configurations.2022-08-09T13:41:14ZSlawek FigielUnify the Nginx configurations.We have two different Nginx configuration files in the Stork repository:
- `etc/Nginx-stork.conf`
- `webui/nginx.conf`
Our documentation recommends the first file, but the second one is used to deploy the Stork demo.
We don't check if ...We have two different Nginx configuration files in the Stork repository:
- `etc/Nginx-stork.conf`
- `webui/nginx.conf`
Our documentation recommends the first file, but the second one is used to deploy the Stork demo.
We don't check if the first config is valid.
We should have only one Nginx configuration that will be recommended example and used in the demo.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/801A detailed description of an agent's installation location2022-09-06T18:51:41ZSlawek FigielA detailed description of an agent's installation locationThe installation location of an agent is missing in ARM. Currently, it's ambiguous if the agent should be installed side-by-side with the server or not. There should be a clear explanation that the agent must be installed on the machine ...The installation location of an agent is missing in ARM. Currently, it's ambiguous if the agent should be installed side-by-side with the server or not. There should be a clear explanation that the agent must be installed on the machine with Kea daemons and Kea Control Agent.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/787Consistent spelling of the BIND 9 name2022-09-06T18:51:41ZSlawek FigielConsistent spelling of the BIND 9 nameWe have inconsistent spelling of the BIND 9 in the Stork codebase and documentation.
We use:
- `bind`
- `Bind`
- `bind_9`
- `BIND 9`
- `bind9`
- `BIND9`
We need to decide how is a correct spelling in different contexts:
- in document...We have inconsistent spelling of the BIND 9 in the Stork codebase and documentation.
We use:
- `bind`
- `Bind`
- `bind_9`
- `BIND 9`
- `bind9`
- `BIND9`
We need to decide how is a correct spelling in different contexts:
- in documentation
- in docstrings and comments in code
- in function/class/variable names with `snake_case` naming convention (for lower and upper cases)
- in function/class/variable names with `kebab-case` naming convention (for lower and upper cases)
- in function/class/variable names with `camelCase` naming convention
- in function/class/variable names with `PascalCase` naming convention
We should change the spelling on the repository and wiki pages (including code guidelines).backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/750Stork Server in Demo doesn't contain packages2023-10-16T09:05:41ZSlawek FigielStork Server in Demo doesn't contain packagesOriginally written by @rgomez-eng in #736:
> We also did try to download the agent from the Stork webui of course but we get an error about problem reading `Problem reading 'webui/dist/stork/assets/pkgs' directory with packages: open we...Originally written by @rgomez-eng in #736:
> We also did try to download the agent from the Stork webui of course but we get an error about problem reading `Problem reading 'webui/dist/stork/assets/pkgs' directory with packages: open webui/dist/stork/assets/pkgs: no such file or directory`, which is weird since this image is freshly built from the `server-webui` stage in the provided Dockerfile.
The Stork in the Demo should be fully configured and operational. Currently, it doesn't contain DEB and RPM files. It's possible to include the packages after merging #709.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/696Filtering starts earlier than described in the demo guide2022-04-20T10:24:46ZSlawek FigielFiltering starts earlier than described in the demo guideThe issue was found during 1.1.0 sanity checks. [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/685#note_264800)
From demo description of the subnets (or shared networks) page:
> Note that strings shorter than 4 characters ...The issue was found during 1.1.0 sanity checks. [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/685#note_264800)
From demo description of the subnets (or shared networks) page:
> Note that strings shorter than 4 characters require you to confirm with the Enter key
It's incorrect. The filtering starts on the second character.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/513Publish Stork API docs2022-11-16T11:54:50ZTomek MrugalskiPublish Stork API docsWe do have Stork API documentation available in the Stork itself. However, during discussions with a potential contractor, a topic of the API doc availability came up. We should publish the docs somewhere, so the docs are easily accessible.We do have Stork API documentation available in the Stork itself. However, during discussions with a potential contractor, a topic of the API doc availability came up. We should publish the docs somewhere, so the docs are easily accessible.backlog