From 3a64c472603a4ff495e831e5441806e4cb8c0575 Mon Sep 17 00:00:00 2001 From: Yann Autissier Date: Thu, 3 Sep 2026 18:21:21 +0200 Subject: [PATCH] move the stack catalogue out of the framework stack/ and docker/ now live in the myos-stacks project (extracted with their history). What the framework itself needs stays here: - stack/myos/*.yml -> share/compose/ - docker/myos/ -> share/docker/myos/ - docker/compose/ -> dropped, docker compose >= 2.24.4 is now required Residues fixed along the way: DOCKER_IMAGES scanned a hardcoded ./docker, include.mk filtered a hardcoded stack/*.mk, and docker-image-myos expanded an undefined MYOS_DOCKER_IMAGES on every up/build. README and CHANGELOG rewritten: they still documented make host, host-certbot-* and user-config, all removed when the catalogue was split out. --- CHANGELOG.md | 9 + README.md | 258 +++++++----------- docker/compose/Dockerfile | 20 -- make/apps/def.docker.mk | 8 +- make/apps/docker.mk | 18 +- make/def.docker.mk | 2 +- make/include.mk | 2 +- {stack/myos => share/compose}/networks.yml | 0 .../compose}/volumes.backup.local.yml | 0 .../compose}/volumes.dns.local.yml | 0 .../compose}/volumes.home.local.yml | 0 .../compose}/volumes.log.local.yml | 0 .../compose}/volumes.www.local.yml | 0 {docker => share/docker}/myos/.bash_profile | 0 {docker => share/docker}/myos/.screenrc | 0 {docker => share/docker}/myos/.sh_profile | 0 {docker => share/docker}/myos/.shrc | 0 {docker => share/docker}/myos/.tmux.conf | 0 {docker => share/docker}/myos/Dockerfile | 0 .../docker}/myos/docker-entrypoint.sh | 0 {docker => share/docker}/myos/rc.sh | 0 {docker => share/docker}/myos/rc_functions.sh | 0 spec/golden/expected/app-config.txt | 2 +- spec/golden/expected/app-down.txt | 2 +- .../expected/app-print-compose-file.txt | 2 +- spec/golden/expected/app-run.txt | 2 +- spec/golden/expected/app-scale.txt | 2 +- spec/golden/expected/app-up-env-master.txt | 2 +- spec/golden/expected/app-up.txt | 2 +- spec/golden/expected/cat-group-default-up.txt | 2 +- spec/golden/expected/cat-group-testing-up.txt | 2 +- spec/golden/expected/cat-group-testing.txt | 2 +- spec/golden/expected/cat-nginx-www-dns.txt | 2 +- spec/golden/expected/cat-nginx-www.txt | 2 +- .../expected/cat-postgres-compose-file.txt | 2 +- .../expected/cat-postgres-env-master.txt | 2 +- spec/golden/expected/cat-postgres-up.txt | 2 +- spec/golden/expected/cat-unknown-stack.txt | 2 +- .../golden/expected/cat-user-compose-file.txt | 2 +- spec/golden/expected/host-config.txt | 2 +- spec/golden/expected/host-down-group.txt | 2 +- spec/golden/expected/host-env-master.txt | 2 +- spec/golden/expected/host-exec.txt | 2 +- spec/golden/expected/host-logs.txt | 2 +- .../expected/host-print-compose-file.txt | 2 +- spec/golden/expected/host-print-stack-dir.txt | 2 +- spec/golden/expected/host-ps.txt | 2 +- .../expected/host-stack-host-config.txt | 2 +- spec/golden/expected/host-target.txt | 6 +- spec/golden/expected/host-up-consul.txt | 2 +- spec/golden/expected/host-up-group.txt | 2 +- spec/golden/expected/host-up-two.txt | 4 +- spec/golden/expected/misc-help.txt | 8 +- spec/golden/expected/nogit-up.txt | 2 +- spec/support/run.sh | 5 + 55 files changed, 155 insertions(+), 243 deletions(-) delete mode 100644 docker/compose/Dockerfile rename {stack/myos => share/compose}/networks.yml (100%) rename {stack/myos => share/compose}/volumes.backup.local.yml (100%) rename {stack/myos => share/compose}/volumes.dns.local.yml (100%) rename {stack/myos => share/compose}/volumes.home.local.yml (100%) rename {stack/myos => share/compose}/volumes.log.local.yml (100%) rename {stack/myos => share/compose}/volumes.www.local.yml (100%) rename {docker => share/docker}/myos/.bash_profile (100%) rename {docker => share/docker}/myos/.screenrc (100%) rename {docker => share/docker}/myos/.sh_profile (100%) rename {docker => share/docker}/myos/.shrc (100%) rename {docker => share/docker}/myos/.tmux.conf (100%) rename {docker => share/docker}/myos/Dockerfile (100%) rename {docker => share/docker}/myos/docker-entrypoint.sh (100%) rename {docker => share/docker}/myos/rc.sh (100%) rename {docker => share/docker}/myos/rc_functions.sh (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index c64a5f9..8d3a74f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # CHANGELOG +## v1.1 - 2026-09-03 + +- move the stack catalogue and the docker build contexts to the myos-stacks project +- keep the framework infra compose files in share/compose and the myos tool image in share/docker +- fix stack_path resolution: host/ stacks were only found when the project + stack directory sorted first +- drop the docker/compose image fallback: docker compose >= 2.24.4 or docker-compose is required +- add a shellspec golden test harness (make test) + ## v1.0-beta - 2026-07-29 * split make files in `myos` project and docker files in `stack` project diff --git a/README.md b/README.md index 43f3d71..ed07d03 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,12 @@ # myos - Make Your Own Stack -Make Your Own Stack provides common make targets to build and run docker projects. +myos runs docker compose stacks: on a server, in a project directory, for a user. +It is a thin layer over `docker compose` that resolves which compose files to load, +under which project name, with which environment variables. + +The framework itself ships no stack. Ready-to-use stacks (consul, fabio, registrator, +postgres, supabase, drone, …) live in a separate catalogue, +[myos-stacks](https://github.com/aya/myos-stacks). ## Disclaimer @@ -8,197 +14,119 @@ This is beta software, use it at your own risks. ## Requirements -You need `docker`, `git` and `make`. +`docker` (with the `docker compose` plugin >= 2.24.4, or a `docker-compose` binary), +`git` and `make`. ## Install -* Include MYOS file `make/include.mk` adding the following lines to your project file `Makefile`. +### As a command +```sh +sudo git clone https://github.com/aya/myos /usr/local/lib/myos +sudo ln -s /usr/local/lib/myos/myos /usr/local/bin/myos ``` -MYOS ?= ../myos -MYOS_REPOSITORY ?= $(patsubst %/$(THIS),%/myos,$(THIS_REPOSITORY)) -THIS ?= $(lastword $(subst /, ,$(THIS_REPOSITORY))) -THIS_REPOSITORY ?= $(shell git config --get remote.origin.url 2>/dev/null) -$(MYOS): - -@git clone $(MYOS_REPOSITORY) $(MYOS) + +Optionally pin per-machine settings in `/etc/conf.d/myos` (or `/etc/default/myos`), +one `VAR=value` per line, no comments: + +```sh +DOMAIN=example.org +ENV=master +``` + +`myos` runs from the current directory: it passes it as `WORKDIR`, so stacks and +`.env` are looked up there. A `WORKDIR` set in the config file wins over the current +directory, which pins a machine to its deployment directory. + +### As a make include + +Add to your project `Makefile`: + +```make +MYOS ?= /usr/local/lib/myos -include $(MYOS)/make/include.mk ``` -* Call the `make help` command to show available targets. +Then `make help` lists the available targets. -``` -$ make help -Usage: -make [target] +### Stack catalogue -Targets: -help This help -[...] +myos looks for stacks in `./stack`, `../stack`, `~/.local/share/myos/stack`, +`/usr/local/share/myos/stack` and `/usr/share/myos/stack`: + +```sh +sudo git clone https://github.com/aya/myos-stacks /usr/local/share/myos ``` ## Usage -### Examples - -* Configure myos for domain `domain.tld` and stack `default` - -```shell -$ make bootstrap DOMAIN=domain.tld STACK=default +```sh +myos up # the stack of the current directory +myos up STACK=host # a group of stacks, see stack/host/host.mk +myos up STACK=host/fabio # a single stack +myos up STACK=postgres:9.6 # a versioned stack +myos ps +myos logs +myos config # rendered compose file +myos down +myos shutdown # every stack: app, host and user ``` -* Start myos stack `host` +### How a stack is resolved -```shell -$ make host -``` - -`make host` starts the stack `host` with docker host services : -- consul (service discovery) on host port 8500 -- fabio (load balancer) on host ports 80 and 443 -- registrator (docker/consul bridge) - -* Stop myos - -```shell -$ make shutdown -``` - -### Variables - -* DEBUG - -Show executed commands. - -```shell -$ make up DEBUG=true -``` - -* DRYRUN - -Do nothing, show commands instead of executing it. - -```shell -$ make up DRYRUN=true -``` - -* VERBOSE - -Show called functions. - -```shell -$ make up VERBOSE=true -``` - -* Show variable USER - -```shell -$ make print-USER -``` - -#### Setup - -* SETUP_LETSENCRYPT - -Generate ${DOMAIN} certificate files with letsencrypt. - -By default, myos generates invalid ${DOMAIN} certificate files with openssl. -You can use letsencrypt instead, to generate valid wildcard certificate files. - -To achieve this, you must add following DNS entries to domain ${DOMAIN} to prove you own it: +A stack is a directory of compose files. For `STACK=` in environment `ENV`, +myos loads, in order, whichever of these exist: ``` -_acme-challenge.${DOMAIN} IN CNAME ${DOMAIN}.acme.${DOMAIN}. -acme.${DOMAIN}. IN NS certbot.${DOMAIN}. -certbot.${DOMAIN}. IN A ${DOCKER_HOST_INET4} +.yml ..yml /.yml +..yml ...yml ..yml ``` -In this config, DOCKER_HOST_INET4 should be the external IP address of the server running certbot. -Port 53 of this IP address must be reachable from internet and point to this server. +`` comes from the `COMPOSE_FILE_*` variables that are not `false` +(`app`, `labels`, `networks`, `ssh`, `volumes` by default; add e.g. +`COMPOSE_FILE_WWW=true` to also load `.www.yml`). The framework always +appends its own `share/compose/networks.yml`. -If you want a simple DNS configuration to host all your services on the same server, you can setup following DNS config: +### Project names and networks -``` -@ IN A ${DOCKER_HOST_INET4} -*.${DOMAIN}. IN CNAME ${DOMAIN}. -_acme-challenge.${DOMAIN} IN CNAME ${DOMAIN}.acme.${DOMAIN}. -acme.${DOMAIN}. IN NS ${DOMAIN}. +| stack | compose project | meaning | +|---|---|---| +| `host/*` | `$(HOSTNAME)` | one instance per machine: ports 80/443, consul, certbot | +| `User/*` | user identity | one instance per user | +| anything else | `--` | many instances per machine | + +Networks: `default` = `_` (private to the project), `private` = +`-` and `public` = ``, both external and created on demand. + +## Variables + +| variable | effect | +|---|---| +| `DEBUG=true` | show executed commands | +| `DRYRUN=true` | print commands instead of running them | +| `VERBOSE=true` | show called functions | +| `ENV=` | environment: selects `.env.` and the `..yml` overlays | +| `STACK=` | stacks to act on | +| `SERVICE=` | target one compose service (`exec`, `run`, `logs`, `scale`) | + +```sh +myos print-COMPOSE_FILE # show a variable +myos print-COMPOSE_PROJECT_NAME +myos debug # show debug variables +myos doc # self documentation from the make comments ``` -This will point domain ${DOMAIN} to the IP address ${DOCKER_HOST_INET4} of this server, and point all subdomains *.{DOMAIN} to the ip address pointed by ${DOMAIN}. +`SETUP_UFW=true` enables the ufw/ufw-docker integration (`myos setup-ufw`). -At this point, you should be able to generate a valid certificate for *.${DOMAIN} using certbot [dns standalone](https://github.com/siilike/certbot-dns-standalone) plugin. -This task is done automatically when creating the host stack if SETUP_LETSENCRYPT variable is not empty. +## Tests -If you already launched myos host stack before, the ${DOMAIN} certificates has been automatically generated by openssl and you should remove them before trying to generate them with letsencrypt. - -``` -$ make host-down -$ docker volume rm $(hostname) +```sh +make test # shellspec: unit + golden (a mocked docker, no daemon needed) +make test-golden # golden only +make golden-record # re-record the golden expectations +make lint # shellcheck ``` -You can then test the letsencrypt certificate generation using DEBUG mode that force to use the letsencrypt staging server. - -``` -$ make host SETUP_LETSENCRYPT=true DEBUG=true -``` - -If letsencrypt certificate generation fails, you can retry the generation of a staging certificate. - -``` -$ make host-certbot-staging -``` - -Once the certificate generation is working, you can ask for a valid certificate. - -``` -$ make host-down -$ docker volume rm $(hostname) -$ make host SETUP_LETSENCRYPT=true -``` - -* SETUP_UFW - -Control linux firewall rules with ufw. - -``` -$ echo SETUP_UFW=true >> .env -$ make setup-ufw -``` - -### Debug - -* Show docker compose yaml config - -```shell -$ make config -``` - -`make config` show docker compose yaml config for stack `STACK` -`make host-config` show docker compose yaml config for stack `host` -`make user-config` show docker compose yaml config for stack `User` -`make stack-elastic-config` show docker compose yaml config for stack `elastic` - -* Show debug variables - -```shell -$ make debug -``` - -* Generate self documentation - -```shell -$ make doc -``` - -* Show env args - -```shell -$ make print-env_args -``` - -* Show user mail - -```shell -$ make print-MAIL -``` +## License +GPL-3.0, see LICENSE. diff --git a/docker/compose/Dockerfile b/docker/compose/Dockerfile deleted file mode 100644 index 99e3b4b..0000000 --- a/docker/compose/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM alpine:latest as dist -LABEL maintainer aynic.os -ARG DOCKER_BUILD_DIR - -ARG COMPOSE_REMOTE=https://github.com/docker/compose -ARG COMPOSE_VERSION=2.5.0 -ARG DOCKER_MACHINE=x86_64 -ARG DOCKER_SYSTEM=Linux - -RUN apk update \ - && apk add --no-cache ca-certificates \ - && OS="$(echo ${DOCKER_SYSTEM} |awk '{print tolower($0)}')" \ - && ARCH="$(echo ${DOCKER_MACHINE} |awk '{print /armv7l/ ? "armv7" : $0}')" \ - && wget -qO /usr/bin/docker-compose ${COMPOSE_REMOTE}/releases/download/v${COMPOSE_VERSION}/docker-compose-${OS}-${ARCH} \ - && chmod +x /usr/bin/docker-compose - -ENTRYPOINT ["/usr/bin/docker-compose"] - -FROM dist as master -ARG DOCKER_BUILD_DIR diff --git a/make/apps/def.docker.mk b/make/apps/def.docker.mk index 6997915..5f47c43 100644 --- a/make/apps/def.docker.mk +++ b/make/apps/def.docker.mk @@ -43,7 +43,7 @@ DOCKER_COMPOSE_RUN_WORKDIR ?= $(if $(DOCKER_COMPOSE_WORKDIR),-w $(DOCKER_CO DOCKER_COMPOSE_SERVICE_NAME ?= $(subst _,-,$(DOCKER_COMPOSE_PROJECT_NAME)) DOCKER_COMPOSE_UP_OPTIONS ?= -d DOCKER_IMAGE_TAG ?= $(if $(filter true,$(DEPLOY)),$(if $(filter $(ENV),$(ENV_DEPLOY)),$(VERSION)),$(if $(DRONE_BUILD_NUMBER),$(DRONE_BUILD_NUMBER),latest)) -DOCKER_IMAGES ?= $(patsubst %/,%,$(patsubst docker/%,%,$(dir $(wildcard docker/*/Dockerfile)))) +DOCKER_IMAGES ?= $(foreach dir,$(DOCKER_DIR),$(patsubst $(dir)/%/Dockerfile,%,$(wildcard $(dir)/*/Dockerfile))) DOCKER_PLUGIN ?= rexray/s3fs:latest DOCKER_PLUGIN_ARGS ?= $(foreach var,$(DOCKER_PLUGIN_VARS),$(if $(DOCKER_PLUGIN_$(var)),$(var)='$(DOCKER_PLUGIN_$(var))')) DOCKER_PLUGIN_OPTIONS ?= --grant-all-permissions @@ -109,11 +109,7 @@ define docker-compose $(if $(COMPOSE_FILE), $(if $(DOCKER_COMPOSE), $(call env-exec,$(RUN) $(DOCKER_COMPOSE) $(DOCKER_COMPOSE_ARGS) $(patsubst %,-f %,$(COMPOSE_FILE)) -p $(COMPOSE_PROJECT_NAME) $(1)) - , $(if $(DOCKER_RUN), - $(call docker-build,$(call docker-path,compose),docker/compose,$(COMPOSE_VERSION)) - $(call docker-run,docker/compose:$(COMPOSE_VERSION) $(DOCKER_COMPOSE_ARGS),$(patsubst %,-f %,$(COMPOSE_FILE)) -p $(COMPOSE_PROJECT_NAME) $(1)) - , $(call env-exec,$(RUN) docker-compose $(DOCKER_COMPOSE_ARGS) $(patsubst %,-f %,$(COMPOSE_FILE)) -p $(COMPOSE_PROJECT_NAME) $(1)) - ) + , $(call ERROR,docker compose >= $(COMPOSE_VERSION) not found: install the docker compose plugin or docker-compose) ) ) endef diff --git a/make/apps/docker.mk b/make/apps/docker.mk index a0a7c56..ddda3a7 100644 --- a/make/apps/docker.mk +++ b/make/apps/docker.mk @@ -1,9 +1,9 @@ ## # DOCKER -# target docker-build: Fire docker-image-myos, Call docker-build-% target for each DOCKER_IMAGES +# target docker-build: Call docker-build-% target for each DOCKER_IMAGES .PHONY: docker-build -docker-build: docker-image-myos +docker-build: $(foreach image,$(or $(SERVICE),$(DOCKER_IMAGES)),$(call make,docker-build-$(image))) # target docker-build-%: Call docker-build for each Dockerfile in docker/% folder @@ -27,10 +27,10 @@ docker-commit: stack docker-commit-%: stack $(foreach service,$(or $(SERVICE),$(SERVICES)),$(call docker-commit,$(service),,,$*)) -# target docker-compose-build: Fire docker-image-myos, Call docker-compose build SERVICE +# target docker-compose-build: Call docker-compose build SERVICE .PHONY: docker-compose-build docker-compose-build: DOCKER_RUN_OPTIONS += -it -docker-compose-build: docker-image-myos stack +docker-compose-build: stack $(call docker-compose,build $(DOCKER_BUILD_ARGS) $(if $(filter $(SERVICE),$(SERVICES)),$(SERVICE))) # target docker-compose-config: Call docker-compose config @@ -110,18 +110,12 @@ docker-compose-start: stack docker-compose-stop: stack $(call docker-compose,stop $(if $(filter $(SERVICE),$(SERVICES)),$(SERVICE))) -# target docker-compose-up: Fire docker-image-myos, Call docker-compose up SERVICE +# target docker-compose-up: Call docker-compose up SERVICE .PHONY: docker-compose-up docker-compose-up: DOCKER_RUN_OPTIONS += -it -docker-compose-up: docker-image-myos bootstrap-stack stack +docker-compose-up: bootstrap-stack stack $(call docker-compose,up $(DOCKER_COMPOSE_UP_OPTIONS) $(if $(filter $(SERVICE),$(SERVICES)),$(SERVICE))) -# target docker-image-myos: Call myos-docker-build-% target for each MYOS_DOCKER_IMAGES -.PHONY: docker-image-myos -docker-image-myos: MAKE_VARS += DOCKER_REPOSITORY STACK -docker-image-myos: - $(foreach image,$(subst $(quote),,$(MYOS_DOCKER_IMAGES)),$(call make,docker-build-$(image),$(MYOS))) - # target docker-image-rm: Remove docker images matching DOCKER_REPOSITORY .PHONY: docker-image-rm docker-image-rm: diff --git a/make/def.docker.mk b/make/def.docker.mk index e6e57c0..f38e743 100644 --- a/make/def.docker.mk +++ b/make/def.docker.mk @@ -37,7 +37,7 @@ HOST_DOCKER_VOLUME ?= $(HOST_COMPOSE_PROJECT_NAME) HOST_GID ?= $(HOST_UID) HOST_UID ?= 123 HOST_STACK ?= $(filter host,$(firstword $(subst /, ,$(STACK)))) -MYOS_STACK ?= $(wildcard $(foreach stack_dir,$(STACK_DIR),$(stack_dir)/myos)) +MYOS_STACK ?= $(if $(filter . myos,$(MYOS)),$(realpath $(MYOS)/share/compose)) MYOS_STACK_FILE ?= networks volumes RESU_DOCKER_REPOSITORY ?= $(subst -,/,$(USER_COMPOSE_PROJECT_NAME)) SHARE_DIR ?= . .. ~/.local/share /usr/local/share /usr/share diff --git a/make/include.mk b/make/include.mk index 053f3cd..f433569 100644 --- a/make/include.mk +++ b/make/include.mk @@ -19,7 +19,7 @@ include $(filter-out $(wildcard $(MAKE_FILE) $(MAKE_FIRST) $(MAKE_LATEST)),$(wil ## it includes $(MAKE_DIR)/$(MAKE_SUBDIRS)/*.mk include $(foreach subdir,$(MAKE_SUBDIRS),$(filter-out $(wildcard $(MAKE_DIR)/$(subdir)/def.mk $(MAKE_DIR)/$(subdir)/def.*.mk),$(wildcard $(MAKE_DIR)/$(subdir)/*.mk))) ## if not in $(MYOS) nor $(MONOREPO), it includes def.mk def.*.mk */def.mk */def.*.mk *.mk */*.mk -include $(if $(filter-out . myos,$(MYOS)),$(wildcard def.mk def.*.mk */def.mk */def.*.mk) $(filter-out $(wildcard def.mk def.*.mk */def.mk */def.*.mk stack/*.mk),$(wildcard *.mk */*.mk))) +include $(if $(filter-out . myos,$(MYOS)),$(wildcard def.mk def.*.mk */def.mk */def.*.mk) $(filter-out $(wildcard def.mk def.*.mk */def.mk */def.*.mk $(STACK_DIR_NAME)/*.mk),$(wildcard *.mk */*.mk))) ## it includes $(STACK_DIR)/*.mk $(STACK_DIR)/*/*.mk include $(foreach stack_dir,$(STACK_DIR),$(wildcard $(stack_dir)/*.mk $(stack_dir)/*/*.mk)) ## it includes $(MAKE_LATEST) diff --git a/stack/myos/networks.yml b/share/compose/networks.yml similarity index 100% rename from stack/myos/networks.yml rename to share/compose/networks.yml diff --git a/stack/myos/volumes.backup.local.yml b/share/compose/volumes.backup.local.yml similarity index 100% rename from stack/myos/volumes.backup.local.yml rename to share/compose/volumes.backup.local.yml diff --git a/stack/myos/volumes.dns.local.yml b/share/compose/volumes.dns.local.yml similarity index 100% rename from stack/myos/volumes.dns.local.yml rename to share/compose/volumes.dns.local.yml diff --git a/stack/myos/volumes.home.local.yml b/share/compose/volumes.home.local.yml similarity index 100% rename from stack/myos/volumes.home.local.yml rename to share/compose/volumes.home.local.yml diff --git a/stack/myos/volumes.log.local.yml b/share/compose/volumes.log.local.yml similarity index 100% rename from stack/myos/volumes.log.local.yml rename to share/compose/volumes.log.local.yml diff --git a/stack/myos/volumes.www.local.yml b/share/compose/volumes.www.local.yml similarity index 100% rename from stack/myos/volumes.www.local.yml rename to share/compose/volumes.www.local.yml diff --git a/docker/myos/.bash_profile b/share/docker/myos/.bash_profile similarity index 100% rename from docker/myos/.bash_profile rename to share/docker/myos/.bash_profile diff --git a/docker/myos/.screenrc b/share/docker/myos/.screenrc similarity index 100% rename from docker/myos/.screenrc rename to share/docker/myos/.screenrc diff --git a/docker/myos/.sh_profile b/share/docker/myos/.sh_profile similarity index 100% rename from docker/myos/.sh_profile rename to share/docker/myos/.sh_profile diff --git a/docker/myos/.shrc b/share/docker/myos/.shrc similarity index 100% rename from docker/myos/.shrc rename to share/docker/myos/.shrc diff --git a/docker/myos/.tmux.conf b/share/docker/myos/.tmux.conf similarity index 100% rename from docker/myos/.tmux.conf rename to share/docker/myos/.tmux.conf diff --git a/docker/myos/Dockerfile b/share/docker/myos/Dockerfile similarity index 100% rename from docker/myos/Dockerfile rename to share/docker/myos/Dockerfile diff --git a/docker/myos/docker-entrypoint.sh b/share/docker/myos/docker-entrypoint.sh similarity index 100% rename from docker/myos/docker-entrypoint.sh rename to share/docker/myos/docker-entrypoint.sh diff --git a/docker/myos/rc.sh b/share/docker/myos/rc.sh similarity index 100% rename from docker/myos/rc.sh rename to share/docker/myos/rc.sh diff --git a/docker/myos/rc_functions.sh b/share/docker/myos/rc_functions.sh similarity index 100% rename from docker/myos/rc_functions.sh rename to share/docker/myos/rc_functions.sh diff --git a/spec/golden/expected/app-config.txt b/spec/golden/expected/app-config.txt index e14e8cd..cbe7f43 100644 --- a/spec/golden/expected/app-config.txt +++ b/spec/golden/expected/app-config.txt @@ -1,3 +1,3 @@ make -o docker-stack-config MAKE_OLDFILE=docker-stack-config ENV=local DOCKER_COMPOSE=docker --log-level=error compose docker-compose-config STACK=myos APP_NAME=myos -docker --log-level=error compose --ansi=auto -f @MYOS@/stack/myos/networks.yml -p tester-myos-local config +docker --log-level=error compose --ansi=auto -f @MYOS@/share/compose/networks.yml -p tester-myos-local config [exit 0] diff --git a/spec/golden/expected/app-down.txt b/spec/golden/expected/app-down.txt index e1c21a4..8be099b 100644 --- a/spec/golden/expected/app-down.txt +++ b/spec/golden/expected/app-down.txt @@ -1,3 +1,3 @@ make -o docker-stack-down MAKE_OLDFILE=docker-stack-down ENV=local DOCKER_COMPOSE=docker --log-level=error compose docker-compose-down STACK=myos APP_NAME=myos -docker --log-level=error compose --ansi=auto -f @MYOS@/stack/myos/networks.yml -p tester-myos-local down +docker --log-level=error compose --ansi=auto -f @MYOS@/share/compose/networks.yml -p tester-myos-local down [exit 0] diff --git a/spec/golden/expected/app-print-compose-file.txt b/spec/golden/expected/app-print-compose-file.txt index 9f280dc..66929ec 100644 --- a/spec/golden/expected/app-print-compose-file.txt +++ b/spec/golden/expected/app-print-compose-file.txt @@ -1,2 +1,2 @@ -COMPOSE_FILE @MYOS@/stack/myos/networks.yml +COMPOSE_FILE @MYOS@/share/compose/networks.yml [exit 0] diff --git a/spec/golden/expected/app-run.txt b/spec/golden/expected/app-run.txt index 62245ca..9fa6aef 100644 --- a/spec/golden/expected/app-run.txt +++ b/spec/golden/expected/app-run.txt @@ -1,2 +1,2 @@ -docker --log-level=error compose --ansi=auto -f @MYOS@/stack/myos/networks.yml -p tester-myos-local run --rm app id +docker --log-level=error compose --ansi=auto -f @MYOS@/share/compose/networks.yml -p tester-myos-local run --rm app id [exit 0] diff --git a/spec/golden/expected/app-scale.txt b/spec/golden/expected/app-scale.txt index b2dc83d..bf17207 100644 --- a/spec/golden/expected/app-scale.txt +++ b/spec/golden/expected/app-scale.txt @@ -1,3 +1,3 @@ make -o docker-stack-scale MAKE_OLDFILE=docker-stack-scale ENV=local DOCKER_COMPOSE=docker --log-level=error compose docker-compose-scale STACK=myos APP_NAME=myos -docker --log-level=error compose --ansi=auto -f @MYOS@/stack/myos/networks.yml -p tester-myos-local up -d --scale app=2 +docker --log-level=error compose --ansi=auto -f @MYOS@/share/compose/networks.yml -p tester-myos-local up -d --scale app=2 [exit 0] diff --git a/spec/golden/expected/app-up-env-master.txt b/spec/golden/expected/app-up-env-master.txt index b48877a..d30639e 100644 --- a/spec/golden/expected/app-up-env-master.txt +++ b/spec/golden/expected/app-up-env-master.txt @@ -1,5 +1,5 @@ make -o docker-stack-up MAKE_OLDFILE=docker-stack-up ENV=master DOCKER_COMPOSE=docker --log-level=error compose docker-compose-up STACK=myos APP_NAME=myos sh -c docker network create tester-master >/dev/null 2>&1 sh -c docker network create testhost >/dev/null 2>&1 -docker --log-level=error compose --ansi=auto -f @MYOS@/stack/myos/networks.yml -p tester-myos-master up -d +docker --log-level=error compose --ansi=auto -f @MYOS@/share/compose/networks.yml -p tester-myos-master up -d [exit 0] diff --git a/spec/golden/expected/app-up.txt b/spec/golden/expected/app-up.txt index 048ad84..771fdd8 100644 --- a/spec/golden/expected/app-up.txt +++ b/spec/golden/expected/app-up.txt @@ -1,5 +1,5 @@ make -o docker-stack-up MAKE_OLDFILE=docker-stack-up ENV=local DOCKER_COMPOSE=docker --log-level=error compose docker-compose-up STACK=myos APP_NAME=myos sh -c docker network create tester-local >/dev/null 2>&1 sh -c docker network create testhost >/dev/null 2>&1 -docker --log-level=error compose --ansi=auto -f @MYOS@/stack/myos/networks.yml -p tester-myos-local up -d +docker --log-level=error compose --ansi=auto -f @MYOS@/share/compose/networks.yml -p tester-myos-local up -d [exit 0] diff --git a/spec/golden/expected/cat-group-default-up.txt b/spec/golden/expected/cat-group-default-up.txt index 208969d..7ca120a 100644 --- a/spec/golden/expected/cat-group-default-up.txt +++ b/spec/golden/expected/cat-group-default-up.txt @@ -1,5 +1,5 @@ make -o docker-stack-up MAKE_OLDFILE=docker-stack-up ENV=local DOCKER_COMPOSE=docker --log-level=error compose docker-compose-up STACK=default APP_NAME=default sh -c docker network create tester-local >/dev/null 2>&1 sh -c docker network create testhost >/dev/null 2>&1 -docker --log-level=error compose --ansi=auto -f @HOME@/.local/share/myos/stack/postgres/postgres.yml -f @HOME@/.local/share/myos/stack/postgres/postgres.local.yml -f @HOME@/.local/share/myos/stack/redis/redis.yml -f @MYOS@/stack/myos/networks.yml -p tester-default-local up -d +docker --log-level=error compose --ansi=auto -f @HOME@/.local/share/myos/stack/postgres/postgres.yml -f @HOME@/.local/share/myos/stack/postgres/postgres.local.yml -f @HOME@/.local/share/myos/stack/redis/redis.yml -f @MYOS@/share/compose/networks.yml -p tester-default-local up -d [exit 0] diff --git a/spec/golden/expected/cat-group-testing-up.txt b/spec/golden/expected/cat-group-testing-up.txt index 20becdd..76a918d 100644 --- a/spec/golden/expected/cat-group-testing-up.txt +++ b/spec/golden/expected/cat-group-testing-up.txt @@ -1,5 +1,5 @@ make -o docker-stack-up MAKE_OLDFILE=docker-stack-up ENV=local DOCKER_COMPOSE=docker --log-level=error compose docker-compose-up STACK=testing APP_NAME=testing sh -c docker network create tester-local >/dev/null 2>&1 sh -c docker network create testhost >/dev/null 2>&1 -docker --log-level=error compose --ansi=auto -f @HOME@/.local/share/myos/stack/drone/drone.yml -f @HOME@/.local/share/myos/stack/redis/redis.yml -f @MYOS@/stack/myos/networks.yml -p tester-testing-local up -d +docker --log-level=error compose --ansi=auto -f @HOME@/.local/share/myos/stack/drone/drone.yml -f @HOME@/.local/share/myos/stack/redis/redis.yml -f @MYOS@/share/compose/networks.yml -p tester-testing-local up -d [exit 0] diff --git a/spec/golden/expected/cat-group-testing.txt b/spec/golden/expected/cat-group-testing.txt index f41f87f..3b0fade 100644 --- a/spec/golden/expected/cat-group-testing.txt +++ b/spec/golden/expected/cat-group-testing.txt @@ -1,2 +1,2 @@ -COMPOSE_FILE @HOME@/.local/share/myos/stack/drone/drone.yml @HOME@/.local/share/myos/stack/redis/redis.yml @MYOS@/stack/myos/networks.yml +COMPOSE_FILE @HOME@/.local/share/myos/stack/drone/drone.yml @HOME@/.local/share/myos/stack/redis/redis.yml @MYOS@/share/compose/networks.yml [exit 0] diff --git a/spec/golden/expected/cat-nginx-www-dns.txt b/spec/golden/expected/cat-nginx-www-dns.txt index 7d777ed..dbd7776 100644 --- a/spec/golden/expected/cat-nginx-www-dns.txt +++ b/spec/golden/expected/cat-nginx-www-dns.txt @@ -1,2 +1,2 @@ -COMPOSE_FILE @HOME@/.local/share/myos/stack/host/nginx.yml @HOME@/.local/share/myos/stack/host/nginx.www.yml @HOME@/.local/share/myos/stack/host/nginx.dns.yml @MYOS@/stack/myos/networks.yml @MYOS@/stack/myos/volumes.www.local.yml @MYOS@/stack/myos/volumes.dns.local.yml +COMPOSE_FILE @HOME@/.local/share/myos/stack/host/nginx.yml @HOME@/.local/share/myos/stack/host/nginx.www.yml @HOME@/.local/share/myos/stack/host/nginx.dns.yml @MYOS@/share/compose/networks.yml @MYOS@/share/compose/volumes.www.local.yml @MYOS@/share/compose/volumes.dns.local.yml [exit 0] diff --git a/spec/golden/expected/cat-nginx-www.txt b/spec/golden/expected/cat-nginx-www.txt index d4eb594..0347999 100644 --- a/spec/golden/expected/cat-nginx-www.txt +++ b/spec/golden/expected/cat-nginx-www.txt @@ -1,2 +1,2 @@ -COMPOSE_FILE @HOME@/.local/share/myos/stack/host/nginx.yml @HOME@/.local/share/myos/stack/host/nginx.www.yml @MYOS@/stack/myos/networks.yml @MYOS@/stack/myos/volumes.www.local.yml +COMPOSE_FILE @HOME@/.local/share/myos/stack/host/nginx.yml @HOME@/.local/share/myos/stack/host/nginx.www.yml @MYOS@/share/compose/networks.yml @MYOS@/share/compose/volumes.www.local.yml [exit 0] diff --git a/spec/golden/expected/cat-postgres-compose-file.txt b/spec/golden/expected/cat-postgres-compose-file.txt index 00a5430..8c80510 100644 --- a/spec/golden/expected/cat-postgres-compose-file.txt +++ b/spec/golden/expected/cat-postgres-compose-file.txt @@ -1,2 +1,2 @@ -COMPOSE_FILE @HOME@/.local/share/myos/stack/postgres/postgres.yml @HOME@/.local/share/myos/stack/postgres/postgres.local.yml @MYOS@/stack/myos/networks.yml +COMPOSE_FILE @HOME@/.local/share/myos/stack/postgres/postgres.yml @HOME@/.local/share/myos/stack/postgres/postgres.local.yml @MYOS@/share/compose/networks.yml [exit 0] diff --git a/spec/golden/expected/cat-postgres-env-master.txt b/spec/golden/expected/cat-postgres-env-master.txt index dbd6dfb..e8b0ace 100644 --- a/spec/golden/expected/cat-postgres-env-master.txt +++ b/spec/golden/expected/cat-postgres-env-master.txt @@ -1,2 +1,2 @@ -COMPOSE_FILE @HOME@/.local/share/myos/stack/postgres/postgres.yml @MYOS@/stack/myos/networks.yml +COMPOSE_FILE @HOME@/.local/share/myos/stack/postgres/postgres.yml @MYOS@/share/compose/networks.yml [exit 0] diff --git a/spec/golden/expected/cat-postgres-up.txt b/spec/golden/expected/cat-postgres-up.txt index 8a5e6ca..1a3cfdf 100644 --- a/spec/golden/expected/cat-postgres-up.txt +++ b/spec/golden/expected/cat-postgres-up.txt @@ -1,5 +1,5 @@ make -o docker-stack-up MAKE_OLDFILE=docker-stack-up ENV=local DOCKER_COMPOSE=docker --log-level=error compose docker-compose-up STACK=postgres APP_NAME=postgres sh -c docker network create tester-local >/dev/null 2>&1 sh -c docker network create testhost >/dev/null 2>&1 -docker --log-level=error compose --ansi=auto -f @HOME@/.local/share/myos/stack/postgres/postgres.yml -f @HOME@/.local/share/myos/stack/postgres/postgres.local.yml -f @MYOS@/stack/myos/networks.yml -p tester-postgres-local up -d +docker --log-level=error compose --ansi=auto -f @HOME@/.local/share/myos/stack/postgres/postgres.yml -f @HOME@/.local/share/myos/stack/postgres/postgres.local.yml -f @MYOS@/share/compose/networks.yml -p tester-postgres-local up -d [exit 0] diff --git a/spec/golden/expected/cat-unknown-stack.txt b/spec/golden/expected/cat-unknown-stack.txt index 9f280dc..66929ec 100644 --- a/spec/golden/expected/cat-unknown-stack.txt +++ b/spec/golden/expected/cat-unknown-stack.txt @@ -1,2 +1,2 @@ -COMPOSE_FILE @MYOS@/stack/myos/networks.yml +COMPOSE_FILE @MYOS@/share/compose/networks.yml [exit 0] diff --git a/spec/golden/expected/cat-user-compose-file.txt b/spec/golden/expected/cat-user-compose-file.txt index 2f0670f..a1cf9df 100644 --- a/spec/golden/expected/cat-user-compose-file.txt +++ b/spec/golden/expected/cat-user-compose-file.txt @@ -1,2 +1,2 @@ -COMPOSE_FILE @HOME@/.local/share/myos/stack/User/User.yml @MYOS@/stack/myos/networks.yml +COMPOSE_FILE @HOME@/.local/share/myos/stack/User/User.yml @MYOS@/share/compose/networks.yml [exit 0] diff --git a/spec/golden/expected/host-config.txt b/spec/golden/expected/host-config.txt index ddf934e..eef7dbf 100644 --- a/spec/golden/expected/host-config.txt +++ b/spec/golden/expected/host-config.txt @@ -1,3 +1,3 @@ make -o docker-stack-config MAKE_OLDFILE=docker-stack-config ENV=local DOCKER_COMPOSE=docker --log-level=error compose docker-compose-config STACK=host/fabio APP_NAME=host -docker --log-level=error compose --ansi=auto -f @WD@/stack/host/fabio.yml -f @MYOS@/stack/myos/networks.yml -p testhost config +docker --log-level=error compose --ansi=auto -f @WD@/stack/host/fabio.yml -f @MYOS@/share/compose/networks.yml -p testhost config [exit 0] diff --git a/spec/golden/expected/host-down-group.txt b/spec/golden/expected/host-down-group.txt index 3089de3..40dc886 100644 --- a/spec/golden/expected/host-down-group.txt +++ b/spec/golden/expected/host-down-group.txt @@ -1,3 +1,3 @@ make -o docker-stack-down MAKE_OLDFILE=docker-stack-down ENV=local DOCKER_COMPOSE=docker --log-level=error compose docker-compose-down STACK=host APP_NAME=host -docker --log-level=error compose --ansi=auto -f @WD@/stack/host/consul.yml -f @WD@/stack/host/fabio.yml -f @WD@/stack/host/registrator.yml -f @MYOS@/stack/myos/networks.yml -p testhost down +docker --log-level=error compose --ansi=auto -f @WD@/stack/host/consul.yml -f @WD@/stack/host/fabio.yml -f @WD@/stack/host/registrator.yml -f @MYOS@/share/compose/networks.yml -p testhost down [exit 0] diff --git a/spec/golden/expected/host-env-master.txt b/spec/golden/expected/host-env-master.txt index 2d674e2..2146cca 100644 --- a/spec/golden/expected/host-env-master.txt +++ b/spec/golden/expected/host-env-master.txt @@ -1,2 +1,2 @@ -COMPOSE_FILE @WD@/stack/host/consul.yml @MYOS@/stack/myos/networks.yml +COMPOSE_FILE @WD@/stack/host/consul.yml @MYOS@/share/compose/networks.yml [exit 0] diff --git a/spec/golden/expected/host-exec.txt b/spec/golden/expected/host-exec.txt index 4be2293..197cf6a 100644 --- a/spec/golden/expected/host-exec.txt +++ b/spec/golden/expected/host-exec.txt @@ -1,4 +1,4 @@ -docker --log-level=error compose --ansi=auto -f @WD@/stack/host/consul.yml -f @MYOS@/stack/myos/networks.yml -p testhost exec -T consul sh -c consul members +docker --log-level=error compose --ansi=auto -f @WD@/stack/host/consul.yml -f @MYOS@/share/compose/networks.yml -p testhost exec -T consul sh -c consul members /bin/bash: -c: line 0: syntax error near unexpected token `||' /bin/bash: -c: line 0: `|| true' make: *** [exec] Error 2 diff --git a/spec/golden/expected/host-logs.txt b/spec/golden/expected/host-logs.txt index 2cb3963..de274bf 100644 --- a/spec/golden/expected/host-logs.txt +++ b/spec/golden/expected/host-logs.txt @@ -1,3 +1,3 @@ make -o docker-stack-logs MAKE_OLDFILE=docker-stack-logs ENV=local DOCKER_COMPOSE=docker --log-level=error compose docker-compose-logs STACK=host/consul APP_NAME=host -docker --log-level=error compose --ansi=auto -f @WD@/stack/host/consul.yml -f @MYOS@/stack/myos/networks.yml -p testhost logs --follow --tail=100 +docker --log-level=error compose --ansi=auto -f @WD@/stack/host/consul.yml -f @MYOS@/share/compose/networks.yml -p testhost logs --follow --tail=100 [exit 0] diff --git a/spec/golden/expected/host-print-compose-file.txt b/spec/golden/expected/host-print-compose-file.txt index 2d674e2..2146cca 100644 --- a/spec/golden/expected/host-print-compose-file.txt +++ b/spec/golden/expected/host-print-compose-file.txt @@ -1,2 +1,2 @@ -COMPOSE_FILE @WD@/stack/host/consul.yml @MYOS@/stack/myos/networks.yml +COMPOSE_FILE @WD@/stack/host/consul.yml @MYOS@/share/compose/networks.yml [exit 0] diff --git a/spec/golden/expected/host-print-stack-dir.txt b/spec/golden/expected/host-print-stack-dir.txt index d3d29f2..672f345 100644 --- a/spec/golden/expected/host-print-stack-dir.txt +++ b/spec/golden/expected/host-print-stack-dir.txt @@ -1,2 +1,2 @@ -STACK_DIR @MYOS@/stack @HOME@/.local/share/myos/stack @WD@/stack +STACK_DIR @HOME@/.local/share/myos/stack @WD@/stack [exit 0] diff --git a/spec/golden/expected/host-ps.txt b/spec/golden/expected/host-ps.txt index 3821af8..00d78bd 100644 --- a/spec/golden/expected/host-ps.txt +++ b/spec/golden/expected/host-ps.txt @@ -1,3 +1,3 @@ make -o docker-stack-ps MAKE_OLDFILE=docker-stack-ps ENV=local DOCKER_COMPOSE=docker --log-level=error compose docker-compose-ps STACK=host/consul APP_NAME=host -docker --log-level=error compose --ansi=auto -f @WD@/stack/host/consul.yml -f @MYOS@/stack/myos/networks.yml -p testhost ps +docker --log-level=error compose --ansi=auto -f @WD@/stack/host/consul.yml -f @MYOS@/share/compose/networks.yml -p testhost ps [exit 0] diff --git a/spec/golden/expected/host-stack-host-config.txt b/spec/golden/expected/host-stack-host-config.txt index e67b366..696838b 100644 --- a/spec/golden/expected/host-stack-host-config.txt +++ b/spec/golden/expected/host-stack-host-config.txt @@ -1,4 +1,4 @@ make -o stack-host-config MAKE_OLDFILE=stack-host-config ENV=local DOCKER_COMPOSE=docker --log-level=error compose COMPOSE_IGNORE_ORPHANS=true host=host/consul host/fabio host/registrator config STACK=host make -o stack-host-config MAKE_OLDFILE=stack-host-config ENV=local DOCKER_COMPOSE=docker --log-level=error compose docker-compose-config STACK=host APP_NAME=host -docker --log-level=error compose --ansi=auto -f @WD@/stack/host/consul.yml -f @WD@/stack/host/fabio.yml -f @WD@/stack/host/registrator.yml -f @MYOS@/stack/myos/networks.yml -p testhost config +docker --log-level=error compose --ansi=auto -f @WD@/stack/host/consul.yml -f @WD@/stack/host/fabio.yml -f @WD@/stack/host/registrator.yml -f @MYOS@/share/compose/networks.yml -p testhost config [exit 0] diff --git a/spec/golden/expected/host-target.txt b/spec/golden/expected/host-target.txt index 02f1047..27cfe28 100644 --- a/spec/golden/expected/host-target.txt +++ b/spec/golden/expected/host-target.txt @@ -2,13 +2,13 @@ make -o host MAKE_OLDFILE=host ENV=local DOCKER_COMPOSE=docker --log-level=error make -o host MAKE_OLDFILE=host ENV=local DOCKER_COMPOSE=docker --log-level=error compose docker-compose-up STACK=host/consul APP_NAME=host sh -c docker network create tester-local >/dev/null 2>&1 sh -c docker network create testhost >/dev/null 2>&1 -docker --log-level=error compose --ansi=auto -f @WD@/stack/host/consul.yml -f @MYOS@/stack/myos/networks.yml -p testhost up -d +docker --log-level=error compose --ansi=auto -f @WD@/stack/host/consul.yml -f @MYOS@/share/compose/networks.yml -p testhost up -d make -o host MAKE_OLDFILE=host ENV=local DOCKER_COMPOSE=docker --log-level=error compose docker-compose-up STACK=host/fabio APP_NAME=host sh -c docker network create tester-local >/dev/null 2>&1 sh -c docker network create testhost >/dev/null 2>&1 -docker --log-level=error compose --ansi=auto -f @WD@/stack/host/fabio.yml -f @MYOS@/stack/myos/networks.yml -p testhost up -d +docker --log-level=error compose --ansi=auto -f @WD@/stack/host/fabio.yml -f @MYOS@/share/compose/networks.yml -p testhost up -d make -o host MAKE_OLDFILE=host ENV=local DOCKER_COMPOSE=docker --log-level=error compose docker-compose-up STACK=host/registrator APP_NAME=host sh -c docker network create tester-local >/dev/null 2>&1 sh -c docker network create testhost >/dev/null 2>&1 -docker --log-level=error compose --ansi=auto -f @WD@/stack/host/registrator.yml -f @MYOS@/stack/myos/networks.yml -p testhost up -d +docker --log-level=error compose --ansi=auto -f @WD@/stack/host/registrator.yml -f @MYOS@/share/compose/networks.yml -p testhost up -d [exit 0] diff --git a/spec/golden/expected/host-up-consul.txt b/spec/golden/expected/host-up-consul.txt index e3597f9..e6c0ab0 100644 --- a/spec/golden/expected/host-up-consul.txt +++ b/spec/golden/expected/host-up-consul.txt @@ -1,5 +1,5 @@ make -o docker-stack-up MAKE_OLDFILE=docker-stack-up ENV=local DOCKER_COMPOSE=docker --log-level=error compose docker-compose-up STACK=host/consul APP_NAME=host sh -c docker network create tester-local >/dev/null 2>&1 sh -c docker network create testhost >/dev/null 2>&1 -docker --log-level=error compose --ansi=auto -f @WD@/stack/host/consul.yml -f @MYOS@/stack/myos/networks.yml -p testhost up -d +docker --log-level=error compose --ansi=auto -f @WD@/stack/host/consul.yml -f @MYOS@/share/compose/networks.yml -p testhost up -d [exit 0] diff --git a/spec/golden/expected/host-up-group.txt b/spec/golden/expected/host-up-group.txt index f4e07cc..181f07b 100644 --- a/spec/golden/expected/host-up-group.txt +++ b/spec/golden/expected/host-up-group.txt @@ -1,5 +1,5 @@ make -o docker-stack-up MAKE_OLDFILE=docker-stack-up ENV=local DOCKER_COMPOSE=docker --log-level=error compose docker-compose-up STACK=host APP_NAME=host sh -c docker network create tester-local >/dev/null 2>&1 sh -c docker network create testhost >/dev/null 2>&1 -docker --log-level=error compose --ansi=auto -f @WD@/stack/host/consul.yml -f @WD@/stack/host/fabio.yml -f @WD@/stack/host/registrator.yml -f @MYOS@/stack/myos/networks.yml -p testhost up -d +docker --log-level=error compose --ansi=auto -f @WD@/stack/host/consul.yml -f @WD@/stack/host/fabio.yml -f @WD@/stack/host/registrator.yml -f @MYOS@/share/compose/networks.yml -p testhost up -d [exit 0] diff --git a/spec/golden/expected/host-up-two.txt b/spec/golden/expected/host-up-two.txt index 649cf1f..aa04df4 100644 --- a/spec/golden/expected/host-up-two.txt +++ b/spec/golden/expected/host-up-two.txt @@ -1,9 +1,9 @@ make -o docker-stack-up MAKE_OLDFILE=docker-stack-up ENV=local DOCKER_COMPOSE=docker --log-level=error compose docker-compose-up STACK=host/consul APP_NAME=host sh -c docker network create tester-local >/dev/null 2>&1 sh -c docker network create testhost >/dev/null 2>&1 -docker --log-level=error compose --ansi=auto -f @WD@/stack/host/consul.yml -f @WD@/stack/host/fabio.yml -f @MYOS@/stack/myos/networks.yml -p testhost up -d +docker --log-level=error compose --ansi=auto -f @WD@/stack/host/consul.yml -f @WD@/stack/host/fabio.yml -f @MYOS@/share/compose/networks.yml -p testhost up -d make -o docker-stack-up MAKE_OLDFILE=docker-stack-up ENV=local DOCKER_COMPOSE=docker --log-level=error compose docker-compose-up STACK=host/fabio APP_NAME=host sh -c docker network create tester-local >/dev/null 2>&1 sh -c docker network create testhost >/dev/null 2>&1 -docker --log-level=error compose --ansi=auto -f @WD@/stack/host/consul.yml -f @WD@/stack/host/fabio.yml -f @MYOS@/stack/myos/networks.yml -p testhost up -d +docker --log-level=error compose --ansi=auto -f @WD@/stack/host/consul.yml -f @WD@/stack/host/fabio.yml -f @MYOS@/share/compose/networks.yml -p testhost up -d [exit 0] diff --git a/spec/golden/expected/misc-help.txt b/spec/golden/expected/misc-help.txt index 902aea0..4ffd64e 100644 --- a/spec/golden/expected/misc-help.txt +++ b/spec/golden/expected/misc-help.txt @@ -43,10 +43,10 @@ DOCKER_SOCKET_LOCATION /var/run/docker.sock DOCKER_SYSTEM Linux DOMAIN example.test APP myos -APPS c411 dsh myos wbr wbr.old -BRANCH lightning -VERSION legacy-1.0-beta +APPS @APPS@ +BRANCH @BRANCH@ +VERSION @VERSION@ RELEASE -COMPOSE_FILE @MYOS@/stack/myos/networks.yml +COMPOSE_FILE @MYOS@/share/compose/networks.yml DOCKER_REPOSITORY tester/myos/local [exit 0] diff --git a/spec/golden/expected/nogit-up.txt b/spec/golden/expected/nogit-up.txt index 048ad84..771fdd8 100644 --- a/spec/golden/expected/nogit-up.txt +++ b/spec/golden/expected/nogit-up.txt @@ -1,5 +1,5 @@ make -o docker-stack-up MAKE_OLDFILE=docker-stack-up ENV=local DOCKER_COMPOSE=docker --log-level=error compose docker-compose-up STACK=myos APP_NAME=myos sh -c docker network create tester-local >/dev/null 2>&1 sh -c docker network create testhost >/dev/null 2>&1 -docker --log-level=error compose --ansi=auto -f @MYOS@/stack/myos/networks.yml -p tester-myos-local up -d +docker --log-level=error compose --ansi=auto -f @MYOS@/share/compose/networks.yml -p tester-myos-local up -d [exit 0] diff --git a/spec/support/run.sh b/spec/support/run.sh index ea16e66..cb7e4c1 100644 --- a/spec/support/run.sh +++ b/spec/support/run.sh @@ -27,6 +27,8 @@ myos_hermetic_env() { } # myos_normalize SANDBOX (stdin -> stdout) +# APPS, BRANCH and VERSION depend on where the myos checkout lives and on its git state, +# so they are masked to keep the goldens reproducible across machines. myos_normalize() { sed -e 's/\x1b\[[0-9;]*m//g' \ -e "s#$MYOS_ROOT#@MYOS@#g" \ @@ -34,6 +36,9 @@ myos_normalize() { -e "s#$1/home#@HOME@#g" \ -e "s#$1#@TMP@#g" \ -e 's#/[^ ]*/bin/make#make#g' \ + -e 's/^APPS .*/APPS @APPS@/' \ + -e 's/^BRANCH .*/BRANCH @BRANCH@/' \ + -e 's/^VERSION .*/VERSION @VERSION@/' \ -e 's/[[:space:]][[:space:]]*/ /g' \ -e 's/[[:space:]]*$//' }