-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgarden.yaml
125 lines (105 loc) · 1.97 KB
/
garden.yaml
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
apiVersion: garden.io/v1
kind: Project
name: Symfony Garden
environments:
- name: local
defaultEnvironment: local
providers:
- name: local-kubernetes
environments: [local]
namespace: symfony-garden
dotIgnoreFile: .gitignore
varfile: env.yaml
---
kind: Build
type: container
name: server
description: Caddy server.
include:
- ./Dockerfile
- ./server
- ./app/public
spec:
dockerfile: ./Dockerfile
targetStage: server
---
kind: Deploy
type: container
name: server
description: Caddy server.
build: server
dependencies: [deploy.app]
spec:
sync:
paths:
- source: ./server/Caddyfile
target: /etc/caddy/Caddyfile
mode: one-way
volumes:
- name: caddy-data
containerPath: /data
- name: caddy-config
containerPath: /config
ports:
- name: http
containerPort: 80
servicePort: 80
ingresses:
- path: /
port: http
hostname: ${var.hostname}
---
kind: Deploy
type: container
name: database
description: Postgres database.
spec:
image: postgres:15-alpine
ports:
- name: database
containerPort: 5432
volumes:
- name: database
containerPath: /db-data
env:
POSTGRES_PASSWORD:
secretRef:
name: postgres-password
key: root
POSTGRES_USERNAME: ${var.database.username}
POSTGRES_DATABASE: ${var.database.database}
---
kind: Build
type: container
name: app
description: The application.
include:
- ./Dockerfile
- ./app
spec:
dockerfile: ./Dockerfile
targetStage: app
---
kind: Deploy
type: container
name: app
description: The application.
build: app
dependencies: [deploy.database]
spec:
sync:
paths:
- source: ./app
target: /srv/app
mode: two-way
ports:
- name: app
containerPort: 9000
servicePort: 80
env:
POSTGRES_PASSWORD:
secretRef:
name: postgres-password
key: root
POSTGRES_USERNAME: ${var.database.username}
POSTGRES_DATABASE: ${var.database.database}