21 Commits

Author SHA1 Message Date
78b8d6872a chore(release): 0.7.0 [skip ci]
# [0.7.0](https://code.spamasaurus.com/djpbessems/ContainerImage.JSONServer/compare/v0.6.0...v0.7.0) (2023-07-14)

### Features

* Add sidecar for continuous polling ([806757a](806757a913))
2023-07-14 08:24:10 +00:00
d09d09e526 build: Group shell commands to avoid unintended exit
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-14 10:22:06 +02:00
806757a913 feat: Add sidecar for continuous polling
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-14 10:15:55 +02:00
d40f35a2d6 build: Debug exit behaviour #2
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-13 10:45:25 +02:00
c61bc4fc8d build: Debug exit behaviour
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2023-07-13 10:42:53 +02:00
cbd981cf19 build: Revert using export and refactor to gracefully exit on an empty value
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2023-07-13 10:33:33 +02:00
f4457a1275 build: Add graceful exit if semantic release does not create a new version
Some checks failed
continuous-integration/drone/push Build is failing
2023-07-13 09:17:42 +02:00
377885f802 build: Create and upload changelog file
Some checks failed
continuous-integration/drone/push Build is failing
2023-07-12 12:22:42 +02:00
2538247718 chore(release): 0.6.0 [skip ci]
# [0.6.0](https://code.spamasaurus.com/djpbessems/ContainerImage.JSONServer/compare/v0.5.3...v0.6.0) (2023-07-12)

### Bug Fixes

* Refer to new container tag within chart values ([361a855](361a85592e))
* Replace deprecated parameters ([c681572](c6815721df))

### Features

* Switch to lts-slim tag ([1ab1c10](1ab1c10f37))
2023-07-12 10:12:33 +00:00
361a85592e fix: Refer to new container tag within chart values
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-12 12:10:06 +02:00
e83b98e116 chore: Fix variable reference 2023-07-11 21:19:54 +02:00
a4ced9e4b4 build: Include non-dryrun semantic release step
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-11 21:17:55 +02:00
cde06aae36 build: Fix manifest path
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-11 19:47:50 +02:00
f4ee0617cc build: Apply semantic release version to chart
Some checks failed
continuous-integration/drone/push Build is failing
2023-07-11 19:44:28 +02:00
dce6d7fb1c build: Avoid newline in encoded authentication token
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-11 19:25:44 +02:00
f09dfc99d2 build: Debug registry authentication config file
Some checks failed
continuous-integration/drone/push Build is failing
2023-07-11 19:24:30 +02:00
396e2fe9b3 build: Debug registry authentication
Some checks failed
continuous-integration/drone/push Build is failing
2023-07-11 19:22:19 +02:00
3501cd51f3 build: Remove registry from destination
Some checks failed
continuous-integration/drone/push Build is failing
2023-07-11 17:40:32 +02:00
78cb46795f build: Fix mixed up destination / credentials
Some checks failed
continuous-integration/drone/push Build is failing
2023-07-11 17:37:37 +02:00
48e8b21c30 build: Change kaniko auth config to explicit registry v2 api
Some checks failed
continuous-integration/drone/push Build is failing
2023-07-11 17:35:57 +02:00
b19a3f7391 build: Remove redundant apk repository commands 2023-07-11 17:30:23 +02:00
10 changed files with 7045 additions and 31 deletions

View File

@@ -44,16 +44,26 @@ steps:
- name: Container image (Harbor)
depends_on:
- Semantic Release (Dry-run)
image: plugins/kaniko
image: gcr.io/kaniko-project/executor:debug
pull: always
context: .
settings:
repo: bv11-cr01.bessems.eu/library/json-server
registry: https://bv11-cr01.bessems.eu/v2/
tags: latest
username:
commands:
- |
export IMAGE_TAG=$(cat .version 2> /dev/null) && [ -n "$IMAGE_TAG" ] || (echo 'No release tag - exiting'; exit 0)
- |
wget https://github.com/jqlang/jq/releases/download/jq-1.6/jq-linux64 -qO /bin/jq
chmod +x /bin/jq
- |
/bin/jq '.auths["https://bv11-cr01.bessems.eu/v2/"].auth="'"$(echo -n $HARBOR_USERNAME':'$HARBOR_PASSWORD | base64)"'"' --null-input > /kaniko/.docker/config.json
- |
/kaniko/executor \
--dockerfile=Dockerfile \
--context=dir://. \
--destination=bv11-cr01.bessems.eu/library/json-server:latest \
--destination=bv11-cr01.bessems.eu/library/json-server:$IMAGE_TAG
environment:
HARBOR_USERNAME:
from_secret: harbor_username
password:
HARBOR_PASSWORD:
from_secret: harbor_password
- name: Container image (docker.io)
@@ -63,15 +73,18 @@ steps:
pull: always
commands:
- |
wget https://github.com/jqlang/jq/releases/download/jq-1.6/jq-linux64 -O /bin/jq
export IMAGE_TAG=$(cat .version 2> /dev/null) && [ -n "$IMAGE_TAG" ] || (echo 'No release tag - exiting'; exit 0)
- |
wget https://github.com/jqlang/jq/releases/download/jq-1.6/jq-linux64 -qO /bin/jq
chmod +x /bin/jq
- |
/bin/jq '.auths["bv11-cr01.bessems.eu"].auth="'"$(echo $DOCKER_USERNAME':'$DOCKER_PASSWORD | base64)"'"' --null-input > /kaniko/.docker/config.json
/bin/jq '.auths["https://index.docker.io/v1/"].auth="'"$(echo -n $DOCKER_USERNAME':'$DOCKER_PASSWORD | base64)"'"' --null-input > /kaniko/.docker/config.json
- |
/kaniko/executor \
--dockerfile=Dockerfile \
--context=dir://. \
--destination=bv11-cr01.bessems.eu/library/json-server:latest
--destination=docker.io/djpbessems/json-server:latest \
--destination=docker.io/djpbessems/json-server:$IMAGE_TAG
environment:
DOCKER_USERNAME:
from_secret: docker_username
@@ -85,9 +98,9 @@ steps:
pull: always
commands:
- |
echo '$MIRROR/alpine/edge/community' >> /etc/apk/repositories
apk update && apk add \
yq
export CHART_VERSION=$(cat .version 2> /dev/null) && [ -n "$CHART_VERSION" ] || (echo 'No release tag - exiting'; exit 0)
sed -i 's/{{ chart_version }}/'$CHART_VERSION'/g' charts/json-server/Chart.yaml
sed -i 's/tag: latest/tag: '$CHART_VERSION'/g' charts/json-server/values.yaml
- |
helm package ./charts/json-server
- |
@@ -116,4 +129,28 @@ steps:
pull: always
commands:
- |
echo 'foo'
export VALID_TAG=$(cat .version 2> /dev/null) && [ -n "$VALID_TAG" ] || (echo 'No release tag - exiting'; exit 0)
- |
apt-get update
- |
apt-get install -y --no-install-recommends \
git-core \
ca-certificates
- |
npm install \
semantic-release \
@semantic-release/changelog \
@semantic-release/commit-analyzer \
@semantic-release/git \
@semantic-release/release-notes-generator
- |
export GIT_CREDENTIALS=$${GIT_USERNAME}:$${GIT_APIKEY}
- |
npx semantic-release \
--branches ${DRONE_BRANCH} \
--tag-format "v\$${version}" \
--plugins @semantic-release/commit-analyzer,@semantic-release/release-notes-generator,@semantic-release/changelog,@semantic-release/git
environment:
GIT_APIKEY:
from_secret: git_apikey
GIT_USERNAME: djpbessems

6
CHANGELOG.md Normal file
View File

@@ -0,0 +1,6 @@
# [0.7.0](https://code.spamasaurus.com/djpbessems/ContainerImage.JSONServer/compare/v0.6.0...v0.7.0) (2023-07-14)
### Features
* Add sidecar for continuous polling ([806757a](https://code.spamasaurus.com/djpbessems/ContainerImage.JSONServer/commit/806757a9135341d919b31d4183a84e3870c24f3f))

View File

@@ -6,10 +6,10 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: v0.5.3
version: v{{ chart_version }}
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "v0.5.3"
appVersion: "v{{ chart_version }}"

View File

@@ -0,0 +1,8 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Release.Name }}-clusterrole
rules:
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get", "list"]

View File

@@ -0,0 +1,12 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ .Release.Name }}-clusterrolebinding
subjects:
- kind: ServiceAccount
name: {{ include "json-server.serviceAccountName" . }}
namespace: {{ Release.Namespace }}
roleRef:
kind: ClusterRole
name: {{ .Release.Name }}-clusterrole
apiGroup: rbac.authorization.k8s.io

View File

@@ -1,4 +1,4 @@
{{- if not .Values.seedData.existingConfigMap }}
{{- if not .Values.json-server.seedData.existingConfigMap }}
apiVersion: v1
kind: ConfigMap
metadata:
@@ -55,5 +55,5 @@ data:
</body>
</html>
db.json: |
{{ include "common.tplvalues.render" ( dict "value" .Values.seedData.configInline "context" $) | indent 4 }}
{{ include "common.tplvalues.render" ( dict "value" .Values.json-server.seedData.configInline "context" $) | indent 4 }}
{{- end -}}

View File

@@ -29,8 +29,8 @@ spec:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
image: "{{ .Values.json-server.image.repository }}:{{ .Values.json-server.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.json-server.image.pullPolicy }}
ports:
- name: http
containerPort: {{ .Values.service.port }}
@@ -52,6 +52,17 @@ spec:
- name: {{ .Release.Name }}-configmap
mountPath: /usr/local/lib/node_modules/json-server/public/index.html
subPath: index.html
- name: {{ .Chart.Name }}-sidecar
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.sidecar.image.repository }}:{{ .Values.sidecar.image.tag }}"
imagePullPolicy: {{ .Values.sidecar.image.pullPolicy }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
command:
- /bin/sh
- -c
- sleep infinity
volumes:
- name: {{ .Release.Name }}-configmap
configMap:

View File

@@ -1,18 +1,25 @@
# Default values for json-server.
seedData:
# Not implemented yet
# existingConfigMap: ""
configInline: {}
json-server:
seedData:
# Not implemented yet
# existingConfigMap: ""
configInline: {}
image:
repository: bv11-cr01.bessems.eu/library/json-server
pullPolicy: IfNotPresent
# Overrides the image tag whose default is the chart appVersion.
tag: latest
sidecar:
image:
repository: alpine/helm
pullPolicy: IfNotPresent
tag: 3.12.1
replicaCount: 1
image:
repository: bv11-cr01.bessems.eu/library/json-server
pullPolicy: IfNotPresent
# Overrides the image tag whose default is the chart appVersion.
tag: latest
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""

6923
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

10
package.json Normal file
View File

@@ -0,0 +1,10 @@
{
"dependencies": {
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/commit-analyzer": "^10.0.1",
"@semantic-release/exec": "^6.0.3",
"@semantic-release/git": "^10.0.1",
"@semantic-release/release-notes-generator": "^11.0.4",
"semantic-release": "^21.0.7"
}
}