13 Commits

Author SHA1 Message Date
e8822fc8da chore(release): 0.8.1 [skip ci]
## [0.8.1](https://code.spamasaurus.com/djpbessems/ContainerImage.JSONServer/compare/v0.8.0...v0.8.1) (2023-07-14)

### Bug Fixes

* Add missing dependency ([6270499](6270499efe))
* Fix linebreak ([fa2c72c](fa2c72cb68))
* Refactor update script for bash interpreter ([2725f36](2725f36017))
* Workaround for set locale warning ([0af8f2a](0af8f2ac5e))
2023-07-14 13:29:52 +00:00
fa2c72cb68 fix: Fix linebreak
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-14 15:27:18 +02:00
2725f36017 fix: Refactor update script for bash interpreter
Some checks failed
continuous-integration/drone/push Build is failing
2023-07-14 15:25:42 +02:00
0af8f2ac5e fix: Workaround for set locale warning 2023-07-14 15:25:00 +02:00
6270499efe fix: Add missing dependency 2023-07-14 14:57:31 +02:00
44ac6b484d chore(release): 0.8.0 [skip ci]
# [0.8.0](https://code.spamasaurus.com/djpbessems/ContainerImage.JSONServer/compare/v0.7.3...v0.8.0) (2023-07-14)

### Bug Fixes

* Fix linebreak ([6f07cc8](6f07cc8d87))

### Features

* Continuous helm polling to update database ([a5e3c79](a5e3c79d10))
* Rebase sidecar container image ([dcb3dec](dcb3decbd3))
2023-07-14 11:44:02 +00:00
6f07cc8d87 fix: Fix linebreak
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-14 13:41:25 +02:00
a5e3c79d10 feat: Continuous helm polling to update database
Some checks failed
continuous-integration/drone/push Build is failing
2023-07-14 13:39:28 +02:00
dcb3decbd3 feat: Rebase sidecar container image 2023-07-14 13:39:10 +02:00
3c141a2d40 chore(release): 0.7.3 [skip ci]
## [0.7.3](https://code.spamasaurus.com/djpbessems/ContainerImage.JSONServer/compare/v0.7.2...v0.7.3) (2023-07-14)

### Bug Fixes

* Missing period in chart template ([0999fdf](0999fdf705))
2023-07-14 08:45:47 +00:00
0999fdf705 fix: Missing period in chart template
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-14 10:43:47 +02:00
6c71c5f364 chore(release): 0.7.2 [skip ci]
## [0.7.2](https://code.spamasaurus.com/djpbessems/ContainerImage.JSONServer/compare/v0.7.1...v0.7.2) (2023-07-14)

### Bug Fixes

* Adhere to naming convention in templates ([c551a24](c551a242c7))
2023-07-14 08:42:11 +00:00
c551a242c7 fix: Adhere to naming convention in templates
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-14 10:40:08 +02:00
6 changed files with 112 additions and 8 deletions

View File

@ -1,3 +1,40 @@
## [0.8.1](https://code.spamasaurus.com/djpbessems/ContainerImage.JSONServer/compare/v0.8.0...v0.8.1) (2023-07-14)
### Bug Fixes
* Add missing dependency ([6270499](https://code.spamasaurus.com/djpbessems/ContainerImage.JSONServer/commit/6270499efecb8ae1474f1ce29c8f4003da3916df))
* Fix linebreak ([fa2c72c](https://code.spamasaurus.com/djpbessems/ContainerImage.JSONServer/commit/fa2c72cb68254dd0e27f12220f8056b9223223ed))
* Refactor update script for bash interpreter ([2725f36](https://code.spamasaurus.com/djpbessems/ContainerImage.JSONServer/commit/2725f360179b3dab1d77d5f429b2f60d4aabcd4a))
* Workaround for set locale warning ([0af8f2a](https://code.spamasaurus.com/djpbessems/ContainerImage.JSONServer/commit/0af8f2ac5ea0f8453fdb7120aeb7eff15aa88e42))
# [0.8.0](https://code.spamasaurus.com/djpbessems/ContainerImage.JSONServer/compare/v0.7.3...v0.8.0) (2023-07-14)
### Bug Fixes
* Fix linebreak ([6f07cc8](https://code.spamasaurus.com/djpbessems/ContainerImage.JSONServer/commit/6f07cc8d876d49be0a798772b62f93b09efba110))
### Features
* Continuous helm polling to update database ([a5e3c79](https://code.spamasaurus.com/djpbessems/ContainerImage.JSONServer/commit/a5e3c79d10a378336e5a6af267f7d28997cd9a8c))
* Rebase sidecar container image ([dcb3dec](https://code.spamasaurus.com/djpbessems/ContainerImage.JSONServer/commit/dcb3decbd3d4e1507aba351f11cd4a148822b06b))
## [0.7.3](https://code.spamasaurus.com/djpbessems/ContainerImage.JSONServer/compare/v0.7.2...v0.7.3) (2023-07-14)
### Bug Fixes
* Missing period in chart template ([0999fdf](https://code.spamasaurus.com/djpbessems/ContainerImage.JSONServer/commit/0999fdf7051d6e8a2161333980bd1aedd9f180ef))
## [0.7.2](https://code.spamasaurus.com/djpbessems/ContainerImage.JSONServer/compare/v0.7.1...v0.7.2) (2023-07-14)
### Bug Fixes
* Adhere to naming convention in templates ([c551a24](https://code.spamasaurus.com/djpbessems/ContainerImage.JSONServer/commit/c551a242c7a49a445da68ba6e1e5966eeb5ce7d7))
## [0.7.1](https://code.spamasaurus.com/djpbessems/ContainerImage.JSONServer/compare/v0.7.0...v0.7.1) (2023-07-14)

View File

@ -1,8 +1,31 @@
FROM node:lts-slim AS build
FROM alpine:latest AS download
RUN npm install -g --omit=optional --omit=dev \
RUN apk --update add --no-cache \
curl \
jq && \
curl -L https://api.github.com/repos/helm/helm/releases/latest | \
jq -r '.tag_name' | \
xargs -I {} curl -L -o /tmp/helm.tar.gz https://get.helm.sh/helm-{}-linux-amd64.tar.gz && \
tar -xzf /tmp/helm.tar.gz --strip-components=1 -C /tmp
FROM node:lts-slim
COPY --from=download /tmp/helm /usr/bin/helm
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
RUN apt-get update && apt-get upgrade -y && apt-get install -y --no-install-recommends \
curl \
jq \
locales && \
sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && \
locale-gen && \
npm install -g --omit=optional --omit=dev \
json-server && \
npm cache clean --force
npm cache clean --force && \
rm -rf /var/lib/apt/lists/*
COPY init/entrypoint.sh /opt/entrypoint.sh

View File

@ -5,7 +5,7 @@ metadata:
subjects:
- kind: ServiceAccount
name: {{ include "json-server.serviceAccountName" . }}
namespace: {{ Release.Namespace }}
namespace: {{ .Release.Namespace }}
roleRef:
kind: ClusterRole
name: {{ .Release.Name }}-clusterrole

View File

@ -54,6 +54,43 @@ data:
<script src="script.js"></script>
</body>
</html>
update.sh: |
#!/bin/bash
while getopts u: flag
do
case "${flag}" in
u) URL=${OPTARG};;
esac
done
[ $(curl -kLs -w "%{http_code}" -o /dev/null https://$URL) != 200 ] && {
echo 'Could not connect to' $URL
exit 1
}
echo '['$(date "+%Y-%m-%d %H:%M:%S")'] Started polling helm releases with 60 second interval'
while sleep 60;
do
echo '['$(date "+%Y-%m-%d %H:%M:%S")']' $(curl -ks https://$URL/components | jq length) 'known releases in database'
for entry in $(helm list --all-namespaces --output json | jq -r '.[] | @base64'); do
RELEASE=$(echo $entry | base64 -d)
APP_NAME=$(echo $RELEASE | jq -r '.name')
APP_ID=$(curl -ks https://$URL/components?name=$APP_NAME | jq -r '.[0].id')
# Release is not yet in database
[ "$APP_ID" == null ] && {
curl -ks -X POST https://$URL/components -H 'Content-Type: application/json' --data "$RELEASE" -o /dev/null
}
# Release is already in database
[ "$APP_ID" != null ] && {
curl -ks -X PATCH https://$URL/components/$APP_ID -H 'Content-Type: application/json' --data "$RELEASE" -o /dev/null
}
done
done
db.json: |
{{ include "common.tplvalues.render" ( dict "value" .Values.json-server.seedData.configInline "context" $) | indent 4 }}
{{ include "common.tplvalues.render" ( dict "value" .Values.jsonServer.seedData.configInline "context" $) | indent 4 }}
{{- end -}}

View File

@ -62,7 +62,12 @@ spec:
command:
- /bin/sh
- -c
- sleep infinity
- "/opt/update.sh -u {{ .Values.sidecar.targetUrl }}"
volumeMounts:
- name: {{ .Release.Name }}-configmap
mountPath: /opt/update.sh
subPath: update.sh
defaultMode: 0744
volumes:
- name: {{ .Release.Name }}-configmap
configMap:

View File

@ -13,10 +13,12 @@ jsonServer:
tag: {{ image_tag }}
sidecar:
targetUrl: metadata.example.org
image:
repository: alpine/helm
repository: bv11-cr01.bessems.eu/library/json-server
pullPolicy: IfNotPresent
tag: 3.12.1
# Overrides the image tag whose default is the chart appVersion.
tag: {{ image_tag }}
replicaCount: 1