forked from tinkerbell/smee
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
74 lines (71 loc) · 2.34 KB
/
docker-compose.yml
File metadata and controls
74 lines (71 loc) · 2.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
---
# Provides a docker-compose configuration for local fast iteration when
# hacking on boots alone.
# TODO: figure out if NET_ADMIN capability is really necessary
version: "3.8"
# use a custom network configuration to enable macvlan mode and set explicit
# IPs and MACs as well as support mainstream DHCP clients for easier testing
# standalone-hardware.json references these IPs and MACs so we can write
# (simpler) assertions against behavior on the client side.
networks:
boots-test:
# enables a more realistic L2 network for the containers
driver: macvlan
ipam:
driver: default
config:
- subnet: 192.168.99.0/24
gateway: 192.168.99.1
services:
boots:
build: .
# entrypoint: ["/usr/bin/boots", "--dhcp-addr", "0.0.0.0:67"]
entrypoint: ["/start-boots.sh"]
networks:
boots-test:
ipv4_address: 192.168.99.42
mac_address: 02:00:00:00:00:01
environment:
DATA_MODEL_VERSION: standalone
API_CONSUMER_TOKEN: none
API_AUTH_TOKEN: none
FACILITY_CODE: onprem
MIRROR_HOST: 192.168.99.99
PUBLIC_FQDN: 192.168.99.100
DOCKER_REGISTRY: 192.168.99.101:5000
REGISTRY_USERNAME: admin
REGISTRY_PASSWORD: secret
TINKERBELL_GRPC_AUTHORITY: tinkerbell.tinkerbell:42113
TINKERBELL_CERT_URL: http://tinkerbell.tinkerbell:42114/cert
BOOTS_STANDALONE_JSON: /test-standalone-hardware.json
OTEL_EXPORTER_OTLP_ENDPOINT: otel-collector:4317
OTEL_EXPORTER_OTLP_INSECURE: "true"
BOOTS_OSIE_URL: "http://192.168.8.5/osie/artifacts/"
volumes:
- ./test/standalone-hardware.json:/test-standalone-hardware.json
- ./test/start-boots.sh:/start-boots.sh
cap_add:
- NET_ADMIN
# eventually want to add more client containers, including one that boots will
# not recognize so we can validate it won't serve content to IPs it's not
# managing
client:
depends_on:
- boots
build: test
networks:
boots-test:
ipv4_address: 192.168.99.43
mac_address: 02:00:00:00:00:ff
cap_add:
- NET_ADMIN
otel-collector:
image: otel/opentelemetry-collector-contrib:0.38.0
networks:
boots-test:
ipv4_address: 192.168.99.44
volumes:
- ./test/otel-collector.yaml:/etc/otel-collector.yaml
command: --config /etc/otel-collector.yaml
ports:
- "4317:4317"