1. 04 Mar, 2021 3 commits
    • Jérome Perrin's avatar
      software/gitlab: unset $GOBIN · e0feec78
      Jérome Perrin authored
      gitaly's Makefile forcibly sets $GOPATH to install in _build
      folder. Once gitaly is built, it is expected to be in _build/bin/gitaly
      and copied from there.
      
      With 8eac67a5 (golang: Prepare for future GOPATH removal, 2021-02-26) the
      env.sh sets GOBIN, to its own $GOPATH/bin
      
      Since gitaly's build does not set $GOBIN, even if it overrides $GOPATH, the
      final bin/gitaly is not in $GOPATH/bin/gitaly (with $GOPATH from Makefile),
      but in $GOBIN/gitaly (with $GOBIN from env.sh)
      
      To prevent this, unset $GOBIN before running make, which keeps the old
      behavior of only using the $GOPATH from the Makefile
      e0feec78
    • Jérome Perrin's avatar
      Update Grafana · 71d6154a
      Jérome Perrin authored
      Update grafana, to use more recent golang. This also brings support of multi line logs in loki.
      
      See merge request nexedi/slapos!921
      71d6154a
    • Jérome Perrin's avatar
      Repman: update golang · b13ba7f7
      Jérome Perrin authored
      See merge request !925
      b13ba7f7
  2. 03 Mar, 2021 4 commits
    • Vincent Pelletier's avatar
      stack/erp5: Add support for path-based routing. · 8cfaf8d2
      Vincent Pelletier authored
      When the outside world path does not match the Zope path (typically: Web
      Site).
      8cfaf8d2
    • Łukasz Nowak's avatar
      caddy-frontend: Implement failover backend · 20c1b326
      Łukasz Nowak authored
      By adding failover url the user is able to configure special backend to use
      in case if the real backend is down.
      
      Original PoC was done by Kazuhiko SHIOZAKI <kazuhiko@nexedi.com>.
      20c1b326
    • Jérome Perrin's avatar
      software/grafana: fix loki and promtail listening on all IPs · 3f116631
      Jérome Perrin authored
      Both loki and promtail were not configured properly and listening on all IPs.
      This was partially because doc was wrong at the time, but also this was not
      done properly.
      3f116631
    • Jérome Perrin's avatar
      software/grafana: version up · 13818932
      Jérome Perrin authored
      update softwares to:
        - grafana 7.4.3
        - telegrah 1.17.3
        - influxdb 1.8.4
        - loki current master ( 2.1.0 )
      
      and components to:
        - golang 1.16
        - nodejs 14.16.0
        - yarn 1.22.10
        - python 3.7
      
      This new loki version supports parsing multi-line logs, as demonstrated in
      the updated test.
      
      Since this version we also remove cache at the end of build, which
      makes the software directory smaller and accessorily prevent test failures
      during the ldd checks from checkSoftware with some binaries in the cache.
      13818932
  3. 02 Mar, 2021 16 commits
    • Julien Muchembled's avatar
      NEO: drop support for ZODB 3 · 70d05199
      Julien Muchembled authored
      70d05199
    • Kirill Smelkov's avatar
      ZEO5 no longer requires msgpack < 0.6 starting from ZEO 5.2.2 · 78cc53de
      Kirill Smelkov authored
      https://github.com/zopefoundation/ZEO/commit/503dccb1
      
      We upgraded ZEO5 to 5.2.2 in commit 34ebf8b5 (ZEO5: v↑ (5.2.0 -> 5.2.2)), and
      so now it works with msgpack 0.6.2 provided by stack/slapos.cfg.
      78cc53de
    • Kirill Smelkov's avatar
      wendelin.core: Add support for wendelin.core 2 build · 3cfa3508
      Kirill Smelkov authored
      The component remains on wendelin.core 1, but the build environment is
      adjusted so that both (any of) wendelin.core 1 or wendelin.core 2 could
      be built:
      
      - Add zodbtools that wendelin.core 2 requires,
      - Add Go and zlib to gowork that are neede to build WCFS.
      3cfa3508
    • Kirill Smelkov's avatar
      neotest: Rework to use Go modules · 44faa493
      Kirill Smelkov authored
      GOPATH is going to go away in Go 1.17 and most of in-tree SlapOS things are
      already built using modules - including upcoming wendelin.core 2 that also
      builds/uses NEO/go. This way maintaining GOPATH-based approach becomes just
      unneccesary burden (modulo development, where it is still needed sometime
      unfortunately https://github.com/golang/go/issues/37755#issuecomment-771927771)
      44faa493
    • Kirill Smelkov's avatar
      neotest: Don't pin wendelin.core · 9fdabc46
      Kirill Smelkov authored
      What was "latest" in 2018 is outdated by now.
      -> Just use the versions that is provided by component/wendelin.core that neotest extends from.
      9fdabc46
    • Kirill Smelkov's avatar
      golang: Go modules support; Prepare to deprecate GOPATH · f8831b62
      Kirill Smelkov authored
      Add support for using Go modules to golang/gowork infrastructure:
      
      - Users can now request to install a module via gowork:install as. e.g.
        in the following example:
      
              [gowork]
              install =
                  lab.nexedi.com/kirr/neo/go/...@v0.0.0-20210103165133-f3effa6c535f
                  golang.org/x/tools/gopls@v0.4.3
                  ${helloweb:location}/go:./...
      
        The first two request to install programs from an external module at particular
        revision/version. The latter requests to install programs from locally
        cloned/checked-out module source.
      
        The documentation now talks only about programs, because "package
        installation" became unnecessary long time ago as Go toolchain uses
        right packages and recompiles things as needed automatically since
        introduction of the Go build cache in go 1.10.
      
      - The change comes accompanied by corresponding helloweb change that
        reworks it to a) become a module itself, and b) to use other modules -
        that are not explicitly cloned by buildout - so that we can be sure
        that module way of fetching/building things actually works.
      
        kirr/helloweb@a7c788ae
      
      - Non-module way - e.g. build via GOPATH - is still supported (because
        e.g. software/gitlab still uses it), but not explicitly documented and 
        scheduled to be deprecated and removed. The reason for this is that
        upstream Go is going to remove support for GOPATH and leave only
        module-based approach in Go1.17
      
        https://github.com/golang/go/issues/37755#issuecomment-771879911
      
      /cc @jerome, @luke, @tomo, @alain.takoudjou
      /reviewed-on !924
      f8831b62
    • Kirill Smelkov's avatar
      golang: Go modules support; Prepare to deprecate GOPATH · 73ff1a8d
      Kirill Smelkov authored
      Add support for using Go modules to golang/gowork infrastructure:
      
      - Users can now request to install a module via gowork:install as. e.g.
        in the following example:
      
      	[gowork]
      	install =
      	    lab.nexedi.com/kirr/neo/go/...@v0.0.0-20210103165133-f3effa6c535f
      	    golang.org/x/tools/gopls@v0.4.3
      	    ${helloweb:location}/go:./...
      
        The first two request to install programs from an external module at particular
        revision/version. The latter requests to install programs from locally
        cloned/checked-out module source.
      
        The documentation now talks only about programs, because "package
        installation" became unnecessary long time ago as Go toolchain uses
        right packages and recompiles things as needed automatically since
        introduction of the Go build cache in go 1.10.
      
      - The change comes accompanied by corresponding helloweb change that
        reworks it to a) become a module itself, and b) to use other modules -
        that are not explicitly cloned by buildout - so that we can be sure
        that module way of fetching/building things actually works.
      
        kirr/helloweb@a7c788ae
      
      - Non-module way - e.g. build via GOPATH - is still supported (because
        e.g. software/gitlab still uses it), but not explicitly documented and
        scheduled to be deprecated and removed. The reason for this is that
        upstream Go is going to remove support for GOPATH and leave only
        module-based approach in Go1.17
      
        https://github.com/golang/go/issues/37755#issuecomment-771879911
      73ff1a8d
    • Kirill Smelkov's avatar
      golang: Make gowork.install optional · 0f72fe8c
      Kirill Smelkov authored
      Some software releases - e.g. wendelin.core - only use ${go:exe} and
      does not put anything into ${gowork:install}.
      0f72fe8c
    • Kirill Smelkov's avatar
      golang: Rework [gowork] documentation a bit · e2a4b391
      Kirill Smelkov authored
      Put emphasis on that gowork defines Go workspace and explain first
      settings that are related to that definition. Only after that say how to
      use gowork.install. The reason for this is that gowork.install will
      become optional in the next patch.
      e2a4b391
    • Kirill Smelkov's avatar
      helloweb: Drop gowork.cfg · 9ea7e5df
      Kirill Smelkov authored
      gowork.cfg idea is to specify a GOPATH snapshot with a list of
      repositories and their revisions. GOPATH way of building things is going
      to go away and we'll soon switch default mode to build go things to do
      so via Go modules.
      
      Refactor helloweb a bit before doing that as a preparatory step.
      9ea7e5df
    • Vincent Pelletier's avatar
      software-slapos-sr-testing: Extend stack/caucase . · 75c59ea6
      Vincent Pelletier authored
      This allows factorising its version pins.
      75c59ea6
    • Vincent Pelletier's avatar
      stack/caucase: Update egg pins for caucase 0.9.9 release. · f59a9efe
      Vincent Pelletier authored
      Update PEM to the latest available version.
      f59a9efe
    • Jérome Perrin's avatar
      component/nodejs: new version 14.16.0 · 20abfb99
      Jérome Perrin authored
      20abfb99
    • Jérome Perrin's avatar
      software/repman: extend a bit test coverage · 19a3b217
      Jérome Perrin authored
      test we can actually log in to repman and that hte monitoring API report
      a cluster as up
      19a3b217
    • Jérome Perrin's avatar
      software/repman: use default golang version · 0d98364b
      Jérome Perrin authored
      no need to stick to an old EOL version
      0d98364b
    • Jérome Perrin's avatar
      stack/nodejs: add yarn · cb334146
      Jérome Perrin authored
      Instead of having softwares install yarn, unify this in nodejs stack.
      
      Yarn usage is similar to nodejs usage, if a specific version is needed,
      software should use macro to expose which yarn version to use, example:
      
          [yarn]
          <= yarn-1.17.3
      
      Then sections can use yarn by having ${yarn:location}/bin/ in their path.
      
      yarn will use the default [nodejs], so to another nodejs version, the same
      pattern can be used:
      
          [nodejs]
          <= nodejs-10.6.0
      cb334146
  4. 01 Mar, 2021 8 commits
    • Thomas Gambier's avatar
      component/gmp: version up and disable assembly · 9e4711b8
      Thomas Gambier authored
      Since gmp is used by nft and nft is used by firewalld which is included
      in slapos-node package, we need to have support for all CPU (disable-assembly).
      Otherwise, you can see this kind of errors in dmesg:
      
      firewalld[16932] trap invalid opcode ip:7f5f26ad61fb sp:7fff95cf7480 error:0 in libgmp.so.10.3.1[7f5f26ac7000+51000]
      
      Note that --host=none-pc-linux-gnu is needed to enable the shared libraries.
      9e4711b8
    • Thomas Gambier's avatar
      9f7db538
    • Thomas Gambier's avatar
      component/slapos: remove cliff version pin · a715cf4a
      Thomas Gambier authored
      We need the newest version anyway and it does not trigger a problem in OBS
      a715cf4a
    • Xavier Thompson's avatar
      software/theia: Select free ports automatically · eb5d675c
      Xavier Thompson authored
      Changes:
      - Add comments and reorganise instance.cfg.in for clarity
      - Select free ports instead of hardcoded ports
      - Upgrade to slapos.core 1.6.5 to prefix forwarded requests
      
      This makes it possible to recursively nest theias into theias.
      
      See merge request nexedi/slapos!919
      eb5d675c
    • Vincent Pelletier's avatar
      cf47beb9
    • Kirill Smelkov's avatar
      golang: Break future gowork ⇄ go-git-package cycle · e11efc27
      Kirill Smelkov authored
      Consider a Go package that is defined via go-git-package, for example
      
          [helloweb]
          <= go-git-package
          go.importpath = lab.nexedi.com/nexedi/helloweb
          repository    = https://lab.nexedi.com/nexedi/helloweb.git
      
      Currently, since go-git-package references ${gowork:src}, it creates
      helloweb -> gowork dependency. gowork, in turn, depends on
      gowork.goinstall, which gets list of things to install from ${gowork:install}.
      
      Currently we put only plain strings into ${gowork.install}, e.g.
      
          [gowork]
          install =
             lab.nexedi.com/nexedi/helloweb/go/...
      
      but for Go modules support and for properly expressing what depends on what,
      we'll want in the next patch to be able to specify something like
      
          [gowork]
          install =
             ${helloweb:location}/go:./...
      
      which will create helloweb ⇄ gowork cycle.
      
      Unfortunately buildout does not detect nor report an error for such cycles, and
      simply processes parts in an order, which leads to situation where e.g.
      helloweb was not yet cloned, but gowork.goinstall tries to `go install` it and
      complains "no such helloweb directory".
      
      -> Fix it by leaving gowork to use by component/golang/ users, and putting
      settings about where gowork directories is into underlying gowork.dir section.
      e11efc27
    • Vincent Pelletier's avatar
      software/html5as: Fix md5sum. · db640aa7
      Vincent Pelletier authored
      Not sure which commit broke it, but this diff is now polluting my commits.
      db640aa7
    • Kirill Smelkov's avatar
      golang: Prepare for future GOPATH removal · 8eac67a5
      Kirill Smelkov authored
      GOPATH is going to be removed in Go1.17 (see e.g. https://github.com/golang/go/issues/37755#issuecomment-771879911).
      
      -> Prevent programs suddenly become installed into $HOME/go/bin instead of
      gowork/bin, and mod cache to become something like $HOME/go/... instead of
      being kept under gowork/
      
      No change in behaviour for Go ≤ 1.16
      8eac67a5
  5. 26 Feb, 2021 8 commits
  6. 25 Feb, 2021 1 commit