Skip to content

Commit 54d2e45

Browse files
committed
Latest
1 parent 1b17cf4 commit 54d2e45

File tree

17 files changed

+699
-58
lines changed

17 files changed

+699
-58
lines changed

.dockerignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
.git
2-
node_modules
2+
node_modules
3+
data

.idea/development.iml

Lines changed: 3 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/material_theme_project_new.xml

Lines changed: 3 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Makefile

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ export COMPOSE_FILE = docker-compose.solo.yml
55
endif
66

77
ifeq ($(wildcard .e),)
8-
export VITE_CONFIG_DIRECTORY = /app/web/packages/teleport
8+
export VITE_CONFIG_DIRECTORY = /app/teleport/web/packages/teleport
99
export TOOL_FOLDER = tool
1010
export LICENSE_FILE = ../teleport/empty.pem
1111
else
12-
export VITE_CONFIG_DIRECTORY = /app/e/web/teleport
12+
export VITE_CONFIG_DIRECTORY = /app/web
1313
export TOOL_FOLDER = e/tool
14-
export LICENSE_FILE = ../../teleport/e/fixtures/license-all-features.pem
14+
export LICENSE_FILE = ../../teleport/e/fixtures/license-enterprise.pem
1515
endif
1616

1717
## -- 🛟 Lifecycle --
@@ -99,6 +99,11 @@ teleport-logs:
9999
teleport-shell:
100100
docker compose exec -it go.teleport /bin/bash
101101

102+
103+
.PHONY: delete-db-volume
104+
delete-db-volume:
105+
docker compose down db -v
106+
102107
## -- 🔧 Misc --
103108

104109
.PHONY: help

accessgraph/.air.toml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
root = "."
2+
tmp_dir = "tmp"
3+
4+
[build]
5+
bin = "tmp/tag"
6+
include_ext = ["go", "yaml"]
7+
exclude_dir = ["web", "e2e", "teleport"]
8+
exclude_unchanged = true
9+
follow_symlink = true
10+
stop_on_error = true
11+
send_interrupt = true
12+
kill_delay = 1000
13+
args_bin = ["start"]
14+
15+
[log]
16+
time = false
17+
18+
[color]
19+
main = "magenta"
20+
watcher = "cyan"
21+
build = "yellow"
22+
runner = "green"
23+
24+
[misc]
25+
clean_on_exit = true

accessgraph/Dockerfile

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# First stage: Build the Go application
2+
FROM golang:1.24 AS builder
3+
4+
# Set the Current Working Directory inside the container
5+
WORKDIR /app
6+
7+
ENV GOPATH "/go"
8+
ENV GOROOT "/usr/local/go"
9+
ENV GOOS "linux"
10+
ENV CGO_ENABLED 1
11+
ENV GOARCH "amd64"
12+
13+
COPY development/certs/server.key /var/lib/teleport-certs/server.key
14+
COPY development/certs/server.crt /var/lib/teleport-certs/server.crt
15+
16+
RUN cp /var/lib/teleport-certs/server.crt /usr/local/share/ca-certificates/teleport.crt && update-ca-certificates
17+
18+
RUN go install github.com/air-verse/air@latest
19+
20+
ENTRYPOINT ["/go/bin/air"]

accessgraph/config.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
backend:
2+
postgres:
3+
connection: postgres://postgres:localpass@db:5432/postgres?sslmode=disable
4+
tls:
5+
cert: keys/server.crt
6+
key: keys/server_docker.key
7+
8+
tracing:
9+
enabled: false
10+
11+
log:
12+
level: DEBUG
13+
14+
registration_cas:
15+
- keys/teleport_host_ca.pem
16+
- keys/ca.crt

base/docker-compose.yml

Lines changed: 51 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,19 @@ services:
22
frontend:
33
container_name: frontend
44
build:
5-
dockerfile: ../development/frontend/Dockerfile
6-
context: ../../teleport
7-
working_dir: ${VITE_CONFIG_DIRECTORY}
8-
command: pnpm start
5+
dockerfile: development/frontend/Dockerfile
6+
context: ../../
7+
target: node-dependencies
8+
working_dir: /app/web
9+
command: yarn start
910
networks:
1011
- teleport
1112
ports:
1213
- 443:3000
1314
volumes:
14-
- ../../teleport/web/:/app/web/
15-
- ../../teleport/gen/proto/ts/:/app/gen/proto/ts/
16-
- ../../teleport/e/web/:/app/e/web/
17-
- ../../teleport/lib/srv/desktop/rdp/rdpclient/:/app/lib/srv/desktop/rdp/rdpclient
15+
- ../../access-graph/web:/app/web
16+
- ../../access-graph/teleport:/app/teleport
1817
- ../certs:/app/certs:ro
19-
- /usr/local/cargo
2018
environment:
2119
NODE_OPTIONS: --max-old-space-size=8192
2220
PROXY_TARGET: go.teleport:443
@@ -30,8 +28,6 @@ services:
3028
target: static
3129
args:
3230
TOOL_FOLDER: ${TOOL_FOLDER}
33-
volumes:
34-
- /var/lib/teleport
3531
networks:
3632
- teleport
3733

@@ -68,6 +64,50 @@ services:
6864
- ../build/.air.toml:/app/.air.toml
6965
- ../teleport/teleport.yaml:/etc/teleport.yaml
7066
- ${LICENSE_FILE}:/etc/license.pem
67+
- ../../access-graph/keys/ca.crt:/etc/access-graph/keys/ca.crt
68+
environment:
69+
TELEPORT_UNSTABLE_VC_SYNC_ON_START: yes
70+
TELEPORT_ALLOW_NO_SECOND_FACTOR: yes
71+
TELEPORT_UNSTABLE_SKIP_VERSION_UPGRADE_CHECK: yes
72+
deploy:
73+
resources:
74+
limits:
75+
memory: 48G
76+
77+
access-graph:
78+
build:
79+
context: ../..
80+
dockerfile: development/accessgraph/Dockerfile
81+
command:
82+
- --build.cmd
83+
- "go build -o tmp/tag ./cmd/tag/main.go"
84+
ports:
85+
- 50051:50051
86+
volumes:
87+
- ../accessgraph/config.yaml:/app/config.yaml
88+
- ../../access-graph:/app
89+
- ../accessgraph/.air.toml:/app/.air.toml
90+
- /go/pkg/mod
91+
- /root/.cache/go-build
92+
networks:
93+
- teleport
94+
95+
db:
96+
build:
97+
context: ../..
98+
dockerfile: development/postgres/Dockerfile
99+
restart: always
100+
shm_size: 256m
101+
ports:
102+
- 5434:5432
103+
volumes:
104+
- /var/lib/postgresql/data
105+
environment:
106+
POSTGRES_USER: postgres
107+
POSTGRES_PASSWORD: localpass
108+
POSTGRES_DB: postgres
109+
networks:
110+
- teleport
71111

72112
networks:
73113
teleport:

build/Dockerfile

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM golang:1.23 AS base
1+
FROM golang:1.24 AS base
22

33
WORKDIR /app
44

@@ -44,7 +44,7 @@ RUN --mount=type=cache,target=/go/pkg/mod \
4444
--mount=type=cache,target=/root/.cache/go-build \
4545
go build -o /bin/tctl -ldflags '-w -s' ./tool/tctl
4646

47-
FROM golang:1.23 AS live-reload
47+
FROM golang:1.24 AS live-reload
4848

4949
COPY development/certs/server.key /var/lib/teleport-certs/server.key
5050
COPY development/certs/server.crt /var/lib/teleport-certs/server.crt
@@ -53,6 +53,12 @@ RUN cp /var/lib/teleport-certs/server.crt /usr/local/share/ca-certificates/telep
5353

5454
RUN go install github.com/air-verse/air@latest
5555

56+
COPY access-graph/keys/server.crt /var/lib/teleport-certs/access-graph.crt
57+
COPY access-graph/keys/ca.crt /var/lib/teleport-certs/access-graph-ca.crt
58+
59+
RUN cp /var/lib/teleport-certs/access-graph.crt /usr/local/share/ca-certificates/access-graph.crt && update-ca-certificates
60+
RUN cp /var/lib/teleport-certs/access-graph-ca.crt /usr/local/share/ca-certificates/access-graph-ca.crt && update-ca-certificates
61+
5662
COPY --from=tctl /bin/tctl /bin/tctl
5763

5864
ENV DEBUG "1"

docker-compose.local.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
services:
2+
go.teleport:
3+
platform: linux/arm64/v8
4+
extends:
5+
file: base/docker-compose.yml
6+
service: go.teleport
7+
container_name: go.teleport
8+
hostname: go.teleport
9+
volumes:
10+
- ./teleport/local/teleport.yaml:/etc/teleport.yaml
11+
networks:
12+
teleport:
13+
aliases:
14+
- go.teleport
15+
- dumper.go.teleport
16+
17+
node:
18+
container_name: node
19+
hostname: node
20+
platform: linux/arm64/v8
21+
extends:
22+
file: base/docker-compose.yml
23+
service: node
24+
volumes:
25+
- ./data/node:/var/lib/teleport
26+
- ./node/teleport.yaml:/etc/teleport.yaml
27+
28+
accessgraph:
29+
platform: linux/arm64/v8
30+
extends:
31+
file: base/docker-compose.yml
32+
service: accessgraph
33+
34+
db:
35+
extends:
36+
file: base/docker-compose.yml
37+
service: db
38+
39+
networks:
40+
teleport:

0 commit comments

Comments
 (0)