This is an automated email from the ASF dual-hosted git repository.

marat pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-karavan.git

commit 697ac24e533aad5f0caafc50af54aec096e04ed7
Author: Marat Gubaidullin <ma...@talismancloud.io>
AuthorDate: Thu Feb 8 14:00:38 2024 -0500

    Update Installer #1115
---
 .../camel/karavan/installer/CommandUtils.java      |  25 --
 .../apache/camel/karavan/installer/Constants.java  |   6 -
 .../camel/karavan/installer/KaravanCommand.java    |  47 +--
 .../installer/resources/KaravanDeployment.java     |   6 -
 .../src/main/resources/infinispan.yaml             | 371 ---------------------
 5 files changed, 1 insertion(+), 454 deletions(-)

diff --git 
a/karavan-web/karavan-installer/src/main/java/org/apache/camel/karavan/installer/CommandUtils.java
 
b/karavan-web/karavan-installer/src/main/java/org/apache/camel/karavan/installer/CommandUtils.java
index 28bf3914..7d43a692 100644
--- 
a/karavan-web/karavan-installer/src/main/java/org/apache/camel/karavan/installer/CommandUtils.java
+++ 
b/karavan-web/karavan-installer/src/main/java/org/apache/camel/karavan/installer/CommandUtils.java
@@ -59,12 +59,6 @@ public class CommandUtils {
             log("Namespace " + config.getNamespace() + " already exists");
         }
 
-        // Check and install Infinispan
-        if (!isInfinispanInstalled(client, config) && 
config.isInstallInfinispan()) {
-            logError("Infinispan is not installed");
-            installInfinispan(config, client);
-        }
-
         // Check and install Gitea
         if (config.isInstallGitea()) {
             installGitea(config, client);
@@ -173,19 +167,6 @@ public class CommandUtils {
         }
     }
 
-    private static void installInfinispan(KaravanCommand config, 
KubernetesClient client) {
-        System.out.print("⏳ Installing Infinispan ");
-        String yaml = getResourceFile("/infinispan.yaml");
-        String resource = yaml
-                .replace("$INFINISPAN_PASSWORD", 
config.getInfinispanPassword())
-                .replace("$INFINISPAN_IMAGE", config.getInfinispanImage());
-
-        client.load(new 
ByteArrayInputStream(resource.getBytes())).inNamespace(config.getNamespace())
-                .create().forEach(hasMetadata -> 
System.out.print("\uD83D\uDC2B "));
-        System.out.println();
-        log("Infinispan is installed");
-    }
-
     private static void installGitea(KaravanCommand config, KubernetesClient 
client) {
         System.out.print("⏳ Installing Gitea ");
         Arrays.stream(new String[] { "init.yaml", "config.yaml", 
"deployment.yaml", "service.yaml" }).forEach(s -> {
@@ -197,12 +178,6 @@ public class CommandUtils {
         log("Gitea is installed");
     }
 
-    private static boolean isInfinispanInstalled(KubernetesClient client, 
KaravanCommand config) {
-        Service service = 
client.services().inNamespace(config.getNamespace()).withName("infinispan").get();
-        StatefulSet set = 
client.apps().statefulSets().inNamespace(config.getNamespace()).withName("infinispan").get();
-        return service != null && set != null;
-    }
-
     public static void log(String emoji, String message) {
         System.out.println(emoji + " " + message);
     }
diff --git 
a/karavan-web/karavan-installer/src/main/java/org/apache/camel/karavan/installer/Constants.java
 
b/karavan-web/karavan-installer/src/main/java/org/apache/camel/karavan/installer/Constants.java
index 46542513..5f0f105f 100644
--- 
a/karavan-web/karavan-installer/src/main/java/org/apache/camel/karavan/installer/Constants.java
+++ 
b/karavan-web/karavan-installer/src/main/java/org/apache/camel/karavan/installer/Constants.java
@@ -31,10 +31,6 @@ public final class Constants {
 
     public static final String KARAVAN_IMAGE = "ghcr.io/apache/camel-karavan";
 
-    public static final String INFINISPAN_IMAGE = 
"quay.io/infinispan/server:14.0.21.Final";
-    public static final String INFINISPAN_USERNAME = "admin";
-    public static final String INFINISPAN_PASSWORD = "karavan";
-
     public static final String NAME = "karavan";
 
     public static final String SERVICEACCOUNT_KARAVAN = "karavan";
@@ -42,8 +38,6 @@ public final class Constants {
     public static final String ROLEBINDING_KARAVAN = "karavan-role-binding";
     public static final String ROLEBINDING_KARAVAN_VIEW = 
"karavan-cluster-role-binding";
 
-    public static final String INFINISPAN_SECRET_NAME = "infinispan-secret";
-
     public static final String KEYCLOAK_URL = "karavan.keycloak.url";
     public static final String KEYCLOAK_REALM = "karavan.keycloak.realm";
     public static final String KEYCLOAK_FRONTEND_CLIENT_ID = 
"karavan.keycloak.frontend.clientId";
diff --git 
a/karavan-web/karavan-installer/src/main/java/org/apache/camel/karavan/installer/KaravanCommand.java
 
b/karavan-web/karavan-installer/src/main/java/org/apache/camel/karavan/installer/KaravanCommand.java
index 6668aae8..f1ca0a0b 100644
--- 
a/karavan-web/karavan-installer/src/main/java/org/apache/camel/karavan/installer/KaravanCommand.java
+++ 
b/karavan-web/karavan-installer/src/main/java/org/apache/camel/karavan/installer/KaravanCommand.java
@@ -37,7 +37,7 @@ public class KaravanCommand implements Callable<Integer> {
     private String namespace;
     @CommandLine.Option(names = {"-e", "--environment"}, description = 
"Environment", defaultValue = Constants.DEFAULT_ENVIRONMENT)
     private String environment;
-    @CommandLine.Option(names = {"--auth"}, description = "Authentication: 
public, basic, oidc", defaultValue = Constants.DEFAULT_AUTH)
+    @CommandLine.Option(names = {"--auth"}, description = "Authentication: 
public, oidc", defaultValue = Constants.DEFAULT_AUTH)
     private String auth;
     @CommandLine.Option(names = {"--node-port"}, description = "Node port", 
defaultValue = "0")
     private int nodePort;
@@ -79,22 +79,12 @@ public class KaravanCommand implements Callable<Integer> {
     @CommandLine.Option(names = {"--image-registry-password"}, description = 
"Image registry password")
     private String imageRegistryPassword;
 
-    @CommandLine.Option(names = {"--infinispan-image"}, description = 
"Infinispan Image", defaultValue = Constants.INFINISPAN_IMAGE)
-    private String infinispanImage;
-    @CommandLine.Option(names = {"--infinispan-username"}, description = 
"Infinispan Username", defaultValue = Constants.INFINISPAN_USERNAME)
-    private String infinispanUsername;
-    @CommandLine.Option(names = {"--infinispan-password"}, description = 
"Infinispan Password", defaultValue = Constants.INFINISPAN_PASSWORD)
-    private String infinispanPassword;
-
     @CommandLine.Option(names = {"--nexus-proxy"}, description = "Deploy nexus 
proxy")
     private boolean nexusProxy;
 
     @CommandLine.Option(names = {"--install-gitea"}, description = "Install 
Gitea (for demo purposes)", defaultValue = "false")
     private boolean installGitea;
 
-    @CommandLine.Option(names = {"--install-infinispan"}, description = 
"Install Infinispan", defaultValue = "true")
-    private boolean installInfinispan;
-
     @CommandLine.Option(names = {"-h", "--help"}, usageHelp = true, 
description = "Display help")
     private boolean helpRequested;
 
@@ -143,18 +133,10 @@ public class KaravanCommand implements Callable<Integer> {
         return installGitea;
     }
 
-    public boolean isInstallInfinispan() {
-        return installInfinispan;
-    }
-
     public boolean isAuthOidc() {
         return Objects.equals(this.auth, "oidc");
     }
 
-    public boolean isAuthBasic() {
-        return Objects.equals(this.auth, "basic");
-    }
-
     public String getVersion() {
         return version;
     }
@@ -323,30 +305,6 @@ public class KaravanCommand implements Callable<Integer> {
         this.imageRegistryPassword = imageRegistryPassword;
     }
 
-    public String getInfinispanImage() {
-        return infinispanImage;
-    }
-
-    public void setInfinispanImage(String infinispanImage) {
-        this.infinispanImage = infinispanImage;
-    }
-
-    public String getInfinispanUsername() {
-        return infinispanUsername;
-    }
-
-    public void setInfinispanUsername(String infinispanUsername) {
-        this.infinispanUsername = infinispanUsername;
-    }
-
-    public String getInfinispanPassword() {
-        return infinispanPassword;
-    }
-
-    public void setInfinispanPassword(String infinispanPassword) {
-        this.infinispanPassword = infinispanPassword;
-    }
-
     public boolean isNexusProxy() {
         return nexusProxy;
     }
@@ -391,7 +349,4 @@ public class KaravanCommand implements Callable<Integer> {
         this.installGitea = installGitea;
     }
 
-    public void setInstallInfinispan(boolean installInfinispan) {
-        this.installInfinispan = installInfinispan;
-    }
 }
diff --git 
a/karavan-web/karavan-installer/src/main/java/org/apache/camel/karavan/installer/resources/KaravanDeployment.java
 
b/karavan-web/karavan-installer/src/main/java/org/apache/camel/karavan/installer/resources/KaravanDeployment.java
index 7119b06d..db6f77eb 100644
--- 
a/karavan-web/karavan-installer/src/main/java/org/apache/camel/karavan/installer/resources/KaravanDeployment.java
+++ 
b/karavan-web/karavan-installer/src/main/java/org/apache/camel/karavan/installer/resources/KaravanDeployment.java
@@ -57,12 +57,6 @@ public class KaravanDeployment {
         envVarList.add(
                 new EnvVar("KARAVAN_DEVMODE_IMAGE", devModeImage, null)
         );
-        envVarList.add(
-                new EnvVar("INFINISPAN_HOSTS", "infinispan." + 
config.getNamespace() + ":11222", null)
-        );
-        envVarList.add(
-                new EnvVar("INFINISPAN_PASSWORD", null, new 
EnvVarSourceBuilder().withSecretKeyRef(new SecretKeySelector("password", 
INFINISPAN_SECRET_NAME, false)).build())
-        );
         envVarList.add(
                 new EnvVar("KUBERNETES_NAMESPACE", null, new 
EnvVarSourceBuilder().withFieldRef(new ObjectFieldSelector("", 
"metadata.namespace")).build())
         );
diff --git a/karavan-web/karavan-installer/src/main/resources/infinispan.yaml 
b/karavan-web/karavan-installer/src/main/resources/infinispan.yaml
deleted file mode 100644
index 3a470c3b..00000000
--- a/karavan-web/karavan-installer/src/main/resources/infinispan.yaml
+++ /dev/null
@@ -1,371 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
----
-# Source: infinispan/templates/secret.yaml
-apiVersion: v1
-kind: Secret
-metadata:
-  name: infinispan-secret
-  labels:
-    app: infinispan-secret-identities
-    clusterName: infinispan
-    helm.sh/chart: infinispan-0.3.1
-    meta.helm.sh/release-name: infinispan
-    meta.helm.sh/release-namespace: default
-    app.kubernetes.io/version: "14.0"
-    app.kubernetes.io/managed-by: Helm
-  annotations:
-    meta.helm.sh/release-name: infinispan
-    meta.helm.sh/release-namespace: default
-    "helm.sh/resource-policy": keep
-type: Opaque
-stringData:
-  username: 'monitor'
-  password: '$INFINISPAN_PASSWORD'
-  identities-batch: |-
-    user create admin -p $INFINISPAN_PASSWORD
-    user create monitor -p $INFINISPAN_PASSWORD --users-file 
metrics-users.properties --groups-file metrics-groups.properties
----
-# Source: infinispan/templates/configmap.yaml
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: infinispan-configuration
-  annotations:
-    meta.helm.sh/release-name: infinispan
-    meta.helm.sh/release-namespace: default
-  labels:
-    app: infinispan-configmap-configuration
-    clusterName: infinispan
-    helm.sh/chart: infinispan-0.3.1
-    meta.helm.sh/release-name: infinispan
-    meta.helm.sh/release-namespace: default
-    app.kubernetes.io/version: "14.0"
-    app.kubernetes.io/managed-by: Helm
-data:
-  infinispan.yml: |-
-    infinispan:
-      cacheContainer:
-        name: default
-        security:
-          authorization: {}
-        transport:
-          cluster: ${infinispan.cluster.name:cluster}
-          node-name: ${infinispan.node.name:}
-          stack: kubernetes
-      server:
-        endpoints:
-          - connectors:
-              hotrod:
-                hotrodConnector: null
-              rest:
-                restConnector: null
-            securityRealm: default
-            socketBinding: default
-          - connectors:
-              rest:
-                restConnector:
-                  authentication:
-                    mechanisms: BASIC
-            securityRealm: metrics
-            socketBinding: metrics
-        interfaces:
-          - inetAddress:
-              value: ${infinispan.bind.address:127.0.0.1}
-            name: public
-        security:
-          credentialStores:
-            - clearTextCredential:
-                clearText: secret
-              name: credentials
-              path: credentials.pfx
-          securityRealms:
-            - name: default
-              propertiesRealm:
-                groupProperties:
-                  path: groups.properties
-                groupsAttribute: Roles
-                userProperties:
-                  path: users.properties
-            - name: metrics
-              propertiesRealm:
-                groupProperties:
-                  path: metrics-groups.properties
-                  relativeTo: infinispan.server.config.path
-                groupsAttribute: Roles
-                userProperties:
-                  path: metrics-users.properties
-                  relativeTo: infinispan.server.config.path
-        socketBindings:
-          defaultInterface: public
-          portOffset: ${infinispan.socket.binding.port-offset:0}
-          socketBinding:
-            - name: default
-              port: 11222
-            - name: metrics
-              port: 11223
-  log4j2.xml: |-
-    <Configuration name="InfinispanServerConfig" monitorInterval="60" 
shutdownHook="disable">
-        <Properties>
-            <Property name="path">${sys:infinispan.server.log.path}</Property>
-            <Property name="accessLogPattern">%X{address} %X{user} 
[%d{dd/MMM/yyyy:HH:mm:ss Z}] &quot;%X{method} %m %X{protocol}&quot; %X{status} 
%X{requestSize} %X{responseSize} %X{duration}%n</Property>
-        </Properties>
-        <Appenders>
-            <!-- Colored output on the console -->
-            <Console name="STDOUT">
-                <PatternLayout pattern="%highlight{%d{yyyy-MM-dd HH:mm:ss,SSS} 
%-5p (%t) [%c] %m%throwable}{INFO=normal, DEBUG=normal, TRACE=normal}%n"/>
-            </Console>
-            
-            <!-- Rolling file -->
-            <RollingFile name="FILE" createOnDemand="true"
-                         fileName="${path}/server.log"
-                         filePattern="${path}/server.log.%d{yyyy-MM-dd}-%i">
-                <Policies>
-                    <OnStartupTriggeringPolicy />
-                    <SizeBasedTriggeringPolicy size="100 MB" />
-                    <TimeBasedTriggeringPolicy />
-                </Policies>
-                <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p (%t) 
[%c] %m%throwable%n"/>
-            </RollingFile>
-            
-            <!-- Rolling file -->
-            <RollingFile name="AUDIT-FILE" createOnDemand="true"
-                         fileName="${path}/audit.log"
-                         filePattern="${path}/audit.log.%d{yyyy-MM-dd}-%i">
-                <Policies>
-                    <OnStartupTriggeringPolicy />
-                    <SizeBasedTriggeringPolicy size="100 MB" />
-                    <TimeBasedTriggeringPolicy />
-                </Policies>
-                <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %m%n"/>
-            </RollingFile>
-            
-            <!-- Rolling JSON file, disabled by default -->
-            <RollingFile name="JSON-FILE" createOnDemand="true"
-                         fileName="${path}/server.log.json"
-                         
filePattern="${path}/server.log.json.%d{yyyy-MM-dd}-%i">
-                <Policies>
-                    <OnStartupTriggeringPolicy />
-                    <SizeBasedTriggeringPolicy size="100 MB" />
-                    <TimeBasedTriggeringPolicy />
-                </Policies>
-                <JsonLayout compact="true" eventEol="true" 
stacktraceAsString="true">
-                    <KeyValuePair key="time" 
value="$${date:yyyy-MM-dd'T'HH:mm:ss.SSSZ}" />
-                </JsonLayout>
-            </RollingFile>
-            
-            <!-- Rolling HotRod access log, disabled by default -->
-            <RollingFile name="HR-ACCESS-FILE" createOnDemand="true"
-                         fileName="${path}/hotrod-access.log"
-                         filePattern="${path}/hotrod-access.log.%i">
-                <Policies>
-                    <SizeBasedTriggeringPolicy size="100 MB" />
-                </Policies>
-                <PatternLayout pattern="${accessLogPattern}"/>
-            </RollingFile>
-            <!-- Rolling REST access log, disabled by default -->
-            <RollingFile name="REST-ACCESS-FILE" createOnDemand="true"
-                         fileName="${path}/rest-access.log"
-                         filePattern="${path}/rest-access.log.%i">
-                <Policies>
-                    <SizeBasedTriggeringPolicy size="100 MB" />
-                </Policies>
-                <PatternLayout pattern="${accessLogPattern}"/>
-            </RollingFile>
-        </Appenders>
-        
-        <Loggers>
-            <Root level="INFO">
-                <AppenderRef ref="STDOUT"/>
-                
-                <!-- Uncomment just one of the two lines bellow to use 
alternatively JSON logging or plain-text logging to file-->
-                <AppenderRef ref="FILE"/>
-                <!--      <AppenderRef ref="JSON-FILE"/>-->
-            </Root>
-            
-            <!-- Set to INFO to enable audit logging -->
-            <Logger name="org.infinispan.AUDIT" additivity="false" 
level="ERROR">
-                <AppenderRef ref="AUDIT-FILE"/>
-            </Logger>
-            
-            <!-- Set to TRACE to enable access logging for Hot Rod requests -->
-            <Logger name="org.infinispan.HOTROD_ACCESS_LOG" additivity="false" 
level="INFO">
-                <AppenderRef ref="HR-ACCESS-FILE"/>
-            </Logger>
-            
-            <!-- Set to TRACE to enable access logging for REST requests -->
-            <Logger name="org.infinispan.REST_ACCESS_LOG" additivity="false" 
level="INFO">
-                <AppenderRef ref="REST-ACCESS-FILE"/>
-            </Logger>
-            <Logger name="com.arjuna" level="WARN" />
-            <Logger 
name="io.netty.handler.ssl.ApplicationProtocolNegotiationHandler" level="ERROR" 
/>
-        
-        </Loggers>
-    </Configuration>
----
-# Source: infinispan/templates/service.yaml
-apiVersion: v1
-kind: Service
-metadata:
-  name: infinispan
-  annotations:
-    meta.helm.sh/release-name: infinispan
-    meta.helm.sh/release-namespace: default
-  labels:
-    app: infinispan-service
-    clusterName: infinispan
-    helm.sh/chart: infinispan-0.3.1
-    meta.helm.sh/release-name: infinispan
-    meta.helm.sh/release-namespace: default
-    app.kubernetes.io/version: "14.0"
-    app.kubernetes.io/managed-by: Helm
-
-spec:
-  type: ClusterIP
-  ports:
-    - port: 11222
-      protocol: TCP
-      name: infinispan
-  selector:
-    clusterName: infinispan
-    app: infinispan-pod
----
-# Source: infinispan/templates/statefulset.yaml
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
-  name: infinispan
-  labels:
-    clusterName: infinispan
-    helm.sh/chart: infinispan-0.3.1
-    meta.helm.sh/release-name: infinispan
-    meta.helm.sh/release-namespace: default
-    app.kubernetes.io/version: "14.0"
-    app.kubernetes.io/managed-by: Helm
-  annotations:
-    meta.helm.sh/release-name: infinispan
-    meta.helm.sh/release-namespace: default
-    "openshift.io/display-name": "Infinispan Cluster"
-    "openshift.io/documentation-url": "http://infinispan.org/documentation/";
-spec:
-  serviceName: ""
-  replicas: 1
-  selector:
-    matchLabels:
-      app: infinispan-pod
-      clusterName: infinispan
-  template:
-    metadata:
-      annotations:
-        checksum/config: 
ca538163e78ecc00edba4e1673737254437fed9ada3bb7baf487e5c0802b3d15
-        checksum/identities: 
fb28be4f4f777fd60bbc48733fd8087787ba577efcb9616a64f83d1617f6106c
-      labels:
-        app: infinispan-pod
-        clusterName: infinispan
-
-    spec:
-      affinity:
-        podAntiAffinity:
-          preferredDuringSchedulingIgnoredDuringExecution:
-            - podAffinityTerm:
-                labelSelector:
-                  matchLabels:
-                    clusterName: infinispan
-                    app: infinispan-pod
-                topologyKey: kubernetes.io/hostname
-              weight: 100
-
-      containers:
-        - env:
-            - name: JAVA_OPTIONS
-              value:
-            - name: IDENTITIES_BATCH
-              value: /etc/security/identities-batch
-            - name: SERVER_LIBS
-              value:
-          image: $INFINISPAN_IMAGE
-          imagePullPolicy: Always
-          args:
-            - --cluster-name=infinispan
-            - --server-config=/etc/config/infinispan.yml
-            - --logging-config=/etc/config/log4j2.xml
-            - --bind-address=0.0.0.0
-            - -Djgroups.dns.query=infinispan-ping.default.svc.cluster.local
-          ports:
-            - containerPort: 8888
-              name: ping
-              protocol: TCP
-            - containerPort: 11222
-              name: infinispan
-              protocol: TCP
-            - containerPort: 11223
-              name: infinispan-met
-              protocol: TCP
-          livenessProbe:
-            failureThreshold: 5
-            httpGet:
-              path: rest/v2/cache-managers/default/health/status
-              port: 11222
-              scheme: HTTP
-            initialDelaySeconds: 10
-            periodSeconds: 10
-            successThreshold: 1
-            timeoutSeconds: 80
-          name: infinispan
-          readinessProbe:
-            failureThreshold: 5
-            httpGet:
-              path: rest/v2/cache-managers/default/health/status
-              port: 11222
-              scheme: HTTP
-            initialDelaySeconds: 10
-            periodSeconds: 10
-            successThreshold: 1
-            timeoutSeconds: 80
-          startupProbe:
-            failureThreshold: 60
-            httpGet:
-              path: rest/v2/cache-managers/default/health/status
-              port: 11222
-              scheme: HTTP
-            initialDelaySeconds: 10
-            periodSeconds: 10
-            successThreshold: 1
-            timeoutSeconds: 80
-          resources:
-            limits:
-              cpu: 1000m
-              memory: 1Gi
-            requests:
-              cpu: 500m
-              memory: 512Mi
-          volumeMounts:
-            - mountPath: /etc/config
-              name: config-volume
-            - mountPath: /opt/infinispan/server/data
-              name: data-volume
-            - mountPath: /etc/security
-              name: identities-volume
-      volumes:
-        - configMap:
-            name: infinispan-configuration
-          name: config-volume
-        - name: identities-volume
-          secret:
-            secretName: infinispan-secret
-        - name: data-volume
-          emptyDir: { }
-  updateStrategy:
-    type: RollingUpdate

Reply via email to