Skip to content

Commit 2095d06

Browse files
committed
Merge branch 'config' into dev
2 parents 53fd0ce + bde6072 commit 2095d06

File tree

3 files changed

+112
-19
lines changed

3 files changed

+112
-19
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: 'GitHub: Fetch Updated Apps'
2+
3+
on:
4+
workflow_call:
5+
6+
# Special permissions required for OIDC authentication
7+
permissions:
8+
id-token: write
9+
contents: read
10+
actions: read
11+
12+
env:
13+
GH_TOKEN: ${{ secrets.GH_TOKEN }}
14+
15+
jobs:
16+
admin-fetch-updated-apps:
17+
name: 'GitHub: Fetch Updated Apps'
18+
runs-on: ubuntu-latest
19+
steps:
20+
- name: Checkout repository
21+
uses: actions/checkout@v4
22+
with:
23+
repository: ${{ github.repository }}
24+
25+
- name: Fetch Updated Apps
26+
run: |
27+
source ./admin/fetch_updated_apps.sh
28+
29+
fetch_updated_apps ${{ github.repository_owner }}
30+
31+
echo "::notice::Updated Apps Fetched"

admin/fetch_updated_apps.sh

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
#!/bin/bash
2+
3+
export THIRD_PARTY_SERVICES=(
4+
caddy
5+
postgres-migrate
6+
kratos-migrate
7+
kratos
8+
oathkeeper
9+
object-storage
10+
qdrant
11+
)
12+
13+
14+
function get_docker_compose_services() {
15+
for service in $(docker compose config --services); do
16+
is_third_party_service="false"
17+
for tps in ${THIRD_PARTY_SERVICES[@]}; do
18+
if [[ "${service}" == "${tps}" ]]; then
19+
is_third_party_service="true"
20+
fi
21+
done
22+
23+
if [[ "${is_third_party_service}" == "false" ]]; then
24+
echo "${service}"
25+
fi
26+
done
27+
}
28+
29+
function get_latest_app_tag() {
30+
owner=$1
31+
app=$2
32+
gh api \
33+
-H "Accept: application/vnd.github+json" \
34+
-H "X-GitHub-Api-Version: 2022-11-28" \
35+
/repos/${owner}/${app}/releases/latest | jq -r '.tag_name'
36+
}
37+
38+
function fetch_updated_apps() {
39+
owner=$1
40+
echo "" > diff.json
41+
42+
for app in $(get_docker_compose_services); do
43+
echo "Fetching ${app}..."
44+
latest_app_tag=$(get_latest_app_tag ${owner} ${app})
45+
latest_app_tag_dttm=$(gh api \
46+
-H "Accept: application/vnd.github+json" \
47+
-H "X-GitHub-Api-Version: 2022-11-28" \
48+
/repos/${owner}/${app}/releases/latest | jq -r '.published_at')
49+
total_commits=$(gh api \
50+
-H "Accept: application/vnd.github+json" \
51+
-H "X-GitHub-Api-Version: 2022-11-28" \
52+
/repos/${owner}/${app}/releases/latest | jq -r '.published_at')
53+
54+
JQ_QUERY='{
55+
app: "'${app}'",
56+
latest_tag: "'${latest_app_tag}'",
57+
latest_tag_dttm: "'${latest_app_tag_dttm}'",
58+
total_commits: .total_commits,
59+
commits: [
60+
.commits[].commit | {
61+
author: .author.name,
62+
date: .author.date,
63+
message: .message
64+
}
65+
]
66+
}'
67+
68+
gh api \
69+
-H "Accept: application/vnd.github+json" \
70+
-H "X-GitHub-Api-Version: 2022-11-28" \
71+
/repos/${owner}/${app}/compare/${latest_app_tag}...dev \
72+
| jq -r "${JQ_QUERY}" >> diff.json
73+
done
74+
75+
jq --slurp '.[] | sort_by(.app)' diff.json > __diff.json
76+
mv __diff.json diff.json
77+
}

k8s/destroy.sh

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,17 @@
22
set -e
33

44
KUBERNETES_NAMESPACE=""
5+
ENVIRONMENT_NAME=""
56

6-
while getopts n: flag
7+
while getopts n:e: flag
78
do
89
case "${flag}" in
910
n) KUBERNETES_NAMESPACE=${OPTARG};;
11+
e) ENVIRONMENT_NAME=${OPTARG};;
1012
esac
1113
done
1214

1315
kubectl config set-context --current --namespace=$KUBERNETES_NAMESPACE
1416
echo "Context set to namespace: \"$KUBERNETES_NAMESPACE\""
1517

16-
KUBERNETES_DEPLOYMENTS=$(kubectl get deployment --output json \
17-
| jq -r '.items[] | select(.metadata.name as $name
18-
| ["caddy"]
19-
| index($name) | not)
20-
| .metadata.name')
21-
KUBERNETES_SERVICES=$(kubectl get service --output json \
22-
| jq -r '.items[] | select(.metadata.name as $name
23-
| ["caddy"]
24-
| index($name) | not)
25-
| .metadata.name')
26-
27-
for deploy in $KUBERNETES_DEPLOYMENTS; do
28-
kubectl delete deployment $deploy
29-
done
30-
31-
for svc in $KUBERNETES_SERVICES; do
32-
kubectl delete service $svc
33-
done
18+
kubectl delete --kustomize cluster/$ENVIRONMENT_NAME

0 commit comments

Comments
 (0)