Skip to content

Commit 3e383b5

Browse files
Merge branch 'main' into 'deploy/base'
Main See merge request igrp-3_0/igrp-platform-access-management!233
2 parents a27847c + 5a7c838 commit 3e383b5

File tree

54 files changed

+2725
-694
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+2725
-694
lines changed

.gitlab-ci.yml

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ variables:
1111
IMAGE_NAME: "access-management-api"
1212
CI_PROJECT: "igrp"
1313
VERSION_TAG: "$CI_COMMIT_SHORT_SHA"
14+
PIPELINE_TAG: "$CI_PIPELINE_ID"
1415
IMAGE_NAME_FULL: "$REGISTRY_URL/$CI_PROJECT/$IMAGE_NAME"
1516
IMAGE_NAME_AZ_FULL: "$REGISTRY_AZ_URL/$CI_PROJECT/$IMAGE_NAME"
1617
IMAGE_TAG: latest
@@ -38,7 +39,7 @@ build-native-arm64:
3839
- docker buildx create --use --name amd64builder
3940
- docker buildx inspect --bootstrap
4041
# - docker build -f Dockerfile_native --platform linux/arm64 -t $IMAGE_NAME_FULL:arm64 --push --output=type=image,name="$IMAGE_NAME_FULL:arm64",push=true .
41-
- docker build -f Dockerfile_native --platform linux/arm64 -t "$IMAGE_NAME_FULL-native:arm64" --no-cache --pull --build-arg APP_BUILD_FINGERPRINT=$CI_COMMIT_SHA --push --output=type=image,name="$IMAGE_NAME_FULL-native:arm64",push=true .
42+
- docker build -f Dockerfile_native --platform linux/arm64 -t "$IMAGE_NAME_FULL-native:arm64" -t "$IMAGE_NAME_FULL-native:arm64-$PIPELINE_TAG" --no-cache --pull --build-arg APP_BUILD_FINGERPRINT=$CI_COMMIT_SHA --push --output=type=image,name="$IMAGE_NAME_FULL-native:arm64",push=true .
4243

4344
tags:
4445
- arm64
@@ -52,7 +53,7 @@ build-native-amd64:
5253
- docker buildx create --use --name amd64builder
5354
- docker buildx inspect --bootstrap
5455
# - docker build --platform linux/amd64 -t $IMAGE_NAME_FULL:amd64 --push --output=type=image,name="$IMAGE_NAME_FULL:amd64",push=true .
55-
- docker build -f Dockerfile_native --platform linux/amd64 -t "$IMAGE_NAME_FULL-native:amd64" --no-cache --pull --build-arg APP_BUILD_FINGERPRINT=$CI_COMMIT_SHA --push --output=type=image,name="$IMAGE_NAME_FULL-native:amd64",push=true .
56+
- docker build -f Dockerfile_native --platform linux/amd64 -t "$IMAGE_NAME_FULL-native:amd64" -t "$IMAGE_NAME_FULL-native:amd64-$PIPELINE_TAG" --no-cache --pull --build-arg APP_BUILD_FINGERPRINT=$CI_COMMIT_SHA --push --output=type=image,name="$IMAGE_NAME_FULL-native:amd64",push=true .
5657
only:
5758
- deploy/base-native
5859

@@ -61,7 +62,9 @@ create-native-manifest:
6162
script:
6263
- docker login -u "$BASE_REGISTRY_USERNAME" -p "$BASE_REGISTRY_PASSWORD" "$REGISTRY_URL"
6364
- docker manifest create "$IMAGE_NAME_FULL-native:$IMAGE_TAG" --amend "$IMAGE_NAME_FULL-native:amd64" --amend "$IMAGE_NAME_FULL-native:arm64"
65+
- docker manifest create "$IMAGE_NAME_FULL-native:$PIPELINE_TAG" --amend "$IMAGE_NAME_FULL-native:amd64" --amend "$IMAGE_NAME_FULL-native:arm64"
6466
- docker manifest push "$IMAGE_NAME_FULL-native:$IMAGE_TAG"
67+
- docker manifest push "$IMAGE_NAME_FULL-native:$PIPELINE_TAG"
6568
needs:
6669
- build-native-amd64
6770
- build-native-arm64
@@ -75,8 +78,7 @@ build-jvm-arm64:
7578
- docker buildx create --use --name amd64builder
7679
- docker buildx inspect --bootstrap
7780
# - docker build --platform linux/arm64 -t $IMAGE_NAME_FULL:arm64 --push --output=type=image,name="$IMAGE_NAME_FULL:arm64",push=true .
78-
- docker build -f Dockerfile --platform linux/arm64 -t "$IMAGE_NAME_FULL-jvm:arm64" --no-cache --pull --build-arg APP_BUILD_FINGERPRINT=$CI_COMMIT_SHA --push --output=type=image,name="$IMAGE_NAME_FULL-jvm:arm64",push=true .
79-
81+
- docker build -f Dockerfile --platform linux/arm64 -t "$IMAGE_NAME_FULL-jvm:arm64" -t "$IMAGE_NAME_FULL-jvm:arm64-$PIPELINE_TAG" --no-cache --pull --build-arg APP_BUILD_FINGERPRINT=$CI_COMMIT_SHA --push --output=type=image,name="$IMAGE_NAME_FULL-jvm:arm64",push=true .
8082
tags:
8183
- arm64
8284
only:
@@ -89,7 +91,7 @@ build-jvm-amd64:
8991
- docker buildx create --use --name amd64builder
9092
- docker buildx inspect --bootstrap
9193
# - docker build --platform linux/amd64 -t $IMAGE_NAME_FULL:amd64 --push --output=type=image,name="$IMAGE_NAME_FULL:amd64",push=true .
92-
- docker build -f Dockerfile --platform linux/amd64 -t "$IMAGE_NAME_FULL-jvm:amd64" --no-cache --pull --build-arg APP_BUILD_FINGERPRINT=$CI_COMMIT_SHA --push --output=type=image,name="$IMAGE_NAME_FULL-jvm:amd64",push=true .
94+
- docker build -f Dockerfile --platform linux/amd64 -t "$IMAGE_NAME_FULL-jvm:amd64" -t "$IMAGE_NAME_FULL-jvm:amd64-$PIPELINE_TAG" --no-cache --pull --build-arg APP_BUILD_FINGERPRINT=$CI_COMMIT_SHA --push --output=type=image,name="$IMAGE_NAME_FULL-jvm:amd64",push=true .
9395
only:
9496
- deploy/base-jvm
9597

@@ -98,7 +100,9 @@ create-jvm-manifest:
98100
script:
99101
- docker login -u "$BASE_REGISTRY_USERNAME" -p "$BASE_REGISTRY_PASSWORD" "$REGISTRY_URL"
100102
- docker manifest create "$IMAGE_NAME_FULL-jvm:$IMAGE_TAG" --amend "$IMAGE_NAME_FULL-jvm:amd64" --amend "$IMAGE_NAME_FULL-jvm:arm64"
103+
- docker manifest create "$IMAGE_NAME_FULL-jvm:$PIPELINE_TAG" --amend "$IMAGE_NAME_FULL-jvm:amd64" --amend "$IMAGE_NAME_FULL-jvm:arm64"
101104
- docker manifest push "$IMAGE_NAME_FULL-jvm:$IMAGE_TAG"
105+
- docker manifest push "$IMAGE_NAME_FULL-jvm:$PIPELINE_TAG"
102106
needs:
103107
- build-jvm-amd64
104108
- build-jvm-arm64
@@ -124,7 +128,7 @@ build-native-arm64-az:
124128
- docker buildx create --use --name amd64builder
125129
- docker buildx inspect --bootstrap
126130
# - docker build -f Dockerfile_native --platform linux/arm64 -t $IMAGE_NAME_AZ_FULL:arm64 --push --output=type=image,name="$IMAGE_NAME_AZ_FULL:arm64",push=true .
127-
- docker build -f Dockerfile_native --platform linux/arm64 -t "$IMAGE_NAME_AZ_FULL-native:arm64" --no-cache --pull --build-arg APP_BUILD_FINGERPRINT=$CI_COMMIT_SHA --push --output=type=image,name="$IMAGE_NAME_AZ_FULL-native:arm64",push=true .
131+
- docker build -f Dockerfile_native --platform linux/arm64 -t "$IMAGE_NAME_AZ_FULL-native:arm64" -t "$IMAGE_NAME_AZ_FULL-native:arm64-$PIPELINE_TAG" --no-cache --pull --build-arg APP_BUILD_FINGERPRINT=$CI_COMMIT_SHA --push --output=type=image,name="$IMAGE_NAME_AZ_FULL-native:arm64",push=true .
128132
tags:
129133
- arm64
130134
only:
@@ -137,7 +141,7 @@ build-native-amd64-az:
137141
- docker buildx create --use --name amd64builder
138142
- docker buildx inspect --bootstrap
139143
# - docker build --platform linux/amd64 -t $IMAGE_NAME_AZ_FULL:amd64 --push --output=type=image,name="$IMAGE_NAME_AZ_FULL:amd64",push=true .
140-
- docker build -f Dockerfile_native --platform linux/amd64 -t "$IMAGE_NAME_AZ_FULL-native:amd64" --no-cache --pull --build-arg APP_BUILD_FINGERPRINT=$CI_COMMIT_SHA --push --output=type=image,name="$IMAGE_NAME_AZ_FULL-native:amd64",push=true .
144+
- docker build -f Dockerfile_native --platform linux/amd64 -t "$IMAGE_NAME_AZ_FULL-native:amd64" -t "$IMAGE_NAME_AZ_FULL-native:amd64-$PIPELINE_TAG" --no-cache --pull --build-arg APP_BUILD_FINGERPRINT=$CI_COMMIT_SHA --push --output=type=image,name="$IMAGE_NAME_AZ_FULL-native:amd64",push=true .
141145
only:
142146
- azure
143147

@@ -146,7 +150,9 @@ create-native-manifest-az:
146150
script:
147151
- docker login -u "$AZURE_REGISTRY_USERNAME" -p "$AZURE_REGISTRY_PASSWORD" "$REGISTRY_AZ_URL"
148152
- docker manifest create "$IMAGE_NAME_AZ_FULL-native:$IMAGE_TAG" --amend "$IMAGE_NAME_AZ_FULL-native:amd64" --amend "$IMAGE_NAME_AZ_FULL-native:arm64"
153+
- docker manifest create "$IMAGE_NAME_AZ_FULL-native:$PIPELINE_TAG" --amend "$IMAGE_NAME_AZ_FULL-native:amd64" --amend "$IMAGE_NAME_AZ_FULL-native:arm64"
149154
- docker manifest push "$IMAGE_NAME_AZ_FULL-native:$IMAGE_TAG"
155+
- docker manifest push "$IMAGE_NAME_AZ_FULL-native:$PIPELINE_TAG"
150156
needs:
151157
- build-native-amd64-az
152158
- build-native-arm64-az
@@ -160,7 +166,7 @@ build-jvm-arm64-az:
160166
- docker buildx create --use --name amd64builder
161167
- docker buildx inspect --bootstrap
162168
# - docker build --platform linux/arm64 -t $IMAGE_NAME_FULL:arm64 --push --output=type=image,name="$IMAGE_NAME_FULL:arm64",push=true .
163-
- docker build -f Dockerfile --platform linux/arm64 -t "$IMAGE_NAME_AZ_FULL-jvm:arm64" --no-cache --pull --build-arg APP_BUILD_FINGERPRINT=$CI_COMMIT_SHA --push --output=type=image,name="$IMAGE_NAME_AZ_FULL-jvm:arm64",push=true .
169+
- docker build -f Dockerfile --platform linux/arm64 -t "$IMAGE_NAME_AZ_FULL-jvm:arm64" -t "$IMAGE_NAME_AZ_FULL-jvm:arm64-$PIPELINE_TAG" --no-cache --pull --build-arg APP_BUILD_FINGERPRINT=$CI_COMMIT_SHA --push --output=type=image,name="$IMAGE_NAME_AZ_FULL-jvm:arm64",push=true .
164170
tags:
165171
- arm64
166172
only:
@@ -173,7 +179,7 @@ build-jvm-amd64-az:
173179
- docker buildx create --use --name amd64builder
174180
- docker buildx inspect --bootstrap
175181
# - docker build --platform linux/amd64 -t $IMAGE_NAME_FULL:amd64 --push --output=type=image,name="$IMAGE_NAME_FULL:amd64",push=true .
176-
- docker build -f Dockerfile --platform linux/amd64 -t "$IMAGE_NAME_AZ_FULL-jvm:amd64" --no-cache --pull --build-arg APP_BUILD_FINGERPRINT=$CI_COMMIT_SHA --push --output=type=image,name="$IMAGE_NAME_AZ_FULL-jvm:amd64",push=true .
182+
- docker build -f Dockerfile --platform linux/amd64 -t "$IMAGE_NAME_AZ_FULL-jvm:amd64" -t "$IMAGE_NAME_AZ_FULL-jvm:amd64-$PIPELINE_TAG" --no-cache --pull --build-arg APP_BUILD_FINGERPRINT=$CI_COMMIT_SHA --push --output=type=image,name="$IMAGE_NAME_AZ_FULL-jvm:amd64",push=true .
177183
only:
178184
- azure-jvm
179185

@@ -182,7 +188,9 @@ create-jvm-manifest-az:
182188
script:
183189
- docker login -u "$AZURE_REGISTRY_USERNAME" -p "$AZURE_REGISTRY_PASSWORD" "$REGISTRY_AZ_URL"
184190
- docker manifest create "$IMAGE_NAME_AZ_FULL-jvm:$IMAGE_TAG" --amend "$IMAGE_NAME_AZ_FULL-jvm:amd64" --amend "$IMAGE_NAME_AZ_FULL-jvm:arm64"
191+
- docker manifest create "$IMAGE_NAME_AZ_FULL-jvm:$PIPELINE_TAG" --amend "$IMAGE_NAME_AZ_FULL-jvm:amd64" --amend "$IMAGE_NAME_AZ_FULL-jvm:arm64"
185192
- docker manifest push "$IMAGE_NAME_AZ_FULL-jvm:$IMAGE_TAG"
193+
- docker manifest push "$IMAGE_NAME_AZ_FULL-jvm:$PIPELINE_TAG"
186194
needs:
187195
- build-jvm-amd64-az
188196
- build-jvm-arm64-az

.igrpstudio/resource/controllers/ResourceController.json

Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,162 @@
428428
"isRequired": true
429429
}
430430
]
431+
},
432+
{
433+
"actionName": "addPermissionsToResource",
434+
"path": "resources/{name}/addPermissions",
435+
"method": "POST",
436+
"requestBody": {
437+
"content": {
438+
"application/json": {
439+
"schema": {
440+
"collectionType": "list",
441+
"name": "data",
442+
"type": "string"
443+
}
444+
}
445+
}
446+
},
447+
"responses": {
448+
"200": {
449+
"name": "OK",
450+
"content": {
451+
"application/json": {
452+
"schema": {
453+
"type": "ResourceDTO",
454+
"objectType": "dto",
455+
"name": "data",
456+
"collectionType": "none",
457+
"module": "shared"
458+
}
459+
}
460+
}
461+
}
462+
},
463+
"pathVariables": [
464+
{
465+
"name": "name",
466+
"type": "string",
467+
"isRequired": true
468+
}
469+
]
470+
},
471+
{
472+
"actionName": "removePermissionsFromResource",
473+
"path": "resources/{name}/removePermission",
474+
"method": "DELETE",
475+
"requestBody": {
476+
"content": {
477+
"application/json": {
478+
"schema": {
479+
"type": "string",
480+
"collectionType": "list",
481+
"name": "data"
482+
}
483+
}
484+
}
485+
},
486+
"responses": {
487+
"200": {
488+
"name": "OK",
489+
"content": {
490+
"application/json": {
491+
"schema": {
492+
"type": "ResourceDTO",
493+
"objectType": "dto",
494+
"name": "data",
495+
"collectionType": "none",
496+
"module": "shared"
497+
}
498+
}
499+
}
500+
}
501+
},
502+
"pathVariables": [
503+
{
504+
"name": "name",
505+
"type": "string",
506+
"isRequired": true
507+
}
508+
]
509+
},
510+
{
511+
"actionName": "addPermissionsToResourceItem",
512+
"path": "resources/item/{name}/addPermissions",
513+
"method": "POST",
514+
"requestBody": {
515+
"content": {
516+
"application/json": {
517+
"schema": {
518+
"type": "string",
519+
"collectionType": "list",
520+
"name": "data"
521+
}
522+
}
523+
}
524+
},
525+
"responses": {
526+
"200": {
527+
"name": "OK",
528+
"content": {
529+
"application/json": {
530+
"schema": {
531+
"type": "ResourceItemDTO",
532+
"objectType": "dto",
533+
"name": "data",
534+
"collectionType": "none",
535+
"module": "shared"
536+
}
537+
}
538+
}
539+
}
540+
},
541+
"pathVariables": [
542+
{
543+
"name": "name",
544+
"type": "string",
545+
"isRequired": true
546+
}
547+
]
548+
},
549+
{
550+
"actionName": "removePermissionsFromResourceItem",
551+
"path": "resources/item/{name}/removePermissions",
552+
"method": "DELETE",
553+
"requestBody": {
554+
"content": {
555+
"application/json": {
556+
"schema": {
557+
"type": "string",
558+
"collectionType": "list",
559+
"name": "data"
560+
}
561+
}
562+
}
563+
},
564+
"responses": {
565+
"200": {
566+
"name": "OK",
567+
"content": {
568+
"application/json": {
569+
"schema": {
570+
"type": "ResourceItemDTO",
571+
"objectType": "dto",
572+
"name": "data",
573+
"collectionType": "none",
574+
"module": "shared"
575+
}
576+
}
577+
}
578+
}
579+
},
580+
"pathVariables": [
581+
{
582+
"name": "name",
583+
"type": "string",
584+
"isRequired": true
585+
}
586+
]
431587
}
432588
],
433589
"id": "74cqm14nbd-CONTROLLER-CONTROLLER-CONTROLLER-CONTROLLER-CONTROLLER-CONTROLLER-CONTROLLER-CONTROLLER-CONTROLLER-CONTROLLER-CONTROLLER-shareResourceToAnotherApplication-removeResourceFromApplication-removeItems"

.igrpstudio/shared/dto/ApplicationDTO.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -188,15 +188,14 @@
188188
"name": "departments",
189189
"objectType": "java",
190190
"type": "string",
191-
"required": true,
191+
"required": false,
192192
"before": false,
193193
"after": false,
194194
"positive": false,
195195
"isEmail": false,
196196
"isUrl": false,
197197
"primaryKey": false,
198-
"collectionType": "list",
199-
"minLength": 1
198+
"collectionType": "list"
200199
}
201200
],
202201
"id": "2fh2z2x9s8"

.igrpstudio/shared/dto/ResourceDTO.json

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@
7373
"name": "applications",
7474
"objectType": "java",
7575
"type": "string",
76-
"required": true,
76+
"required": false,
7777
"before": false,
7878
"after": false,
7979
"positive": false,
@@ -157,6 +157,19 @@
157157
"isEmail": false,
158158
"isUrl": false,
159159
"primaryKey": false
160+
},
161+
{
162+
"name": "permissions",
163+
"objectType": "java",
164+
"type": "string",
165+
"required": false,
166+
"before": false,
167+
"after": false,
168+
"positive": false,
169+
"isEmail": false,
170+
"isUrl": false,
171+
"primaryKey": false,
172+
"collectionType": "list"
160173
}
161174
],
162175
"id": "ss0cb6z68j"

.igrpstudio/shared/dto/ResourceItemDTO.json

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,10 @@
5858
"maxLength": 255
5959
},
6060
{
61-
"name": "permissionName",
61+
"name": "resourceName",
6262
"objectType": "java",
6363
"type": "string",
64-
"required": false,
64+
"required": true,
6565
"before": false,
6666
"after": false,
6767
"positive": false,
@@ -70,16 +70,17 @@
7070
"primaryKey": false
7171
},
7272
{
73-
"name": "resourceName",
73+
"name": "permissions",
7474
"objectType": "java",
7575
"type": "string",
76-
"required": true,
76+
"required": false,
7777
"before": false,
7878
"after": false,
7979
"positive": false,
8080
"isEmail": false,
8181
"isUrl": false,
82-
"primaryKey": false
82+
"primaryKey": false,
83+
"collectionType": "list"
8384
},
8485
{
8586
"name": "createdBy",

0 commit comments

Comments
 (0)