xk6-kafka: ERRO[0002] GoError: Failed to decode JKS file: /test/833/truststore.jks, OriginalError: %!w(*errors.errorString=&{got invalid magic}) running at github.com/grafana/xk6-kafka.(*Kafka).loadJKSFunction-fm (native)
@mostafa I am getting an error while running the xk6 script. Below is the script and the error. Please help here. Thanks
import {
LoadJKS,
TLS_1_2
} from "k6/x/kafka";
import {
Writer,
Reader,
Connection,
SchemaRegistry,
SCHEMA_TYPE_JSON,
SASL_SCRAM_SHA512
} from "k6/x/kafka";
import VaultManager from './VaultManager.js';
export let options = {
stages: [{
target: 1,
duration: '30s'
}
],
};
export const vault = new VaultManager(' Platform', 'DEV');
let offset = -1;
// partition and groupId are mutually exclusive
let partition = 0;
let numPartitions = 1;
let replicationFactor = 1;
let username = "";
let password = "";
let passwordToAccessTrustore = "";
let saslConfig = {};
let writer;
let reader;
let connection;
export function setup() {
console.log('Inside setup function ');
username = vault.getSecretFromVault("USERNAME");
password = vault.getSecretFromVault("PASSWORD");
passwordToAccessTrustore = vault.getSecretFromVault("PASSWORD-JKS");
}
export function initializeCredentials() {
console.log('Inside initializeCredentials function');
if (!username || !password || !passwordToAccessTrustore) {
username = vault.getSecretFromVault("USERNAME");
password = vault.getSecretFromVault("PASSWORD");
passwordToAccessTrustore = vault.getSecretFromVault("PASSWORD-JKS");
saslConfig = {
username: username,
password: password,
algorithm: SASL_SCRAM_SHA512
};
console.log('saslConfig = ' + saslConfig);
}
}
const trustStoreUrl = vault.getIPaceEnvConfig().getValueFromEnvFor('ROOTDIR')+'/truststore.jks';
console.log('trustStoreUrl ==' + trustStoreUrl)
export default function(data) {
initializeCredentials();
const jks = LoadJKS({
path: trustStoreUrl,
password: passwordToAccessTrustore,
clientCertAlias: "kafka",
clientKeyAlias: "kafka",
clientKeyPassword: passwordToAccessTrustore,
serverCaAlias: "server",
});
const tlsConfig = {
enableTls: true,
insecureSkipTlsVerify: true,
minVersion: TLS_1_2,
clientCertPem: jks["clientCertsPem"][0], // The first certificate in the chain
clientKeyPem: jks["clientKeyPem"],
serverCaPem: jks["serverCaPem"],
};
const brokers = ["digital.net:443"];
const topic = "internal.any.v1";
const schemaRegistry = new SchemaRegistry();
writer = new Writer({
brokers: brokers,
topic: topic,
sasl: saslConfig,
partition: partition,
tls: tlsConfig,
});
reader = new Reader({
brokers: brokers,
topic: topic,
partition: partition,
offset: offset,
sasl: saslConfig,
tls: tlsConfig,
});
connection = new Connection({
address: brokers[0],
sasl: saslConfig,
tls: tlsConfig,
});
let messages = [{
key: schemaRegistry.serialize({
data: {
correlationId: "test-id-abc-" + 1,
},
schemaType: SCHEMA_TYPE_JSON,
}),
value: schemaRegistry.serialize({
data: {
templateId: 5,
testId: 4,
status: "deactive",
message: "Hi, I am testing",
},
schemaType: SCHEMA_TYPE_JSON,
}),
}];
writer.produce({
messages: messages,
});
let mesg = reader.consume({
limit: 10,
});
console.log("correlation=====>>>", schemaRegistry.deserialize({
data: mesg[0].key,
schemaType: SCHEMA_TYPE_JSON,
}).correlationId);
console.log("schema------>>>>>", schemaRegistry.deserialize({
data: messages[0].value,
schemaType: SCHEMA_TYPE_JSON,
}));
}
export function teardown() {
if (writer) writer.close();
if (reader) reader.close();
if (connection) connection.close();
}
error `ERRO[0002] GoError: Failed to decode JKS file: /test/833/truststore.jks, OriginalError: %!w(*errors.errorString=&{got invalid magic})
running at github.com/grafana/xk6-kafka.(*Kafka).loadJKSFunction-fm (native)`
About this issue
- Original URL
- State: closed
- Created a year ago
- Comments: 15 (8 by maintainers)
@mostafa i am using the same ./k6 version in dev, and have the docker image also the way it is mentioned in this doc. still i get this error
@mostafa i will use the same version for xk6 and k6 that i am using in local. will update once i have done this, if issue persists