Skip to content
This repository was archived by the owner on Oct 1, 2024. It is now read-only.

Commit 06e7046

Browse files
committed
Initial commit with current files
0 parents  commit 06e7046

File tree

12 files changed

+1929
-0
lines changed

12 files changed

+1929
-0
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.idea/

README.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# Allure TestOps version 5, configuration files for docker compose installation
2+
3+
## Configuration sets
4+
5+
1. testops-demo
6+
2. testops
7+
3. testops-ldap
8+
4. testops-saml
9+
10+
### testops-demo
11+
12+
Config `testops-demo` **cannot be used** as production deployment. Use this as a proof of concept or demo for the decision making.
13+
14+
Demo config contains all the components required for the starting Allure TestOps up, however this configuration requires a lot of maintenance and will lead to significant downtime and possible data loss when database upgrade is required.
15+
16+
We won't be able to help with data restoration or performance issues when Allure TestOps is deployed with demo config.
17+
18+
### testops
19+
20+
Use this configuration if you are going to manage end users and their authentication via Allure TestOps UI (so-called local users or system authentication).
21+
22+
#### Target deployment architecture
23+
24+
| Component | Deployed as |
25+
|----------------|------------------------------|
26+
| Allure TestOps | via docker compose |
27+
| Postgres | standalone server |
28+
| RabbitMQ | preferably standalone server |
29+
| Redis | preferably standalone server |
30+
| S3 solution | standalone server |
31+
32+
### testops-ldap
33+
34+
Use this configuration if you are going to manage end users and their authentication via existing LDAP server.
35+
36+
#### Target deployment architecture
37+
38+
| Component | Deployed as |
39+
|----------------|------------------------------|
40+
| Allure TestOps | via docker compose |
41+
| Postgres | standalone server |
42+
| RabbitMQ | standalone server |
43+
| Redis | preferably standalone server |
44+
| S3 solution | standalone server |
45+
46+
### testops-saml
47+
48+
Use this configuration if you are going to manage end users and their authentication via existing Identity Provider service supporting SAML2 authentication.
49+
50+
#### Target deployment architecture
51+
52+
| Component | Deployed as |
53+
|----------------|------------------------------|
54+
| Allure TestOps | via docker compose |
55+
| Postgres | standalone server |
56+
| RabbitMQ | preferably standalone server |
57+
| Redis | preferably standalone server |
58+
| S3 solution | standalone server |
59+
60+
## Upgrade from version 4 to version 5
61+
62+
The only available paths from to upgrade 4 to 5 are
63+
64+
- 4.25.1 → 5.3.3
65+
- 4.26.1 → 5.3.3
66+
67+
Upgrade process is thoroughly described in [Allure TestOps documentation here.](https://)

testops-demo/docker-compose.yml

Lines changed: 187 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,187 @@
1+
version: "3.9"
2+
3+
services:
4+
5+
testops:
6+
restart: always
7+
image: ${IMAGES_REGISTRY}/${IMAGES_REPO}/testops:${RELEASE_TO_DEPLOY}
8+
container_name: testops
9+
networks:
10+
- testops-net
11+
ports:
12+
- "${DEMO_INSTANCE_PORT}:${DEMO_INSTANCE_CONTAINER_PORT}"
13+
healthcheck:
14+
test: "curl -f http://localhost:${DEMO_INSTANCE_CONTAINER_PORT}/api/management/health || exit 1"
15+
interval: 30s
16+
timeout: 10s
17+
retries: 10
18+
start_period: 20s
19+
environment:
20+
# Not required for DEMO installation
21+
# TLS_ENDPOINTS: ${TLS_ENDPOINTS}
22+
SPRING_PROFILES_ACTIVE: compose
23+
SPRING_CLOUD_CONSUL_ENABLED: "false"
24+
SPRING_OUTPUT_ANSI_ENABLED: never
25+
ALLURE_JWT_SECRET: ${DEMO_INSTANCE_JWT_SECRET}
26+
ALLURE_SECURE: ${DEMO_INSTANCE_SECURE_COOKIE}
27+
ALLURE_JWT_ACCESS_TOKEN_VALIDITY_SECONDS: ${DEMO_INSTANCE_SESSION_DURATION}
28+
29+
ALLURE_ENDPOINT: ${DEMO_INSTANCE_PROTO}://${DEMO_INSTANCE_HOST}
30+
ALLURE_CRYPTO_PASSWORD: ${DEMO_INSTANCE_CRYPTO_PASSWORD}
31+
# Deprecated starting from 5.6.0
32+
# Enable if you are deploying 5.5.1
33+
# ALLURE_SECURITY_USER_NAME: admin
34+
# ALLURE_SECURITY_USER_PASSWORD: ${DEMO_INSTANCE_
35+
ALLURE_MAIL_ROOT: ${FIRST_ADMIN_EMAIL}
36+
ALLURE_REGISTRATION_AUTOAPPROVE: false
37+
ALLURE_REGISTRATION_ENABLED: false
38+
ALLURE_REGISTRATION_DEFAULT_ROLE: ROLE_GUEST
39+
40+
SPRING_SESSION_STORE_TYPE: REDIS
41+
SPRING_DATA_REDIS_HOST: ${DEMO_INSTANCE_REDIS_HOST}
42+
SPRING_DATA_REDIS_PORT: ${DEMO_INSTANCE_REDIS_PORT}
43+
SPRING_DATA_REDIS_PASSWORD: ${DEMO_INSTANCE_REDIS_PASS}
44+
SPRING_DATA_REDIS_DATABASE: ${DEMO_INSTANCE_REDIS_DB}
45+
46+
# SPRING_MAIL_ are mandatory for all types of authentication
47+
SPRING_MAIL_HOST: ${SMTP_HOST}
48+
SPRING_MAIL_PORT: ${SMTP_PORT}
49+
SPRING_MAIL_USERNAME: ${SMTP_USERNAME}
50+
SPRING_MAIL_PASSWORD: ${SMTP_PASSWORD}
51+
SPRING_MAIL_PROPERTIES_MAIL_SMTP_AUTH: ${SMTP_AUTH}
52+
SPRING_MAIL_PROPERTIES_MAIL_SMTP_STARTTLS_ENABLE: ${SMTP_STARTTLS_ENABLE}
53+
SPRING_MAIL_PROPERTIES_MAIL_SMTP_STARTTLS_REQUIRED: ${SMTP_STARTTLS_REQUIRED}
54+
SPRING_MAIL_PROPERTIES_MAIL_SMTP_SSL_ENABLE: ${SMTP_SSL_ENABLE}
55+
SPRING_MAIL_PROPERTIES_MAIL_SMTP_SSL_TRUST: ${SMTP_SSL_TRUST}
56+
ALLURE_MAIL_FROM: ${SMTP_MAIL_FROM}
57+
# Not required for DEMO installation
58+
# TLS_DB_ENDPOINTS: ${TLS_DB_ENDPOINTS}
59+
SPRING_DATASOURCE_URL: jdbc:postgresql://${DEMO_INSTANCE_TESTOPS_DB_HOST}:${DEMO_INSTANCE_TESTOPS_DB_PORT}/${DEMO_INSTANCE_TESTOPS_DB_NAME}?assumeMinServerVersion=11&ApplicationName=${DEMO_INSTANCE_TESTOPS_SERVICE_NAME}
60+
SPRING_DATASOURCE_USERNAME: ${DEMO_INSTANCE_TESTOPS_DB_USERNAME}
61+
SPRING_DATASOURCE_PASSWORD: ${DEMO_INSTANCE_TESTOPS_DB_PASS}
62+
SPRING_DATASOURCE_HIKARI_MAXIMUMPOOLSIZE: ${DEMO_INSTANCE_TESTOPS_DB_MAXIMUMPOOLSIZE}
63+
SPRING_DATASOURCE_HIKARI_CONNECTIONTIMEOUT: ${DEMO_INSTANCE_TESTOPS_DB_CONNECTIONTIMEOUT}
64+
65+
SPRING_RABBITMQ_HOST: ${DEMO_INSTANCE_RABBIT_HOST}
66+
SPRING_RABBITMQ_PORT: ${DEMO_INSTANCE_RABBIT_PORT}
67+
SPRING_RABBITMQ_USERNAME: ${DEMO_INSTANCE_RABBIT_USER}
68+
SPRING_RABBITMQ_PASSWORD: ${DEMO_INSTANCE_RABBIT_PASS}
69+
SPRING_RABBITMQ_LISTENER_SIMPLE_MAXCONCURRENCY: ${DEMO_INSTANCE_RABBIT_MAXCONCURRENCY}
70+
ALLURE_UPLOAD_PARSE_CONSUMERSPERQUEUE: ${DEMO_INSTANCE_RABBIT_PARSE_CONSUMERSPERQUEUE}
71+
ALLURE_UPLOAD_STORE_CONSUMERSPERQUEUE: ${DEMO_INSTANCE_RABBIT_STORE_CONSUMERSPERQUEUE}
72+
73+
ALLURE_BLOBSTORAGE_TYPE: S3
74+
ALLURE_BLOBSTORAGE_S3_PATHSTYLEACCESS: ${DEMO_INSTANCE_S3_PATHSTYLE}
75+
ALLURE_BLOBSTORAGE_S3_ENDPOINT: ${DEMO_INSTANCE_S3_URL}
76+
ALLURE_BLOBSTORAGE_S3_BUCKET: ${DEMO_INSTANCE_S3_BUCKET}
77+
ALLURE_BLOBSTORAGE_S3_REGION: ${DEMO_INSTANCE_S3_REGION}
78+
ALLURE_BLOBSTORAGE_S3_ACCESSKEY: ${DEMO_INSTANCE_S3_ACCESS_KEY}
79+
ALLURE_BLOBSTORAGE_S3_SECRETKEY: ${DEMO_INSTANCE_S3_SECRET_KEY}
80+
ALLURE_BLOBSTORAGE_MAXCONCURRENCY: ${DEMO_INSTANCE_S3_MAXCONCURRENCY}
81+
ALLURE_SCHEDULER_CLEANER_BLOB_BATCHSIZE: ${DEMO_INSTANCE_SCHEDULER_CLEANER_BLOB_BATCHSIZE}
82+
ALLURE_TASKEXECUTOR_COREPOOLSIZE: ${DEMO_INSTANCE_TASKEXECUTOR_COREPOOLSIZE}
83+
84+
MANAGEMENT_METRICS_EXPORT_PROMETHEUS_ENABLED: 'true'
85+
MANAGEMENT_HEALTH_DISKSPACE_ENABLED: 'false'
86+
MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE: health,info,prometheus,configprops
87+
MANAGEMENT_ENDPOINT_HEALTH_CACHE_TIME-TO-LIVE: 15s
88+
LOGGING_LEVEL_IO_QAMETA_ALLURE: warn
89+
LOGGING_LEVEL_ORG_SPRINGFRAMEWORK_SECURITY: warn
90+
LOGGING_LEVEL_ORG_SPRINGFRAMEWORK: warn
91+
LOGGING_LEVEL_COM_ZAXXER_HIKARI: warn
92+
SERVER_ERROR_INCLUDE_STACKTRACE: always
93+
TZ: ${TZ}
94+
JAVA_TOOL_OPTIONS: >
95+
-XX:+UseG1GC
96+
-XX:+UseStringDeduplication
97+
-XX:MinHeapFreeRatio=15
98+
-XX:MaxHeapFreeRatio=30
99+
-Dsun.jnu.encoding=UTF-8
100+
-Dfile.encoding=UTF-8
101+
logging:
102+
driver: "json-file"
103+
options:
104+
max-size: "10mb"
105+
106+
testops-db:
107+
restart: always
108+
image: postgres:15
109+
container_name: testops-db
110+
networks:
111+
- testops-net
112+
volumes:
113+
- testops-db-volume:/var/lib/postgresql/data
114+
environment:
115+
TZ: ${TZ}
116+
POSTGRES_DB: ${DEMO_INSTANCE_TESTOPS_DB_NAME}
117+
POSTGRES_USER: ${DEMO_INSTANCE_TESTOPS_DB_USERNAME}
118+
POSTGRES_PASSWORD: ${DEMO_INSTANCE_TESTOPS_DB_PASS}
119+
120+
redis:
121+
restart: always
122+
image: bitnami/redis:6.2
123+
container_name: redis
124+
networks:
125+
- testops-net
126+
environment:
127+
TZ: ${TZ}
128+
REDIS_PASSWORD: ${DEMO_INSTANCE_REDIS_PASS}
129+
REDIS_PORT_NUMBER: ${DEMO_INSTANCE_REDIS_PORT}
130+
healthcheck:
131+
test: [ "CMD", "redis-cli", "ping" ]
132+
interval: 1s
133+
timeout: 3s
134+
retries: 30
135+
136+
rabbitmq:
137+
restart: always
138+
image: rabbitmq:3.9-management
139+
container_name: rabbitmq
140+
networks:
141+
- testops-net
142+
volumes:
143+
- rabbitmq-volume:/var/lib/rabbitmq
144+
environment:
145+
RABBITMQ_DEFAULT_USER: ${DEMO_INSTANCE_RABBIT_USER}
146+
RABBITMQ_DEFAULT_PASS: ${DEMO_INSTANCE_RABBIT_PASS}
147+
148+
minio-local:
149+
restart: always
150+
image: bitnami/minio:2022
151+
container_name: minio-local
152+
networks:
153+
- testops-net
154+
volumes:
155+
- minio-volume:/data
156+
environment:
157+
MINIO_ROOT_USER: ${DEMO_INSTANCE_S3_ACCESS_KEY}
158+
MINIO_ROOT_PASSWORD: ${DEMO_INSTANCE_S3_SECRET_KEY}
159+
MINIO_PROMETHEUS_AUTH_TYPE: 'public'
160+
ports:
161+
- "9000:9000"
162+
163+
minio-local-provisioning:
164+
restart: "no"
165+
image: minio/mc
166+
container_name: minio-provisioning
167+
depends_on:
168+
- minio-local
169+
networks:
170+
- testops-net
171+
entrypoint: "/bin/sh -c"
172+
command: >
173+
"mc config host add ${DEMO_INSTANCE_S3_PROVIDER} ${DEMO_INSTANCE_S3_URL} ${DEMO_INSTANCE_S3_ACCESS_KEY} ${DEMO_INSTANCE_S3_SECRET_KEY} --api S3v4 &&
174+
mc mb ${DEMO_INSTANCE_S3_PROVIDER}/${DEMO_INSTANCE_S3_BUCKET} --ignore-existing --region ${DEMO_INSTANCE_S3_REGION} &&
175+
mc admin info ${DEMO_INSTANCE_S3_PROVIDER}"
176+
177+
networks:
178+
testops-net:
179+
driver: bridge
180+
ipam:
181+
config:
182+
- subnet: 192.168.100.0/24
183+
184+
volumes:
185+
rabbitmq-volume:
186+
minio-volume:
187+
testops-db-volume:

0 commit comments

Comments
 (0)