Skip to content

Commit 97333aa

Browse files
committed
Merge branch 'main' into feat/setup-and-teardown-preview-s3
2 parents c382b75 + b9ecb45 commit 97333aa

5 files changed

Lines changed: 115 additions & 29 deletions

File tree

readme.md

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Setup kubectl and Helm using kubeconfig file.
1111
#### Example
1212

1313
```yaml
14-
- uses: aboutbits/github-actions-kubernetes/setup-kubectl-and-helm@v3
14+
- uses: aboutbits/github-actions-kubernetes/setup-kubectl-and-helm@v4
1515
with:
1616
kubeconfig: ${{ secrets.KUBECONFIG }}
1717
```
@@ -33,7 +33,7 @@ Deploy application to a Kubernetes Cluster. Requires Kubernetes to be configured
3333
#### Example
3434

3535
```yaml
36-
- uses: aboutbits/github-actions-kubernetes/kubectl-deploy@v3
36+
- uses: aboutbits/github-actions-kubernetes/kubectl-deploy@v4
3737
with:
3838
deployment-file: 'infrastructure/kubernetes.prod.yml'
3939
namespace-name: ${{ env.NAMESPACE_NAME }}
@@ -58,7 +58,7 @@ Deploy an application to a Kubernetes cluster using its Helm chart. Requires Kub
5858
#### Example
5959

6060
```yaml
61-
- uses: aboutbits/github-actions-kubernetes/helm-deploy@v3
61+
- uses: aboutbits/github-actions-kubernetes/helm-deploy@v4
6262
with:
6363
helm-chart-version: "1.0.0"
6464
helm-package: "my-app-chart"
@@ -160,9 +160,9 @@ Sets up a PostgreSQL preview schema by cloning a base schema.
160160
#### Example
161161

162162
```yaml
163-
- uses: aboutbits/github-actions-kubernetes/setup-postgres-preview-schema@v3
163+
- uses: aboutbits/github-actions-kubernetes/setup-postgres-preview-schema@v4
164164
with:
165-
deployment-name: my-app
165+
configmap-name: my-app-environments
166166
namespace: my-namespace
167167
preview-number: ${{ github.event.number }}
168168
```
@@ -173,12 +173,18 @@ The following inputs can be used as `step.with` keys:
173173

174174
| Name | Required/Default | Description |
175175
|-------------------|------------------|--------------------------------------------|
176-
| `deployment-name` | required | Name of the deployment |
176+
| `configmap-name` | `app-spring-deployment-environments` | Name of the ConfigMap containing database connection details |
177177
| `namespace` | required | Kubernetes namespace |
178178
| `preview-number` | required | Preview number (PR number) |
179179
| `secret-name` | `app-secrets` | Name of the secret containing PostgreSQL password |
180180
| `postgres-image` | `postgres:18` | PostgreSQL image to use |
181181
| `base-schema` | `main` | Base schema to copy from |
182+
| `db-host-key` | `DB_HOST` | Key for DB_HOST in ConfigMap |
183+
| `db-port-key` | `DB_PORT` | Key for DB_PORT in ConfigMap |
184+
| `db-name-key` | `DB_NAME` | Key for DB_NAME in ConfigMap |
185+
| `db-schema-key` | `DB_SCHEMA` | Key for DB_SCHEMA in ConfigMap |
186+
| `db-username-key` | `DB_USERNAME` | Key for DB_USERNAME in ConfigMap |
187+
| `db-password-key` | `DB_PASSWORD` | Key for DB_PASSWORD in Secret |
182188

183189
### Teardown PostgreSQL Preview Schema
184190

@@ -187,9 +193,9 @@ Drops the PostgreSQL preview schema.
187193
#### Example
188194

189195
```yaml
190-
- uses: aboutbits/github-actions-kubernetes/teardown-postgres-preview-schema@v3
196+
- uses: aboutbits/github-actions-kubernetes/teardown-postgres-preview-schema@v4
191197
with:
192-
deployment-name: my-app
198+
configmap-name: my-app-environments
193199
namespace: my-namespace
194200
preview-number: ${{ github.event.number }}
195201
```
@@ -200,11 +206,17 @@ The following inputs can be used as `step.with` keys:
200206

201207
| Name | Required/Default | Description |
202208
|-------------------|------------------|--------------------------------------------|
203-
| `deployment-name` | required | Name of the deployment |
209+
| `configmap-name` | `app-spring-deployment-environments` | Name of the ConfigMap containing database connection details |
204210
| `namespace` | required | Kubernetes namespace |
205211
| `preview-number` | required | Preview number (PR number) |
206212
| `secret-name` | `app-secrets` | Name of the secret containing PostgreSQL password |
207213
| `postgres-image` | `postgres:18` | PostgreSQL image to use |
214+
| `db-host-key` | `DB_HOST` | Key for DB_HOST in ConfigMap |
215+
| `db-port-key` | `DB_PORT` | Key for DB_PORT in ConfigMap |
216+
| `db-name-key` | `DB_NAME` | Key for DB_NAME in ConfigMap |
217+
| `db-schema-key` | `DB_SCHEMA` | Key for DB_SCHEMA in ConfigMap |
218+
| `db-username-key` | `DB_USERNAME` | Key for DB_USERNAME in ConfigMap |
219+
| `db-password-key` | `DB_PASSWORD` | Key for DB_PASSWORD in Secret |
208220

209221
## Build & Publish
210222

setup-postgres-preview-schema/action.yml

Lines changed: 41 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
name: 'Setup PostgreSQL Preview Schema'
22
description: 'Sets up a PostgreSQL preview schema by cloning a base schema'
33
inputs:
4-
deployment-name:
5-
description: 'Name of the deployment (used for ConfigMap name)'
6-
required: true
74
namespace:
85
description: 'Kubernetes namespace'
96
required: true
107
preview-number:
118
description: 'Preview number (PR number)'
129
required: true
10+
configmap-name:
11+
description: 'Name of the ConfigMap containing database connection details'
12+
required: false
13+
default: 'app-spring-deployment-environments'
1314
secret-name:
1415
description: 'Name of the secret containing DB password'
1516
required: false
@@ -22,18 +23,48 @@ inputs:
2223
description: 'Base schema to copy from'
2324
required: false
2425
default: 'main'
26+
db-host-key:
27+
description: 'Key for DB_HOST in ConfigMap'
28+
required: false
29+
default: 'DB_HOST'
30+
db-port-key:
31+
description: 'Key for DB_PORT in ConfigMap'
32+
required: false
33+
default: 'DB_PORT'
34+
db-name-key:
35+
description: 'Key for DB_NAME in ConfigMap'
36+
required: false
37+
default: 'DB_NAME'
38+
db-schema-key:
39+
description: 'Key for DB_SCHEMA in ConfigMap'
40+
required: false
41+
default: 'DB_SCHEMA'
42+
db-username-key:
43+
description: 'Key for DB_USERNAME in ConfigMap'
44+
required: false
45+
default: 'DB_USERNAME'
46+
db-password-key:
47+
description: 'Key for DB_PASSWORD in Secret'
48+
required: false
49+
default: 'DB_PASSWORD'
2550

2651
runs:
2752
using: "composite"
2853
steps:
2954
- name: Prepare setup-schema job
3055
env:
3156
JOB_NAME: "prepare-schema-preview-${{ inputs.preview-number }}"
32-
CONFIGMAP_NAME: "${{ inputs.deployment-name }}-environments"
57+
CONFIGMAP_NAME: "${{ inputs.configmap-name }}"
3358
SECRET_NAME: "${{ inputs.secret-name }}"
3459
PREVIEW_SCHEMA_NAME: "preview_${{ inputs.preview-number }}"
3560
POSTGRES_IMAGE: "${{ inputs.postgres-image }}"
3661
BASE_SCHEMA: "${{ inputs.base-schema }}"
62+
DB_HOST_KEY: "${{ inputs.db-host-key }}"
63+
DB_PORT_KEY: "${{ inputs.db-port-key }}"
64+
DB_NAME_KEY: "${{ inputs.db-name-key }}"
65+
DB_SCHEMA_KEY: "${{ inputs.db-schema-key }}"
66+
DB_USERNAME_KEY: "${{ inputs.db-username-key }}"
67+
DB_PASSWORD_KEY: "${{ inputs.db-password-key }}"
3768
run: |
3869
envsubst '
3970
$JOB_NAME
@@ -42,6 +73,12 @@ runs:
4273
$PREVIEW_SCHEMA_NAME
4374
$POSTGRES_IMAGE
4475
$BASE_SCHEMA
76+
$DB_HOST_KEY
77+
$DB_PORT_KEY
78+
$DB_NAME_KEY
79+
$DB_SCHEMA_KEY
80+
$DB_USERNAME_KEY
81+
$DB_PASSWORD_KEY
4582
' < ${{ github.action_path }}/job-template.yml > job-setup-schema.yml
4683
4784
echo "Prepared job manifest: job-setup-schema.yml"

setup-postgres-preview-schema/job-template.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,29 +58,29 @@ spec:
5858
valueFrom:
5959
configMapKeyRef:
6060
name: ${CONFIGMAP_NAME}
61-
key: DB_HOST
61+
key: ${DB_HOST_KEY}
6262
- name: PGPORT
6363
valueFrom:
6464
configMapKeyRef:
6565
name: ${CONFIGMAP_NAME}
66-
key: DB_PORT
66+
key: ${DB_PORT_KEY}
6767
- name: PGDATABASE
6868
valueFrom:
6969
configMapKeyRef:
7070
name: ${CONFIGMAP_NAME}
71-
key: DB_NAME
71+
key: ${DB_NAME_KEY}
7272
- name: PGSCHEMA
7373
valueFrom:
7474
configMapKeyRef:
7575
name: ${CONFIGMAP_NAME}
76-
key: DB_SCHEMA
76+
key: ${DB_SCHEMA_KEY}
7777
- name: PGUSER
7878
valueFrom:
7979
configMapKeyRef:
8080
name: ${CONFIGMAP_NAME}
81-
key: DB_USERNAME
81+
key: ${DB_USERNAME_KEY}
8282
- name: PGPASSWORD
8383
valueFrom:
8484
secretKeyRef:
8585
name: ${SECRET_NAME}
86-
key: DB_PASSWORD
86+
key: ${DB_PASSWORD_KEY}

teardown-postgres-preview-schema/action.yml

Lines changed: 41 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
name: 'Teardown PostgreSQL Preview Schema'
22
description: 'Drops the PostgreSQL preview schema'
33
inputs:
4-
deployment-name:
5-
description: 'Name of the deployment (used for ConfigMap name)'
6-
required: true
74
namespace:
85
description: 'Kubernetes namespace'
96
required: true
107
preview-number:
118
description: 'Preview number (PR number)'
129
required: true
10+
configmap-name:
11+
description: 'Name of the ConfigMap containing database connection details'
12+
required: false
13+
default: 'app-spring-deployment-environments'
1314
secret-name:
1415
description: 'Name of the secret containing DB password'
1516
required: false
@@ -18,24 +19,60 @@ inputs:
1819
description: 'PostgreSQL image to use'
1920
required: false
2021
default: 'postgres:18'
22+
db-host-key:
23+
description: 'Key for DB_HOST in ConfigMap'
24+
required: false
25+
default: 'DB_HOST'
26+
db-port-key:
27+
description: 'Key for DB_PORT in ConfigMap'
28+
required: false
29+
default: 'DB_PORT'
30+
db-name-key:
31+
description: 'Key for DB_NAME in ConfigMap'
32+
required: false
33+
default: 'DB_NAME'
34+
db-schema-key:
35+
description: 'Key for DB_SCHEMA in ConfigMap'
36+
required: false
37+
default: 'DB_SCHEMA'
38+
db-username-key:
39+
description: 'Key for DB_USERNAME in ConfigMap'
40+
required: false
41+
default: 'DB_USERNAME'
42+
db-password-key:
43+
description: 'Key for DB_PASSWORD in Secret'
44+
required: false
45+
default: 'DB_PASSWORD'
2146

2247
runs:
2348
using: "composite"
2449
steps:
2550
- name: Prepare teardown-schema job
2651
env:
2752
JOB_NAME: "drop-schema-preview-${{ inputs.preview-number }}"
28-
CONFIGMAP_NAME: "${{ inputs.deployment-name }}-environments"
53+
CONFIGMAP_NAME: "${{ inputs.configmap-name }}"
2954
SECRET_NAME: "${{ inputs.secret-name }}"
3055
PREVIEW_SCHEMA_NAME: "preview_${{ inputs.preview-number }}"
3156
POSTGRES_IMAGE: "${{ inputs.postgres-image }}"
57+
DB_HOST_KEY: "${{ inputs.db-host-key }}"
58+
DB_PORT_KEY: "${{ inputs.db-port-key }}"
59+
DB_NAME_KEY: "${{ inputs.db-name-key }}"
60+
DB_SCHEMA_KEY: "${{ inputs.db-schema-key }}"
61+
DB_USERNAME_KEY: "${{ inputs.db-username-key }}"
62+
DB_PASSWORD_KEY: "${{ inputs.db-password-key }}"
3263
run: |
3364
envsubst '
3465
$JOB_NAME
3566
$CONFIGMAP_NAME
3667
$SECRET_NAME
3768
$PREVIEW_SCHEMA_NAME
3869
$POSTGRES_IMAGE
70+
$DB_HOST_KEY
71+
$DB_PORT_KEY
72+
$DB_NAME_KEY
73+
$DB_SCHEMA_KEY
74+
$DB_USERNAME_KEY
75+
$DB_PASSWORD_KEY
3976
' < ${{ github.action_path }}/job-template.yml > job-teardown-schema.yml
4077
4178
echo "Prepared job manifest: job-teardown-schema.yml"

teardown-postgres-preview-schema/job-template.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,29 +33,29 @@ spec:
3333
valueFrom:
3434
configMapKeyRef:
3535
name: ${CONFIGMAP_NAME}
36-
key: DB_HOST
36+
key: ${DB_HOST_KEY}
3737
- name: PGPORT
3838
valueFrom:
3939
configMapKeyRef:
4040
name: ${CONFIGMAP_NAME}
41-
key: DB_PORT
41+
key: ${DB_PORT_KEY}
4242
- name: PGDATABASE
4343
valueFrom:
4444
configMapKeyRef:
4545
name: ${CONFIGMAP_NAME}
46-
key: DB_NAME
46+
key: ${DB_NAME_KEY}
4747
- name: PGSCHEMA
4848
valueFrom:
4949
configMapKeyRef:
5050
name: ${CONFIGMAP_NAME}
51-
key: DB_SCHEMA
51+
key: ${DB_SCHEMA_KEY}
5252
- name: PGUSER
5353
valueFrom:
5454
configMapKeyRef:
5555
name: ${CONFIGMAP_NAME}
56-
key: DB_USERNAME
56+
key: ${DB_USERNAME_KEY}
5757
- name: PGPASSWORD
5858
valueFrom:
5959
secretKeyRef:
6060
name: ${SECRET_NAME}
61-
key: DB_PASSWORD
61+
key: ${DB_PASSWORD_KEY}

0 commit comments

Comments
 (0)