I'm trying to create a WSO2 APIM on my K8S, but I'm receiving an error when my pod starts, I receive the error using mysql and postgresql. I'm using overlay file.
Here is the pod error log, my overlay file and the list of jars inside of container.
wso2.log (error)
Caused by: java.sql.SQLException: Unable to load class: .postgresql.Driver from ClassLoader:.eclipse.osgi.internal.loader.EquinoxClassLoader@1bb3ba67[jdbc-pool:9.0.65.wso2v1(id=115)];ClassLoader:.eclipse.osgi.internal.framework.ContextFinder@2f66f0d0| at .apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:316) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:228) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:769) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:697) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:198) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:134) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .wso2.carbon.user.core.util.DatabaseUtil.getDBConnection(DatabaseUtil.java:1057) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.util.UserCoreUtil.persistDomain(UserCoreUtil.java:913) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.AbstractUserStoreManager.persistDomain(AbstractUserStoreManager.java:9432) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:345) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:276) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.UniqueIDJDBCUserStoreManager.<init>(UniqueIDJDBCUserStoreManager.java:132) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) ~[?:?]| at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502) ~[?:?]| at java.lang.reflect.Constructor.newInstance(Constructor.java:486) ~[?:?]| at .wso2.carbon.user.coremon.DefaultRealm.createObjectWithOptions(DefaultRealm.java:356) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealm.initializeObjects(DefaultRealm.java:231) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealm.init(DefaultRealm.java:136) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealmService.initializeRealm(DefaultRealmService.java:276) ~[.wso2.carbon.user.core_4.9.27.jar:?]| ... 22 more|Caused by: java.lang.ClassNotFoundException: Unable to load class: .postgresql.Driver from ClassLoader:.eclipse.osgi.internal.loader.EquinoxClassLoader@1bb3ba67[jdbc-pool:9.0.65.wso2v1(id=115)];ClassLoader:.eclipse.osgi.internal.framework.ContextFinder@2f66f0d0| at .apache.tomcat.jdbc.pool.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:56) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:305) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:228) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:769) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:697) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:198) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:134) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .wso2.carbon.user.core.util.DatabaseUtil.getDBConnection(DatabaseUtil.java:1057) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.util.UserCoreUtil.persistDomain(UserCoreUtil.java:913) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.AbstractUserStoreManager.persistDomain(AbstractUserStoreManager.java:9432) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:345) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:276) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.UniqueIDJDBCUserStoreManager.<init>(UniqueIDJDBCUserStoreManager.java:132) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) ~[?:?]| at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502) ~[?:?]| at java.lang.reflect.Constructor.newInstance(Constructor.java:486) ~[?:?]| at .wso2.carbon.user.coremon.DefaultRealm.createObjectWithOptions(DefaultRealm.java:356) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealm.initializeObjects(DefaultRealm.java:231) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealm.init(DefaultRealm.java:136) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealmService.initializeRealm(DefaultRealmService.java:276) ~[.wso2.carbon.user.core_4.9.27.jar:?]| ... 22 more|Caused by: java.lang.ClassNotFoundException: .postgresql.Driver| at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[?:?]| at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[?:?]| at java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[?:?]| at .eclipse.osgi.internal.framework.ContextFinder.loadClass(ContextFinder.java:139) ~[.eclipse.osgi_3.14.0.v20190517-1309.jar:?]| at java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[?:?]| at java.lang.Class.forName0(Native Method) ~[?:?]| at java.lang.Class.forName(Class.java:534) ~[?:?]| at java.lang.Class.forName(Class.java:513) ~[?:?]| at .apache.tomcat.jdbc.pool.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:38) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:305) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:228) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:769) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:697) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:198) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:134) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .wso2.carbon.user.core.util.DatabaseUtil.getDBConnection(DatabaseUtil.java:1057) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.util.UserCoreUtil.persistDomain(UserCoreUtil.java:913) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.AbstractUserStoreManager.persistDomain(AbstractUserStoreManager.java:9432) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:345) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:276) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.UniqueIDJDBCUserStoreManager.<init>(UniqueIDJDBCUserStoreManager.java:132) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) ~[?:?]| at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502) ~[?:?]| at java.lang.reflect.Constructor.newInstance(Constructor.java:486) ~[?:?]| at .wso2.carbon.user.coremon.DefaultRealm.createObjectWithOptions(DefaultRealm.java:356) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealm.initializeObjects(DefaultRealm.java:231) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealm.init(DefaultRealm.java:136) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealmService.initializeRealm(DefaultRealmService.java:276) ~[.wso2.carbon.user.core_4.9.27.jar:?]| ... 22 more|
overlay.yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: wso2
namespace: wso2
annotations:
argocd.argoproj.io/sync-wave: "15"
spec:
ignoreDifferences:
- group: apps
kind: StatefulSet
jsonPointers:
- /spec/volumeClaimTemplates
destination:
namespace: wso2
server:
source:
helm:
values: >-
aws:
enabled: false
azure:
enabled: false
gcp:
enabled: false
kubernetes:
ingressClass: "ingress-nginx-external"
ingress:
tlsSecret: "wso2-tls"
management:
enabled: true
hostname: "am.wso2.domain"
annotations:
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
nginx.ingress.kubernetes.io/affinity: "cookie"
nginx.ingress.kubernetes.io/session-cookie-name: "route"
nginx.ingress.kubernetes.io/session-cookie-hash: "sha1"
gateway:
enabled: true
hostname: "gw.wso2.domain"
annotations:
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
nginx.ingress.kubernetes.io/proxy-buffering: "on"
nginx.ingress.kubernetes.io/proxy-buffer-size: "8k"
websocket:
enabled: true
hostname: "websocket.wso2.domain"
annotations:
websub:
enabled: true
hostname: "websub.wso2.domain"
annotations:
securityContext:
runAsUser: 10001
runAsGroup: 10001
wso2:
apim:
version: "4.4.0"
secureVaultEnabled: false
configurations:
gatewayType: "Regular"
userStore:
type: "database_unique_id"
properties:
# key: value
adminUsername: "example"
adminPassword: "password"
databases:
type: "postgres"
jdbc:
driver: ".postgresql.Driver"
apim_db:
url: "jdbc:postgresql://postgresql.database.svc.cluster.local:5432/wso2db_apim"
username: "example"
password: "password"
poolParameters:
defaultAutoCommit: false
testOnBorrow: true
testWhileIdle: true
validationInterval: 30000
maxActive: 100
maxWait: 60000
minIdle: 5
shared_db:
url: "jdbc:postgresql://postgresql.database.svc.cluster.local:5432/wso2db_shared"
username: "example"
password: "password"
poolParameters:
defaultAutoCommit: false
testOnBorrow: true
testWhileIdle: true
validationInterval: 30000
maxActive: 100
maxWait: 60000
minIdle: 5
ai:
enabled: false
security:
keystores:
primary:
enabled: false
tls:
enabled: true
name: "example.jks"
alias: "example"
password: "password"
keyPassword: "password"
internal:
enabled: false
truststore:
name: "example.jks"
password: "password"
gateway:
environments:
- name: "Development"
type: "sandbox"
gatewayType: "Regular"
provider: "wso2"
displayInApiConsole: true
description: "This is a development gateway that handles sandbox token traffic."
showAsTokenEndpointUrl: true
serviceName: "wso2-gateway-service"
servicePort: 9443
wsHostname: "websocket.wso2.domain"
httpHostname: "gw.wso2.domain"
websubHostname: "websub.wso2.domain"
syncRuntimeArtifacts:
gateway:
labels: ["Default"]
iskm:
enabled: false
jwt:
enabled: false
cache:
gateway_token:
enabled: true
expiryTime: "15m"
resource:
enabled: true
expiryTime: "900s"
km_token:
enabled: true
expiryTime: "15m"
recent_apis:
enabled: false
scopes:
enabled: false
publisher_roles:
enabled: false
jwt_claim:
enabled: true
expiryTime: "15m"
tags:
enabled: true
expiryTime: "2m"
oauth_config:
# -- Remove auth header from outgoing requests
removeOutboundAuthHeader: true
# -- OAuth authorization header name
authHeader: "Authorization"
# -- OAuth revoke endpoint
revokeEndpoint: ""
# -- Enable token encryption
enableTokenEncryption: false
# -- Enable token hashing
enableTokenHashing: false
oauth2JWKSUrl: ""
cors:
enabled: true
allowOrigins: ["*"]
allowMethods: ["GET","PUT","POST","DELETE","PATCH","OPTIONS"]
allowHeaders: ["authorization","Access-Control-Allow-Origin","Content-Type","SOAPAction","apikey","Internal-Key"]
allowCredentials: false
enableForWS: false
workflow:
enable: false
deployment:
image:
registry: "docker.io"
repository: "wso2/wso2am:4.0.0"
digest: "sha256:09116b6e248aa0caa0fa66f6a476acb3825bdf6f75267d0dffe9e9261a01d405"
imagePullPolicy: Always
resources:
jvm:
memory:
xms: "2048m"
xmx: "2048m"
startupProbe:
initialDelaySeconds: 240
periodSeconds: 20
failureThreshold: 5
livenessProbe:
initialDelaySeconds: 240
periodSeconds: 20
failureThreshold: 5
readinessProbe:
initialDelaySeconds: 240
periodSeconds: 20
failureThreshold: 5
lifecycle:
preStopHook:
sleepSeconds: 10
minAvailable: "50%"
nodeSelector:
dedicated: "wso2"
persistence:
solrIndexing:
enabled: false
pod files enter image description here
I tried to updload the .jar copying manually.
kubectl cp postgresql-42.7.5.jar wso2-wso2am-all-in-one-am-deployment-pod:/home/wso2carbon/wso2am-4.4.0/lib/ -n wso2
I tried to map a volume with the .jar, but I received a lot of errors about the deployment name.
I'm trying to create a WSO2 APIM on my K8S, but I'm receiving an error when my pod starts, I receive the error using mysql and postgresql. I'm using overlay file.
Here is the pod error log, my overlay file and the list of jars inside of container.
wso2.log (error)
Caused by: java.sql.SQLException: Unable to load class: .postgresql.Driver from ClassLoader:.eclipse.osgi.internal.loader.EquinoxClassLoader@1bb3ba67[jdbc-pool:9.0.65.wso2v1(id=115)];ClassLoader:.eclipse.osgi.internal.framework.ContextFinder@2f66f0d0| at .apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:316) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:228) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:769) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:697) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:198) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:134) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .wso2.carbon.user.core.util.DatabaseUtil.getDBConnection(DatabaseUtil.java:1057) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.util.UserCoreUtil.persistDomain(UserCoreUtil.java:913) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.AbstractUserStoreManager.persistDomain(AbstractUserStoreManager.java:9432) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:345) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:276) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.UniqueIDJDBCUserStoreManager.<init>(UniqueIDJDBCUserStoreManager.java:132) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) ~[?:?]| at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502) ~[?:?]| at java.lang.reflect.Constructor.newInstance(Constructor.java:486) ~[?:?]| at .wso2.carbon.user.coremon.DefaultRealm.createObjectWithOptions(DefaultRealm.java:356) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealm.initializeObjects(DefaultRealm.java:231) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealm.init(DefaultRealm.java:136) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealmService.initializeRealm(DefaultRealmService.java:276) ~[.wso2.carbon.user.core_4.9.27.jar:?]| ... 22 more|Caused by: java.lang.ClassNotFoundException: Unable to load class: .postgresql.Driver from ClassLoader:.eclipse.osgi.internal.loader.EquinoxClassLoader@1bb3ba67[jdbc-pool:9.0.65.wso2v1(id=115)];ClassLoader:.eclipse.osgi.internal.framework.ContextFinder@2f66f0d0| at .apache.tomcat.jdbc.pool.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:56) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:305) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:228) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:769) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:697) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:198) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:134) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .wso2.carbon.user.core.util.DatabaseUtil.getDBConnection(DatabaseUtil.java:1057) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.util.UserCoreUtil.persistDomain(UserCoreUtil.java:913) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.AbstractUserStoreManager.persistDomain(AbstractUserStoreManager.java:9432) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:345) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:276) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.UniqueIDJDBCUserStoreManager.<init>(UniqueIDJDBCUserStoreManager.java:132) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) ~[?:?]| at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502) ~[?:?]| at java.lang.reflect.Constructor.newInstance(Constructor.java:486) ~[?:?]| at .wso2.carbon.user.coremon.DefaultRealm.createObjectWithOptions(DefaultRealm.java:356) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealm.initializeObjects(DefaultRealm.java:231) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealm.init(DefaultRealm.java:136) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealmService.initializeRealm(DefaultRealmService.java:276) ~[.wso2.carbon.user.core_4.9.27.jar:?]| ... 22 more|Caused by: java.lang.ClassNotFoundException: .postgresql.Driver| at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[?:?]| at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[?:?]| at java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[?:?]| at .eclipse.osgi.internal.framework.ContextFinder.loadClass(ContextFinder.java:139) ~[.eclipse.osgi_3.14.0.v20190517-1309.jar:?]| at java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[?:?]| at java.lang.Class.forName0(Native Method) ~[?:?]| at java.lang.Class.forName(Class.java:534) ~[?:?]| at java.lang.Class.forName(Class.java:513) ~[?:?]| at .apache.tomcat.jdbc.pool.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:38) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:305) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:228) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:769) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:697) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:198) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:134) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .wso2.carbon.user.core.util.DatabaseUtil.getDBConnection(DatabaseUtil.java:1057) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.util.UserCoreUtil.persistDomain(UserCoreUtil.java:913) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.AbstractUserStoreManager.persistDomain(AbstractUserStoreManager.java:9432) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:345) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:276) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.UniqueIDJDBCUserStoreManager.<init>(UniqueIDJDBCUserStoreManager.java:132) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) ~[?:?]| at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502) ~[?:?]| at java.lang.reflect.Constructor.newInstance(Constructor.java:486) ~[?:?]| at .wso2.carbon.user.coremon.DefaultRealm.createObjectWithOptions(DefaultRealm.java:356) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealm.initializeObjects(DefaultRealm.java:231) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealm.init(DefaultRealm.java:136) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealmService.initializeRealm(DefaultRealmService.java:276) ~[.wso2.carbon.user.core_4.9.27.jar:?]| ... 22 more|
overlay.yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: wso2
namespace: wso2
annotations:
argocd.argoproj.io/sync-wave: "15"
spec:
ignoreDifferences:
- group: apps
kind: StatefulSet
jsonPointers:
- /spec/volumeClaimTemplates
destination:
namespace: wso2
server: https://kubernetes.default.svc
source:
helm:
values: >-
aws:
enabled: false
azure:
enabled: false
gcp:
enabled: false
kubernetes:
ingressClass: "ingress-nginx-external"
ingress:
tlsSecret: "wso2-tls"
management:
enabled: true
hostname: "am.wso2.domain"
annotations:
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
nginx.ingress.kubernetes.io/affinity: "cookie"
nginx.ingress.kubernetes.io/session-cookie-name: "route"
nginx.ingress.kubernetes.io/session-cookie-hash: "sha1"
gateway:
enabled: true
hostname: "gw.wso2.domain"
annotations:
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
nginx.ingress.kubernetes.io/proxy-buffering: "on"
nginx.ingress.kubernetes.io/proxy-buffer-size: "8k"
websocket:
enabled: true
hostname: "websocket.wso2.domain"
annotations:
websub:
enabled: true
hostname: "websub.wso2.domain"
annotations:
securityContext:
runAsUser: 10001
runAsGroup: 10001
wso2:
apim:
version: "4.4.0"
secureVaultEnabled: false
configurations:
gatewayType: "Regular"
userStore:
type: "database_unique_id"
properties:
# key: value
adminUsername: "example"
adminPassword: "password"
databases:
type: "postgres"
jdbc:
driver: ".postgresql.Driver"
apim_db:
url: "jdbc:postgresql://postgresql.database.svc.cluster.local:5432/wso2db_apim"
username: "example"
password: "password"
poolParameters:
defaultAutoCommit: false
testOnBorrow: true
testWhileIdle: true
validationInterval: 30000
maxActive: 100
maxWait: 60000
minIdle: 5
shared_db:
url: "jdbc:postgresql://postgresql.database.svc.cluster.local:5432/wso2db_shared"
username: "example"
password: "password"
poolParameters:
defaultAutoCommit: false
testOnBorrow: true
testWhileIdle: true
validationInterval: 30000
maxActive: 100
maxWait: 60000
minIdle: 5
ai:
enabled: false
security:
keystores:
primary:
enabled: false
tls:
enabled: true
name: "example.jks"
alias: "example"
password: "password"
keyPassword: "password"
internal:
enabled: false
truststore:
name: "example.jks"
password: "password"
gateway:
environments:
- name: "Development"
type: "sandbox"
gatewayType: "Regular"
provider: "wso2"
displayInApiConsole: true
description: "This is a development gateway that handles sandbox token traffic."
showAsTokenEndpointUrl: true
serviceName: "wso2-gateway-service"
servicePort: 9443
wsHostname: "websocket.wso2.domain"
httpHostname: "gw.wso2.domain"
websubHostname: "websub.wso2.domain"
syncRuntimeArtifacts:
gateway:
labels: ["Default"]
iskm:
enabled: false
jwt:
enabled: false
cache:
gateway_token:
enabled: true
expiryTime: "15m"
resource:
enabled: true
expiryTime: "900s"
km_token:
enabled: true
expiryTime: "15m"
recent_apis:
enabled: false
scopes:
enabled: false
publisher_roles:
enabled: false
jwt_claim:
enabled: true
expiryTime: "15m"
tags:
enabled: true
expiryTime: "2m"
oauth_config:
# -- Remove auth header from outgoing requests
removeOutboundAuthHeader: true
# -- OAuth authorization header name
authHeader: "Authorization"
# -- OAuth revoke endpoint
revokeEndpoint: ""
# -- Enable token encryption
enableTokenEncryption: false
# -- Enable token hashing
enableTokenHashing: false
oauth2JWKSUrl: ""
cors:
enabled: true
allowOrigins: ["*"]
allowMethods: ["GET","PUT","POST","DELETE","PATCH","OPTIONS"]
allowHeaders: ["authorization","Access-Control-Allow-Origin","Content-Type","SOAPAction","apikey","Internal-Key"]
allowCredentials: false
enableForWS: false
workflow:
enable: false
deployment:
image:
registry: "docker.io"
repository: "wso2/wso2am:4.0.0"
digest: "sha256:09116b6e248aa0caa0fa66f6a476acb3825bdf6f75267d0dffe9e9261a01d405"
imagePullPolicy: Always
resources:
jvm:
memory:
xms: "2048m"
xmx: "2048m"
startupProbe:
initialDelaySeconds: 240
periodSeconds: 20
failureThreshold: 5
livenessProbe:
initialDelaySeconds: 240
periodSeconds: 20
failureThreshold: 5
readinessProbe:
initialDelaySeconds: 240
periodSeconds: 20
failureThreshold: 5
lifecycle:
preStopHook:
sleepSeconds: 10
minAvailable: "50%"
nodeSelector:
dedicated: "wso2"
persistence:
solrIndexing:
enabled: false
pod files enter image description here
I tried to updload the .jar copying manually.
kubectl cp postgresql-42.7.5.jar wso2-wso2am-all-in-one-am-deployment-pod:/home/wso2carbon/wso2am-4.4.0/lib/ -n wso2
I tried to map a volume with the .jar, but I received a lot of errors about the deployment name.
Share Improve this question edited Feb 4 at 17:51 David Maze 160k45 gold badges244 silver badges287 bronze badges asked Feb 4 at 17:08 Petterson OlivaPetterson Oliva 12 bronze badges1 Answer
Reset to default 0Files that we are adding/copying to containers will not persist and will be lost when the container/pod rollout.
Therefore, you need to persist the jdbc connector jar files by using config maps or using persistent Volumes.
For further info please refer to [1].
[1] https://shiranm.medium/persisting-custom-implementations-on-wso2-products-in-kubernetes-deployments-af92f520dc35