Skip to content
Snippets Groups Projects
Commit ec1ae070 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-6177 resolve comments

parent a170caae
Branches
No related tags found
No related merge requests found
......@@ -31,7 +31,7 @@
<parent>
<groupId>de.ozgcloud.common</groupId>
<artifactId>ozgcloud-common-parent</artifactId>
<version>4.3.2</version>
<version>4.6.0</version>
<relativePath/>
</parent>
......@@ -41,11 +41,11 @@
<name>OzgCloud Operator Elster-Transfer</name>
<description>OzgCloud Operator Elster-Transfer</description>
<inceptionYear>2024</inceptionYear>
<properties>
<operator-sdk.version>5.4.1</operator-sdk.version>
<spring-security-core.version>6.3.3</spring-security-core.version>
<operator-sdk.version>5.6.0</operator-sdk.version>
<mustache.version>0.9.14</mustache.version>
<snakeyaml.version>2.0</snakeyaml.version>
......@@ -72,7 +72,6 @@
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>${spring-security-core.version}</version>
</dependency>
<!-- tools -->
<dependency>
......@@ -104,34 +103,6 @@
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<configuration>
<mapping>
<ts>SLASHSTAR_STYLE</ts>
<config>SCRIPT_STYLE</config>
</mapping>
<licenseSets>
<licenseSet>
<header>license/eupl_v1_2_de/header.txt</header>
<excludes>
<exclude>**/README</exclude>
<exclude>src/test/resources/**</exclude>
<exclude>src/main/resources/**</exclude>
</excludes>
</licenseSet>
</licenseSets>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<distributionManagement>
<repository>
<id>ozg-nexus</id>
......
......@@ -32,7 +32,13 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor
@Builder
public class OzgCloudElsterTransferConfigMapUserList {
class OzgCloudElsterTransferConfigMapUserList {
private static final String ELSTER_TRANSFER_USER_LOGIN_KEY = "login";
private static final String ELSTER_TRANSFER_USER_ROLE_KEY = "rolle";
private static final String ELSTER_TRANSFER_USER_CREDENTIALS_KEY = "credentials";
private static final String ELSTER_TRANSFER_USER_GROUP_KEY = "gruppe";
private static final String ELSTER_TRANSFER_USER_PASSWORTHASH_KEY = "passwortHash";
private List<Map<String, Object>> usersList;
......@@ -42,20 +48,20 @@ public class OzgCloudElsterTransferConfigMapUserList {
boolean existsUser(String login) {
return usersList.stream()
.anyMatch(existingUser -> login.equals(existingUser.get("login")));
.anyMatch(existingUser -> login.equals(existingUser.get(ELSTER_TRANSFER_USER_LOGIN_KEY)));
}
void addUserToList(String login, String passwordHash, String role) {
Map<String, Object> formattedUser = Map.of(
"login", login,
"rolle", role,
"credentials", Map.of("passwortHash", passwordHash),
"gruppe", login);
ELSTER_TRANSFER_USER_LOGIN_KEY, login,
ELSTER_TRANSFER_USER_ROLE_KEY, role,
ELSTER_TRANSFER_USER_CREDENTIALS_KEY, Map.of(ELSTER_TRANSFER_USER_PASSWORTHASH_KEY, passwordHash),
ELSTER_TRANSFER_USER_GROUP_KEY, login);
usersList.add(formattedUser);
}
void removeDeleted(String userLogin) {
usersList.removeIf(userMap -> userLogin.equals(userMap.get("login")));
usersList.removeIf(userMap -> userLogin.equals(userMap.get(ELSTER_TRANSFER_USER_LOGIN_KEY)));
}
public List<Map<String, Object>> getUsersList() {
......
......@@ -26,32 +26,38 @@ package de.ozgcloud.operator.elstertransfer.user;
import java.util.Base64;
import java.util.Objects;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import io.fabric8.kubernetes.api.model.ConfigMap;
import io.fabric8.kubernetes.api.model.ConfigMapBuilder;
import io.fabric8.kubernetes.api.model.ConfigMapList;
import io.fabric8.kubernetes.api.model.Secret;
import io.fabric8.kubernetes.api.model.SecretBuilder;
import io.fabric8.kubernetes.api.model.apps.Deployment;
import io.fabric8.kubernetes.client.KubernetesClient;
import io.fabric8.kubernetes.client.dsl.NonNamespaceOperation;
import io.fabric8.kubernetes.client.dsl.Resource;
import lombok.RequiredArgsConstructor;
@RequiredArgsConstructor
@Component
public class OzgCloudElsterTransferUserRemoteService {
@Service
class OzgCloudElsterTransferUserRemoteService {
private final KubernetesClient client;
public ConfigMap getConfigMap(String configmapNamespace, String configMapName) {
return client.configMaps().inNamespace(configmapNamespace).withName(configMapName).get();
return getConfigMapNonNamespaceOperation(configmapNamespace).withName(configMapName).get();
}
public ConfigMap createConfigMap(String configmapNamespace, String configMapName) {
return client.configMaps().inNamespace(configmapNamespace).resource(buildConfigMap(configMapName)).create();
return getConfigMapNonNamespaceOperation(configmapNamespace).resource(buildConfigMap(configMapName)).create();
}
public ConfigMap buildConfigMap(String configMapName) {
NonNamespaceOperation<ConfigMap, ConfigMapList, Resource<ConfigMap>> getConfigMapNonNamespaceOperation(String configmapNamespace) {
return client.configMaps().inNamespace(configmapNamespace);
}
ConfigMap buildConfigMap(String configMapName) {
return new ConfigMapBuilder()
.withNewMetadata()
.withName(configMapName)
......@@ -74,7 +80,7 @@ public class OzgCloudElsterTransferUserRemoteService {
}
}
public Resource<Deployment> getDeploymentResource(String namespace, String deploymentName) {
Resource<Deployment> getDeploymentResource(String namespace, String deploymentName) {
return client.apps().deployments().inNamespace(namespace).withName(deploymentName);
}
......@@ -87,14 +93,18 @@ public class OzgCloudElsterTransferUserRemoteService {
client.resource(buildUserSecret(namespace, userPassword, secretName)).serverSideApply();
}
public Secret buildUserSecret(String namespace, String userPassword, String secretName) {
Secret buildUserSecret(String namespace, String userPassword, String secretName) {
return new SecretBuilder()
.withNewMetadata()
.withName(secretName)
.endMetadata()
.addToData(Constants.ELSTER_TRANSFER_USER_LOGIN_KEY, Base64.getEncoder().encodeToString(namespace.getBytes()))
.addToData(Constants.ELSTER_TRANSFER_USER_PASSWORD_KEY, Base64.getEncoder().encodeToString(userPassword.getBytes()))
.addToData(Constants.ELSTER_TRANSFER_USER_LOGIN_KEY, getEncodedString(namespace.getBytes()))
.addToData(Constants.ELSTER_TRANSFER_USER_PASSWORD_KEY, getEncodedString(userPassword.getBytes()))
.build();
}
private String getEncodedString(byte[] bytes) {
return Base64.getEncoder().encodeToString(bytes);
}
}
......@@ -32,7 +32,7 @@ import java.util.UUID;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.crypto.bcrypt.BCrypt;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import org.yaml.snakeyaml.Yaml;
import com.github.mustachejava.DefaultMustacheFactory;
......@@ -45,8 +45,8 @@ import lombok.extern.log4j.Log4j2;
@Log4j2
@RequiredArgsConstructor
@Component
public class OzgCloudElsterTransferUserService {
@Service
class OzgCloudElsterTransferUserService {
private final OzgCloudElsterTransferUserRemoteService remoteService;
......
......@@ -35,9 +35,7 @@ public class OzgCloudElsterTransferConfigMapUserListFactory {
"rolle", "USER",
"gruppe", "user1",
"credentials", Map.of(
"passwortHash", "$2a$12$cqKZMcwTUe/tju7PIFGhperWdV2Xa9o4fVw5eClbzatRhvxZphE1a"
)
);
"passwortHash", "$2a$12$cqKZMcwTUe/tju7PIFGhperWdV2Xa9o4fVw5eClbzatRhvxZphE1a"));
List<Map<String, Object>> usersList = Arrays.asList(user1);
return usersList;
}
......
......@@ -231,7 +231,6 @@ class OzgCloudElsterTransferUserRemoteServiceTest {
@Nested
class TestUpdateDeployment {
@BeforeEach
void setUp() {
when(client.apps()).thenReturn(appsAPIGroupDSL);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment