1.3.395 • Published 6 months ago

@manifest-cyber/job-common v1.3.395

Weekly downloads
-
License
UNLICENSED
Repository
github
Last release
6 months ago

job-common

Utilties and functions shared across Manifest backend jobs.

Development

Run the integration tests:

yarn test:vitest:integration

or the unit tests:

yarn test:vitest:unit

Event Logging

Writes to jobLog collection on Mongo:

const thisJobLog = await jobLogWriter(null, '', 'started', 'job-osv-process', trigger);

Message Transports

When executing/calling from one job to another, you can use the logic patterns abstracted in either the messaging or job packages, depending on the granularity level needed.

I/O (src/job / src/job/io) - highest level of abstraction

If you want to enqueue job-sbom-process, then you can use:

// messageClient defined and loaded in scope
// env defined and loaded in scope

const sbomProcessQueue = getSbomProcessQueue(
  env,
  'sqs://example-dev-fallback-queue',
  'sqs://example-prod-fallback-queue',
);
const sbomRef = {
  mongoId: 'the-mongo-id',
  s3FileRef: {
    bucket: 'my-bucket',
    key: '<UUID>.json',
  },
};
enqueueSbomProcess(messageClient, sbomProcessQueue, sbomRef);

Message Client (src/messaging) - lower level abstraction

src/messaging contains Manifest's inter-service messaging client used across it's ecosystem, it currently supports sending and receiving messages via SQS or RabbitMQ through abstracted concepts.

Configuration

Configuration can be done directly via NewMessagingClient with the MessageClientConfiguration or it can be done from NewMessagingClientFromEnv which will delegate to the following environment variables:

KeyDescriptionExample
MFST_MSG_BROKER_URLThe broker URL of the connectionhttps://sqs.us-east-1.amazonaws.com/123456
MFST_MSG_QUEUE_TYPEThe type of queue for messaging (ie. sqs/rabbitmq)sqs
MFST_MSG_CREATE_RESOURCESWhether or not to create queues for messaging transmissiontrue
MFST_MSG_DELETE_WHEN_DONEWhether ot not to delete messages after receipt and handlingfalse
MFST_MSG_INPUT_QUEUE_NAMEThe queue to read from when receiving messagesfoo-bar-queue
MFST_MSG_LOGGINGWhether or not to log message bodies received from payloadstrue
MFST_MSG_TLS_ENABLEWhether or not to enable TLS connections when connecting to the brokerfalse
MFST_MSG_TLS_CA_PATHFilepath to CA (pem)/mnt/certs/ca.pem
MFST_MSG_TLS_CERT_PATHFilepath to TLS cert/mnt/certs/tls.pem
MFST_MSG_TLS_CERT_PASSPHRASEPassphrase for TLS certsupersecret
MFST_MSG_TLS_KEY_PATHFilepath to TLS key/mnt/certs/key.pem

Sending/Receiving messages

  1. Create a message handler to receive messages:
import { Message, MessageHandler } from '@manifest-cyber/job-common';

const messageHandler: MessageHandler = async (message: Message) => {
  try {
    // Check the message.Body, ie. JSON.parse(message.Body)
  } catch (error) {
    log.error('Some error occurred! Oh no!');
  }
};
  1. Create the message client and start it
import { NewMessagingClientFromEnv } from '@manifest-cyber/job-common';

export const messageClient = NewMessagingClientFromEnv(messageHandler, log);
messageClient?.Start();
  1. Assemble the message and send it:
let message = {
  MessageId: id,
  Body: body,
};

messagingClient.SendMessage(queue, message);
1.3.395

6 months ago

1.3.393

6 months ago

1.3.391

6 months ago

1.3.389

6 months ago

1.3.387

6 months ago

1.3.385

6 months ago

1.3.383

6 months ago

1.3.379

6 months ago

1.3.376

6 months ago

1.3.375

6 months ago

1.3.373

6 months ago

1.3.372

7 months ago

1.3.370

7 months ago

1.3.368

7 months ago

1.3.366

7 months ago

1.3.365

7 months ago

1.3.363

7 months ago

1.3.362

7 months ago

1.3.360

7 months ago

1.3.359

7 months ago

1.3.358

7 months ago

1.3.355

7 months ago

1.3.348

7 months ago

1.3.347

7 months ago

1.3.345

7 months ago

1.3.342

8 months ago

1.3.341

8 months ago

1.3.340

8 months ago

1.3.338

8 months ago

1.3.336

8 months ago

1.3.335

8 months ago

1.3.333

9 months ago

1.3.332

9 months ago

1.3.331

9 months ago

1.3.330

9 months ago

1.3.328

9 months ago

1.3.327

9 months ago

1.3.325

9 months ago

1.3.322

9 months ago

1.3.321

9 months ago

1.3.320

9 months ago

1.3.318

9 months ago

1.3.316-1

9 months ago

1.3.316

10 months ago

1.3.314

10 months ago

1.3.313

10 months ago

1.3.311

10 months ago

1.3.310

10 months ago

1.3.309

10 months ago

1.3.308

10 months ago

1.3.306

10 months ago

1.3.304

10 months ago

1.3.302

10 months ago

1.3.300

10 months ago

1.3.297-test-4

10 months ago

1.3.297-test

10 months ago

1.3.299

10 months ago

1.3.297

10 months ago

1.3.294

10 months ago

1.3.293

10 months ago

1.3.292

10 months ago

1.3.291

10 months ago

1.3.290

10 months ago

1.3.289

10 months ago

1.3.287

10 months ago

1.3.286

10 months ago

1.3.283

10 months ago

1.3.281

10 months ago

1.3.278

10 months ago

1.3.277

11 months ago

1.3.275

11 months ago

1.3.273

11 months ago

1.3.271

11 months ago

1.3.269

11 months ago

1.3.267

11 months ago

1.3.264

11 months ago

1.3.262

11 months ago

1.3.261

11 months ago

1.3.259

11 months ago

1.3.257

11 months ago

1.3.255

11 months ago

1.3.254

11 months ago

1.3.253

12 months ago

1.3.251

12 months ago

1.3.250

12 months ago

1.3.248

12 months ago

1.3.246

12 months ago

1.3.245

12 months ago

1.3.242

1 year ago

1.3.241

1 year ago

1.3.240

1 year ago

1.3.239

1 year ago

1.3.238

1 year ago

1.3.237

1 year ago

1.3.236

1 year ago

1.3.235

1 year ago

1.3.234

1 year ago

1.3.231

1 year ago

1.3.229

1 year ago

1.3.227

1 year ago

1.3.225

1 year ago

1.3.223

1 year ago

1.3.222

1 year ago

1.3.220

1 year ago

1.3.217

1 year ago

1.3.216

1 year ago

1.3.214

1 year ago

1.3.212

1 year ago

1.3.211

1 year ago

1.3.210

1 year ago

1.3.207

1 year ago

1.3.205

1 year ago

1.3.203

1 year ago

1.3.202

1 year ago

1.3.200

1 year ago

1.3.199

1 year ago

1.3.198

1 year ago

1.3.196

1 year ago

1.3.194

1 year ago

1.3.192

1 year ago

1.3.189

1 year ago

1.3.188

1 year ago

1.3.186

1 year ago

1.3.185

1 year ago

1.3.184

1 year ago

1.3.183

1 year ago

1.3.181

1 year ago

1.3.179

1 year ago

1.3.178

1 year ago

1.3.175

1 year ago

1.3.174

1 year ago

1.3.172

1 year ago

1.3.171

1 year ago

1.3.167

1 year ago

1.3.165

1 year ago

1.3.163

1 year ago

1.3.160

1 year ago

1.3.158

1 year ago

1.3.156

1 year ago

1.3.154

1 year ago

1.3.152

1 year ago

1.3.151

1 year ago

1.3.150

1 year ago

1.3.149

1 year ago

1.3.147

1 year ago

1.3.142

1 year ago

1.3.141

1 year ago

1.3.139

1 year ago

1.3.137

1 year ago

1.3.136

1 year ago

1.3.133

1 year ago

1.3.130

1 year ago

1.3.129

1 year ago

1.3.127

1 year ago

1.3.124

1 year ago

1.3.122

1 year ago

1.3.120

1 year ago

1.3.118

1 year ago

1.3.117

1 year ago

1.3.113

1 year ago

1.3.111

1 year ago

1.3.109

1 year ago

1.3.108

1 year ago

1.3.107

1 year ago

1.3.102

1 year ago

1.3.100

1 year ago

1.3.99

1 year ago

1.3.98

1 year ago

1.3.96

1 year ago

1.3.94

1 year ago

1.3.92

1 year ago

1.3.90

1 year ago

1.3.87

1 year ago

1.3.85

1 year ago

1.3.84

1 year ago

1.3.82

1 year ago

1.3.79

1 year ago

1.3.77

1 year ago

1.3.75

1 year ago

1.3.73

1 year ago

1.3.70

1 year ago

1.3.68

1 year ago

1.3.64

1 year ago

1.3.61

2 years ago

1.3.59

2 years ago

1.3.57

2 years ago

1.3.56

2 years ago

1.3.55

2 years ago

1.3.52

2 years ago

1.3.50

2 years ago

1.3.49

2 years ago

1.3.47

2 years ago

1.3.44

2 years ago

1.3.42

2 years ago

1.3.41

2 years ago

1.3.40

2 years ago

1.3.38

2 years ago

1.3.33

2 years ago

1.3.32

2 years ago

1.3.28

2 years ago

1.3.26

2 years ago

1.3.24

2 years ago

1.3.23

2 years ago

1.3.17

2 years ago

1.3.14

2 years ago

1.3.12

2 years ago

1.3.11

2 years ago

1.3.10

2 years ago

1.3.9

2 years ago

1.3.8

2 years ago

1.3.5

2 years ago

1.3.4

2 years ago

1.3.3

2 years ago

1.3.2

2 years ago

1.3.1

2 years ago

1.2.23

2 years ago

1.2.22

2 years ago

1.2.21

2 years ago

1.2.20

2 years ago

1.2.19

2 years ago

1.2.18

2 years ago

1.2.16

2 years ago

1.2.12

2 years ago

1.2.11

2 years ago

1.2.10

2 years ago

1.2.8

2 years ago

1.2.7

2 years ago

1.2.6

2 years ago

1.2.4

2 years ago

1.2.3

2 years ago

1.2.2

2 years ago

1.2.1

2 years ago

1.2.0

2 years ago

1.1.74

2 years ago

1.1.72

2 years ago

1.1.69

2 years ago

1.1.68

2 years ago

1.1.65

2 years ago

1.1.64

2 years ago

1.1.63

2 years ago

1.1.62

2 years ago

1.1.59

2 years ago

1.1.57

2 years ago

1.1.56

2 years ago

1.1.55

2 years ago

1.1.54

2 years ago

1.1.53

2 years ago

1.1.52

2 years ago

1.1.51

2 years ago

1.1.50

2 years ago

1.1.47

2 years ago

1.1.45

2 years ago

1.1.44

2 years ago

1.1.43

2 years ago

1.1.42

2 years ago

1.1.41

2 years ago

1.1.40

2 years ago

1.1.39

2 years ago

1.1.38

2 years ago

1.1.37

2 years ago

1.1.36

2 years ago

1.1.34

2 years ago

1.1.31

2 years ago

1.1.21

2 years ago

1.1.20

2 years ago

1.1.17

2 years ago

1.1.15

2 years ago

1.1.14

2 years ago

1.1.12

2 years ago

1.1.9

2 years ago

1.1.6

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.1

2 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.13

2 years ago

1.0.12

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.7

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago

0.0.18

3 years ago

0.0.17

3 years ago

0.0.16

3 years ago

0.0.15

3 years ago

0.0.14

3 years ago

0.0.13

3 years ago

0.0.12

3 years ago

0.0.11

3 years ago

0.0.10

3 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago