Skip to content

Commit

Permalink
Merge branch 'master' into public/fix-sharing-refs
Browse files Browse the repository at this point in the history
  • Loading branch information
DyspC committed Mar 8, 2022
2 parents 3661bc5 + 9a0618c commit 46f97b9
Show file tree
Hide file tree
Showing 47 changed files with 442 additions and 232 deletions.
4 changes: 2 additions & 2 deletions DEV_MODE.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ mvn clean install -am -pl platforms/quarkus/api -pl platforms/quarkus/ws
To start the API
```bash
qApiPath=platforms/quarkus/api
mvn $(test -f "$qApiPath/java.env" && sed -e "/^$/d" -e "/^#/d" "$qApiPath/java.env" | xargs -r -n1 printf "-D%s ") -f $qApiPath/pom.xml quarkus:dev
mvn $(test -f "$qApiPath/java.env" && sed -e "/^$/d" -e "/^#/d" "$qApiPath/java.env" | xargs -r -n1 printf -- "-D%s ") -f $qApiPath/pom.xml quarkus:dev
```

To start the WS
```bash
qWsPath=platforms/quarkus/ws
mvn $(test -f "$qWsPath/java.env" && sed -e "/^$/d" -e "/^#/d" "$qWsPath/java.env" | xargs -r -n1 printf "-D%s ") -f $qWsPath/pom.xml quarkus:dev
mvn $(test -f "$qWsPath/java.env" && sed -e "/^$/d" -e "/^#/d" "$qWsPath/java.env" | xargs -r -n1 printf -- "-D%s ") -f $qWsPath/pom.xml quarkus:dev
```

To start the UI (Tested with node 10)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ public GitLabResource resolve(String glUrl) {
String group = AbstractResourceResolver.decode(matcher.group(1));
String project = AbstractResourceResolver.decode(matcher.group(2));
String branch = AbstractResourceResolver.decode(matcher.group(3));
String path = AbstractResourceResolver.decode(matcher.group(4));
String path = matcher.group(4);
resource.setGroup(group);
resource.setProject(project);
resource.setBranch(branch);
Expand All @@ -97,7 +97,7 @@ public GitLabResource resolve(String glUrl) {
String subGroup = AbstractResourceResolver.decode(matcher.group(2));
String project = AbstractResourceResolver.decode(matcher.group(3));
String branch = AbstractResourceResolver.decode(matcher.group(4));
String path = AbstractResourceResolver.decode(matcher.group(5));
String path = matcher.group(5);
resource.setGroup(group + "/" + subGroup);
resource.setProject(project);
resource.setBranch(branch);
Expand All @@ -112,7 +112,7 @@ public GitLabResource resolve(String glUrl) {
String subSubGroup = AbstractResourceResolver.decode(matcher.group(3));
String project = AbstractResourceResolver.decode(matcher.group(4));
String branch = AbstractResourceResolver.decode(matcher.group(5));
String path = AbstractResourceResolver.decode(matcher.group(6));
String path = matcher.group(6);
resource.setGroup(group + "/" + subGroup + "/" + subSubGroup);
resource.setProject(project);
resource.setBranch(branch);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -638,7 +638,7 @@ private ResourceContent getResourceContentFromGitLab(GitLabResource resource) th
String getContentUrl = this.endpoint("/api/v4/projects/:id/repository/files/:path")
.bind("id", toEncodedId(resource))
.bind("path", toEncodedPath(resource))
.queryParam("ref", toEncodedBranch(resource))
.queryParam("ref", resource.getBranch())
.toString();

HttpGet get = new HttpGet(getContentUrl);
Expand Down Expand Up @@ -691,7 +691,8 @@ public String createPullRequestFromZipContent(String repositoryUrl, String commi

private String toId(String value) {
try {
return URLEncoder.encode(value, StandardCharsets.UTF_8.name());
return URLEncoder.encode(value, StandardCharsets.UTF_8.name())
.replaceAll("\\+", "%20");
} catch (UnsupportedEncodingException e) {
return value;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
package io.apicurio.hub.api.security;

import java.io.IOException;
import java.util.Collections;
import java.util.Objects;
import java.util.stream.Collectors;

Expand Down Expand Up @@ -68,10 +69,14 @@ public void doFilter(ServletRequest request, ServletResponse response, FilterCha
user.setEmail(token.getEmail());
user.setLogin(token.getPreferredUsername());
user.setName(token.getName());
user.setRoles(token.getRealmAccess().getRoles().stream()
.map(StudioRole::forName)
.filter(Objects::nonNull)
.collect(Collectors.toUnmodifiableList()));
if (token.getRealmAccess() == null || token.getRealmAccess().getRoles() == null) {
user.setRoles(Collections.emptyList());
} else {
user.setRoles(token.getRealmAccess().getRoles().stream()
.map(StudioRole::forName)
.filter(Objects::nonNull)
.collect(Collectors.toUnmodifiableList()));
}
((SecurityContext) security).setUser(user);
((SecurityContext) security).setToken(session.getTokenString());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.Collections;
import java.util.Objects;
import java.util.stream.Collectors;

Expand Down Expand Up @@ -64,14 +65,18 @@ public class QuarkusAuthenticationFilter implements Filter {
user.setEmail(principal.getClaim("email"));
user.setLogin(principal.getClaim("preferred_username"));
user.setName(principal.getClaim("name"));
user.setRoles(
principal.<JsonObject>getClaim("realm_access")
.getJsonArray("roles").stream()
.map(JsonString.class::cast)
.map(JsonString::getString)
.map(StudioRole::forName)
.filter(Objects::nonNull)
.collect(Collectors.toUnmodifiableList()));
if (!principal.containsClaim("realm_access") || principal.<JsonObject>getClaim("realm_access").isNull("roles")) {
user.setRoles(Collections.emptyList());
} else {
user.setRoles(
principal.<JsonObject>getClaim("realm_access")
.getJsonArray("roles").stream()
.map(JsonString.class::cast)
.map(JsonString::getString)
.map(StudioRole::forName)
.filter(Objects::nonNull)
.collect(Collectors.toUnmodifiableList()));
}
((SecurityContext) security).setUser(user);
((SecurityContext) security).setToken(principal.getRawToken());

Expand Down
2 changes: 1 addition & 1 deletion distro/docker-compose/docker-compose-as-postgre.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ volumes:

services:
apicurio-studio-db:
image: 'postgres:9.6'
image: 'postgres:12.9'
environment:
POSTGRES_DB: ${AS_DATABASE}
POSTGRES_USER: ${AS_DB_USER}
Expand Down
3 changes: 0 additions & 3 deletions distro/docker-compose/docker-compose.apicurio.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
version: '3'

services:

apicurio-studio-db:

apicurio-studio-ws:
image: 'apicurio/apicurio-studio-ws:${APICURIO_WS_VERSION}'
depends_on: [apicurio-studio-db]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ volumes:

services:
jboss-keycloak-postgresql:
image: postgres
image: 'postgres:12.9'
volumes:
- postgres_data:/var/lib/postgresql/data
environment:
Expand Down
2 changes: 1 addition & 1 deletion distro/docker-compose/keycloak/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
FROM jboss/keycloak:14.0.0
FROM jboss/keycloak:16.1.0

ADD apicurio /opt/jboss/keycloak/themes/apicurio
12 changes: 6 additions & 6 deletions distro/docker-compose/setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@ then
export P=/apicurio
fi

KC_ROOT_DB_PASSWORD=$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6)
KC_DB_PASSWORD=$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6)
KC_PASSWORD=$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6)
AS_SQL_ROOT_PASSWORD=$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6)
AS_DB_PASSWORD=$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6)
KC_ROOT_DB_PASSWORD=$(LC_CTYPE=C tr -dc _A-Z-a-z-0-9 < /dev/urandom | head -c6)
KC_DB_PASSWORD=$(LC_CTYPE=C tr -dc _A-Z-a-z-0-9 < /dev/urandom | head -c6)
KC_PASSWORD=$(LC_CTYPE=C tr -dc _A-Z-a-z-0-9 < /dev/urandom | head -c6)
AS_MYSQL_ROOT_PASSWORD=$(LC_CTYPE=C tr -dc _A-Z-a-z-0-9 < /dev/urandom | head -c6)
AS_DB_PASSWORD=$(LC_CTYPE=C tr -dc _A-Z-a-z-0-9 < /dev/urandom | head -c6)

SERVICE_CLIENT_SECRET=$(uuidgen)

Expand All @@ -35,7 +35,7 @@ sed 's/$HOST/'"$HOST_IP"'/g' $P/.env.template > $P/tmp; mv $P/tmp $P/.env
sed 's/$KC_ROOT_DB_PASSWORD/'"$KC_ROOT_DB_PASSWORD"'/g' $P/.env > $P/tmp; mv $P/tmp $P/.env
sed 's/$KC_DB_PASSWORD/'"$KC_DB_PASSWORD"'/g' $P/.env > $P/tmp; mv $P/tmp $P/.env
sed 's/$KC_PASSWORD/'"$KC_PASSWORD"'/g' $P/.env > $P/tmp; mv $P/tmp $P/.env
sed 's/$AS_SQL_ROOT_PASSWORD/'"$AS_SQL_ROOT_PASSWORD"'/g' $P/.env > $P/tmp; mv $P/tmp $P/.env
sed 's/$AS_MYSQL_ROOT_PASSWORD/'"$AS_MYSQL_ROOT_PASSWORD"'/g' $P/.env > $P/tmp; mv $P/tmp $P/.env
sed 's/$AS_DB_PASSWORD/'"$AS_DB_PASSWORD"'/g' $P/.env > $P/tmp; mv $P/tmp $P/.env
sed 's/$SERVICE_CLIENT_SECRET/'"$SERVICE_CLIENT_SECRET"'/g' $P/.env > $P/tmp; mv $P/tmp $P/.env

Expand Down
2 changes: 1 addition & 1 deletion distro/helm/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apiVersion: v2
name: apicurio
version: Beta 2.46
version: 2.46.0-beta
description: API design studio
type: application
keywords:
Expand Down
4 changes: 2 additions & 2 deletions distro/helm/templates/NOTES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Apicurio is available at https://{{ .Values.ui.hostname }}

Keycloak that is defined is available on {{ .Values.keycloak.url }}
{{- if .Values.ui.feature.microcks }}
Microks is enabled and available on {{ .Values.microcks.api.url }}
Microcks is enabled and available on {{ .Values.microcks.api.url }}
{{- else }}
Microks is disabled
Microcks is disabled
{{- end }}
7 changes: 7 additions & 0 deletions distro/helm/templates/_helpers.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{{- define "apicurio-studio.secretName" -}}
{{- if .Values.existingSecret }}
{{- printf "%s" .Values.existingSecret -}}
{{- else -}}
apicurio-secret
{{- end -}}
{{- end -}}
4 changes: 3 additions & 1 deletion distro/helm/templates/apicurio-secrets.yaml
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
{{- if not .Values.existingSecret }}
apiVersion: v1
kind: Secret
metadata:
name: apicurio-secret
name: {{ include "apicurio-studio.secretName" . }}
type: Opaque
data:
db-password: {{ .Values.database.password | b64enc }}
db-root-password: {{ .Values.database.rootPassword | b64enc }}
db-user: {{ .Values.database.user | b64enc }}
apicurio-kc-client-secret: {{ .Values.keycloak.client.secret | b64enc }}
apicurio-microcks-client-secret: {{ .Values.microcks.client.secret | b64enc }}
{{- end }}
14 changes: 10 additions & 4 deletions distro/helm/templates/apicurio-studio-api-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,14 @@ spec:
- name: APICURIO_DB_PASSWORD
valueFrom:
secretKeyRef:
name: apicurio-secret
name: {{ include "apicurio-studio.secretName" . }}
key: db-password
- name: APICURIO_DB_TYPE
value: {{ .Values.database.type }}
- name: APICURIO_DB_USER_NAME
valueFrom:
secretKeyRef:
name: apicurio-secret
name: {{ include "apicurio-studio.secretName" . }}
key: db-user
- name: APICURIO_MICROCKS_API_URL
value: {{ .Values.microcks.api.url }}
Expand All @@ -45,7 +45,7 @@ spec:
- name: APICURIO_MICROCKS_CLIENT_SECRET
valueFrom:
secretKeyRef:
name: apicurio-secret
name: {{ include "apicurio-studio.secretName" . }}
key: apicurio-microcks-client-secret
- name: APICURIO_KC_AUTH_URL
value: {{ .Values.keycloak.url }}
Expand All @@ -56,7 +56,7 @@ spec:
- name: APICURIO_KC_CLIENT_SECRET
valueFrom:
secretKeyRef:
name: apicurio-secret
name: {{ include "apicurio-studio.secretName" . }}
key: apicurio-kc-client-secret
- name: APICURIO_SHARE_FOR_EVERYONE
value: {{ .Values.uiFeatureShareForEveryone | quote }}
Expand All @@ -67,6 +67,12 @@ spec:
imagePullPolicy: {{ .Values.api.imagePullPolicy }}
ports:
- containerPort: 8080

{{- if .Values.api.resources }}
resources:
{{- toYaml .Values.api.resources | nindent 12 }}
{{- end }}

{{- if .Values.api.extraVolumes }}
volumeMounts:
{{- range $volume := .Values.api.extraVolumes }}
Expand Down
9 changes: 6 additions & 3 deletions distro/helm/templates/apicurio-studio-db-deployment.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@

{{- if .Values.database.install }}
apiVersion: apps/v1
kind: Deployment
metadata:
Expand Down Expand Up @@ -29,17 +31,17 @@ spec:
- name: MYSQL_PASSWORD
valueFrom:
secretKeyRef:
name: apicurio-secret
name: {{ include "apicurio-studio.secretName" . }}
key: db-password
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: apicurio-secret
name: {{ include "apicurio-studio.secretName" . }}
key: db-root-password
- name: MYSQL_USER
valueFrom:
secretKeyRef:
name: apicurio-secret
name: {{ include "apicurio-studio.secretName" . }}
key: db-user
image: {{ .Values.database.image }}
imagePullPolicy: {{ .Values.database.imagePullPolicy }}
Expand All @@ -61,3 +63,4 @@ spec:
{{- end }}
securityContext:
fsGroup: 999
{{- end }}
Loading

0 comments on commit 46f97b9

Please sign in to comment.