stork issueshttps://gitlab.isc.org/isc-projects/stork/-/issues2024-03-29T09:31:04Zhttps://gitlab.isc.org/isc-projects/stork/-/issues/1351gems installed by rake cannot find json dependency2024-03-29T09:31:04ZAndrei Pavelandrei@isc.orggems installed by rake cannot find json dependencyThe two gems that we keep gemfiles for, `danger` and `fpm`, cannot find its `json` dependency. Here it is for `fpm`:
```sh
$ rake build:agent_pkg
/home/andrei/work/isc/stork/tools/ruby/bin/bundle install --gemfile /home/andrei/work/isc/...The two gems that we keep gemfiles for, `danger` and `fpm`, cannot find its `json` dependency. Here it is for `fpm`:
```sh
$ rake build:agent_pkg
/home/andrei/work/isc/stork/tools/ruby/bin/bundle install --gemfile /home/andrei/work/isc/stork/rakelib/init_deps/fpm/Gemfile --path /home/andrei/work/isc/stork/tools/ruby --binstubs /home/andrei/work/isc/stork/tools/ruby/bin_bundle
[DEPRECATED] The `--path` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set --local path '/home/andrei/work/isc/stork/tools/ruby'`, and stop using this flag
[DEPRECATED] The --binstubs option will be removed in favor of `bundle binstubs --all`
Using arr-pm 0.0.12
Using backports 3.24.1
Using bundler 2.3.26
Using cabin 0.9.0
Using clamp 1.0.1
Using dotenv 2.8.1
Using insist 1.0.0
Using mustache 0.99.8
Using stud 0.0.23
Using pleaserun 0.0.32
Using rexml 3.2.6
Using fpm 1.15.1
Bundle complete! 1 Gemfile dependency, 12 gems now installed.
Bundled gems are installed into `./tools/ruby`
/home/andrei/work/isc/stork/tools/ruby/bin_bundle/fpm --version
/home/andrei/work/isc/stork/tools/ruby/ruby/3.0.0/gems/fpm-1.15.1/lib/fpm/package/python.rb:8:in `require': cannot load such file -- json (LoadError)
from /home/andrei/work/isc/stork/tools/ruby/ruby/3.0.0/gems/fpm-1.15.1/lib/fpm/package/python.rb:8:in `<top (required)>'
from /home/andrei/work/isc/stork/tools/ruby/ruby/3.0.0/gems/fpm-1.15.1/lib/fpm.rb:14:in `require'
from /home/andrei/work/isc/stork/tools/ruby/ruby/3.0.0/gems/fpm-1.15.1/lib/fpm.rb:14:in `<top (required)>'
from /home/andrei/work/isc/stork/tools/ruby/ruby/3.0.0/gems/fpm-1.15.1/bin/fpm:4:in `require'
from /home/andrei/work/isc/stork/tools/ruby/ruby/3.0.0/gems/fpm-1.15.1/bin/fpm:4:in `<top (required)>'
from /home/andrei/work/isc/stork/tools/ruby/bin_bundle/fpm:27:in `load'
from /home/andrei/work/isc/stork/tools/ruby/bin_bundle/fpm:27:in `<main>'
rake aborted!
Command failed with status (1): [/home/andrei/work/isc/stork/tools/ruby/bin...]
/home/andrei/work/isc/stork/rakelib/00_init.rake:789:in `block in <top (required)>'
Tasks: TOP => build:agent_pkg => dist/pkgs/agent-built.pkg => /home/andrei/work/isc/stork/tools/ruby/bin_bundle/fpm
(See full trace by running task with --trace)
EXIT 1
```
Adding `json` explicitly to the gemfiles solves the error.
```patch
diff --git a/rakelib/init_deps/danger/Gemfile b/rakelib/init_deps/danger/Gemfile
index ef891660..000d7a08 100644
--- a/rakelib/init_deps/danger/Gemfile
+++ b/rakelib/init_deps/danger/Gemfile
@@ -12 +12,2 @@ gem "danger-commit_lint"
+gem "json"
diff --git a/rakelib/init_deps/danger/Gemfile.lock b/rakelib/init_deps/danger/Gemfile.lock
index 38a96aee..1e0c28e2 100644
--- a/rakelib/init_deps/danger/Gemfile.lock
+++ b/rakelib/init_deps/danger/Gemfile.lock
@@ -48,2 +48,3 @@ GEM
multi_xml (>= 0.5.2)
+ json (2.7.1)
kramdown (2.4.0)
@@ -80,2 +81,3 @@ DEPENDENCIES
danger-gitlab
+ json
diff --git a/rakelib/init_deps/fpm/Gemfile b/rakelib/init_deps/fpm/Gemfile
index 0e00763b..8c37654b 100644
--- a/rakelib/init_deps/fpm/Gemfile
+++ b/rakelib/init_deps/fpm/Gemfile
@@ -7 +7,3 @@ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
gem "fpm"
+
+gem "json"
diff --git a/rakelib/init_deps/fpm/Gemfile.lock b/rakelib/init_deps/fpm/Gemfile.lock
index 0087832b..88efa171 100644
--- a/rakelib/init_deps/fpm/Gemfile.lock
+++ b/rakelib/init_deps/fpm/Gemfile.lock
@@ -17,2 +17,3 @@ GEM
insist (1.0.0)
+ json (2.7.1)
mustache (0.99.8)
@@ -33,2 +34,3 @@ DEPENDENCIES
fpm
+ json
```https://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/1293UI code coverage2024-02-13T14:38:49ZSlawek FigielUI code coverageWe have a utility to generate coverage for the backend but not for the frontend. We should fill this gap.
The development of this feature was excluded from #800.We have a utility to generate coverage for the backend but not for the frontend. We should fill this gap.
The development of this feature was excluded from #800.1.16https://gitlab.isc.org/isc-projects/stork/-/issues/1292Restore storybook plugins2024-02-13T14:37:10ZSlawek FigielRestore storybook pluginsDue to compatibility problems with the dynamic forms in Angular, we turned off some default Storybook plugins some time ago. We should restore them because they are pretty useful.
List of disabled plugins:
- `@storybook/addon-controls`...Due to compatibility problems with the dynamic forms in Angular, we turned off some default Storybook plugins some time ago. We should restore them because they are pretty useful.
List of disabled plugins:
- `@storybook/addon-controls`
- `@storybook/addon-actions`
This code was implemented originally in #800, but it is out-of-scope of that issue.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/1288404 if stork-server is installed in custom path2024-02-06T14:53:55ZAndrei Pavelandrei@isc.org404 if stork-server is installed in custom pathSteps
1. Install server in a custom location.
```sh
$ rake install:server DEST=/opt/stork-server
mkdir -p /opt/stork-server
cp -a -f dist/server/. /opt/stork-server
```
2. Start server.
```sh
$ stork-server
WARN[2024-01-30 15:16:24]...Steps
1. Install server in a custom location.
```sh
$ rake install:server DEST=/opt/stork-server
mkdir -p /opt/stork-server
cp -a -f dist/server/. /opt/stork-server
```
2. Start server.
```sh
$ stork-server
WARN[2024-01-30 15:16:24] restservice.go:354 Cannot read the base URL in the '/usr/share/stork/www/index.html' file because it is missing. If the files are located on separate machine, you need manually change the 'href' value of the <base> HTML tag to '/' error="open /usr/share/stork/www/index.html: no such file or directory"
```
3. Attempt to open the UI in browser.
> 404 page not found
Expectation was that I get served `/opt/stork-server/usr/share/stork/www/index.html` which exists.
---
Similarly, stork-server logs on startup:
```
WARN[2024-01-30 15:16:24] server.go:102 The hook directory: '/var/lib/stork-server/hooks' doesn't exist error="cannot find plugin paths in: /var/lib/stork-server/hooks: cannot list hook directory: /var/lib/stork-server/hooks: open /var/lib/stork-server/hooks: no such file or directory"
```
It would be nice if this was also looked up from the installation path and that the directory would be created on installation, so there would be no warnings by default.
This last one also happens with stork-agent.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/1251LDAP hook: Build fails on some Linux distributions2023-12-19T14:47:34ZSlawek FigielLDAP hook: Build fails on some Linux distributionsThe issue was found by @andrei during 1.14 sanity checks: https://gitlab.isc.org/isc-projects/stork/-/issues/1240#note_421471
```
Another one I had forgotten. I understand that this one as well is not a task that you usually run on a ta...The issue was found by @andrei during 1.14 sanity checks: https://gitlab.isc.org/isc-projects/stork/-/issues/1240#note_421471
```
Another one I had forgotten. I understand that this one as well is not a task that you usually run on a tarball.
rake hook:init MODULE=stork-server-ldap; rake hook:build results in error when run on a tarball. It seems like it is not picking up on DEFAULT_HOOK_DIRECTORY.
rm -f
Removing old compiled hooks...
cp go.mod go.sum /tmp/d20231205-1147463-kn7j49
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/tools/golang/go/bin/go mod edit -replace isc.org/stork=../../../../../Descărcări/sanity-checks/stork-1.14.0/backend
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/tools/golang/go/bin/go mod tidy
rake build
Building stork-server-ldap...
mkdir -p build
rm
rm: missing operand
Try 'rm --help' for more information.
rake aborted!
Command failed with status (1): [rm...]
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/hooks/stork-server-ldap/Rakefile:17:in `block in <top (required)>'
Tasks: TOP => build
(See full trace by running task with --trace)
rake aborted!
Command failed with status (1): [rake build...]
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/rakelib/90_hooks.rake:150:in `block (4 levels) in <top (required)>'
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/rakelib/90_hooks.rake:141:in `block (3 levels) in <top (required)>'
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/rakelib/90_hooks.rake:66:in `block (3 levels) in forEachHook'
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/rakelib/90_hooks.rake:65:in `chdir'
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/rakelib/90_hooks.rake:65:in `block (2 levels) in forEachHook'
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/rakelib/90_hooks.rake:46:in `chdir'
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/rakelib/90_hooks.rake:46:in `block in forEachHook'
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/rakelib/90_hooks.rake:42:in `foreach'
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/rakelib/90_hooks.rake:42:in `forEachHook'
/home/andrei/Descărcări/sanity-checks/stork-1.14.0/rakelib/90_hooks.rake:139:in `block (2 levels) in <top (required)>'
Tasks: TOP => hook:build
(See full trace by running task with --trace)
```1.16https://gitlab.isc.org/isc-projects/stork/-/issues/1250Syncing a new hook directory fails when running from tarball2023-12-19T14:43:29ZSlawek FigielSyncing a new hook directory fails when running from tarballThe issue was found by @andrei during 1.14 sanity checks: https://gitlab.isc.org/isc-projects/stork/-/issues/1240#note_421415
* If I do `rake hook:init MODULE=stork-server-ldap`, it initializes the git module correctly relative to the t...The issue was found by @andrei during 1.14 sanity checks: https://gitlab.isc.org/isc-projects/stork/-/issues/1240#note_421415
* If I do `rake hook:init MODULE=stork-server-ldap`, it initializes the git module correctly relative to the tarball content. However, if I do `rake hook:sync`, because the tarball is not a git repo, it goes all the way to the nearest parent git repository, and does some syncing there. I happen to have my home directory set up as a git repo, so I ended up with having some of my modules there modified. The task could instead check if there is a `.git` directory created at the same level as `Rakefile` first to determine if it is a tarball or a git repo. I also understand that this is not a task that you usually run on a tarball.
```
modified: .config/awesome/lain (new commits, modified content)
modified: .zprezto (modified content)
```backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/1249Problem installing danger on operating system with non-US locale2023-12-19T14:42:10ZSlawek FigielProblem installing danger on operating system with non-US localeThe issue was found by @andrei during 1.14 sanity checks: https://gitlab.isc.org/isc-projects/stork/-/issues/1240#note_421412
* I could not run system tests. I get this error on `rake systemtest`. Not sure what is wrong. Sounds like an ...The issue was found by @andrei during 1.14 sanity checks: https://gitlab.isc.org/isc-projects/stork/-/issues/1240#note_421412
* I could not run system tests. I get this error on `rake systemtest`. Not sure what is wrong. Sounds like an encoding could be enforced somewhere.
```
143.7 Bundler version 2.3.26
143.7 /app/tools/ruby/bin/bundle install --gemfile /app/rakelib/init_deps/danger/Gemfile --path /app/tools/ruby --binstubs /app/tools/ruby/bin_bundle
143.7 Preparing: /app/tools/ruby/bin_bundle/danger...
143.7 mkdir -p /app/tools/ruby/bin_bundle
143.9 /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/yaml_serializer.rb:54:in `split': invalid byte sequence in US-ASCII (ArgumentError)
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/yaml_serializer.rb:54:in `load'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/settings.rb:459:in `block in load_config'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/shared_helpers.rb:103:in `filesystem_access'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/settings.rb:455:in `load_config'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/settings.rb:91:in `initialize'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler.rb:342:in `new'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler.rb:342:in `settings'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/env.rb:20:in `report'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/friendly_errors.rb:74:in `request_issue_report_for'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/friendly_errors.rb:53:in `log_error'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/friendly_errors.rb:126:in `rescue in with_friendly_errors'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/friendly_errors.rb:118:in `with_friendly_errors'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/exe/bundle:36:in `<top (required)>'
143.9 from /app/tools/ruby/bin/bundle:25:in `load'
143.9 from /app/tools/ruby/bin/bundle:25:in `<main>'
143.9 /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/yaml_serializer.rb:54:in `split': invalid byte sequence in US-ASCII (ArgumentError)
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/yaml_serializer.rb:54:in `load'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/settings.rb:459:in `block in load_config'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/shared_helpers.rb:103:in `filesystem_access'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/settings.rb:455:in `load_config'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/settings.rb:91:in `initialize'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler.rb:342:in `new'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler.rb:342:in `settings'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/cli.rb:66:in `initialize'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/vendor/thor/lib/thor.rb:388:in `new'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/vendor/thor/lib/thor.rb:388:in `dispatch'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/cli.rb:31:in `dispatch'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/cli.rb:25:in `start'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/exe/bundle:48:in `block in <top (required)>'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/lib/bundler/friendly_errors.rb:120:in `with_friendly_errors'
143.9 from /app/tools/ruby/gems/bundler-2.3.26/exe/bundle:36:in `<top (required)>'
143.9 from /app/tools/ruby/bin/bundle:25:in `load'
143.9 from /app/tools/ruby/bin/bundle:25:in `<main>'
143.9 rake aborted!
143.9 Command failed with status (1): [/app/tools/ruby/bin/bundle install --gemfi...]
143.9 /app/rakelib/00_init.rake:795:in `block in <top (required)>'
143.9 /app/rakelib/00_init.rake:133:in `block in find_and_prepare_deps'
143.9 /app/rakelib/00_init.rake:115:in `each'
143.9 /app/rakelib/00_init.rake:115:in `find_and_prepare_deps'
143.9 /app/rakelib/00_init.rake:1113:in `block in <top (required)>'
143.9 Tasks: TOP => /app/tools/ruby/bin_bundle/danger
143.9 (See full trace by running task with --trace)
```backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/1245Deprecation warning in mockery2023-12-19T14:37:31ZSlawek FigielDeprecation warning in mockeryThe issue was found by @piotrek during [1.14 sanity checks](https://gitlab.isc.org/isc-projects/stork/-/issues/1240#note_421364).
```shell
$ rake unittest:backend
WRN DEPRECATION: use of the packages config will be the only way to gener...The issue was found by @piotrek during [1.14 sanity checks](https://gitlab.isc.org/isc-projects/stork/-/issues/1240#note_421364).
```shell
$ rake unittest:backend
WRN DEPRECATION: use of the packages config will be the only way to generate mocks in v3. Please migrate your config to use the packages feature. dry-run=false migration=https://vektra.github.io/mockery/v2.34/migrating_to_packages/ url=https://vektra.github.io/mockery/v2.34/features/#packages-configuration version=v2.34.0
```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/1227Put hook binaries outside /var by default2024-02-02T12:57:44ZSlawek FigielPut hook binaries outside /var by defaultThe problem was reported [on our mailing list](https://lists.isc.org/pipermail/stork-users/2023-November/000231.html).
The default hook directories are `/var/lib/stork-agent/hooks` and `/var/lib/stork-server/hooks`.
But the various Linu...The problem was reported [on our mailing list](https://lists.isc.org/pipermail/stork-users/2023-November/000231.html).
The default hook directories are `/var/lib/stork-agent/hooks` and `/var/lib/stork-server/hooks`.
But the various Linux distros in the `enforcing` mode disallow the libraries from the `/var` directory.
It causes the Stork hooks not to be loaded, producing the message: `failed to map segment from shared object`.1.16https://gitlab.isc.org/isc-projects/stork/-/issues/1192Starting fresh demo fails for modern docker compose2024-02-13T14:22:35ZSlawek FigielStarting fresh demo fails for modern docker composeThe issue was found during [1.13 sanity checks](https://gitlab.isc.org/isc-projects/stork/-/issues/1187#note_408649) by @slawek.
`rake demo:up` fails:
```
deep@deep:~/Downloads/artifacts (62)/stork-1.13.0$ rake demo:up CS_REPO_ACCESS_T...The issue was found during [1.13 sanity checks](https://gitlab.isc.org/isc-projects/stork/-/issues/1187#note_408649) by @slawek.
`rake demo:up` fails:
```
deep@deep:~/Downloads/artifacts (62)/stork-1.13.0$ rake demo:up CS_REPO_ACCESS_TOKEN=...
docker compose --project-directory . -f docker/docker-compose.yaml -f docker/docker-compose-premium.yaml build
[+] Building 1.9s (8/8) FINISHED docker-container:stork
=> CANCELED [server internal] booting buildkit 1.9s
=> => pulling image moby/buildkit:buildx-stable-1 1.9s
=> CANCELED [agent-kea internal] booting buildkit 1.9s
=> => pulling image moby/buildkit:buildx-stable-1 1.9s
=> CANCELED [agent-kea6 internal] booting buildkit 1.9s
=> => pulling image moby/buildkit:buildx-stable-1 1.9s
=> CANCELED [agent-kea-ha2 internal] booting buildkit 1.9s
=> => pulling image moby/buildkit:buildx-stable-1 1.9s
=> CANCELED [agent-bind9-2 internal] booting buildkit 1.9s
=> => pulling image moby/buildkit:buildx-stable-1 1.9s
=> CANCELED [kea-config-generator internal] booting buildkit 1.9s
=> => pulling image moby/buildkit:buildx-stable-1 1.7s
=> => creating container buildx_buildkit_stork0 0.2s
=> ERROR [agent-bind9 internal] booting buildkit 1.9s
=> => pulling image moby/buildkit:buildx-stable-1 1.8s
=> => creating container buildx_buildkit_stork0 0.1s
=> CANCELED [agent-kea-ha1 internal] booting buildkit 1.9s
=> => pulling image moby/buildkit:buildx-stable-1 1.9s
------
> [agent-bind9 internal] booting buildkit:
------
Error response from daemon: Conflict. The container name "/buildx_buildkit_stork0" is already in use by container "aad862ed4f9cc3c211de2308c3475379f7f5e2835d646f4a7e5f78186e717d0a". You have to remove (or rename) that container to be able to reuse that name.
rake aborted!
Command failed with status (17): [docker compose --project-directory . -f do...]
/home/deep/Downloads/artifacts (62)/stork-1.13.0/rakelib/60_docker_demo.rake:98:in `docker_up_services'
/home/deep/Downloads/artifacts (62)/stork-1.13.0/rakelib/60_docker_demo.rake:116:in `block (2 levels) in <top (required)>'
/usr/share/rubygems-integration/all/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
Tasks: TOP => demo:up
(See full trace by running task with --trace)
```
My setup:
```
$ docker version
Client:
Version: 24.0.5
API version: 1.41 (downgraded from 1.43)
Go version: go1.20.3
Git commit: 24.0.5-0ubuntu1~22.04.1
Built: Mon Aug 21 19:50:14 2023
OS/Arch: linux/amd64
Context: default
Server:
Engine:
Version: 20.10.24
API version: 1.41 (minimum version 1.12)
Go version: go1.20.7
Git commit: 5d6db84
Built: Wed Aug 23 20:55:00 2023
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.6.20
GitCommit: 2806fc1057397dbaeefbea0e4e17bddfbd388f38
runc:
Version: 1.1.5
GitCommit:
docker-init:
Version: 0.19.0
GitCommit: de40ad0
```
```
$ docker compose version
Docker Compose version v2.21.0
```
```
$ docker buildx version
github.com/docker/buildx v0.11.2 9872040
```
Workaround: Call `rake demo:build` and next `rake demo:up`
The same problem is described [on StackOverflow](https://stackoverflow.com/questions/76275277/docker-compose-cache-from-cache-to-buildx-the-container-name-buildx-buildk).outstandinghttps://gitlab.isc.org/isc-projects/stork/-/issues/1182Hooks: Enable -trimpath compiler flag2023-10-17T13:27:12ZSlawek FigielHooks: Enable -trimpath compiler flagThe Golang runtime requires the main executable, and plugins have precisely the same dependencies. The dependencies are compared by path embedded in the binaries. By default, Go uses the absolute paths.
It causes the GOPATH directory fo...The Golang runtime requires the main executable, and plugins have precisely the same dependencies. The dependencies are compared by path embedded in the binaries. By default, Go uses the absolute paths.
It causes the GOPATH directory for compiling the hook to point to the same directory for compiling the main executable. It is problematic when we compile the main Stork binary, but external developers compile a hook. They need to configure their environment exactly the same as us.
The solution is to use the `-trimpath` flag for compiling the main binary and plugins. It causes the embedded paths to be relative to the GOPATH directory. It shouldn't be visible to the end-users or have any side effects.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/1162Hadolint for Dockerfiles2023-09-19T13:45:30ZSlawek FigielHadolint for DockerfilesI propose adding the Hadolint - Docker linter to our build kit for easier following the best practices and force consistent formatting.I propose adding the Hadolint - Docker linter to our build kit for easier following the best practices and force consistent formatting.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/1161Linter and formatter for Ruby2023-09-22T10:07:43ZSlawek FigielLinter and formatter for RubyOut Rakefiles (written in Ruby) are no longer trivial. We should add the Ruby linter and formatter to force the consistent and proper coding style for these files.Out Rakefiles (written in Ruby) are no longer trivial. We should add the Ruby linter and formatter to force the consistent and proper coding style for these files.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/1157Process: Investigate and enable Pyre/mypy and Pysa, if useful2023-09-21T10:16:32ZTomek MrugalskiProcess: Investigate and enable Pyre/mypy and Pysa, if usefulAs @manu reported in his [security audit](https://gitlab.isc.org/isc-private/kea/-/wikis/Kea-Security-Review-02-2023#7-github-security-features-pyrepysa-related-to-stork), we might take a look at Pyre or mypy (type checker) and Pysa (sta...As @manu reported in his [security audit](https://gitlab.isc.org/isc-private/kea/-/wikis/Kea-Security-Review-02-2023#7-github-security-features-pyrepysa-related-to-stork), we might take a look at Pyre or mypy (type checker) and Pysa (static analyzer) that could improve our code quality.
- [ ] Pyre/mypy
- [ ] Pysa
If the tools are unsuitable, please document the reasons here and close the ticket.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/1114Replace fpm with nfpm2023-07-04T13:29:57ZSlawek FigielReplace fpm with nfpmI found a Go replacement for the `fpm` program we use to build the packages: [nfpm](https://github.com/goreleaser/nfpm).
We need to check if it can build valid APK packages. If yes, we should discuss using it instead `fpm`.
Additionall...I found a Go replacement for the `fpm` program we use to build the packages: [nfpm](https://github.com/goreleaser/nfpm).
We need to check if it can build valid APK packages. If yes, we should discuss using it instead `fpm`.
Additionally, introducing it will reduce the Ruby-related tools in the project.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/1002Run demo on RHEL92023-03-07T14:32:28ZTomek MrugalskiRun demo on RHEL9@cstrotm reported building demo on RHEL9 was really painful. We should:
- [ ] build the demo on fresh RHEL9
- [ ] update outdated dependencies (outdated docker-compose was mentioned, but there may be others)
- [ ] come up with a proposa...@cstrotm reported building demo on RHEL9 was really painful. We should:
- [ ] build the demo on fresh RHEL9
- [ ] update outdated dependencies (outdated docker-compose was mentioned, but there may be others)
- [ ] come up with a proposal how to run tests on RHEL9 (this may end up in a separate ticket)backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/895Fix golangci-lint dependency installation on alpine2022-12-06T14:47:22ZDan TheisenFix golangci-lint dependency installation on alpineWhile running `rake prepare:dev` on Alpine Linux, I discovered that the current rake script appears to be fetching a prebuilt golangci-lint tarball. This should be fixed by instead using `go install`While running `rake prepare:dev` on Alpine Linux, I discovered that the current rake script appears to be fetching a prebuilt golangci-lint tarball. This should be fixed by instead using `go install`outstandingDan TheisenDan Theisen