Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 70 additions & 0 deletions cli/test-setup/docker-compose-pmm-client.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
version: '3.7'

services:
pmm-server:
container_name: pmm-server-1
image: ${DOCKER_VERSION:-perconalab/pmm-server:3-dev-latest}
ports:
- "2553:8443"
- "8085:8080"
environment:
- PMM_DEBUG=1
networks:
- docker-client-check

pmm-client:
container_name: pmm-client-1
image: ${CLIENT_DOCKER_VERSION:-perconalab/pmm-client:3-dev-latest}
environment:
- PMM_AGENT_SERVER_ADDRESS=pmm-server-1:8443
- PMM_AGENT_SERVER_USERNAME=admin
- PMM_AGENT_SERVER_PASSWORD=admin
- PMM_AGENT_SERVER_INSECURE_TLS=1
- PMM_AGENT_SETUP=1
- PMM_AGENT_SETUP_FORCE=1
- PMM_AGENT_CONFIG_FILE=/usr/local/percona/pmm/config/pmm-agent.yaml
depends_on:
pmm-server:
condition: service_healthy
ps:
condition: service_started
mongodb:
condition: service_started
postgres:
condition: service_started
networks:
- docker-client-check

ps:
container_name: ps-1
image: percona:8.0
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_USER=pmm
- MYSQL_PASSWORD=pmm-pass
- PMM_AGENT_SERVER_ADDRESS=pmm-server-1:8443
networks:
- docker-client-check

mongodb:
container_name: psmdb-1
image: percona/percona-server-mongodb:7.0
environment:
- PMM_AGENT_SERVER_ADDRESS=pmm-server-1:8443
- MONGO_INITDB_ROOT_USERNAME=pmm
- MONGO_INITDB_ROOT_PASSWORD=pmm-pass
networks:
- docker-client-check

postgres:
container_name: pdpgsql-1
image: percona/percona-distribution-postgresql:16
environment:
- POSTGRES_USER=pmm
- POSTGRES_PASSWORD=pmm-pass
- PMM_AGENT_SERVER_ADDRESS=pmm-server-1:8443
networks:
- docker-client-check

networks:
docker-client-check:
8 changes: 6 additions & 2 deletions cli/tests/pmm-client-docker.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,13 @@ import * as cli from '@helpers/cli-helper';

test.describe('PMM Client Docker CLI tests', async () => {
test.beforeAll(async ({}) => {
const result = await cli.exec('docker ps | grep pmm-client-1 | awk \'{print $NF}\'');
await result.outContains('pmm-client-1', 'Docker container pmm-client-1 should exist. please run pmm-framework with --database dockerclients');
await cli.exec('docker compose -f test-setup/docker-compose-pmm-client.yaml up -d --quiet-pull');
await cli.exec('sleep 2');
await cli.exec('docker exec pmm-client-1 pmm-admin add mysql --username=pmm --password=pmm-pass --service-name=ps-8.0 --query-source=perfschema --host=ps-1 --port=3306 --server-url=https://admin:admin@pmm-server-1:8443 --server-insecure-tls=true');
await cli.exec('docker exec pmm-client-1 pmm-admin add postgresql --query-source=pgstatements --username=pmm --password=pmm-pass --service-name=pdpgsql-1 --host=pdpgsql-1 --port=5432 --server-url=https://admin:admin@pmm-server-1:8443 --server-insecure-tls=true');
await cli.exec('docker exec pmm-client-1 pmm-admin add mongodb --username=pmm --password=pmm-pass --service-name=mongodb-7.0 --host=psmdb-1 --port=27017 --server-url=https://admin:admin@pmm-server-1:8443 --server-insecure-tls=true');
});

/**
* @link https://github.com/percona/pmm-qa/blob/main/pmm-tests/pmm-2-0-bats-tests/pmm-client-docker-tests.bats#L6
*/
Expand Down
Loading