Files
myos/spec/golden/cases.txt
T
Yann Autissier 90bb97cca8 replace the linux-only firewall patching with a portable exposure model
The catalogue publishes 51 compose files with the bare form 'ports: [80]',
which binds a random host port on 0.0.0.0: every service answers the internet.
ufw-docker existed to take that back afterwards, as root, on linux only,
because docker writes its own firewall rules and ufw never sees those ports.

Publishing where you mean to solves it at the source. Verified against the
daemon: '- 80' gives 0.0.0.0:32768, '127.0.0.1::80' gives 127.0.0.1:32769.
Same on macOS and on linux, no privilege, and visible in docker ps.

A stack binds with ${MYOS_BIND_PRIVATE|PUBLIC|MESH} and declares what it
means with <PREFIX>_SERVICE[_<port>]_EXPOSE. myos expose reads the resolved
compose configuration and reports what would be opened; --strict fails when a
port faces the world without declaring it, which is what an agent runs against
a server it did not set up.
2026-09-05 13:07:13 +02:00

94 lines
6.9 KiB
Plaintext

# name | fixture | args
#
# `help` is deliberately absent: it renders the comments of the Makefile, so it
# would break on every edit to a dev target rather than on a change of behaviour.
host-print-project | host-project | print-COMPOSE_PROJECT_NAME STACK=host/consul
host-print-compose-file | host-project | print-COMPOSE_FILE STACK=host/consul
host-print-stack-dir | host-project | print-STACK_DIR STACK=host/consul
host-print-env-vars | host-project | print-ENV_VARS STACK=host/consul
host-print-suffix | host-project | print-COMPOSE_FILE_SUFFIX STACK=host/consul
host-print-network-default | host-project | print-DOCKER_NETWORK_DEFAULT STACK=host/consul
host-print-network-private | host-project | print-DOCKER_NETWORK_PRIVATE STACK=host/consul
host-print-network-public | host-project | print-DOCKER_NETWORK_PUBLIC STACK=host/consul
host-print-host-stack | host-project | print-HOST_STACK STACK=host/consul
host-print-app | host-project | print-APP STACK=host/consul
host-up-consul | host-project | up STACK=host/consul
host-up-two | host-project | up STACK="host/consul host/fabio"
host-up-group | host-project | up STACK=host
host-target | host-project | host
host-down-group | host-project | down STACK=host
host-config | host-project | config STACK=host/fabio
host-ps | host-project | ps STACK=host/consul
host-logs | host-project | logs STACK=host/consul
host-stack-host-config | host-project | stack-host-config
host-exec | host-project | exec STACK=host/consul SERVICE=consul ARGS='consul members'
host-env-master | host-project | print-COMPOSE_FILE STACK=host/consul ENV=master
host-print-project-env-master | host-project | print-COMPOSE_PROJECT_NAME STACK=host/consul ENV=master
app-print-project | app-git | print-COMPOSE_PROJECT_NAME
app-print-compose-file | app-git | print-COMPOSE_FILE
app-print-app | app-git | print-APP
app-print-stack | app-git | print-STACK
app-up | app-git | up
app-up-env-master | app-git | up ENV=master
app-config | app-git | config
app-down | app-git | down
app-run | app-git | run SERVICE=app ARGS='id'
app-scale | app-git | scale SERVICE=app NUM=2
app-print-service-name | app-git | print-COMPOSE_SERVICE_NAME
app-print-repository | app-git | print-DOCKER_REPOSITORY
nogit-print-project | app-nogit | print-COMPOSE_PROJECT_NAME
nogit-print-app | app-nogit | print-APP
nogit-up | app-nogit | up
cat-postgres-compose-file | app-nogit | print-COMPOSE_FILE STACK=postgres
cat-postgres-project | app-nogit | print-COMPOSE_PROJECT_NAME STACK=postgres
cat-postgres-up | app-nogit | up STACK=postgres
cat-postgres-version | app-nogit | print-COMPOSE_FILE STACK=postgres:9.6
cat-postgres-env-master | app-nogit | print-COMPOSE_FILE STACK=postgres ENV=master
cat-user-project | app-nogit | print-COMPOSE_PROJECT_NAME STACK=User/User
cat-user-compose-file | app-nogit | print-COMPOSE_FILE STACK=User/User
cat-user-network | app-nogit | print-DOCKER_NETWORK STACK=User/User
cat-group-testing | app-nogit | print-COMPOSE_FILE STACK=testing
cat-group-testing-up | app-nogit | up STACK=testing
cat-group-default-up | app-nogit | up STACK=default
cat-drone-version | app-nogit | print-COMPOSE_FILE STACK=drone/drone:1.6
cat-drone-env-vars | app-nogit | print-ENV_VARS STACK=drone/drone
cat-nginx-www | app-nogit | print-COMPOSE_FILE STACK=host/nginx COMPOSE_FILE_WWW=true
cat-nginx-www-dns | app-nogit | print-COMPOSE_FILE STACK=host/nginx COMPOSE_FILE_WWW=true COMPOSE_FILE_DNS=true
cat-nginx-project | app-nogit | print-COMPOSE_PROJECT_NAME STACK=host/nginx
cat-unknown-stack | app-nogit | print-COMPOSE_FILE STACK=doesnotexist
cat-unknown-target | app-nogit | doesnotexist
inc-app-print-project | app-git | @make print-COMPOSE_PROJECT_NAME
inc-app-print-compose-file | app-git | @make print-COMPOSE_FILE
inc-app-print-app | app-git | @make print-APP
inc-app-up | app-git | @make up
inc-app-up-env-master | app-git | @make up ENV=master
inc-app-config | app-git | @make config
inc-app-down | app-git | @make down
inc-app-ps | app-git | @make ps
inc-app-print-service-name | app-git | @make print-COMPOSE_SERVICE_NAME
inc-app-print-env-vars | app-git | @make print-ENV_VARS
inc-app-print-network-default | app-git | @make print-DOCKER_NETWORK_DEFAULT
inc-app-stack-postgres-up | app-git | @make up STACK=postgres
inc-app-unknown-target | app-git | @make doesnotexist
cmd-exec-host | host-project | exec host/consul -- consul members
cmd-exec-service | host-project | exec host/fabio SERVICE=fabio -- sh
cmd-run-catalogue | app-nogit | run postgres -- psql -l
cmd-scale | app-nogit | scale postgres SERVICE=postgres NUM=3
cmd-ls | host-project | ls
cmd-ls-groups | host-project | ls --groups
cmd-env-domain | host-project | env DOMAIN
shim-up-group | shim-project | @make up STACK=host DRYRUN=true
shim-config | shim-project | @make config STACK=host/consul DRYRUN=true
shim-project-target | shim-project | @make host-certs
shim-env | shim-project | @make env ARGS=COMPOSE_PROJECT_NAME STACK=host
chain-build-up-logs | host-project | build up logs host/fabio
chain-up-group | host-project | up ps host
chain-print-two | host-project | print-COMPOSE_PROJECT_NAME print-APP STACK=host/consul
mk-ssh-no-hosts | app-nogit | ssh
mk-ssh-with-hosts | app-nogit | ssh SSH_HOSTS=example.test ARGS=id
bridge-export | host-project | export STACK=host/consul
cmd-recreate | host-project | recreate host/consul
cmd-status | host-project | status host/consul
expose-none | host-project | expose host/consul
expose-default | app-git | expose