1. 23 Oct, 2017 6 commits
    • Gabriel Monnerat's avatar
      caddy: clean up · 6d7df7d6
      Gabriel Monnerat authored
    • Gabriel Monnerat's avatar
      caddy: compile golang 1.9 and install Caddy · efe54803
      Gabriel Monnerat authored
    • 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:
      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
        	install = your-top-level-packages
        as it was outlined above.
      [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
      /reviewed-on	 !242
      /also-needed-for !243
    • Rafael Monnerat's avatar
      Revert "Caddy 0.1" · 4e24a566
      Rafael Monnerat authored
      This reverts merge request !243
    • 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
    • eteri's avatar
  2. 20 Oct, 2017 12 commits
  3. 19 Oct, 2017 1 commit
  4. 18 Oct, 2017 2 commits
  5. 17 Oct, 2017 4 commits
  6. 13 Oct, 2017 7 commits
  7. 12 Oct, 2017 5 commits
  8. 11 Oct, 2017 3 commits