From 609fc5df78c40082bc3ad8f00b4a6328d77464c9 Mon Sep 17 00:00:00 2001 From: Ariel Shatil Date: Mon, 9 Dec 2024 07:47:31 +0200 Subject: [PATCH 01/22] Add temp k8 chart and test using mongo7 --- .gitignore | 3 + docker/server-run.sh | 5 +- helm/mongodb-chart-0.1.0.tgz | Bin 0 -> 1069 bytes helm/mongodb-chart/Chart.yaml | 6 + helm/mongodb-chart/templates/configmap.yaml | 0 helm/mongodb-chart/templates/deployment.yaml | 39 ++ helm/mongodb-chart/templates/pvc.yaml | 13 + helm/mongodb-chart/templates/services.yaml | 15 + helm/mongodb-chart/values.yaml | 30 ++ newman-server/config/realm.properties | 464 +++++++++++++++++++ newman-server/pom.xml | 5 +- pom.xml | 4 +- 12 files changed, 576 insertions(+), 8 deletions(-) create mode 100644 helm/mongodb-chart-0.1.0.tgz create mode 100644 helm/mongodb-chart/Chart.yaml create mode 100644 helm/mongodb-chart/templates/configmap.yaml create mode 100644 helm/mongodb-chart/templates/deployment.yaml create mode 100644 helm/mongodb-chart/templates/pvc.yaml create mode 100644 helm/mongodb-chart/templates/services.yaml create mode 100644 helm/mongodb-chart/values.yaml create mode 100644 newman-server/config/realm.properties diff --git a/.gitignore b/.gitignore index 459724d2..8b297e84 100644 --- a/.gitignore +++ b/.gitignore @@ -129,6 +129,9 @@ crashlytics-build.properties *.war *.ear +# MongoDB data +docker/data/* + # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* diff --git a/docker/server-run.sh b/docker/server-run.sh index 71bc5427..1dfbbe17 100755 --- a/docker/server-run.sh +++ b/docker/server-run.sh @@ -1,6 +1,6 @@ #!/bin/bash DIRNAME=`cd $(dirname ${BASH_SOURCE[0]}) && pwd` - +echo $DIRNAME MODE="-d" if [[ -n "$1" ]]; then if [[ "$1" == "-iii" ]]; then @@ -10,7 +10,6 @@ if [[ -n "$1" ]]; then fi fi - docker stop newman-server docker rm newman-server @@ -21,4 +20,4 @@ while [[ -z "$(${cmd})" ]]; do sleep 5s done -docker run ${MODE} --link mongo-server --rm -v "${DIRNAME}/..":"/newman" --name newman-server --user $(id -u) -p 8443:8443 newman "/newman/newman-server/bin/newman-server.sh" \ No newline at end of file +docker run ${MODE} --link mongo-server --rm -v "${DIRNAME}/..":"/newman" --name newman-server --user $(id -u) -p 8443:8443 newman "/newman/newman-server/bin/newman-server.sh" diff --git a/helm/mongodb-chart-0.1.0.tgz b/helm/mongodb-chart-0.1.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..cb28122336564ee6ab1ddd2c373f9b5ed2181b32 GIT binary patch literal 1069 zcmV+|1k(E-iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PI*%Z`(Ey&NF|-A@5cwMY21+IZ4rVm=hz}(#L_8E)FqLWJ$_J z*80B>lw?Oz>^a4}7(;yziA^8xNRi+7-ASrquJYL+dt}C)UHZSl6O-a(k47n_!#J+~ zQ%d{)X+)EgFdjwmc|u3g@PvlvqbNQBy3a*yv(h?dPUyeR)!*Fz#F*yyXe?Jn3X6y^ zt=C`UfCkZspb^<)A?rP;%&p@B>>H{|hEcwEHH2UHBiKk9zoz!_oN>|8HRiD^y;pvT!McgmB5` zm=XYkT3POtc}ihcqx`J7Ed;=^`HCS1InFpM20sl<7``I_x)frn1kavQ`1o+G+|;1O z!VzN8EO=IhuSwxjl-8m7IQ7$%aVbP28jc7tXjN%4wBA>6$zAmcAk$?E38k|7CQ()k zOu}fwt3`h<(RO^Jq~{wY!wDxudk(S=i+Vj+u$jO-1!qbm04&SU+KI}s2{wRRWceq< z9o`g~cd`60OyS)JpV&HO*c>kfvo?j(Q$m_&`!9{{81J{)fXbIpY59r*!P5NJZScJ57dqHm19GXubCmz74T!ZBW;X+<4Cr;J{Y1Jvpar>&<_4F%6? z4a;Tv;%CR^uw0(@BTZXM{bJ6ujIY*Ro7d^qV(SI3w=u0$ycMj`{J>A^2Et;|4^!`Z za&!IR=IY{)-|ybvUXLg5J5B&qmD03HAUfp--; literal 0 HcmV?d00001 diff --git a/helm/mongodb-chart/Chart.yaml b/helm/mongodb-chart/Chart.yaml new file mode 100644 index 00000000..c25d48aa --- /dev/null +++ b/helm/mongodb-chart/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v2 +name: mongodb-chart +description: A Helm chart for Bitnami MongoDB +type: application +version: 0.1.0 +appVersion: "4.0.27" diff --git a/helm/mongodb-chart/templates/configmap.yaml b/helm/mongodb-chart/templates/configmap.yaml new file mode 100644 index 00000000..e69de29b diff --git a/helm/mongodb-chart/templates/deployment.yaml b/helm/mongodb-chart/templates/deployment.yaml new file mode 100644 index 00000000..fb438f16 --- /dev/null +++ b/helm/mongodb-chart/templates/deployment.yaml @@ -0,0 +1,39 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ .Release.Name }}-mongodb + labels: + app: mongodb + release: {{ .Release.Name }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + app: mongodb + release: {{ .Release.Name }} + template: + metadata: + labels: + app: mongodb + release: {{ .Release.Name }} + spec: + containers: + - name: mongodb + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + ports: + - containerPort: {{ .Values.service.port }} + env: + - name: MONGODB_USERNAME + value: {{ .Values.mongodb.username | quote }} + - name: MONGODB_PASSWORD + value: {{ .Values.mongodb.password | quote }} + - name: MONGODB_DATABASE + value: {{ .Values.mongodb.database | quote }} + volumeMounts: + - name: mongodb-data + mountPath: /bitnami/mongodb + volumes: + - name: mongodb-data + persistentVolumeClaim: + claimName: {{ .Release.Name }}-mongodb diff --git a/helm/mongodb-chart/templates/pvc.yaml b/helm/mongodb-chart/templates/pvc.yaml new file mode 100644 index 00000000..f65030d3 --- /dev/null +++ b/helm/mongodb-chart/templates/pvc.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: {{ .Release.Name }}-mongodb + labels: + app: mongodb + release: {{ .Release.Name }} +spec: + accessModes: {{ .Values.persistence.accessModes | toJson }} + resources: + requests: + storage: {{ .Values.persistence.size }} + storageClassName: {{ .Values.persistence.storageClass | quote }} diff --git a/helm/mongodb-chart/templates/services.yaml b/helm/mongodb-chart/templates/services.yaml new file mode 100644 index 00000000..74426a74 --- /dev/null +++ b/helm/mongodb-chart/templates/services.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ .Release.Name }}-mongodb + labels: + app: mongodb + release: {{ .Release.Name }} +spec: + type: {{ .Values.service.type }} + ports: + - port: {{ .Values.service.port }} + targetPort: {{ .Values.service.port }} + selector: + app: mongodb + release: {{ .Release.Name }} diff --git a/helm/mongodb-chart/values.yaml b/helm/mongodb-chart/values.yaml new file mode 100644 index 00000000..a4593e6d --- /dev/null +++ b/helm/mongodb-chart/values.yaml @@ -0,0 +1,30 @@ +replicaCount: 1 + +image: + repository: bitnami/mongodb + tag: 4.0.27-debian-9-r118 + pullPolicy: IfNotPresent + +service: + type: ClusterIP + port: 27017 + +resources: + limits: + cpu: 500m + memory: 512Mi + requests: + cpu: 250m + memory: 256Mi + +persistence: + enabled: true + accessModes: + - ReadWriteOnce + size: 8Gi + storageClass: "" + +mongodb: + username: newman + password: newman + database: newman-db diff --git a/newman-server/config/realm.properties b/newman-server/config/realm.properties new file mode 100644 index 00000000..4186929c --- /dev/null +++ b/newman-server/config/realm.properties @@ -0,0 +1,464 @@ +ester=ester, user +yuval=yuval, user +evgeny=evgeny, user +moran=moran, user +root=root, admin +support=support, user +mishel=mishel, user +sagiv=sagiv, user +yonatan=yonatan, user +michael=michael, user +irena=irena, user +tomer=tomer, user +noi=noi, user +anton=anton, user +oleksii=oleksii, user +alesia=alesia, user +olha=olha, user +michaelg=michaelg, user +sapir=sapir, user +shai=shai, user +davyd=davyd, user +esubotin=esubotin, user +inbal=inbal, user +tolik=tolik, user +rami=rami, user +ariel=ariel, user +chani=chani, user +krystyna=krystyna, user +user=user, user +ester=ester, user +yuval=yuval, user +evgeny=evgeny, user +moran=moran, user +root=root, admin +support=support, user +mishel=mishel, user +sagiv=sagiv, user +yonatan=yonatan, user +michael=michael, user +irena=irena, user +tomer=tomer, user +noi=noi, user +anton=anton, user +oleksii=oleksii, user +alesia=alesia, user +olha=olha, user +michaelg=michaelg, user +sapir=sapir, user +shai=shai, user +davyd=davyd, user +esubotin=esubotin, user +inbal=inbal, user +tolik=tolik, user +rami=rami, user +ariel=ariel, user +chani=chani, user +krystyna=krystyna, user +user=user, user +ester=ester, user +yuval=yuval, user +evgeny=evgeny, user +moran=moran, user +root=root, admin +support=support, user +mishel=mishel, user +sagiv=sagiv, user +yonatan=yonatan, user +michael=michael, user +irena=irena, user +tomer=tomer, user +noi=noi, user +anton=anton, user +oleksii=oleksii, user +alesia=alesia, user +olha=olha, user +michaelg=michaelg, user +sapir=sapir, user +shai=shai, user +davyd=davyd, user +esubotin=esubotin, user +inbal=inbal, user +tolik=tolik, user +rami=rami, user +ariel=ariel, user +chani=chani, user +krystyna=krystyna, user +user=user, user +ester=ester, user +yuval=yuval, user +evgeny=evgeny, user +moran=moran, user +root=root, admin +support=support, user +mishel=mishel, user +sagiv=sagiv, user +yonatan=yonatan, user +michael=michael, user +irena=irena, user +tomer=tomer, user +noi=noi, user +anton=anton, user +oleksii=oleksii, user +alesia=alesia, user +olha=olha, user +michaelg=michaelg, user +sapir=sapir, user +shai=shai, user +davyd=davyd, user +esubotin=esubotin, user +inbal=inbal, user +tolik=tolik, user +rami=rami, user +ariel=ariel, user +chani=chani, user +krystyna=krystyna, user +user=user, user +ester=ester, user +yuval=yuval, user +evgeny=evgeny, user +moran=moran, user +root=root, admin +support=support, user +mishel=mishel, user +sagiv=sagiv, user +yonatan=yonatan, user +michael=michael, user +irena=irena, user +tomer=tomer, user +noi=noi, user +anton=anton, user +oleksii=oleksii, user +alesia=alesia, user +olha=olha, user +michaelg=michaelg, user +sapir=sapir, user +shai=shai, user +davyd=davyd, user +esubotin=esubotin, user +inbal=inbal, user +tolik=tolik, user +rami=rami, user +ariel=ariel, user +chani=chani, user +krystyna=krystyna, user +user=user, user +ester=ester, user +yuval=yuval, user +evgeny=evgeny, user +moran=moran, user +root=root, admin +support=support, user +mishel=mishel, user +sagiv=sagiv, user +yonatan=yonatan, user +michael=michael, user +irena=irena, user +tomer=tomer, user +noi=noi, user +anton=anton, user +oleksii=oleksii, user +alesia=alesia, user +olha=olha, user +michaelg=michaelg, user +sapir=sapir, user +shai=shai, user +davyd=davyd, user +esubotin=esubotin, user +inbal=inbal, user +tolik=tolik, user +rami=rami, user +ariel=ariel, user +chani=chani, user +krystyna=krystyna, user +user=user, user +ester=ester, user +yuval=yuval, user +evgeny=evgeny, user +moran=moran, user +root=root, admin +support=support, user +mishel=mishel, user +sagiv=sagiv, user +yonatan=yonatan, user +michael=michael, user +irena=irena, user +tomer=tomer, user +noi=noi, user +anton=anton, user +oleksii=oleksii, user +alesia=alesia, user +olha=olha, user +michaelg=michaelg, user +sapir=sapir, user +shai=shai, user +davyd=davyd, user +esubotin=esubotin, user +inbal=inbal, user +tolik=tolik, user +rami=rami, user +ariel=ariel, user +chani=chani, user +krystyna=krystyna, user +user=user, user +ester=ester, user +yuval=yuval, user +evgeny=evgeny, user +moran=moran, user +root=root, admin +support=support, user +mishel=mishel, user +sagiv=sagiv, user +yonatan=yonatan, user +michael=michael, user +irena=irena, user +tomer=tomer, user +noi=noi, user +anton=anton, user +oleksii=oleksii, user +alesia=alesia, user +olha=olha, user +michaelg=michaelg, user +sapir=sapir, user +shai=shai, user +davyd=davyd, user +esubotin=esubotin, user +inbal=inbal, user +tolik=tolik, user +rami=rami, user +ariel=ariel, user +chani=chani, user +krystyna=krystyna, user +user=user, user +ester=ester, user +yuval=yuval, user +evgeny=evgeny, user +moran=moran, user +root=root, admin +support=support, user +mishel=mishel, user +sagiv=sagiv, user +yonatan=yonatan, user +michael=michael, user +irena=irena, user +tomer=tomer, user +noi=noi, user +anton=anton, user +oleksii=oleksii, user +alesia=alesia, user +olha=olha, user +michaelg=michaelg, user +sapir=sapir, user +shai=shai, user +davyd=davyd, user +esubotin=esubotin, user +inbal=inbal, user +tolik=tolik, user +rami=rami, user +ariel=ariel, user +chani=chani, user +krystyna=krystyna, user +user=user, user +ester=ester, user +yuval=yuval, user +evgeny=evgeny, user +moran=moran, user +root=root, admin +support=support, user +mishel=mishel, user +sagiv=sagiv, user +yonatan=yonatan, user +michael=michael, user +irena=irena, user +tomer=tomer, user +noi=noi, user +anton=anton, user +oleksii=oleksii, user +alesia=alesia, user +olha=olha, user +michaelg=michaelg, user +sapir=sapir, user +shai=shai, user +davyd=davyd, user +esubotin=esubotin, user +inbal=inbal, user +tolik=tolik, user +rami=rami, user +ariel=ariel, user +chani=chani, user +krystyna=krystyna, user +user=user, user +ester=ester, user +yuval=yuval, user +evgeny=evgeny, user +moran=moran, user +root=root, admin +support=support, user +mishel=mishel, user +sagiv=sagiv, user +yonatan=yonatan, user +michael=michael, user +irena=irena, user +tomer=tomer, user +noi=noi, user +anton=anton, user +oleksii=oleksii, user +alesia=alesia, user +olha=olha, user +michaelg=michaelg, user +sapir=sapir, user +shai=shai, user +davyd=davyd, user +esubotin=esubotin, user +inbal=inbal, user +tolik=tolik, user +rami=rami, user +ariel=ariel, user +chani=chani, user +krystyna=krystyna, user +user=user, user +ester=ester, user +yuval=yuval, user +evgeny=evgeny, user +moran=moran, user +root=root, admin +support=support, user +mishel=mishel, user +sagiv=sagiv, user +yonatan=yonatan, user +michael=michael, user +irena=irena, user +tomer=tomer, user +noi=noi, user +anton=anton, user +oleksii=oleksii, user +alesia=alesia, user +olha=olha, user +michaelg=michaelg, user +sapir=sapir, user +shai=shai, user +davyd=davyd, user +esubotin=esubotin, user +inbal=inbal, user +tolik=tolik, user +rami=rami, user +ariel=ariel, user +chani=chani, user +krystyna=krystyna, user +user=user, user +ester=ester, user +yuval=yuval, user +evgeny=evgeny, user +moran=moran, user +root=root, admin +support=support, user +mishel=mishel, user +sagiv=sagiv, user +yonatan=yonatan, user +michael=michael, user +irena=irena, user +tomer=tomer, user +noi=noi, user +anton=anton, user +oleksii=oleksii, user +alesia=alesia, user +olha=olha, user +michaelg=michaelg, user +sapir=sapir, user +shai=shai, user +davyd=davyd, user +esubotin=esubotin, user +inbal=inbal, user +tolik=tolik, user +rami=rami, user +ariel=ariel, user +chani=chani, user +krystyna=krystyna, user +user=user, user +ester=ester, user +yuval=yuval, user +evgeny=evgeny, user +moran=moran, user +root=root, admin +support=support, user +mishel=mishel, user +sagiv=sagiv, user +yonatan=yonatan, user +michael=michael, user +irena=irena, user +tomer=tomer, user +noi=noi, user +anton=anton, user +oleksii=oleksii, user +alesia=alesia, user +olha=olha, user +michaelg=michaelg, user +sapir=sapir, user +shai=shai, user +davyd=davyd, user +esubotin=esubotin, user +inbal=inbal, user +tolik=tolik, user +rami=rami, user +ariel=ariel, user +chani=chani, user +krystyna=krystyna, user +user=user, user +ester=ester, user +yuval=yuval, user +evgeny=evgeny, user +moran=moran, user +root=root, admin +support=support, user +mishel=mishel, user +sagiv=sagiv, user +yonatan=yonatan, user +michael=michael, user +irena=irena, user +tomer=tomer, user +noi=noi, user +anton=anton, user +oleksii=oleksii, user +alesia=alesia, user +olha=olha, user +michaelg=michaelg, user +sapir=sapir, user +shai=shai, user +davyd=davyd, user +esubotin=esubotin, user +inbal=inbal, user +tolik=tolik, user +rami=rami, user +ariel=ariel, user +chani=chani, user +krystyna=krystyna, user +user=user, user +ester=ester, user +yuval=yuval, user +evgeny=evgeny, user +moran=moran, user +root=root, admin +support=support, user +mishel=mishel, user +sagiv=sagiv, user +yonatan=yonatan, user +michael=michael, user +irena=irena, user +tomer=tomer, user +noi=noi, user +anton=anton, user +oleksii=oleksii, user +alesia=alesia, user +olha=olha, user +michaelg=michaelg, user +sapir=sapir, user +shai=shai, user +davyd=davyd, user +esubotin=esubotin, user +inbal=inbal, user +tolik=tolik, user +rami=rami, user +ariel=ariel, user +chani=chani, user +krystyna=krystyna, user +user=user, user diff --git a/newman-server/pom.xml b/newman-server/pom.xml index 4dbf433e..d4eb687c 100644 --- a/newman-server/pom.xml +++ b/newman-server/pom.xml @@ -19,8 +19,6 @@ default - - ${project.groupId} @@ -61,7 +59,8 @@ org.mongodb - mongo-java-driver + mongodb-driver-sync + ${mongodb.version} org.mongodb.morphia diff --git a/pom.xml b/pom.xml index 60eab7b0..5b942aa9 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ UTF-8 9.4.11.v20180605 2.18 - 3.0.0 + 5.1.0 0.111 1.3.2 1.3.2 @@ -150,7 +150,7 @@ org.mongodb - mongo-java-driver + mongo-driver-sync ${mongodb.version} From 7ec20a4a9190f981f216bc085687385000a597e3 Mon Sep 17 00:00:00 2001 From: ramikhawaly Date: Mon, 9 Dec 2024 11:32:56 +0200 Subject: [PATCH 02/22] upgraded mongo client to new version --- newman-server/pom.xml | 5 +++++ .../java/com/gigaspaces/newman/NewmanResource.java | 11 ++++++----- .../java/com/gigaspaces/newman/SpotinstResource.java | 4 +++- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/newman-server/pom.xml b/newman-server/pom.xml index d4eb687c..1101e5a3 100644 --- a/newman-server/pom.xml +++ b/newman-server/pom.xml @@ -45,6 +45,11 @@ org.glassfish.jersey.core jersey-server + + org.glassfish.jersey.media + jersey-media-multipart + + org.glassfish.jersey.containers jersey-container-servlet diff --git a/newman-server/src/main/java/com/gigaspaces/newman/NewmanResource.java b/newman-server/src/main/java/com/gigaspaces/newman/NewmanResource.java index b9ade19a..31149466 100644 --- a/newman-server/src/main/java/com/gigaspaces/newman/NewmanResource.java +++ b/newman-server/src/main/java/com/gigaspaces/newman/NewmanResource.java @@ -11,6 +11,7 @@ import com.mongodb.MongoClient; import com.mongodb.MongoInterruptedException; import com.mongodb.client.DistinctIterable; +import com.mongodb.client.MongoClients; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.client.model.Filters; @@ -122,7 +123,7 @@ public class NewmanResource { private ServerStatus serverStatus = new ServerStatus(ServerStatus.Status.RUNNING); private Thread serverSuspendThread; - public NewmanResource(@Context ServletContext servletContext) { + public NewmanResource(@Context ServletContext servletContext) throws UnknownHostException { this.config = Config.fromString(servletContext.getInitParameter("config")); //noinspection SpellCheckingInspection mongoClient = new MongoClient(config.getMongo().getHost()); @@ -140,7 +141,7 @@ public NewmanResource(@Context ServletContext servletContext) { jobConfigDAO = new JobConfigDAO(morphia, mongoClient, config.getMongo().getDb()); prioritizedJobDAO = new PrioritizedJobDAO(morphia, mongoClient, config.getMongo().getDb()); - MongoDatabase db = mongoClient.getDatabase(config.getMongo().getDb()); + MongoDatabase db = MongoClients.create().getDatabase(config.getMongo().getDb()); MongoCollection testCollection = db.getCollection("Test"); distinctTestsByAssignedAgentFilter = testCollection.distinct("assignedAgent", String.class); @@ -2429,7 +2430,7 @@ public Build getBuild(final @PathParam("id") String id) { @Path("db") @Produces(MediaType.APPLICATION_JSON) public Response deleteCollections() { - MongoDatabase db = mongoClient.getDatabase(config.getMongo().getDb()); + MongoDatabase db = MongoClients.create().getDatabase(config.getMongo().getDb()); List deleted = new ArrayList<>(); for (String name : db.listCollectionNames()) { if (!"system.indexes".equals(name)) { @@ -2587,7 +2588,7 @@ public Response deleteOfflineAgent(final @PathParam("agentName") String agentNam @Path("db/{collectionName}") @Produces(MediaType.APPLICATION_JSON) public Response deleteCollection(final @PathParam("collectionName") String collectionName) { - MongoDatabase db = mongoClient.getDatabase(config.getMongo().getDb()); + MongoDatabase db = MongoClients.create().getDatabase(config.getMongo().getDb()); MongoCollection myCollection = db.getCollection(collectionName); if (myCollection != null) { myCollection.drop(); @@ -2625,7 +2626,7 @@ public UserPrefs getCurrentUser(@Context SecurityContext sc) { @Path("db") @Produces(MediaType.APPLICATION_JSON) public Response getCollections() { - MongoDatabase db = mongoClient.getDatabase(config.getMongo().getDb()); + MongoDatabase db = MongoClients.create().getDatabase(config.getMongo().getDb()); List res = new ArrayList<>(); for (String name : db.listCollectionNames()) { if (!"system.indexes".equals(name)) { diff --git a/newman-server/src/main/java/com/gigaspaces/newman/SpotinstResource.java b/newman-server/src/main/java/com/gigaspaces/newman/SpotinstResource.java index 2cf80fb9..44e408f7 100644 --- a/newman-server/src/main/java/com/gigaspaces/newman/SpotinstResource.java +++ b/newman-server/src/main/java/com/gigaspaces/newman/SpotinstResource.java @@ -5,6 +5,7 @@ import com.gigaspaces.newman.dao.AgentDAO; import com.gigaspaces.newman.spotinst.ElasticGroup; import com.mongodb.MongoClient; +import com.mongodb.client.MongoClients; import org.mongodb.morphia.Morphia; import org.mongodb.morphia.query.Query; import org.mongodb.morphia.query.QueryResults; @@ -17,6 +18,7 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import java.io.IOException; +import java.net.UnknownHostException; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; @@ -31,7 +33,7 @@ public class SpotinstResource { private final AgentDAO agentDAO; private final Config config; - public SpotinstResource(@Context ServletContext servletContext) { + public SpotinstResource(@Context ServletContext servletContext) throws UnknownHostException { this.config = Config.fromString(servletContext.getInitParameter("config")); spotinstClient = new SpotinstClient(); mongoClient = new MongoClient(config.getMongo().getHost()); From aa552cd2e2d2fdc3d18a9ff1f472fe0c71edefd4 Mon Sep 17 00:00:00 2001 From: Ariel Shatil Date: Sun, 15 Dec 2024 22:45:04 +0200 Subject: [PATCH 03/22] Working mongo-server --- docker/Dockerfile | 10 ++-- docker/docker-build.sh | 4 +- helm/mongo-server-0.1.0.tgz | Bin 0 -> 1579 bytes helm/mongo-server/.helmignore | 23 ++++++++ helm/mongo-server/Chart.yaml | 6 ++ helm/mongo-server/templates/configmap.yaml | 21 +++++++ helm/mongo-server/templates/daemonset.yaml | 52 ++++++++++++++++++ .../templates/pvc.yaml | 8 +-- helm/mongo-server/templates/service.yaml | 13 +++++ .../values.yaml | 16 +++--- helm/mongodb-chart-0.1.0.tgz | Bin 1069 -> 0 bytes helm/mongodb-chart/Chart.yaml | 6 -- helm/mongodb-chart/templates/configmap.yaml | 0 helm/mongodb-chart/templates/deployment.yaml | 39 ------------- helm/mongodb-chart/templates/services.yaml | 15 ----- 15 files changed, 134 insertions(+), 79 deletions(-) create mode 100644 helm/mongo-server-0.1.0.tgz create mode 100644 helm/mongo-server/.helmignore create mode 100644 helm/mongo-server/Chart.yaml create mode 100644 helm/mongo-server/templates/configmap.yaml create mode 100644 helm/mongo-server/templates/daemonset.yaml rename helm/{mongodb-chart => mongo-server}/templates/pvc.yaml (73%) create mode 100644 helm/mongo-server/templates/service.yaml rename helm/{mongodb-chart => mongo-server}/values.yaml (78%) delete mode 100644 helm/mongodb-chart-0.1.0.tgz delete mode 100644 helm/mongodb-chart/Chart.yaml delete mode 100644 helm/mongodb-chart/templates/configmap.yaml delete mode 100644 helm/mongodb-chart/templates/deployment.yaml delete mode 100644 helm/mongodb-chart/templates/services.yaml diff --git a/docker/Dockerfile b/docker/Dockerfile index 7f43c173..203584f6 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -8,10 +8,10 @@ ARG gid=1001 RUN apt-get update -y RUN apt-get install coreutils wget -y -ENV MAVEN_VERSION 3.6.3 -ENV MAVEN_FILE apache-maven-${MAVEN_VERSION}-bin.tar.gz -ENV NODE_VERSION 22.11.0 -ENV NODE_FILE node-v${NODE_VERSION}-linux-x64.tar.gz +ENV MAVEN_VERSION=3.6.3 +ENV MAVEN_FILE=apache-maven-${MAVEN_VERSION}-bin.tar.gz +ENV NODE_VERSION=22.11.0 +ENV NODE_FILE=node-v${NODE_VERSION}-linux-x64.tar.gz # Jenkins is run with user `newman`, uid = 1000 # If you bind mount a volume from the host or a data container, @@ -21,7 +21,7 @@ RUN groupadd -g ${gid} ${group} \ # Install Java. RUN apt-get install openjdk-8-jdk -y -ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/ +ENV JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ # Install Maven RUN wget --no-verbose -O /tmp/${MAVEN_FILE} \ diff --git a/docker/docker-build.sh b/docker/docker-build.sh index 007e375a..5291f1a4 100755 --- a/docker/docker-build.sh +++ b/docker/docker-build.sh @@ -1,6 +1,6 @@ #!/bin/bash DIRNAME=`cd $(dirname ${BASH_SOURCE[0]}) && pwd` -docker build --build-arg user=$USER --build-arg uid=$(id -u) --build-arg gid=$(id -g) -t newman ${DIRNAME} +docker build --build-arg user=$USER --build-arg uid=$(id -u) --build-arg gid=$(id -g) -t newman/newman-server:latest ${DIRNAME} -docker pull mongo \ No newline at end of file +#docker pull mongo:4.0.27 diff --git a/helm/mongo-server-0.1.0.tgz b/helm/mongo-server-0.1.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..96f49d8b8c02a0c2c2dd6e142cbd775cf544344f GIT binary patch literal 1579 zcmV+`2GscDc zVQyr3R8em|NM&qo0PI;?Z{xTX&NF|-Y4XwrwJhJaddtLvZHjeb#MA6UQ4DD5SmuTz zxg_P(nQ?!6L0ueKw$}mbO)xt?0c?vpH%k0Ip2H+k#Ij*fFHkqH=Tuv7NfUl{O!0l+ z?{~Y|x9|J)Z@=B{owd4y_Mq2m4?6ubzt!n?dS~DtHH$rx8cX$=|9{7-PwpELs@MZ+ z!=wmc(I!->^<~%dz4m}aXhO}D&Bm_a@5mDf-9mwx)DWTKa>+ytBe#-WbMgtX2-; zbc(!y2vw?9ACv(L$a>Cu0ADlh0y4QNKr|gwI}f1gY?>KW0SL6^{V5aCjdFEG_E(Hn zsV8%~G!~PeWW08Z#xgvjIWeJ@xlsD7O1C=UzY*o zSr`mc?XC+2n%cS4?70Y9Fw5`${`cTN%IY_RN9hI*;J@Sd+gteWbx!zy3#sCtDrK5$ z5_l=$w@F|J2OJ6eZs&6M3~~&u)VW?lZ8-m_Vz|o`pj^L&Q6=pRm>c%HJphymWCev3 zmNJ35V%2~h9Sy7{ucvaBe8|h`Y{+}5uVA$bwr*P*!)kS2_cX55R$DeNg;)M$OL6p8 z$vDq?J(qDteidg$mF79KO-CpebvOCsM|ZbB-VHx|zQ4Qs^m%+Wnf!crKitp+$eM|b zKqX_A#TI;pUsGvuGw61de@;H$-(HPAzB)iz;Jr4$?>>X!)u*cuSCiMzpe#Oj2MA@7 zP!ZMNO>SHpJa1HX=jx3n+A!b5n$?ZAqP37bO>iVrvAvw~`MES3xms;%iL=_VH`hJn zFv>Ih4HpMel0EgGT7<_t20GOL^?Kb}{nzXC z2dDb)Eo5i^H{L~Guk8g3;yPwASUpy$?v|C)7_XuOU%|?M7%B1?8)r-PGozP|a-UI(U~!MX|DjzxTV|C42B+)`UmlfJ6B2w)*w{uiZJF|GbIp#Q!9J`|r~D zRhpMZaZq!xSFu#bXkXFTY<88~Nxb*lczfBvzc)vouvkcq$Bc1s|L<)5|Htq4PxyZe zxqvaX7PT;7CFJiOp5`cEnlc_S5rd-PBaP8` zMoukTV0Ktq8K)v57a%asPB`JuO5=?E2P1f5b`F2~iwAdtFF}gT(xv3uDBw(>N4(+W z^TbMxt^;@4$R}G`zSBXLNs3-O=Dc zVQyr3R8em|NM&qo0PI*%Z`(Ey&NF|-A@5cwMY21+IZ4rVm=hz}(#L_8E)FqLWJ$_J z*80B>lw?Oz>^a4}7(;yziA^8xNRi+7-ASrquJYL+dt}C)UHZSl6O-a(k47n_!#J+~ zQ%d{)X+)EgFdjwmc|u3g@PvlvqbNQBy3a*yv(h?dPUyeR)!*Fz#F*yyXe?Jn3X6y^ zt=C`UfCkZspb^<)A?rP;%&p@B>>H{|hEcwEHH2UHBiKk9zoz!_oN>|8HRiD^y;pvT!McgmB5` zm=XYkT3POtc}ihcqx`J7Ed;=^`HCS1InFpM20sl<7``I_x)frn1kavQ`1o+G+|;1O z!VzN8EO=IhuSwxjl-8m7IQ7$%aVbP28jc7tXjN%4wBA>6$zAmcAk$?E38k|7CQ()k zOu}fwt3`h<(RO^Jq~{wY!wDxudk(S=i+Vj+u$jO-1!qbm04&SU+KI}s2{wRRWceq< z9o`g~cd`60OyS)JpV&HO*c>kfvo?j(Q$m_&`!9{{81J{)fXbIpY59r*!P5NJZScJ57dqHm19GXubCmz74T!ZBW;X+<4Cr;J{Y1Jvpar>&<_4F%6? z4a;Tv;%CR^uw0(@BTZXM{bJ6ujIY*Ro7d^qV(SI3w=u0$ycMj`{J>A^2Et;|4^!`Z za&!IR=IY{)-|ybvUXLg5J5B&qmD03HAUfp--; diff --git a/helm/mongodb-chart/Chart.yaml b/helm/mongodb-chart/Chart.yaml deleted file mode 100644 index c25d48aa..00000000 --- a/helm/mongodb-chart/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: mongodb-chart -description: A Helm chart for Bitnami MongoDB -type: application -version: 0.1.0 -appVersion: "4.0.27" diff --git a/helm/mongodb-chart/templates/configmap.yaml b/helm/mongodb-chart/templates/configmap.yaml deleted file mode 100644 index e69de29b..00000000 diff --git a/helm/mongodb-chart/templates/deployment.yaml b/helm/mongodb-chart/templates/deployment.yaml deleted file mode 100644 index fb438f16..00000000 --- a/helm/mongodb-chart/templates/deployment.yaml +++ /dev/null @@ -1,39 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ .Release.Name }}-mongodb - labels: - app: mongodb - release: {{ .Release.Name }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: mongodb - release: {{ .Release.Name }} - template: - metadata: - labels: - app: mongodb - release: {{ .Release.Name }} - spec: - containers: - - name: mongodb - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: {{ .Values.service.port }} - env: - - name: MONGODB_USERNAME - value: {{ .Values.mongodb.username | quote }} - - name: MONGODB_PASSWORD - value: {{ .Values.mongodb.password | quote }} - - name: MONGODB_DATABASE - value: {{ .Values.mongodb.database | quote }} - volumeMounts: - - name: mongodb-data - mountPath: /bitnami/mongodb - volumes: - - name: mongodb-data - persistentVolumeClaim: - claimName: {{ .Release.Name }}-mongodb diff --git a/helm/mongodb-chart/templates/services.yaml b/helm/mongodb-chart/templates/services.yaml deleted file mode 100644 index 74426a74..00000000 --- a/helm/mongodb-chart/templates/services.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ .Release.Name }}-mongodb - labels: - app: mongodb - release: {{ .Release.Name }} -spec: - type: {{ .Values.service.type }} - ports: - - port: {{ .Values.service.port }} - targetPort: {{ .Values.service.port }} - selector: - app: mongodb - release: {{ .Release.Name }} From 9816b81700d0a8363d8937bdb7e9ea72c232c0d2 Mon Sep 17 00:00:00 2001 From: Ariel Shatil Date: Thu, 26 Dec 2024 11:30:26 +0200 Subject: [PATCH 04/22] Fixed newman-server chart --- helm/newman-server-0.1.0.tgz | Bin 0 -> 1580 bytes helm/newman-server/.helmignore | 23 +++++++++++ helm/newman-server/Chart.yaml | 6 +++ helm/newman-server/templates/deployment.yaml | 35 ++++++++++++++++ helm/newman-server/templates/ingress.yaml | 37 +++++++++++++++++ helm/newman-server/templates/pvc.yaml | 13 ++++++ helm/newman-server/templates/service.yaml | 15 +++++++ helm/newman-server/values.yaml | 32 +++++++++++++++ minikube/cronjob.yaml | 40 +++++++++++++++++++ minikube/role.yaml | 9 +++++ minikube/rolebinding.yaml | 13 ++++++ minikube/secret.yaml | 9 +++++ minikube/serviceaccount.yaml | 5 +++ 13 files changed, 237 insertions(+) create mode 100644 helm/newman-server-0.1.0.tgz create mode 100644 helm/newman-server/.helmignore create mode 100644 helm/newman-server/Chart.yaml create mode 100644 helm/newman-server/templates/deployment.yaml create mode 100644 helm/newman-server/templates/ingress.yaml create mode 100644 helm/newman-server/templates/pvc.yaml create mode 100644 helm/newman-server/templates/service.yaml create mode 100644 helm/newman-server/values.yaml create mode 100644 minikube/cronjob.yaml create mode 100644 minikube/role.yaml create mode 100644 minikube/rolebinding.yaml create mode 100644 minikube/secret.yaml create mode 100644 minikube/serviceaccount.yaml diff --git a/helm/newman-server-0.1.0.tgz b/helm/newman-server-0.1.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..e47c843988ead24c4b81828cc913cc336e1ca221 GIT binary patch literal 1580 zcmV+{2GjW;iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PI=aZ{xTT&olpuX>t$k;w(%4TnOlsx428u-58r7eJF|pElp&e zDUwH0PLrJbw-=-&TaxW&(M=QFt>?j!sQKc@{APv`c%M_zGpN_7`?Dq0Hh7>pKYKw6 z!!VqTM*eRYhTXs6U=W=}qv>!shz8MUd=^H->3Dhu;Y&Jkj0$6^J`2CvR(Ep05u%FS zqBcy57}f(qmD;{?YSCDdqDeGU){p&&Jcq=c61bBZ>=NOVKS6NqPY_V0I7_JGCW7V| zL+gYQ`=Bsxajk26VGso&dFuuF#;6_tYsw2WFAV_C#D5e<<4*jK2GJ@0UxhUKNSw(+ z*cc*0SWYvH34lf=4YN`|#4w%?hm*;48V$lxkgjxqi4F?WLuza<3TRFrrJ(mFNMznG zk5s=M_W+h=TTB5^1?O|gS@ICW<=rP~=Nb(PONbL-iFcs{iy1GBMSVGUVp7`}-iPl) zuTf`c=er@oM5fUgCyRnEIHoaJT_6FVLP+Zo$HefoAplEhtY-!2`Iin>1sThzQ8Yml z2(+FNKvBD_q)JIQ5JP`EQnK85*DrI$F-K7vzE+s9JC-=txryN)|0F~?^fMMkIpeO^ zhCN~oQTPLMQ%Djt=A%q;>-J})>EAW8cqJ0gZ>6Rg&NwwDhVyemaw#&IF5+s!G5CSq zwv;P6n1<2xguUM$wejC#u6&60Q&e0&xTE{^+2A?+pGKn&{!gQDbi)7Fpl1C?l`{Qx zL{?0sF?`sb0FtAnDYevr$f2UH9Q9CHe!E|6D9MV0Cb8HGueXIutysQd)MZCQad z(-LePS{vk;SgA{WIkn01Zw&(nO#svfx{_+l!x3*OIHCfe_S8`#g{4fOZsmZ(i&9gW zQsKNYKR*=gQY>sX@!n@kGuUj-yPD>W)VU|K%d6$GZF7>;w&8N=_I5I54s9r_l5ns~ zv2ArI)?H=g8hpI^^uyIpKVDtmv_1p)(z0cv%1nVvOYkfFQb>z!D_ynotIuDq*3I~^ z+O_0Gjvw9G+FO#+oI51FlC5JecT)2*8S_oZU-XO zwpVqii<@SK5NPkEUNMmctM?{ga+fYHOUdVQMX$1OBxf|MbRPiDKTSo3@ZAa@zK8F8 zz(f4!J(nAzb+|u0c_|03{<)OxV1l!N!cTRZk_wJ{_Ph3c`%o*X8weMh9?!Obv$R(2 zV!6{jwDkLLZKSHZ3#ZmSb>VT>Y1ACmbc!Z#?m*WT02=XyX8ETJUR}$MNBl>5}BRQ z?)~Vbs+Y#&8^-@J{8#Jb#jb&#yZ;>zyY>Hg91TzS{~FY~|E;lneyAWhfb7Rhk+13q zn)e*d%C2!&5;S<=SFrN0Mv5}TG#Xjxqy}(}zZBSr{OX3}sA9t&tI%!UrR)OykVu2E z2^w#`w_ifX;=ji1SE&EO(PY2=n@mpe{~B~K{;$i;|Nr*=c3Zb}d(LeM(`Z_I)kWn2 z{&rc>ycGVzhE{25Wg>YDH?#TPRl|WPy!EENAhqK^SR&6^CZxs}wDElY-~0bhG(Fw_ zy$W5xoLY-o7_bt`t%v(13Ro13r%Ys^XtJUint)uu&5{`~h4PUJW{I3b#^s{CkYghI z9yD@l*&2Ow(io>AB^Mwt^F12;QE9wm|H2gRnO(vk{uIEK;13{$mvk + aws_secret_access_key: \ No newline at end of file diff --git a/minikube/serviceaccount.yaml b/minikube/serviceaccount.yaml new file mode 100644 index 00000000..36ede263 --- /dev/null +++ b/minikube/serviceaccount.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: ecr-refresh-serviceaccount + namespace: newman From 598d83bdc9ce867749d78777d3ee515d1b07f59c Mon Sep 17 00:00:00 2001 From: Ariel Shatil Date: Wed, 8 Jan 2025 15:21:57 +0200 Subject: [PATCH 05/22] Changed mongo to deplyoment and pvc to gp3 --- helm/mongo-server-0.1.0.tgz | Bin 1579 -> 1584 bytes .../{daemonset.yaml => deployment.yaml} | 3 ++- helm/mongo-server/values.yaml | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) rename helm/mongo-server/templates/{daemonset.yaml => deployment.yaml} (98%) diff --git a/helm/mongo-server-0.1.0.tgz b/helm/mongo-server-0.1.0.tgz index 96f49d8b8c02a0c2c2dd6e142cbd775cf544344f..e413c86bbccb46fe72963ca35a5f8098bed52dce 100644 GIT binary patch delta 1540 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 Date: Mon, 13 Jan 2025 00:18:22 +0200 Subject: [PATCH 06/22] Working mongo helm chart --- .gitignore | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8b297e84..df4ebb92 100644 --- a/.gitignore +++ b/.gitignore @@ -271,4 +271,7 @@ tests-logs/ logs elm-stuff *.keystore -Main.js \ No newline at end of file +Main.js + +# Ignore helm charts +*.tgz \ No newline at end of file From 5195f2c4d9304837a272731b2dc3f42f1db07375 Mon Sep 17 00:00:00 2001 From: Ariel Shatil Date: Mon, 13 Jan 2025 00:18:55 +0200 Subject: [PATCH 07/22] Mongo works --- helm/mongo-server/Chart.yaml | 4 ++-- helm/mongo-server/templates/configmap.yaml | 5 ----- helm/mongo-server/templates/deployment.yaml | 12 +++++------- helm/newman-server/Chart.yaml | 2 +- helm/newman-server/values.yaml | 2 +- 5 files changed, 9 insertions(+), 16 deletions(-) diff --git a/helm/mongo-server/Chart.yaml b/helm/mongo-server/Chart.yaml index a7ac815b..0705e542 100644 --- a/helm/mongo-server/Chart.yaml +++ b/helm/mongo-server/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: mongo-server -description: A Helm chart for deploying MongoDB as a DaemonSet +description: A Helm chart for deploying MongoDB type: application -version: 0.1.0 +version: 0.1.8 appVersion: "4.0.27" diff --git a/helm/mongo-server/templates/configmap.yaml b/helm/mongo-server/templates/configmap.yaml index f5045ea7..30ab4011 100644 --- a/helm/mongo-server/templates/configmap.yaml +++ b/helm/mongo-server/templates/configmap.yaml @@ -12,10 +12,5 @@ data: net: bindIp: 0.0.0.0 port: 27017 - systemLog: - destination: file - path: /logs/mongodb.log - logAppend: true - verbosity: 0 security: authorization: enabled \ No newline at end of file diff --git a/helm/mongo-server/templates/deployment.yaml b/helm/mongo-server/templates/deployment.yaml index b36d1946..364b0e39 100644 --- a/helm/mongo-server/templates/deployment.yaml +++ b/helm/mongo-server/templates/deployment.yaml @@ -36,12 +36,12 @@ spec: - /etc/mongo/mongodb.conf volumeMounts: - name: data-volume - mountPath: /data/db + mountPath: "/data/db" - name: mongo-config - mountPath: /etc/mongo/mongodb.conf - subPath: mongodb.conf - - name: logs-volume - mountPath: /logs + mountPath: "/etc/mongo/mongodb.conf" + subPath: "mongodb.conf" + securityContext: + fsGroup: 1001 volumes: - name: data-volume persistentVolumeClaim: @@ -49,5 +49,3 @@ spec: - name: mongo-config configMap: name: "{{ .Release.Name }}-config" - - name: logs-volume - emptyDir: {} diff --git a/helm/newman-server/Chart.yaml b/helm/newman-server/Chart.yaml index a1e898d6..82c17b4f 100644 --- a/helm/newman-server/Chart.yaml +++ b/helm/newman-server/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: newman-server description: Helm chart for the Newman Server application type: application -version: 0.1.0 +version: 0.1.1 appVersion: latest \ No newline at end of file diff --git a/helm/newman-server/values.yaml b/helm/newman-server/values.yaml index ae420cf3..bd1b7c26 100644 --- a/helm/newman-server/values.yaml +++ b/helm/newman-server/values.yaml @@ -25,7 +25,7 @@ persistence: size: 10Gi accessModes: - ReadWriteOnce - storageClass: "" + storageClass: gp3 mongodb: host: mongo-server From 73fdaf546b2126326633c189b91b803d05f29ee2 Mon Sep 17 00:00:00 2001 From: Ariel Shatil Date: Mon, 13 Jan 2025 15:55:43 +0200 Subject: [PATCH 08/22] Working mongo-server as sts --- helm/mongo-server/Chart.yaml | 2 +- .../{deployment.yaml => statefulset.yaml} | 47 ++++++++++++++----- 2 files changed, 37 insertions(+), 12 deletions(-) rename helm/mongo-server/templates/{deployment.yaml => statefulset.yaml} (55%) diff --git a/helm/mongo-server/Chart.yaml b/helm/mongo-server/Chart.yaml index 0705e542..50a4786d 100644 --- a/helm/mongo-server/Chart.yaml +++ b/helm/mongo-server/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: mongo-server description: A Helm chart for deploying MongoDB type: application -version: 0.1.8 +version: 0.1.9 appVersion: "4.0.27" diff --git a/helm/mongo-server/templates/deployment.yaml b/helm/mongo-server/templates/statefulset.yaml similarity index 55% rename from helm/mongo-server/templates/deployment.yaml rename to helm/mongo-server/templates/statefulset.yaml index 364b0e39..b4bbe094 100644 --- a/helm/mongo-server/templates/deployment.yaml +++ b/helm/mongo-server/templates/statefulset.yaml @@ -1,11 +1,12 @@ apiVersion: apps/v1 -kind: Deployment +kind: StatefulSet metadata: name: {{ .Release.Name }} namespace: {{ .Release.Namespace }} labels: app: mongo-server spec: + serviceName: mongo-server-headless replicas: 1 selector: matchLabels: @@ -15,6 +16,19 @@ spec: labels: app: mongo-server spec: + initContainers: + - name: init-mongo-config + image: busybox + command: + - sh + - -c + - | + cp /config/mongodb.conf /etc/mongo/mongodb.conf + volumeMounts: + - name: config-volume + mountPath: /config + - name: mongo-config + mountPath: /etc/mongo containers: - name: mongo-server image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" @@ -35,17 +49,28 @@ spec: - "--config" - /etc/mongo/mongodb.conf volumeMounts: - - name: data-volume + - name: mongo-data mountPath: "/data/db" - name: mongo-config - mountPath: "/etc/mongo/mongodb.conf" - subPath: "mongodb.conf" + mountPath: "/etc/mongo/" + volumes: + - name: config-volume + configMap: + name: "{{ .Release.Name }}-config" securityContext: fsGroup: 1001 - volumes: - - name: data-volume - persistentVolumeClaim: - claimName: "{{ .Release.Name }}-pvc" - - name: mongo-config - configMap: - name: "{{ .Release.Name }}-config" + volumeClaimTemplates: + - metadata: + name: mongo-data + spec: + accessModes: ["ReadWriteOnce"] + resources: + requests: + storage: 10Gi + - metadata: + name: mongo-config + spec: + accessModes: ["ReadWriteOnce"] + resources: + requests: + storage: 1Gi From 3aa0ecf1261b1e4986c69e44ead01b8bb1f32ade Mon Sep 17 00:00:00 2001 From: Ariel Shatil Date: Tue, 11 Feb 2025 15:23:08 +0200 Subject: [PATCH 09/22] Nearly working newman --- .gitignore | 5 ++- docker/Dockerfile | 3 +- helm/mongo-server-0.1.0.tgz | Bin 1584 -> 0 bytes helm/mongo-server/Chart.yaml | 2 +- helm/newman-server-0.1.0.tgz | Bin 1580 -> 0 bytes helm/newman-server/Chart.yaml | 2 +- helm/newman-server/templates/service.yaml | 11 ++--- .../{deployment.yaml => statefulset.yaml} | 26 ++++++++---- helm/newman-server/values.yaml | 2 +- minikube/cronjob.yaml | 40 ++++++------------ 10 files changed, 46 insertions(+), 45 deletions(-) delete mode 100644 helm/mongo-server-0.1.0.tgz delete mode 100644 helm/newman-server-0.1.0.tgz rename helm/newman-server/templates/{deployment.yaml => statefulset.yaml} (62%) diff --git a/.gitignore b/.gitignore index df4ebb92..9c60e321 100644 --- a/.gitignore +++ b/.gitignore @@ -274,4 +274,7 @@ elm-stuff Main.js # Ignore helm charts -*.tgz \ No newline at end of file +*.tgz + +# Ignore passhprases +*/ecrpass.* diff --git a/docker/Dockerfile b/docker/Dockerfile index 203584f6..a6016bf1 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -59,10 +59,11 @@ RUN ln -s /opt/node/bin/node /usr/local/bin && ln -s /opt/node/bin/npm /usr/loca RUN node --version && \ npm --version -VOLUME /newman/ +VOLUME /data/ ENV PATH=$JAVA_HOME/bin:$PATH USER root RUN apt-get install sudo curl -y netbase USER ${user} +COPY ../newman-server/ ./newman/ \ No newline at end of file diff --git a/helm/mongo-server-0.1.0.tgz b/helm/mongo-server-0.1.0.tgz deleted file mode 100644 index e413c86bbccb46fe72963ca35a5f8098bed52dce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1584 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 + aws ecr get-login-password --region us-east-1 | + kubectl create secret docker-registry ecr-secret + --docker-server=573366771204.dkr.ecr.us-east-1.amazonaws.com + --docker-username=AWS + --docker-password=$(aws ecr get-login-password --region us-east-1) + --dry-run=client -o yaml | + kubectl apply -f - restartPolicy: OnFailure From 2b7afa0b3593aeb9c5fef778e14ca09807154e57 Mon Sep 17 00:00:00 2001 From: Ariel Shatil Date: Sun, 23 Feb 2025 14:20:19 +0200 Subject: [PATCH 10/22] Bump to newman server helm 1.8 --- .gitignore | 2 +- docker/Dockerfile | 14 ++++++++++++-- helm/newman-server/Chart.yaml | 4 ++-- helm/newman-server/templates/statefulset.yaml | 2 +- helm/newman-server/values.yaml | 2 +- newman-server/bin/build.sh | 2 +- 6 files changed, 18 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 9c60e321..6074f814 100644 --- a/.gitignore +++ b/.gitignore @@ -274,7 +274,7 @@ elm-stuff Main.js # Ignore helm charts -*.tgz +*/*.tgz # Ignore passhprases */ecrpass.* diff --git a/docker/Dockerfile b/docker/Dockerfile index a6016bf1..f4a815d7 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -20,7 +20,7 @@ RUN groupadd -g ${gid} ${group} \ && useradd -d "/home/${user}" -u ${uid} -g ${gid} -m -s /bin/bash ${user} # Install Java. -RUN apt-get install openjdk-8-jdk -y +RUN apt-get update && apt-get install -y openjdk-8-jdk-headless unzip ENV JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ # Install Maven @@ -65,5 +65,15 @@ ENV PATH=$JAVA_HOME/bin:$PATH USER root RUN apt-get install sudo curl -y netbase +RUN mkdir /.m2 && chown ${user}:${group} /.m2 +#COPY --chown=${user}:${group} --from=newman . /newman +RUN wget https://github.com/giga-dev/newman/archive/refs/heads/master.zip -O /tmp/master.zip \ + && unzip /tmp/master.zip -d /tmp \ + && mv /tmp/newman-master /newman \ + && rm /tmp/master.zip +RUN chown -R ${user}:${group} /newman USER ${user} -COPY ../newman-server/ ./newman/ \ No newline at end of file +WORKDIR /newman +RUN mvn clean install +WORKDIR / +# ENTRYPOINT [ "sh", "-c", "/newman", "/newman/newman-server/bin/newman-server.sh"] \ No newline at end of file diff --git a/helm/newman-server/Chart.yaml b/helm/newman-server/Chart.yaml index 67990ecc..f2443d63 100644 --- a/helm/newman-server/Chart.yaml +++ b/helm/newman-server/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: newman-server description: Helm chart for the Newman Server application type: application -version: 0.1.3 -appVersion: latest \ No newline at end of file +version: 0.1.8 +appVersion: 0.1.8 \ No newline at end of file diff --git a/helm/newman-server/templates/statefulset.yaml b/helm/newman-server/templates/statefulset.yaml index 90a5b648..8599c356 100644 --- a/helm/newman-server/templates/statefulset.yaml +++ b/helm/newman-server/templates/statefulset.yaml @@ -23,7 +23,7 @@ spec: ports: - containerPort: {{ .Values.service.targetPort }} command: - - sh + - /bin/sh - -c - | /newman/newman-server/bin/newman-server.sh diff --git a/helm/newman-server/values.yaml b/helm/newman-server/values.yaml index a248f30e..406aadb1 100644 --- a/helm/newman-server/values.yaml +++ b/helm/newman-server/values.yaml @@ -2,7 +2,7 @@ replicaCount: 1 image: repository: 573366771204.dkr.ecr.us-east-1.amazonaws.com/newman/newman-server - tag: "latest" + tag: 0.1.8 pullPolicy: IfNotPresent service: diff --git a/newman-server/bin/build.sh b/newman-server/bin/build.sh index 9b913dae..9422eef4 100755 --- a/newman-server/bin/build.sh +++ b/newman-server/bin/build.sh @@ -7,6 +7,6 @@ cd ${DIRNAME}/../ #echo "running elm make" #./elm-make.sh -echo "Running mvn package " +echo "Running mvn package" cd ${DIRNAME}/../../ mvn clean install \ No newline at end of file From 7dfd40ae31bf74286110016a40bfe85af2c2ed89 Mon Sep 17 00:00:00 2001 From: Ariel Shatil Date: Mon, 24 Feb 2025 12:08:16 +0200 Subject: [PATCH 11/22] Split changes to new Dockerfile.k8s --- docker/Dockerfile | 25 +++-------- docker/Dockerfile.k8s | 79 ++++++++++++++++++++++++++++++++++ helm/newman-server/Chart.yaml | 4 +- helm/newman-server/values.yaml | 4 +- 4 files changed, 90 insertions(+), 22 deletions(-) create mode 100644 docker/Dockerfile.k8s diff --git a/docker/Dockerfile b/docker/Dockerfile index f4a815d7..7f43c173 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -8,10 +8,10 @@ ARG gid=1001 RUN apt-get update -y RUN apt-get install coreutils wget -y -ENV MAVEN_VERSION=3.6.3 -ENV MAVEN_FILE=apache-maven-${MAVEN_VERSION}-bin.tar.gz -ENV NODE_VERSION=22.11.0 -ENV NODE_FILE=node-v${NODE_VERSION}-linux-x64.tar.gz +ENV MAVEN_VERSION 3.6.3 +ENV MAVEN_FILE apache-maven-${MAVEN_VERSION}-bin.tar.gz +ENV NODE_VERSION 22.11.0 +ENV NODE_FILE node-v${NODE_VERSION}-linux-x64.tar.gz # Jenkins is run with user `newman`, uid = 1000 # If you bind mount a volume from the host or a data container, @@ -20,8 +20,8 @@ RUN groupadd -g ${gid} ${group} \ && useradd -d "/home/${user}" -u ${uid} -g ${gid} -m -s /bin/bash ${user} # Install Java. -RUN apt-get update && apt-get install -y openjdk-8-jdk-headless unzip -ENV JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ +RUN apt-get install openjdk-8-jdk -y +ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/ # Install Maven RUN wget --no-verbose -O /tmp/${MAVEN_FILE} \ @@ -59,21 +59,10 @@ RUN ln -s /opt/node/bin/node /usr/local/bin && ln -s /opt/node/bin/npm /usr/loca RUN node --version && \ npm --version -VOLUME /data/ +VOLUME /newman/ ENV PATH=$JAVA_HOME/bin:$PATH USER root RUN apt-get install sudo curl -y netbase -RUN mkdir /.m2 && chown ${user}:${group} /.m2 -#COPY --chown=${user}:${group} --from=newman . /newman -RUN wget https://github.com/giga-dev/newman/archive/refs/heads/master.zip -O /tmp/master.zip \ - && unzip /tmp/master.zip -d /tmp \ - && mv /tmp/newman-master /newman \ - && rm /tmp/master.zip -RUN chown -R ${user}:${group} /newman USER ${user} -WORKDIR /newman -RUN mvn clean install -WORKDIR / -# ENTRYPOINT [ "sh", "-c", "/newman", "/newman/newman-server/bin/newman-server.sh"] \ No newline at end of file diff --git a/docker/Dockerfile.k8s b/docker/Dockerfile.k8s new file mode 100644 index 00000000..f4a815d7 --- /dev/null +++ b/docker/Dockerfile.k8s @@ -0,0 +1,79 @@ +FROM ubuntu:24.04 + +ARG user=newman +ARG group=newman +ARG uid=1001 +ARG gid=1001 + +RUN apt-get update -y +RUN apt-get install coreutils wget -y + +ENV MAVEN_VERSION=3.6.3 +ENV MAVEN_FILE=apache-maven-${MAVEN_VERSION}-bin.tar.gz +ENV NODE_VERSION=22.11.0 +ENV NODE_FILE=node-v${NODE_VERSION}-linux-x64.tar.gz + +# Jenkins is run with user `newman`, uid = 1000 +# If you bind mount a volume from the host or a data container, +# ensure you use the same uid +RUN groupadd -g ${gid} ${group} \ + && useradd -d "/home/${user}" -u ${uid} -g ${gid} -m -s /bin/bash ${user} + +# Install Java. +RUN apt-get update && apt-get install -y openjdk-8-jdk-headless unzip +ENV JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ + +# Install Maven +RUN wget --no-verbose -O /tmp/${MAVEN_FILE} \ + http://archive.apache.org/dist/maven/maven-3/${MAVEN_VERSION}/binaries/${MAVEN_FILE} + +# stop building if md5sum does not match +RUN echo "9792c717f5845d952907d5144b8253c3 /tmp/${MAVEN_FILE}" | \ + md5sum -c + + +# install in /opt/maven +RUN mkdir -p /opt/maven + +RUN tar xzf /tmp/${MAVEN_FILE} --strip-components=1 \ + -C /opt/maven + +RUN ln -s /opt/maven/bin/mvn /usr/local/bin +RUN rm -f /tmp/${MAVEN_FILE} + +# get node +RUN echo 'get node tar.gz' +RUN wget --no-verbose -O /tmp/${NODE_FILE} \ + https://nodejs.org/dist/v${NODE_VERSION}/${NODE_FILE} + +RUN mkdir /opt/node + +# unpack node tar.gz +RUN echo 'unpacking node tar.gz' && \ + tar zxvf /tmp/${NODE_FILE} --strip-components=1 \ + -C /opt/node && \ + rm -f /tmp/${NODE_FILE} + +RUN ln -s /opt/node/bin/node /usr/local/bin && ln -s /opt/node/bin/npm /usr/local/bin + +RUN node --version && \ + npm --version + +VOLUME /data/ +ENV PATH=$JAVA_HOME/bin:$PATH + +USER root +RUN apt-get install sudo curl -y netbase + +RUN mkdir /.m2 && chown ${user}:${group} /.m2 +#COPY --chown=${user}:${group} --from=newman . /newman +RUN wget https://github.com/giga-dev/newman/archive/refs/heads/master.zip -O /tmp/master.zip \ + && unzip /tmp/master.zip -d /tmp \ + && mv /tmp/newman-master /newman \ + && rm /tmp/master.zip +RUN chown -R ${user}:${group} /newman +USER ${user} +WORKDIR /newman +RUN mvn clean install +WORKDIR / +# ENTRYPOINT [ "sh", "-c", "/newman", "/newman/newman-server/bin/newman-server.sh"] \ No newline at end of file diff --git a/helm/newman-server/Chart.yaml b/helm/newman-server/Chart.yaml index f2443d63..39121861 100644 --- a/helm/newman-server/Chart.yaml +++ b/helm/newman-server/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: newman-server description: Helm chart for the Newman Server application type: application -version: 0.1.8 -appVersion: 0.1.8 \ No newline at end of file +version: 0.1.9 +appVersion: 0.1.9 \ No newline at end of file diff --git a/helm/newman-server/values.yaml b/helm/newman-server/values.yaml index 406aadb1..7111237c 100644 --- a/helm/newman-server/values.yaml +++ b/helm/newman-server/values.yaml @@ -1,8 +1,8 @@ replicaCount: 1 image: - repository: 573366771204.dkr.ecr.us-east-1.amazonaws.com/newman/newman-server - tag: 0.1.8 + repository: 573366771204.dkr.ecr.us-east-1.amazonaws.com/xap-newman/server + tag: 0.1.10 pullPolicy: IfNotPresent service: From 54a45554578307408f21e2cba7f9b5cfa5d53cf1 Mon Sep 17 00:00:00 2001 From: "@TheWave" <83605131+galnadjar@users.noreply.github.com> Date: Mon, 24 Feb 2025 12:13:54 +0200 Subject: [PATCH 12/22] Update Dockerfile --- docker/Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 7f43c173..475797e5 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -31,7 +31,6 @@ RUN wget --no-verbose -O /tmp/${MAVEN_FILE} \ RUN echo "9792c717f5845d952907d5144b8253c3 /tmp/${MAVEN_FILE}" | \ md5sum -c - # install in /opt/maven RUN mkdir -p /opt/maven From 8bab49775322a643186958ee95e8f66051c26e13 Mon Sep 17 00:00:00 2001 From: "@TheWave" <83605131+galnadjar@users.noreply.github.com> Date: Mon, 24 Feb 2025 12:19:19 +0200 Subject: [PATCH 13/22] Update Dockerfile.k8s --- docker/Dockerfile.k8s | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docker/Dockerfile.k8s b/docker/Dockerfile.k8s index f4a815d7..00408ad4 100644 --- a/docker/Dockerfile.k8s +++ b/docker/Dockerfile.k8s @@ -31,7 +31,6 @@ RUN wget --no-verbose -O /tmp/${MAVEN_FILE} \ RUN echo "9792c717f5845d952907d5144b8253c3 /tmp/${MAVEN_FILE}" | \ md5sum -c - # install in /opt/maven RUN mkdir -p /opt/maven @@ -76,4 +75,4 @@ USER ${user} WORKDIR /newman RUN mvn clean install WORKDIR / -# ENTRYPOINT [ "sh", "-c", "/newman", "/newman/newman-server/bin/newman-server.sh"] \ No newline at end of file +# ENTRYPOINT [ "sh", "-c", "/newman", "/newman/newman-server/bin/newman-server.sh"] From 7dc17d1a53907dd7d78d86827419d368e4a7545c Mon Sep 17 00:00:00 2001 From: Ariel Shatil Date: Mon, 24 Feb 2025 12:32:44 +0200 Subject: [PATCH 14/22] Bumped chart versions for new image --- helm/newman-server/Chart.yaml | 4 ++-- helm/newman-server/values.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/helm/newman-server/Chart.yaml b/helm/newman-server/Chart.yaml index 39121861..0414b516 100644 --- a/helm/newman-server/Chart.yaml +++ b/helm/newman-server/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: newman-server description: Helm chart for the Newman Server application type: application -version: 0.1.9 -appVersion: 0.1.9 \ No newline at end of file +version: 0.1.11 +appVersion: 0.1.11 \ No newline at end of file diff --git a/helm/newman-server/values.yaml b/helm/newman-server/values.yaml index 7111237c..f10fa7a4 100644 --- a/helm/newman-server/values.yaml +++ b/helm/newman-server/values.yaml @@ -2,7 +2,7 @@ replicaCount: 1 image: repository: 573366771204.dkr.ecr.us-east-1.amazonaws.com/xap-newman/server - tag: 0.1.10 + tag: 0.1.11 pullPolicy: IfNotPresent service: From 707b26b8d1a0ab56c519ac128ddf78552b8d4bab Mon Sep 17 00:00:00 2001 From: Ariel Shatil Date: Mon, 24 Feb 2025 16:14:52 +0200 Subject: [PATCH 15/22] Add newman-server mongo credentials --- helm/newman-server/Chart.yaml | 4 ++-- helm/newman-server/templates/statefulset.yaml | 10 ++++++++-- helm/newman-server/values.yaml | 3 +++ newman-server/bin/newman-server.sh | 10 ++++------ 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/helm/newman-server/Chart.yaml b/helm/newman-server/Chart.yaml index 0414b516..b6da3645 100644 --- a/helm/newman-server/Chart.yaml +++ b/helm/newman-server/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: newman-server description: Helm chart for the Newman Server application type: application -version: 0.1.11 -appVersion: 0.1.11 \ No newline at end of file +version: 0.1.12 +appVersion: 0.1.12 \ No newline at end of file diff --git a/helm/newman-server/templates/statefulset.yaml b/helm/newman-server/templates/statefulset.yaml index 8599c356..e86f95d5 100644 --- a/helm/newman-server/templates/statefulset.yaml +++ b/helm/newman-server/templates/statefulset.yaml @@ -28,10 +28,16 @@ spec: - | /newman/newman-server/bin/newman-server.sh env: - - name: MONGO_HOST + - name: MONGODB_HOST value: {{ .Values.mongodb.host | quote }} - - name: MONGO_PORT + - name: MONGODB_PORT value: {{ .Values.mongodb.port | quote }} + - name: MONGODB_DATABASE + value: {{ .Values.mongodb.database | quote }} + - name: MONGODB_USERNAME + value: {{ .Values.mongodb.username | quote }} + - name: MONGODB_PASSWORD + value: {{ .Values.mongodb.password | quote }} volumeMounts: - name: data-volume mountPath: /data/newman-server diff --git a/helm/newman-server/values.yaml b/helm/newman-server/values.yaml index f10fa7a4..540251e7 100644 --- a/helm/newman-server/values.yaml +++ b/helm/newman-server/values.yaml @@ -30,3 +30,6 @@ persistence: mongodb: host: mongo-server port: 27017 + username: newman + password: newman + database: newman-db \ No newline at end of file diff --git a/newman-server/bin/newman-server.sh b/newman-server/bin/newman-server.sh index 46cebb58..4f7110f9 100755 --- a/newman-server/bin/newman-server.sh +++ b/newman-server/bin/newman-server.sh @@ -49,10 +49,6 @@ _EOF # System environment variables # Mongo host address to connect to from newman server # remote mongo db - xap-builder.gspaces.com:27017 -export NEWMAN_MONGO_DB_HOST=${NEWMAN_MONGO_DB_HOST="mongo-server"} - -# Mongo db name to access in database -export NEWMAN_MONGO_DB_NAME=${NEWMAN_MONGO_DB_NAME="newman-db"} export NEWMAN_SERVER_SPOTINST_TOKEN=${NEWMAN_SERVER_SPOTINST_TOKEN=""} export NEWMAN_SERVER_SPOTINST_ACCOUNT_ID=${NEWMAN_SERVER_SPOTINST_ACCOUNT_ID=""} @@ -68,8 +64,10 @@ export NEWMAN_SERVER_SPOTINST_ACCOUNT_ID=${NEWMAN_SERVER_SPOTINST_ACCOUNT_ID=""} java -Dproduction=true \ -Dnewman.server.spotinst.token="${NEWMAN_SERVER_SPOTINST_TOKEN}" \ -Dnewman.server.spotinst.accountId="${NEWMAN_SERVER_SPOTINST_ACCOUNT_ID}" \ - -Dnewman.mongo.db.host=${NEWMAN_MONGO_DB_HOST} \ - -Dnewman.mongo.db.name=${NEWMAN_MONGO_DB_NAME} \ + -Dnewman.mongo.db.host=${MONGODB_HOST} \ + -Dnewman.mongo.db.name=${MONGODB_DATABASE} \ + -Dnewman.mongo.db.username=${MONGODB_USERNAME} \ + -Dnewman.mongo.db.password=${MONGODB_PASSWORD} \ -Dnewman.server.realm-config-path=../config/realm.properties \ -Dnewman.keys-folder-path=../keys/server.keystore \ -Dnewman.certificate=../certs/keystore.p12 \ From 34744b9be3eaaad24079d02a2e58caec4c210d62 Mon Sep 17 00:00:00 2001 From: Ariel Shatil Date: Mon, 24 Feb 2025 17:31:58 +0200 Subject: [PATCH 16/22] Bump to 1.14 --- helm/newman-server/Chart.yaml | 4 +- helm/newman-server/values.yaml | 2 +- newman-server/config/realm.properties | 438 +------------------------- 3 files changed, 4 insertions(+), 440 deletions(-) diff --git a/helm/newman-server/Chart.yaml b/helm/newman-server/Chart.yaml index b6da3645..3fa74d7d 100644 --- a/helm/newman-server/Chart.yaml +++ b/helm/newman-server/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: newman-server description: Helm chart for the Newman Server application type: application -version: 0.1.12 -appVersion: 0.1.12 \ No newline at end of file +version: 0.1.14 +appVersion: 0.1.14 \ No newline at end of file diff --git a/helm/newman-server/values.yaml b/helm/newman-server/values.yaml index 540251e7..a4f59afe 100644 --- a/helm/newman-server/values.yaml +++ b/helm/newman-server/values.yaml @@ -2,7 +2,7 @@ replicaCount: 1 image: repository: 573366771204.dkr.ecr.us-east-1.amazonaws.com/xap-newman/server - tag: 0.1.11 + tag: 0.1.14 pullPolicy: IfNotPresent service: diff --git a/newman-server/config/realm.properties b/newman-server/config/realm.properties index 4186929c..a396dfbc 100644 --- a/newman-server/config/realm.properties +++ b/newman-server/config/realm.properties @@ -10,7 +10,6 @@ yonatan=yonatan, user michael=michael, user irena=irena, user tomer=tomer, user -noi=noi, user anton=anton, user oleksii=oleksii, user alesia=alesia, user @@ -26,439 +25,4 @@ rami=rami, user ariel=ariel, user chani=chani, user krystyna=krystyna, user -user=user, user -ester=ester, user -yuval=yuval, user -evgeny=evgeny, user -moran=moran, user -root=root, admin -support=support, user -mishel=mishel, user -sagiv=sagiv, user -yonatan=yonatan, user -michael=michael, user -irena=irena, user -tomer=tomer, user -noi=noi, user -anton=anton, user -oleksii=oleksii, user -alesia=alesia, user -olha=olha, user -michaelg=michaelg, user -sapir=sapir, user -shai=shai, user -davyd=davyd, user -esubotin=esubotin, user -inbal=inbal, user -tolik=tolik, user -rami=rami, user -ariel=ariel, user -chani=chani, user -krystyna=krystyna, user -user=user, user -ester=ester, user -yuval=yuval, user -evgeny=evgeny, user -moran=moran, user -root=root, admin -support=support, user -mishel=mishel, user -sagiv=sagiv, user -yonatan=yonatan, user -michael=michael, user -irena=irena, user -tomer=tomer, user -noi=noi, user -anton=anton, user -oleksii=oleksii, user -alesia=alesia, user -olha=olha, user -michaelg=michaelg, user -sapir=sapir, user -shai=shai, user -davyd=davyd, user -esubotin=esubotin, user -inbal=inbal, user -tolik=tolik, user -rami=rami, user -ariel=ariel, user -chani=chani, user -krystyna=krystyna, user -user=user, user -ester=ester, user -yuval=yuval, user -evgeny=evgeny, user -moran=moran, user -root=root, admin -support=support, user -mishel=mishel, user -sagiv=sagiv, user -yonatan=yonatan, user -michael=michael, user -irena=irena, user -tomer=tomer, user -noi=noi, user -anton=anton, user -oleksii=oleksii, user -alesia=alesia, user -olha=olha, user -michaelg=michaelg, user -sapir=sapir, user -shai=shai, user -davyd=davyd, user -esubotin=esubotin, user -inbal=inbal, user -tolik=tolik, user -rami=rami, user -ariel=ariel, user -chani=chani, user -krystyna=krystyna, user -user=user, user -ester=ester, user -yuval=yuval, user -evgeny=evgeny, user -moran=moran, user -root=root, admin -support=support, user -mishel=mishel, user -sagiv=sagiv, user -yonatan=yonatan, user -michael=michael, user -irena=irena, user -tomer=tomer, user -noi=noi, user -anton=anton, user -oleksii=oleksii, user -alesia=alesia, user -olha=olha, user -michaelg=michaelg, user -sapir=sapir, user -shai=shai, user -davyd=davyd, user -esubotin=esubotin, user -inbal=inbal, user -tolik=tolik, user -rami=rami, user -ariel=ariel, user -chani=chani, user -krystyna=krystyna, user -user=user, user -ester=ester, user -yuval=yuval, user -evgeny=evgeny, user -moran=moran, user -root=root, admin -support=support, user -mishel=mishel, user -sagiv=sagiv, user -yonatan=yonatan, user -michael=michael, user -irena=irena, user -tomer=tomer, user -noi=noi, user -anton=anton, user -oleksii=oleksii, user -alesia=alesia, user -olha=olha, user -michaelg=michaelg, user -sapir=sapir, user -shai=shai, user -davyd=davyd, user -esubotin=esubotin, user -inbal=inbal, user -tolik=tolik, user -rami=rami, user -ariel=ariel, user -chani=chani, user -krystyna=krystyna, user -user=user, user -ester=ester, user -yuval=yuval, user -evgeny=evgeny, user -moran=moran, user -root=root, admin -support=support, user -mishel=mishel, user -sagiv=sagiv, user -yonatan=yonatan, user -michael=michael, user -irena=irena, user -tomer=tomer, user -noi=noi, user -anton=anton, user -oleksii=oleksii, user -alesia=alesia, user -olha=olha, user -michaelg=michaelg, user -sapir=sapir, user -shai=shai, user -davyd=davyd, user -esubotin=esubotin, user -inbal=inbal, user -tolik=tolik, user -rami=rami, user -ariel=ariel, user -chani=chani, user -krystyna=krystyna, user -user=user, user -ester=ester, user -yuval=yuval, user -evgeny=evgeny, user -moran=moran, user -root=root, admin -support=support, user -mishel=mishel, user -sagiv=sagiv, user -yonatan=yonatan, user -michael=michael, user -irena=irena, user -tomer=tomer, user -noi=noi, user -anton=anton, user -oleksii=oleksii, user -alesia=alesia, user -olha=olha, user -michaelg=michaelg, user -sapir=sapir, user -shai=shai, user -davyd=davyd, user -esubotin=esubotin, user -inbal=inbal, user -tolik=tolik, user -rami=rami, user -ariel=ariel, user -chani=chani, user -krystyna=krystyna, user -user=user, user -ester=ester, user -yuval=yuval, user -evgeny=evgeny, user -moran=moran, user -root=root, admin -support=support, user -mishel=mishel, user -sagiv=sagiv, user -yonatan=yonatan, user -michael=michael, user -irena=irena, user -tomer=tomer, user -noi=noi, user -anton=anton, user -oleksii=oleksii, user -alesia=alesia, user -olha=olha, user -michaelg=michaelg, user -sapir=sapir, user -shai=shai, user -davyd=davyd, user -esubotin=esubotin, user -inbal=inbal, user -tolik=tolik, user -rami=rami, user -ariel=ariel, user -chani=chani, user -krystyna=krystyna, user -user=user, user -ester=ester, user -yuval=yuval, user -evgeny=evgeny, user -moran=moran, user -root=root, admin -support=support, user -mishel=mishel, user -sagiv=sagiv, user -yonatan=yonatan, user -michael=michael, user -irena=irena, user -tomer=tomer, user -noi=noi, user -anton=anton, user -oleksii=oleksii, user -alesia=alesia, user -olha=olha, user -michaelg=michaelg, user -sapir=sapir, user -shai=shai, user -davyd=davyd, user -esubotin=esubotin, user -inbal=inbal, user -tolik=tolik, user -rami=rami, user -ariel=ariel, user -chani=chani, user -krystyna=krystyna, user -user=user, user -ester=ester, user -yuval=yuval, user -evgeny=evgeny, user -moran=moran, user -root=root, admin -support=support, user -mishel=mishel, user -sagiv=sagiv, user -yonatan=yonatan, user -michael=michael, user -irena=irena, user -tomer=tomer, user -noi=noi, user -anton=anton, user -oleksii=oleksii, user -alesia=alesia, user -olha=olha, user -michaelg=michaelg, user -sapir=sapir, user -shai=shai, user -davyd=davyd, user -esubotin=esubotin, user -inbal=inbal, user -tolik=tolik, user -rami=rami, user -ariel=ariel, user -chani=chani, user -krystyna=krystyna, user -user=user, user -ester=ester, user -yuval=yuval, user -evgeny=evgeny, user -moran=moran, user -root=root, admin -support=support, user -mishel=mishel, user -sagiv=sagiv, user -yonatan=yonatan, user -michael=michael, user -irena=irena, user -tomer=tomer, user -noi=noi, user -anton=anton, user -oleksii=oleksii, user -alesia=alesia, user -olha=olha, user -michaelg=michaelg, user -sapir=sapir, user -shai=shai, user -davyd=davyd, user -esubotin=esubotin, user -inbal=inbal, user -tolik=tolik, user -rami=rami, user -ariel=ariel, user -chani=chani, user -krystyna=krystyna, user -user=user, user -ester=ester, user -yuval=yuval, user -evgeny=evgeny, user -moran=moran, user -root=root, admin -support=support, user -mishel=mishel, user -sagiv=sagiv, user -yonatan=yonatan, user -michael=michael, user -irena=irena, user -tomer=tomer, user -noi=noi, user -anton=anton, user -oleksii=oleksii, user -alesia=alesia, user -olha=olha, user -michaelg=michaelg, user -sapir=sapir, user -shai=shai, user -davyd=davyd, user -esubotin=esubotin, user -inbal=inbal, user -tolik=tolik, user -rami=rami, user -ariel=ariel, user -chani=chani, user -krystyna=krystyna, user -user=user, user -ester=ester, user -yuval=yuval, user -evgeny=evgeny, user -moran=moran, user -root=root, admin -support=support, user -mishel=mishel, user -sagiv=sagiv, user -yonatan=yonatan, user -michael=michael, user -irena=irena, user -tomer=tomer, user -noi=noi, user -anton=anton, user -oleksii=oleksii, user -alesia=alesia, user -olha=olha, user -michaelg=michaelg, user -sapir=sapir, user -shai=shai, user -davyd=davyd, user -esubotin=esubotin, user -inbal=inbal, user -tolik=tolik, user -rami=rami, user -ariel=ariel, user -chani=chani, user -krystyna=krystyna, user -user=user, user -ester=ester, user -yuval=yuval, user -evgeny=evgeny, user -moran=moran, user -root=root, admin -support=support, user -mishel=mishel, user -sagiv=sagiv, user -yonatan=yonatan, user -michael=michael, user -irena=irena, user -tomer=tomer, user -noi=noi, user -anton=anton, user -oleksii=oleksii, user -alesia=alesia, user -olha=olha, user -michaelg=michaelg, user -sapir=sapir, user -shai=shai, user -davyd=davyd, user -esubotin=esubotin, user -inbal=inbal, user -tolik=tolik, user -rami=rami, user -ariel=ariel, user -chani=chani, user -krystyna=krystyna, user -user=user, user -ester=ester, user -yuval=yuval, user -evgeny=evgeny, user -moran=moran, user -root=root, admin -support=support, user -mishel=mishel, user -sagiv=sagiv, user -yonatan=yonatan, user -michael=michael, user -irena=irena, user -tomer=tomer, user -noi=noi, user -anton=anton, user -oleksii=oleksii, user -alesia=alesia, user -olha=olha, user -michaelg=michaelg, user -sapir=sapir, user -shai=shai, user -davyd=davyd, user -esubotin=esubotin, user -inbal=inbal, user -tolik=tolik, user -rami=rami, user -ariel=ariel, user -chani=chani, user -krystyna=krystyna, user -user=user, user +user=user, user \ No newline at end of file From fa79a005b64a943a9dbd22adf7ef28424db0f9be Mon Sep 17 00:00:00 2001 From: Ariel Shatil Date: Sun, 2 Mar 2025 17:41:38 +0200 Subject: [PATCH 17/22] Bump the chart version --- helm/newman-server/Chart.yaml | 4 ++-- helm/newman-server/values.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/helm/newman-server/Chart.yaml b/helm/newman-server/Chart.yaml index 3fa74d7d..774b4270 100644 --- a/helm/newman-server/Chart.yaml +++ b/helm/newman-server/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: newman-server description: Helm chart for the Newman Server application type: application -version: 0.1.14 -appVersion: 0.1.14 \ No newline at end of file +version: 0.1.15 +appVersion: 0.1.15 \ No newline at end of file diff --git a/helm/newman-server/values.yaml b/helm/newman-server/values.yaml index a4f59afe..0610b945 100644 --- a/helm/newman-server/values.yaml +++ b/helm/newman-server/values.yaml @@ -2,7 +2,7 @@ replicaCount: 1 image: repository: 573366771204.dkr.ecr.us-east-1.amazonaws.com/xap-newman/server - tag: 0.1.14 + tag: 0.1.15 pullPolicy: IfNotPresent service: From b3114494fa986247b7f10e25d3d4686a622ed649 Mon Sep 17 00:00:00 2001 From: Ariel Shatil Date: Mon, 3 Mar 2025 14:53:42 +0200 Subject: [PATCH 18/22] Change chart name to server --- helm/newman-server/Chart.yaml | 6 +-- helm/newman-server/templates/statefulset.yaml | 2 +- helm/newman-server/values.yaml | 2 +- helm/server/.helmignore | 23 +++++++++ helm/server/Chart.yaml | 6 +++ helm/server/templates/ingress.yaml | 37 ++++++++++++++ helm/server/templates/pvc.yaml | 13 +++++ helm/server/templates/service.yaml | 16 ++++++ helm/server/templates/statefulset.yaml | 51 +++++++++++++++++++ helm/server/values.yaml | 35 +++++++++++++ 10 files changed, 186 insertions(+), 5 deletions(-) create mode 100644 helm/server/.helmignore create mode 100644 helm/server/Chart.yaml create mode 100644 helm/server/templates/ingress.yaml create mode 100644 helm/server/templates/pvc.yaml create mode 100644 helm/server/templates/service.yaml create mode 100644 helm/server/templates/statefulset.yaml create mode 100644 helm/server/values.yaml diff --git a/helm/newman-server/Chart.yaml b/helm/newman-server/Chart.yaml index 774b4270..f3144ae9 100644 --- a/helm/newman-server/Chart.yaml +++ b/helm/newman-server/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 -name: newman-server +name: newman description: Helm chart for the Newman Server application type: application -version: 0.1.15 -appVersion: 0.1.15 \ No newline at end of file +version: 0.1.16 +appVersion: 0.1.16 \ No newline at end of file diff --git a/helm/newman-server/templates/statefulset.yaml b/helm/newman-server/templates/statefulset.yaml index e86f95d5..88389b1f 100644 --- a/helm/newman-server/templates/statefulset.yaml +++ b/helm/newman-server/templates/statefulset.yaml @@ -14,7 +14,7 @@ spec: template: metadata: labels: - app: newman-server + app: newman spec: containers: - name: newman-server diff --git a/helm/newman-server/values.yaml b/helm/newman-server/values.yaml index 0610b945..66c78561 100644 --- a/helm/newman-server/values.yaml +++ b/helm/newman-server/values.yaml @@ -2,7 +2,7 @@ replicaCount: 1 image: repository: 573366771204.dkr.ecr.us-east-1.amazonaws.com/xap-newman/server - tag: 0.1.15 + tag: 0.1.16 pullPolicy: IfNotPresent service: diff --git a/helm/server/.helmignore b/helm/server/.helmignore new file mode 100644 index 00000000..0e8a0eb3 --- /dev/null +++ b/helm/server/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/helm/server/Chart.yaml b/helm/server/Chart.yaml new file mode 100644 index 00000000..86f18f0c --- /dev/null +++ b/helm/server/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v2 +name: server +description: Helm chart for the Newman Server application +type: application +version: 0.1.17 +appVersion: 0.1.17 \ No newline at end of file diff --git a/helm/server/templates/ingress.yaml b/helm/server/templates/ingress.yaml new file mode 100644 index 00000000..f54672b8 --- /dev/null +++ b/helm/server/templates/ingress.yaml @@ -0,0 +1,37 @@ +{{- if .Values.ingress.enabled }} +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: newman-server-ingress + namespace: newman + annotations: + {{- range $key, $value := .Values.ingress.annotations }} + {{ $key }}: {{ $value | quote }} + {{- end }} +spec: + rules: + {{- range .Values.ingress.hosts }} + - host: {{ .host }} + http: + paths: + {{- range .paths }} + - path: {{ .path }} + pathType: {{ .pathType }} + backend: + service: + name: newman-server + port: + number: {{ $.Values.service.port }} + {{- end }} + {{- end }} + {{- if .Values.ingress.tls }} + tls: + {{- range .Values.ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . | quote }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} + {{- end }} +{{- end }} diff --git a/helm/server/templates/pvc.yaml b/helm/server/templates/pvc.yaml new file mode 100644 index 00000000..1da38bbc --- /dev/null +++ b/helm/server/templates/pvc.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: "{{ .Release.Name }}-pvc" + namespace: newman + labels: + app: newman-server +spec: + accessModes: {{ .Values.persistence.accessModes | toJson }} + resources: + requests: + storage: {{ .Values.persistence.size }} + storageClassName: {{ .Values.persistence.storageClass | quote }} diff --git a/helm/server/templates/service.yaml b/helm/server/templates/service.yaml new file mode 100644 index 00000000..704bdce5 --- /dev/null +++ b/helm/server/templates/service.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ .Release.Name }} + namespace: {{ .Release.Namespace }} + labels: + app: newman-server +spec: + type: NodePort + selector: + app: newman-server + ports: + - port: {{ .Values.service.port }} + targetPort: {{ .Values.service.targetPort }} + protocol: TCP + nodePort: 30080 \ No newline at end of file diff --git a/helm/server/templates/statefulset.yaml b/helm/server/templates/statefulset.yaml new file mode 100644 index 00000000..9673772b --- /dev/null +++ b/helm/server/templates/statefulset.yaml @@ -0,0 +1,51 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: {{ .Release.Name }} + namespace: {{ .Release.Namespace }} + labels: + app: server +spec: + serviceName: newman-server-headless + replicas: 1 + selector: + matchLabels: + app: server + template: + metadata: + labels: + app: server + spec: + containers: + - name: newman-server + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + ports: + - containerPort: {{ .Values.service.targetPort }} + command: + - /bin/sh + - -c + - | + /newman/newman-server/bin/newman-server.sh + env: + - name: MONGODB_HOST + value: {{ .Values.mongodb.host | quote }} + - name: MONGODB_PORT + value: {{ .Values.mongodb.port | quote }} + - name: MONGODB_DATABASE + value: {{ .Values.mongodb.database | quote }} + - name: MONGODB_USERNAME + value: {{ .Values.mongodb.username | quote }} + - name: MONGODB_PASSWORD + value: {{ .Values.mongodb.password | quote }} + volumeMounts: + - name: data-volume + mountPath: /data/newman-server + volumeClaimTemplates: + - metadata: + name: data-volume + spec: + accessModes: ["ReadWriteOnce"] + resources: + requests: + storage: 10Gi diff --git a/helm/server/values.yaml b/helm/server/values.yaml new file mode 100644 index 00000000..d58b1e58 --- /dev/null +++ b/helm/server/values.yaml @@ -0,0 +1,35 @@ +replicaCount: 1 + +image: + repository: 573366771204.dkr.ecr.us-east-1.amazonaws.com/xap-newman/server + tag: 0.1.17 + pullPolicy: IfNotPresent + +service: + type: ClusterIP + port: 8080 + targetPort: 8080 + +ingress: + enabled: true + annotations: {} + hosts: + - host: newman-server.gigaspaces.net + paths: + - path: / + pathType: ImplementationSpecific + tls: [] + +persistence: + enabled: true + size: 10Gi + accessModes: + - ReadWriteOnce + storageClass: gp3 + +mongodb: + host: mongo-server + port: 27017 + username: newman + password: newman + database: newman-db \ No newline at end of file From e0caadea749b99f600da04a3e305250c5d8cd55f Mon Sep 17 00:00:00 2001 From: Ariel Shatil Date: Wed, 5 Mar 2025 15:19:14 +0200 Subject: [PATCH 19/22] Copy workflows to the branch --- .github/workflows/build-newman.yaml | 80 +++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 .github/workflows/build-newman.yaml diff --git a/.github/workflows/build-newman.yaml b/.github/workflows/build-newman.yaml new file mode 100644 index 00000000..de304b2e --- /dev/null +++ b/.github/workflows/build-newman.yaml @@ -0,0 +1,80 @@ +name: build newman + +env: + AWS_GHA_ROLE: arn:aws:iam::573366771204:role/xap-github-actions + AWS_REGION: us-east-1 + ECR_REPOSITORY: xap-newman/server + +permissions: + id-token: write + contents: read + +on: + pull_request: + paths: + - 'docker/**' + # push: + # branches: + # - master + # paths-ignore: + # - helm/** + +jobs: + build-docker-image: + runs-on: ubuntu-22.04 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + ref: newman-kubed + + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: ${{ env.AWS_GHA_ROLE }} + aws-region: ${{ env.AWS_REGION }} + + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v2 + + - name: Fetch latest ECR tag and increment patch version + id: get-latest-tag + run: | + # Get the latest tag from ECR (or set to default if no tags) + LATEST_TAG=$(aws ecr describe-images --repository-name $ECR_REPOSITORY \ + --query 'sort_by(imageDetails, &imagePushedAt)[-1].imageTags[0]' \ + --output text 2>/dev/null | awk '{print ($0 == "None" || $0 == "" ? "0.1.8" : $0)}') + + # Increment the patch version by 1 + IFS='.' read -r -a TAG_PARTS <<< "$LATEST_TAG" + PATCH_VERSION=$((TAG_PARTS[2] + 1)) + NEW_TAG="${TAG_PARTS[0]}.${TAG_PARTS[1]}.$PATCH_VERSION" + + # Save the new tag as an environment variable + echo "image_tag=$NEW_TAG" >> $GITHUB_ENV + + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build, tag, and push image to Amazon ECR + id: build-image + uses: docker/build-push-action@v6 + timeout-minutes: 15 + with: + platforms: | + linux/amd64 + context: './docker' + file: './docker/Dockerfile.k8s' + push: true + tags: | + ${{ steps.login-ecr.outputs.registry }}/${{ env.ECR_REPOSITORY }}:${{ env.image_tag }} + + # an event for calling a listening workflow + # - name: Update helm chart + # uses: peter-evans/repository-dispatch@v3 + # with: + # event-type: helm-chart-update + # client-payload: '{"application-image-tag": "${{ env.image_tag }}"}' + From 6a1c96d5ed2621f3772f657e525885d74c59345d Mon Sep 17 00:00:00 2001 From: Ariel Shatil Date: Wed, 5 Mar 2025 15:19:25 +0200 Subject: [PATCH 20/22] Copied the build newman workflow to the branch --- .github/workflows/build-newman.yaml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build-newman.yaml b/.github/workflows/build-newman.yaml index de304b2e..ffd9c4da 100644 --- a/.github/workflows/build-newman.yaml +++ b/.github/workflows/build-newman.yaml @@ -55,21 +55,21 @@ jobs: echo "image_tag=$NEW_TAG" >> $GITHUB_ENV - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v3 - - name: Build, tag, and push image to Amazon ECR - id: build-image - uses: docker/build-push-action@v6 - timeout-minutes: 15 - with: - platforms: | - linux/amd64 - context: './docker' - file: './docker/Dockerfile.k8s' - push: true - tags: | - ${{ steps.login-ecr.outputs.registry }}/${{ env.ECR_REPOSITORY }}:${{ env.image_tag }} + # - name: Build, tag, and push image to Amazon ECR + # id: build-image + # uses: docker/build-push-action@v6 + # timeout-minutes: 15 + # with: + # platforms: | + # linux/amd64 + # context: './docker' + # file: './docker/Dockerfile.k8s' + # push: true + # tags: | + # ${{ steps.login-ecr.outputs.registry }}/${{ env.ECR_REPOSITORY }}:${{ env.image_tag }} # an event for calling a listening workflow # - name: Update helm chart From 4a06fee76717e857a2c4cb8efa02af9d73c4a4b1 Mon Sep 17 00:00:00 2001 From: Ariel Shatil Date: Sun, 9 Mar 2025 10:28:33 +0200 Subject: [PATCH 21/22] Get updated charts as well --- .github/workflows/build-newman.yaml | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-newman.yaml b/.github/workflows/build-newman.yaml index ffd9c4da..7944d516 100644 --- a/.github/workflows/build-newman.yaml +++ b/.github/workflows/build-newman.yaml @@ -13,6 +13,7 @@ on: pull_request: paths: - 'docker/**' + - 'helm/**' # push: # branches: # - master @@ -43,8 +44,8 @@ jobs: run: | # Get the latest tag from ECR (or set to default if no tags) LATEST_TAG=$(aws ecr describe-images --repository-name $ECR_REPOSITORY \ - --query 'sort_by(imageDetails, &imagePushedAt)[-1].imageTags[0]' \ - --output text 2>/dev/null | awk '{print ($0 == "None" || $0 == "" ? "0.1.8" : $0)}') + --query 'sort_by(imageDetails, &imagePushedAt)[-1].imageTags[0]' \ + --output text 2>/dev/null | awk '{print ($0 == "None" || $0 == "" ? "0.1.8" : $0)}') # Increment the patch version by 1 IFS='.' read -r -a TAG_PARTS <<< "$LATEST_TAG" @@ -78,3 +79,25 @@ jobs: # event-type: helm-chart-update # client-payload: '{"application-image-tag": "${{ env.image_tag }}"}' + check-updated-charts: + runs-on: ubuntu-22.04 + outputs: + chart-list: ${{ steps.get-changed-files.outputs.chart-list }} + steps: + - name: Checkout repo + uses: actions/checkout@v4 + - name: get list of changed files + id: changed-files + uses: tj-actions/changed-files@v45 + with: + since_last_remote_commit: true + - name: Get of changed helm charts changed files + id: get-changed-files + run: | + set -xe + for CHART in ${{ steps.changed-files.outputs.all_changed_files }}; do + [[ $(echo ${CHART} | grep 'helm/.*/') ]] && echo ${CHART} | awk -F / '{print $2}' >> changed_charts.txt + done + cat changed_charts.txt | uniq | jq --raw-input --slurp --compact-output 'split("\n") | map(select(length > 0))' > result.txt + cat result.txt + echo "chart-list=$(cat result.txt)" >> $GITHUB_OUTPUT \ No newline at end of file From d8c4c4683574ca96d1f94fa2e7a21811181ec94a Mon Sep 17 00:00:00 2001 From: Ariel Shatil Date: Mon, 5 May 2025 10:51:20 -0400 Subject: [PATCH 22/22] Update the dockerfile to compile newman during build --- docker/Dockerfile | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 475797e5..dcf381c2 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -8,10 +8,10 @@ ARG gid=1001 RUN apt-get update -y RUN apt-get install coreutils wget -y -ENV MAVEN_VERSION 3.6.3 -ENV MAVEN_FILE apache-maven-${MAVEN_VERSION}-bin.tar.gz -ENV NODE_VERSION 22.11.0 -ENV NODE_FILE node-v${NODE_VERSION}-linux-x64.tar.gz +ENV MAVEN_VERSION=3.6.3 +ENV MAVEN_FILE=apache-maven-${MAVEN_VERSION}-bin.tar.gz +ENV NODE_VERSION=22.11.0 +ENV NODE_FILE=node-v${NODE_VERSION}-linux-x64.tar.gz # Jenkins is run with user `newman`, uid = 1000 # If you bind mount a volume from the host or a data container, @@ -21,7 +21,7 @@ RUN groupadd -g ${gid} ${group} \ # Install Java. RUN apt-get install openjdk-8-jdk -y -ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/ +ENV JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ # Install Maven RUN wget --no-verbose -O /tmp/${MAVEN_FILE} \ @@ -64,4 +64,13 @@ ENV PATH=$JAVA_HOME/bin:$PATH USER root RUN apt-get install sudo curl -y netbase +RUN mkdir /.m2 +COPY . newman +WORKDIR /newman +RUN ls -lah +RUN mvn clean install -DskipTests -Dmaven.repo.local=~/.m2/repository +RUN mkdir -p /newman-server/bin \ + && cp /newman/newman-server/target/newman-server-1.0.jar /newman-server/bin/newman-server.jar +RUN chown -R ${user}:${group} /newman-server +RUN rm -rf /newman USER ${user}