Storate container simplification

Only one is really needed for large storage for the dbstore container.  The demo containers can contain their own data -- it's small
and the containers are made for demonstration anyway.
This commit is contained in:
Michael Hohn
2024-09-13 12:04:30 -07:00
committed by =Michael Hohn
parent 727381dc5a
commit f60b55f181
4 changed files with 44 additions and 58 deletions

View File

@@ -4,11 +4,8 @@ FROM busybox
# This data container holds data from existing runs. It cannot be built without
# ready data.
# Mirror parts of the host directory structure in the container
COPY tmp/dbstore-data /data/mrvacommander/dbstore-data
COPY tmp/scratch /data/mrvacommander/qldbtools/scratch
# Just run sh if this container is ever started
CMD ["sh"]

View File

@@ -3,17 +3,34 @@ services:
image: ghcr.io/hohn/mrvadata:0.1.24
container_name: mrvadata
volumes:
- mrvadata:/data/mrvacommander
- mrvadata:/data/mrvacommander/dbstore-data
networks:
- backend
client-qldbtools:
image: ghcr.io/hohn/client-qldbtools-container:0.1.24
volumes:
# data at /data/mrvacommander/qldbtools/scratch
- mrvadata:/data/mrvacommander
dbstore:
image: minio/minio:RELEASE.2024-06-11T03-13-30Z
container_name: dbstore
ports:
- "9000:9000"
- "9001:9001"
env_file:
- path: .env.container
required: true
command: server /data/mrvacommander/dbstore-data --console-address ":9001"
depends_on:
- mrvadata
# The mrvadata volume has content of ./dbstore-data, so the volume mount
# below is equivalent of this original:
# volumes:
# - ./dbstore-data:/data
volumes:
- mrvadata:/data
networks:
- backend
client-qldbtools:
image: ghcr.io/hohn/client-qldbtools-container:0.1.24
# XX: Copy client/qldbtools/scratch into this container
networks:
- backend
@@ -22,10 +39,7 @@ services:
# XX: redirect by changing code or using nginx proxy
# client.Get(fmt.Sprintf("http://localhost:8080/repos/%s/code-scanning/codeql/variant-analyses/%d", controller, runId), &response)
image: ghcr.io/hohn/client-ghmrva-container:0.1.24
volumes:
- mrvadata:/data/mrvacommander
depends_on:
- mrvadata
# XX: Include codeql in container if needed; no attached storage container.
networks:
- backend
@@ -33,12 +47,9 @@ services:
image: ghcr.io/hohn/code-server-initialized:0.1.24
ports:
- "9080:9080"
volumes:
- mrvadata:/data/mrvacommander
# XX: Include codeql binary in code-server (if it's not there already)
environment:
- PASSWORD=mrva
depends_on:
- mrvadata
rabbitmq:
image: rabbitmq:3-management
@@ -75,25 +86,6 @@ services:
networks:
- backend
dbstore:
image: minio/minio:RELEASE.2024-06-11T03-13-30Z
container_name: dbstore
ports:
- "9000:9000"
- "9001:9001"
env_file:
- path: .env.container
required: true
command: server /data/mrvacommander/dbstore-data --console-address ":9001"
depends_on:
- mrvadata
volumes:
# XX: use multiple storage containers
# data at /data/mrvacommander/dbstore-data
- mrvadata:/data/mrvacommander
networks:
- backend
artifactstore:
image: minio/minio:RELEASE.2024-06-11T03-13-30Z
container_name: artifactstore

View File

@@ -1,27 +1,24 @@
digraph docker_compose {
rankdir=LR;
node [shape=box];
mrvadata [label="mrvadata" color=lightblue];
"client-qldbtools" [label="client-qldbtools" color=lightgreen];
"client-ghmrva" [label="client-ghmrva" color=lightgreen];
"code-server" [label="code-server" color=lightgreen];
rabbitmq [label="rabbitmq" color=lightcoral];
server [label="server" color=lightcoral];
dbstore [label="dbstore" color=lightcoral];
artifactstore [label="artifactstore" color=lightcoral];
agent [label="agent" color=lightcoral];
// Dependencies
"client-qldbtools" -> mrvadata;
"client-ghmrva" -> mrvadata;
"code-server" -> mrvadata;
digraph G {
// Define nodes
mrvadata [label="mrvadata" shape=box];
client_qldbtools [label="client-qldbtools" shape=box];
client_ghmrva [label="client-ghmrva" shape=box];
code_server [label="code-server" shape=box];
rabbitmq [label="rabbitmq" shape=box];
server [label="server" shape=box];
dbstore [label="dbstore" shape=box];
artifactstore [label="artifactstore" shape=box];
agent [label="agent" shape=box];
// Define edges (dependencies)
server -> rabbitmq;
server -> dbstore;
server -> artifactstore;
dbstore -> mrvadata;
"server" -> rabbitmq;
"server" -> dbstore;
"server" -> artifactstore;
agent -> rabbitmq;
agent -> dbstore;
agent -> artifactstore;
// Define styling
edge [arrowhead=normal];
}

Binary file not shown.