Compare commits

..
4 Commits
Author SHA1 Message Date
Raj Chaudhuri d08787902a Add release v2.8.3 2024-03-08 00:03:10 +05:30
Raj Chaudhuri a752f65658 All images other than V2 docker plugin added to scan process 2024-03-07 23:09:03 +05:30
Raj Chaudhuri e50040883f Docker API client version bumped to 1.24 everywhere 2024-03-07 19:27:12 +05:30
Raj Chaudhuri 55a46992d4 Release 2.8.2 cosmetic corrections
Minor mistakes in README.md and the scan report corrected.
2024-03-04 00:52:48 +05:30
18 changed files with 241 additions and 74 deletions

No files matched your search

+6
View File
@@ -1,3 +1,9 @@
## Release 2.8.3
The docker API client version, used by the proxy package and the weaveutil command, was bumped from 1.18 to 1.24. As of March 2024, Docker API versions below 1.24 are deprecated. This means that the minimum supported Docker version is now 1.12.0.
Provision was made in weaveutil program and the weave script to override the API version used, via the environment variable `DOCKER_API_VERSION`. The same variable is used by standard docker clients.
## Release 2.8.2
This is the first release since forking from weaveworks/weave. While no new functionality has been added, there have been many changes.
+1 -1
View File
@@ -4,7 +4,7 @@ This repository contains a fork of Weave Net, the first product developed by Wea
[![Go Report Card](https://goreportcard.com/badge/github.com/rajch/weave)](https://goreportcard.com/report/github.com/rajch/weave)
[![Docker Pulls](https://img.shields.io/docker/pulls/rajchaudhuri/weave-kube)](https://hub.docker.com/r/rajchaudhuri/weave-kube)
![GitHub release (latest by date)](https://img.shields.io/github/v/release/rajch/ttws?include_prereleases)
![GitHub release (latest by date)](https://img.shields.io/github/v/release/rajch/weave?include_prereleases)
[![Unique vulnerability count in all images](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Frajch%2Fweave%2Fmaster%2Freweave%2Fscans%2Fbadge.json&label=Vulnerabilty%20count)](reweave/scans/report.md)
The history of the ReWeave effort can be found in [HISTORY.md](HISTORY.md).
+1 -1
View File
@@ -14,7 +14,7 @@ func containerAddrs(args []string) error {
}
bridgeName := args[0]
client, err := docker.NewVersionedClientFromEnv("1.18")
client, err := newVersionedDockerClientFromEnv(defaulDockerAPIVersion)
if err != nil {
return err
}
+6 -6
View File
@@ -9,7 +9,7 @@ import (
)
func inspectContainer(containerNameOrID string) (*docker.Container, error) {
c, err := docker.NewVersionedClientFromEnv("1.18")
c, err := newVersionedDockerClientFromEnv(defaulDockerAPIVersion)
if err != nil {
return nil, fmt.Errorf("unable to connect to docker: %s", err)
}
@@ -174,7 +174,7 @@ func parseContainerArgs(args []string) docker.CreateContainerOptions {
func runContainer(args []string) error {
containerOptions := parseContainerArgs(args)
c, err := docker.NewVersionedClientFromEnv("1.18")
c, err := newVersionedDockerClientFromEnv(defaulDockerAPIVersion)
if err != nil {
return fmt.Errorf("unable to connect to docker: %s", err)
}
@@ -206,7 +206,7 @@ func listContainers(args []string) error {
cmdUsage("list-containers", "[<label>]")
}
c, err := docker.NewVersionedClientFromEnv("1.18")
c, err := newVersionedDockerClientFromEnv(defaulDockerAPIVersion)
if err != nil {
return fmt.Errorf("unable to connect to docker: %s", err)
}
@@ -233,7 +233,7 @@ func stopContainer(args []string) error {
cmdUsage("stop-container", "<container-id> [<container-id2> ...]")
}
c, err := docker.NewVersionedClientFromEnv("1.18")
c, err := newVersionedDockerClientFromEnv(defaulDockerAPIVersion)
if err != nil {
return fmt.Errorf("unable to connect to docker: %s", err)
}
@@ -252,7 +252,7 @@ func killContainer(args []string) error {
cmdUsage("kill-container", "<container-id> [<container-id2> ...]")
}
c, err := docker.NewVersionedClientFromEnv("1.18")
c, err := newVersionedDockerClientFromEnv(defaulDockerAPIVersion)
if err != nil {
return fmt.Errorf("unable to connect to docker: %s", err)
}
@@ -288,7 +288,7 @@ func removeContainer(args []string) error {
}
}
c, err := docker.NewVersionedClientFromEnv("1.18")
c, err := newVersionedDockerClientFromEnv(defaulDockerAPIVersion)
if err != nil {
return fmt.Errorf("unable to connect to docker: %s", err)
}
+23
View File
@@ -0,0 +1,23 @@
package main
import (
"os"
docker "github.com/fsouza/go-dockerclient"
)
const defaulDockerAPIVersion = "1.24"
const swarmDockerAPIVersion = "1.26"
// newVersionedDockerClientFromEnv offers some control over the version
// of the docker client weaveutil uses for a number of operations.
// The version specified by the caller, usually defaulDockerAPIVersion,
// may be overridden by setting an environment variable called
// DOCKER_API_VERSION.
func newVersionedDockerClientFromEnv(apiVersionString string) (*docker.Client, error) {
overridenAPIVersion, ok := os.LookupEnv("DOCKER_API_VERSION")
if ok && overridenAPIVersion != "" {
apiVersionString = overridenAPIVersion
}
return docker.NewVersionedClientFromEnv(apiVersionString)
}
+2
View File
@@ -90,6 +90,8 @@ func usage() {
for cmd := range commands {
fmt.Fprintln(os.Stderr, cmd)
}
fmt.Fprintln(os.Stderr)
fmt.Fprintf(os.Stderr, "Set an environment variable called DOCKER_API_VERSION to control the API version used.\nDefault is: %v\n", defaulDockerAPIVersion)
}
func cmdUsage(cmd string, usage string) {
+3 -3
View File
@@ -75,9 +75,9 @@ func isDockerPluginEnabled(args []string) error {
}
func newDockerClient() (*docker.Client, error) {
// API 1.21 is the first version that supports docker network
// commands
c, err := docker.NewVersionedClientFromEnv("1.21")
// API 1.21 was the first version that supports docker network
// commands. In March 2024, the minimum suupported API is 1.24
c, err := newVersionedDockerClientFromEnv(defaulDockerAPIVersion)
if err != nil {
return nil, fmt.Errorf("unable to connect to docker: %s", err)
}
+2 -4
View File
@@ -4,12 +4,10 @@ import (
"fmt"
"strings"
"github.com/fsouza/go-dockerclient"
docker "github.com/fsouza/go-dockerclient"
"github.com/pkg/errors"
)
const DOCKER_API_VERSION = "1.26"
func swarmManagerPeers(args []string) error {
info, err := dockerInfo()
if err != nil {
@@ -32,7 +30,7 @@ func swarmManagerPeers(args []string) error {
}
func dockerInfo() (*docker.DockerInfo, error) {
client, err := docker.NewVersionedClientFromEnv(DOCKER_API_VERSION)
client, err := newVersionedDockerClientFromEnv(swarmDockerAPIVersion)
if err != nil {
return nil, errors.Wrap(err, "docker.NewVersionedClientFromEnv")
}
+1 -1
View File
@@ -15,7 +15,7 @@ func createVolumeContainer(args []string) error {
label := args[2]
bindMounts := args[3:]
c, err := docker.NewVersionedClientFromEnv("1.18")
c, err := newVersionedDockerClientFromEnv(defaulDockerAPIVersion)
if err != nil {
return fmt.Errorf("unable to connect to docker: %s", err)
}
+16 -1
View File
@@ -2,7 +2,10 @@ package proxy
import (
"net/http"
"slices"
"strings"
docker "github.com/fsouza/go-dockerclient"
)
type createExecInterceptor struct{ proxy *Proxy }
@@ -18,7 +21,19 @@ func (i *createExecInterceptor) InterceptRequest(r *http.Request) error {
return err
}
if _, hasWeaveWait := container.Volumes["/w"]; !hasWeaveWait {
// The .Volumes property seems to have been replaced with .Mounts in Docker
// API 1.20.
// .Volumes was a list, where the key was the mount path or destination
// .Mounts is an array of objects, where the .Destination property
// corresponds to the old .Volumes list key.
//
// if _, hasWeaveWait := container.Volumes["/w"]; !hasWeaveWait {
// return nil
// }
mountIndex := slices.IndexFunc(container.Mounts, func(m docker.Mount) bool {
return m.Destination == "/w"
})
if mountIndex == -1 {
return nil
}
+42 -6
View File
@@ -9,6 +9,7 @@ import (
"os"
"path/filepath"
"regexp"
"slices"
"strings"
"sync"
"syscall"
@@ -125,6 +126,16 @@ func (j attachJob) Stop() {
j.timer.Stop()
}
const defaulDockerAPIVersion = "1.24"
func dockerAPIVersion() string {
overridenAPIVersion, ok := os.LookupEnv("DOCKER_API_VERSION")
if ok && overridenAPIVersion != "" {
return overridenAPIVersion
}
return defaulDockerAPIVersion
}
func StubProxy(c Config) (*Proxy, error) {
p := &Proxy{
Config: c,
@@ -139,7 +150,14 @@ func StubProxy(c Config) (*Proxy, error) {
// to insulate ourselves from breaking changes to the API, as
// happened in 1.20 (Docker 1.8.0) when the presentation of
// volumes changed in `inspect`.
client, err := weavedocker.NewVersionedClient(c.DockerHost, "1.18")
// Updated in March 2024: We can't do that any more. Protocol
// version has to be updated to minimum 1.24.
// The presentation of volumes aspect has been handled later in
// this file. There may be other breaking changes if we change
// the protocol again, so will wait and watch.
// The default, 1.24, can be overridden using an environment
// variable called DOCKER_API_VERSION.
client, err := weavedocker.NewVersionedClient(c.DockerHost, dockerAPIVersion())
if err != nil {
return nil, err
}
@@ -212,15 +230,33 @@ func (proxy *Proxy) findVolume(v string) (string, error) {
return "", fmt.Errorf("Could not find the weavewait volume: %s", err)
}
if container.Volumes == nil {
return "", fmt.Errorf("Could not find the weavewait volume")
// The .Volumes property seems to have been replaced with .Mounts in Docker
// API 1.20.
// .Volumes was a list, where the key was the mount path or destination
// .Mounts is an array of objects, where the .Destination property
// corresponds to the old .Volumes list key.
//
// if container.Volumes == nil {
// return "", fmt.Errorf("Could not find the weavewait volume - no volumes : %+v", container)
// }
//
// volume, ok := container.Volumes[v]
// if !ok {
// return "", fmt.Errorf("Could not find the weavewait volume named '%v' : %+v", v, container)
// }
mounts := container.Mounts
if mounts == nil {
return "", fmt.Errorf("Could not find the weavewait volume - no volumes : %+v", container)
}
volume, ok := container.Volumes[v]
if !ok {
return "", fmt.Errorf("Could not find the weavewait volume")
mountIndex := slices.IndexFunc(mounts, func(m docker.Mount) bool {
return m.Destination == v
})
if mountIndex < 0 {
return "", fmt.Errorf("Could not find the weavewait volume named '%v' : %+v", v, container)
}
volume := container.Mounts[mountIndex].Name
return volume, nil
}
+25 -1
View File
@@ -2,7 +2,31 @@
All changes made to the weave net codebase during the reweave effort will be documented in this file.
## 2.8.2 latest
## 2.8.3
### Changed
* Changed version in `reweave/Makefile` to 2.8.3
* Modified reweave and main CHANGELOG.md
* Modified the `weave` script
## 2.8.3-beta1 (a752f656)
### Changed
* The docker API client version, used by the proxy package and the weaveutil command, was bumped from 1.18 to 1.24. As of March 2024, Docker API versions below 1.24 are deprecated. This means that the minimum supported Docker version is now 1.12.0
* The scan report now scans all images other than the V2 Docker plugin
### Added
* Provision was made in weaveutil program and the weave script to override the API version used, via the environment variable `DOCKER_API_VERSION`. The same variable is used by standard docker clients
### Fixed
* Fixed `proxy.go` in the proxy package to handle changes in the Docker API. In the 1.24 API, container objects expose a `.Mounts` property rather than a `.Volumes` property.
* The `weave` script was modified to add a `-t` switch when invoking functionality inside a container. This ensures that output is visible even when using the Weave docker proxy
## 2.8.2 (7b087168)
### Changed
+1 -1
View File
@@ -1,4 +1,4 @@
IMAGE_VERSION ?= 2.8.2
IMAGE_VERSION ?= 2.8.3
REGISTRY_USER ?= rajchaudhuri
ALPINE_BASEIMAGE ?= alpine:3.19.1
+79 -4
View File
@@ -1,11 +1,14 @@
# Vulnerability Report
Report date: 2024-03-03
```
Report date: 2024-03-08
Unique vulnerability count: 14
Images version: 2.8.2
Images version: 2.8.3
```
## Scanner Details
```
Application: grype
Version: 0.74.7
BuildDate: 2024-02-26T18:24:14Z
@@ -16,11 +19,13 @@ GoVersion: go1.21.7
Compiler: gc
Syft Version: v0.105.1
Supported DB Schema: 5
```
## Vulnerabilities
weave-kube: (14)
### weave-kube: (14)
```
NAME INSTALLED FIXED-IN TYPE VULNERABILITY SEVERITY
busybox 1.36.1-r15 apk CVE-2023-42366 Medium
busybox 1.36.1-r15 apk CVE-2023-42365 Medium
@@ -36,9 +41,11 @@ ssl_client 1.36.1-r15 apk CVE-2023-42366 Medium
ssl_client 1.36.1-r15 apk CVE-2023-42365 Medium
ssl_client 1.36.1-r15 apk CVE-2023-42364 Medium
ssl_client 1.36.1-r15 apk CVE-2023-42363 Medium
```
weave-npc: (12)
### weave-npc: (12)
```
NAME INSTALLED FIXED-IN TYPE VULNERABILITY SEVERITY
busybox 1.36.1-r15 apk CVE-2023-42366 Medium
busybox 1.36.1-r15 apk CVE-2023-42365 Medium
@@ -52,3 +59,71 @@ ssl_client 1.36.1-r15 apk CVE-2023-42366 Medium
ssl_client 1.36.1-r15 apk CVE-2023-42365 Medium
ssl_client 1.36.1-r15 apk CVE-2023-42364 Medium
ssl_client 1.36.1-r15 apk CVE-2023-42363 Medium
```
### weave: (14)
```
NAME INSTALLED FIXED-IN TYPE VULNERABILITY SEVERITY
busybox 1.36.1-r15 apk CVE-2023-42366 Medium
busybox 1.36.1-r15 apk CVE-2023-42365 Medium
busybox 1.36.1-r15 apk CVE-2023-42364 Medium
busybox 1.36.1-r15 apk CVE-2023-42363 Medium
busybox-binsh 1.36.1-r15 apk CVE-2023-42366 Medium
busybox-binsh 1.36.1-r15 apk CVE-2023-42365 Medium
busybox-binsh 1.36.1-r15 apk CVE-2023-42364 Medium
busybox-binsh 1.36.1-r15 apk CVE-2023-42363 Medium
curl 8.5.0-r0 apk CVE-2024-0853 Medium
libuv 1.47.0-r0 apk CVE-2024-24806 High
ssl_client 1.36.1-r15 apk CVE-2023-42366 Medium
ssl_client 1.36.1-r15 apk CVE-2023-42365 Medium
ssl_client 1.36.1-r15 apk CVE-2023-42364 Medium
ssl_client 1.36.1-r15 apk CVE-2023-42363 Medium
```
### weaveexec: (14)
```
NAME INSTALLED FIXED-IN TYPE VULNERABILITY SEVERITY
busybox 1.36.1-r15 apk CVE-2023-42366 Medium
busybox 1.36.1-r15 apk CVE-2023-42365 Medium
busybox 1.36.1-r15 apk CVE-2023-42364 Medium
busybox 1.36.1-r15 apk CVE-2023-42363 Medium
busybox-binsh 1.36.1-r15 apk CVE-2023-42366 Medium
busybox-binsh 1.36.1-r15 apk CVE-2023-42365 Medium
busybox-binsh 1.36.1-r15 apk CVE-2023-42364 Medium
busybox-binsh 1.36.1-r15 apk CVE-2023-42363 Medium
curl 8.5.0-r0 apk CVE-2024-0853 Medium
libuv 1.47.0-r0 apk CVE-2024-24806 High
ssl_client 1.36.1-r15 apk CVE-2023-42366 Medium
ssl_client 1.36.1-r15 apk CVE-2023-42365 Medium
ssl_client 1.36.1-r15 apk CVE-2023-42364 Medium
ssl_client 1.36.1-r15 apk CVE-2023-42363 Medium
```
### weavedb: (0)
```
No vulnerabilities found
```
### network-tester: (14)
```
NAME INSTALLED FIXED-IN TYPE VULNERABILITY SEVERITY
busybox 1.36.1-r15 apk CVE-2023-42366 Medium
busybox 1.36.1-r15 apk CVE-2023-42365 Medium
busybox 1.36.1-r15 apk CVE-2023-42364 Medium
busybox 1.36.1-r15 apk CVE-2023-42363 Medium
busybox-binsh 1.36.1-r15 apk CVE-2023-42366 Medium
busybox-binsh 1.36.1-r15 apk CVE-2023-42365 Medium
busybox-binsh 1.36.1-r15 apk CVE-2023-42364 Medium
busybox-binsh 1.36.1-r15 apk CVE-2023-42363 Medium
curl 8.5.0-r0 apk CVE-2024-0853 Medium
libuv 1.47.0-r0 apk CVE-2024-24806 High
ssl_client 1.36.1-r15 apk CVE-2023-42366 Medium
ssl_client 1.36.1-r15 apk CVE-2023-42365 Medium
ssl_client 1.36.1-r15 apk CVE-2023-42364 Medium
ssl_client 1.36.1-r15 apk CVE-2023-42363 Medium
```
-15
View File
@@ -1,15 +0,0 @@
NAME INSTALLED FIXED-IN TYPE VULNERABILITY SEVERITY
busybox 1.36.1-r15 apk CVE-2023-42366 Medium
busybox 1.36.1-r15 apk CVE-2023-42365 Medium
busybox 1.36.1-r15 apk CVE-2023-42364 Medium
busybox 1.36.1-r15 apk CVE-2023-42363 Medium
busybox-binsh 1.36.1-r15 apk CVE-2023-42366 Medium
busybox-binsh 1.36.1-r15 apk CVE-2023-42365 Medium
busybox-binsh 1.36.1-r15 apk CVE-2023-42364 Medium
busybox-binsh 1.36.1-r15 apk CVE-2023-42363 Medium
curl 8.5.0-r0 apk CVE-2024-0853 Medium
libuv 1.47.0-r0 apk CVE-2024-24806 High
ssl_client 1.36.1-r15 apk CVE-2023-42366 Medium
ssl_client 1.36.1-r15 apk CVE-2023-42365 Medium
ssl_client 1.36.1-r15 apk CVE-2023-42364 Medium
ssl_client 1.36.1-r15 apk CVE-2023-42363 Medium
-13
View File
@@ -1,13 +0,0 @@
NAME INSTALLED FIXED-IN TYPE VULNERABILITY SEVERITY
busybox 1.36.1-r15 apk CVE-2023-42366 Medium
busybox 1.36.1-r15 apk CVE-2023-42365 Medium
busybox 1.36.1-r15 apk CVE-2023-42364 Medium
busybox 1.36.1-r15 apk CVE-2023-42363 Medium
busybox-binsh 1.36.1-r15 apk CVE-2023-42366 Medium
busybox-binsh 1.36.1-r15 apk CVE-2023-42365 Medium
busybox-binsh 1.36.1-r15 apk CVE-2023-42364 Medium
busybox-binsh 1.36.1-r15 apk CVE-2023-42363 Medium
ssl_client 1.36.1-r15 apk CVE-2023-42366 Medium
ssl_client 1.36.1-r15 apk CVE-2023-42365 Medium
ssl_client 1.36.1-r15 apk CVE-2023-42364 Medium
ssl_client 1.36.1-r15 apk CVE-2023-42363 Medium
+27 -14
View File
@@ -5,6 +5,7 @@ set -e
# required.
: "${IMAGE_VERSION:=}"
: "${REGISTRY_USER:=}"
: "${IMAGE_LIST:=weave-kube weave-npc weave weaveexec weavedb network-tester}"
if [ -z "${IMAGE_VERSION}" ] || [ -z "${REGISTRY_USER}" ] ; then
>&2 echo "Please provide valid values for IMAGE_VERSION and REGISTRY_USER."
@@ -13,11 +14,6 @@ fi
echo "Scanning images and collecting data..."
# Currently, we are interested only in the weave-kube and weave-npc
# images.
WEAVE_KUBE_IMAGE="${REGISTRY_USER}/weave-kube:${IMAGE_VERSION}"
WEAVE_NPC_IMAGE="${REGISTRY_USER}/weave-npc:${IMAGE_VERSION}"
# Get directory of script file
a="/$0"; a="${a%/*}"; a="${a:-.}"; a="${a##/}/"; BINDIR=$(cd "$a"; pwd)
@@ -26,32 +22,49 @@ SCANDIR="${BINDIR}/../scans"
mkdir -p "${SCANDIR}"
# Scan images
grype "${WEAVE_KUBE_IMAGE}" --add-cpes-if-none >"${SCANDIR}/weave-kube-list-vulns.txt"
grype "${WEAVE_NPC_IMAGE}" --add-cpes-if-none >"${SCANDIR}/weave-npc-list-vulns.txt"
for im in ${IMAGE_LIST};do
grype "${REGISTRY_USER}/${im}:${IMAGE_VERSION}" --add-cpes-if-none >"${SCANDIR}/${im}-list-vulns.txt"
done
UNIQUECOUNT=$(tail -n +2 -q "${SCANDIR}/weave-npc-list-vulns.txt" "${SCANDIR}/weave-kube-list-vulns.txt" | sort -u | wc -l)
#UNIQUECOUNT=$(tail -n +2 -q "${SCANDIR}/weave-npc-list-vulns.txt" "${SCANDIR}/weave-kube-list-vulns.txt" | sort -u | wc -l)
UNIQUECOUNT=$(tail -n +2 -q "${SCANDIR}"/*-list-vulns.txt | sort -u | wc -l)
BADGECOLOR="blue"
if [ "$UNIQUECOUNT" -gt "0" ]; then
BADGECOLOR="orange"
fi
echo "Generating report..."
# Produce report
printf "# Vulnerability Report\n\n" > "${SCANDIR}/report.md"
{
printf "\`\`\`\n"
printf "Report date: %s\n" "$(date +'%Y-%m-%d')"
printf "Unique vulnerability count: %s\n" "${UNIQUECOUNT}"
#tail -n +2 -q "${SCANDIR}/weave-npc-list-vulns.txt" "${SCANDIR}/weave-kube-list-vulns.txt" | sort -u | wc -l
printf "Images version: %s\n" "${IMAGE_VERSION}"
printf "\`\`\`\n"
printf "\n## Scanner Details\n\n"
printf "\`\`\`\n"
grype version
printf "\n## Vulnerabilities\n\nweave-kube: (%s) \n\n" "$(tail +2 "${SCANDIR}/weave-kube-list-vulns.txt" | wc -l)"
cat "${SCANDIR}/weave-kube-list-vulns.txt"
printf "\nweave-npc: (%s)\n\n" "$(tail +2 "${SCANDIR}/weave-npc-list-vulns.txt" | wc -l)"
cat "${SCANDIR}/weave-npc-list-vulns.txt"
printf "\`\`\`\n"
printf "\n## Vulnerabilities\n\n"
for im in ${IMAGE_LIST};do
printf "### ${im}: (%s) \n\n" "$(tail +2 "${SCANDIR}/${im}-list-vulns.txt" | wc -l)"
printf "\`\`\`\n"
cat "${SCANDIR}/${im}-list-vulns.txt"
printf "\`\`\`\n\n"
done
} >> "${SCANDIR}/report.md"
rm -f "${SCANDIR}"/*-list-vulns.txt
echo "Generating badge..."
# Produce Vulnerability Count badge json for README
cat <<EOBADGE > "${SCANDIR}/badge.json"
{"schemaVersion": 1, "label": "Vulnerabilty count", "message": "${UNIQUECOUNT}", "color": "${BADGECOLOR}"}
EOBADGE
EOBADGE
echo "Done."
+6 -3
View File
@@ -3,16 +3,17 @@ set -e
[ -n "$WEAVE_DEBUG" ] && set -x
# Release Version
SCRIPT_VERSION="unreleased"
IMAGE_VERSION=latest
[ "$SCRIPT_VERSION" = "unreleased" ] || IMAGE_VERSION=$SCRIPT_VERSION
IMAGE_VERSION=${WEAVE_VERSION:-$IMAGE_VERSION}
# Minimum tested version of Docker + Weave Net
MIN_DOCKER_VERSION=1.10.0
MIN_DOCKER_VERSION=1.12.0
# These are needed for remote execs, hence we introduce them here
DOCKERHUB_USER=${DOCKERHUB_USER:-weaveworks}
DOCKERHUB_USER=${DOCKERHUB_USER:-rajchaudhuri}
BASE_EXEC_IMAGE=$DOCKERHUB_USER/weaveexec
EXEC_IMAGE=$BASE_EXEC_IMAGE:$IMAGE_VERSION
WEAVEDB_IMAGE=$DOCKERHUB_USER/weavedb:latest
@@ -95,8 +96,8 @@ where <peer> = <ip_address_or_fqdn>[:<port>]
<peer_id> = <nickname> | <weave internal peer ID>
<mode> = consensus[=<count>] | seed=<mac>,... | observer
To troubleshoot and visualize Weave networks, try Weave Cloud: http://www.weave.works/product/cloud/
EOF
# To troubleshoot and visualize Weave networks, try Weave : http://www.weave.works/product/cloud/
}
usage() {
@@ -155,6 +156,8 @@ exec_remote() {
-e COVERAGE \
-e CHECKPOINT_DISABLE \
-e AWSVPC \
-e DOCKER_API_VERSION \
-t \
$WEAVEEXEC_DOCKER_ARGS $EXEC_IMAGE --local "$@"
}