-
Notifications
You must be signed in to change notification settings - Fork 0
134 lines (120 loc) · 4.47 KB
/
dc-echarging-ocpi-neogy.yml
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
126
127
128
129
130
131
132
133
134
name: CI/CD dc-echarging-ocpi-neogy
on:
push:
paths:
- "collectors/echarging-ocpi/**"
- ".github/workflows/dc-echarging-ocpi-neogy.yml"
env:
WORKING_DIRECTORY: collectors/echarging-ocpi
DOCKER_IMAGE: ghcr.io/noi-techpark/opendatahub-collectors/dc-echarging-ocpi
DOCKER_TAG: ${{ github.sha }}
KUBERNETES_NAMESPACE: collector
jobs:
build:
runs-on: ubuntu-22.04
concurrency: dc-echarging-ocpi-neogy-build
steps:
- name: Checkout source code
uses: actions/checkout@v4
- name: Build and push images
uses: noi-techpark/github-actions/docker-build-and-push@v2
with:
working-directory: ${{ env.WORKING_DIRECTORY }}/infrastructure
docker-username: ${{ github.actor }}
docker-password: ${{ secrets.GITHUB_TOKEN }}
deploy-test:
if: github.ref == 'refs/heads/main'
needs:
- build
runs-on: ubuntu-22.04
concurrency: dc-echarging-ocpi-neogy-deploy-test
environment: test
env:
VALUES_YAML: collectors/echarging-ocpi/infrastructure/helm/neogy.yaml
K8S_NAME: dc-echarging-ocpi-neogy
steps:
- name: Checkout source code
uses: actions/checkout@v4
- name: Write environment-specific Helm values
run: |
cat <<EOF > override.yml
image:
repository: ${{ env.DOCKER_IMAGE }}
tag: ${{ env.DOCKER_TAG }}
pullPolicy: "IfNotPresent"
env:
LOG_LEVEL: "INFO"
envSecret:
OCPI_TOKENS: ${{ secrets.ECHARGING_OCPI_NEOGY_TOKENS }}
PULL_LOCATIONS_ENDPOINT: ${{ secrets.ECHARGING_NEOGY_OCPI_URL}}?limit=200
PULL_TOKEN: "${{ secrets.ECHARGING_NEOGY_OCPI_TOKEN_C }}"
EOF
# Merge yaml files https://mikefarah.gitbook.io/yq/operators/multiply-merge
yq -i '. *= load("override.yml")' ${{env.VALUES_YAML}}
- name: Deploy on cluster
uses: noi-techpark/github-actions/helm-deploy@v2
with:
k8s-name: ${{ env.K8S_NAME }}
k8s-namespace: collector
chart-path: helm/generic-collector
values-file: ${{ env.VALUES_YAML }}
aws-access-key-id: ${{ secrets[vars.AWS_KEY_ID] }}
aws-secret-access-key: ${{ secrets[vars.AWS_KEY_SECRET] }}
aws-eks-cluster-name: aws-main-eu-01
aws-region: eu-west-1
deploy-prod:
if: github.ref == 'refs/heads/prod'
needs:
- build
runs-on: ubuntu-22.04
concurrency: dc-echarging-ocpi-neogy-deploy-prod
environment: prod
env:
VALUES_YAML: collectors/echarging-ocpi/infrastructure/helm/neogy.yaml
K8S_NAME: dc-echarging-ocpi-neogy
steps:
- name: Checkout source code
uses: actions/checkout@v4
- name: Write environment-specific Helm values
run: |
cat <<EOF > override.yml
image:
repository: ${{ env.DOCKER_IMAGE }}
tag: ${{ env.DOCKER_TAG }}
pullPolicy: "IfNotPresent"
env:
LOG_LEVEL: "INFO"
envSecret:
OCPI_TOKENS: ${{ secrets.ECHARGING_OCPI_NEOGY_TOKENS }}
PULL_LOCATIONS_ENDPOINT: ${{ secrets.ECHARGING_NEOGY_OCPI_URL}}?limit=200
PULL_TOKEN: "${{ secrets.ECHARGING_NEOGY_OCPI_TOKEN_C }}"
EOF
# Merge yaml files https://mikefarah.gitbook.io/yq/operators/multiply-merge
yq -i '. *= load("override.yml")' ${{env.VALUES_YAML}}
- name: Write environment-specific Helm values (hosts)
run: |
cat <<EOF > override.yml
ingress:
tls:
- hosts:
- neogy.ocpi.io.opendatahub.com
secretName: tls-ocpi-neogy
hosts:
- host: neogy.ocpi.io.opendatahub.com
paths:
- path: "/"
pathType: Prefix
EOF
# Different from above, we only do a shallow merge, so that original hosts are replaced, not appended
yq -i '. += load("override.yml")' ${{env.VALUES_YAML}}
- name: Deploy on cluster
uses: noi-techpark/github-actions/helm-deploy@v2
with:
k8s-name: ${{ env.K8S_NAME }}
k8s-namespace: collector
chart-path: helm/generic-collector
values-file: ${{ env.VALUES_YAML }}
aws-access-key-id: ${{ secrets[vars.AWS_KEY_ID] }}
aws-secret-access-key: ${{ secrets[vars.AWS_KEY_SECRET] }}
aws-eks-cluster-name: aws-main-eu-01
aws-region: eu-west-1