1. 24 Oct, 2017 1 commit
  2. 23 Oct, 2017 4 commits
    • Kirill Smelkov's avatar
      golang: Infrastructure to build Go workspaces / projects · 1b540151
      Kirill Smelkov authored
      In Go world development workflow is organized around so-called workspace
      where multiple packages can be installed / worked on etc. The following
      page describes Go workspaces:
      
      https://golang.org/doc/code.html
      
      A new [gowork] section and infrastructure around it is introduced.
      Quoting code:
      
          # gowork is a top-level section representing workspace
          #
          # users should add `install` field to [gowork] to describe packages they want to
          # be installed (+ automatically their dependencies are installed too). e.g.
          #
          #   [gowork]
          #   install =
          #       lab.nexedi.com/kirr/neo/go/...  \
          #       github.com/pkg/profile          \
          #       golang.org/x/perf/cmd/benchstat
      
      The way it all works inside is:
      
      - gowork organizes to create go.work/ directory in buildout root
      - inside it creates env.sh which when sources in shell adjusts all paths
        so that appropriate go compiler is in path, GOPATH is also set
        appropriately, etc - in other words everything needs for using/working
        on this workspace is setup in the environment.
      - in actual user software profile the list of Go projects which needs to
        be installed by SlapOS has to be listed. The [gowork] machinery takes
        care about git-cloning these projects and `go install`s them after.
      - by SlapOS design builds have to be reproducible and so every component
        state/version has to be fixed.
      
        A convenient helper (gowork-snapshot) to get snapshot of git go
        packages installed with their exact revisions is added. This should be
        used to automatically (re-)generate list of go git repositories &
        their pinning for a workspace.
      
      For a new Go project that needs to be slaposified the workflow should be:
      
      - first get a project into working state via any convenient way (`go get`, etc.)
      - generate list of go packages & their pinning with gowork-snapshot
      - extend golang/buildout.cfg and in project software profile add
      
      	[gowork]
        	install = your-top-level-packages
      
        as it was outlined above.
      
      P.S.
      
      [golang] is removed because
      
      1. it is not used anywhere in slapos.git tree, and
      2. the canonical way to work on go projects from now on will be to use
         [gowork]. There latest go version is preconfigured, but users can
         override it to some particular other version in their projects as they
         need.
      
      /reviewed-on	 nexedi/slapos!242
      /also-needed-for nexedi/slapos!243
      1b540151
    • Rafael Monnerat's avatar
      Revert "Caddy 0.1" · 4e24a566
      Rafael Monnerat authored
      This reverts merge request !243
      4e24a566
    • Eteri's avatar
      Caddy 0.1 · 471bcbee
      Eteri authored
      The first proof of concept  of Caddy in Slapos. 
      
      For now, everything is inside software/caddy but in the next merge request we will move to stack. 
      
      @rafael @romain 
      
      
      /reviewed-on !243
      471bcbee
    • eteri's avatar
      8121bc33
  3. 20 Oct, 2017 12 commits
  4. 19 Oct, 2017 1 commit
  5. 18 Oct, 2017 2 commits
  6. 17 Oct, 2017 4 commits
  7. 13 Oct, 2017 7 commits
  8. 12 Oct, 2017 5 commits
  9. 11 Oct, 2017 4 commits