Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The following table suggests end-to-end development pipeline.

Item

What

Comment

1

Env preparation

Install Indeni server

  • Install VMWare from here

  • Download Indeni .ova from here

  • See this guide on how to run the server and log in to it.

2

Install end device

end device = CHKP / PAN / etc security gateway

See this guide on how to install a new device for monitoring

3

GIT/JIRA - start

Create JIRA issue

Keep the JIRA issue + headline

4

GIT clone indeni-knowledge

  • Create an ssh key for your computer/bitbucket account by following this tutorial

  • Run

    Code Block
    git clone git@bitbucket.org:indeni/indeni-knowledge.git

5

Create feature branch

https://indeni.atlassian.net/wiki/spaces/IKP/pages/822018065/Working+with+Tickets+and+Branches This page will guide you through working with GIT

6

Development

Create IND directory

Directory will contain the files you write for the ADE

7

End-to-end ADE - summary & hands-on

Step by step guide for creating ADE + troubleshooting.

8

Create collection YAML (ADE)

See the “Ind file“ section of Split Ind Summary for info

9

Python parser script

Parsing techniques:

Then handle data using Python Parser Tutorial

Searchtype: PYTHONin indeni-knowledge/parsers for examples

10

Write rule - YAML

If a rule templated exists - use it.

If not, the server team can either create a new template or write the rule in SCALA.

See Rules: Templates

See the indeni-knowledge/rules/templatebased folder for examples

/wiki/spaces/IS/pages/678854660

11

Write triage playbook (ATE)

These are workflows written in indeni-workflow block language.
See the indeni-knowledge/automation/workflows folder for examples

12

Write Unit testing

13

Write Integration testing (ATE only)

14

Trigger Alert

Manually trigger an alert to see if everything is working.

15

Trigger Playbook

16

Test

Create Test directory

command-runner test create <IND file> <test name> <input file>

17

Test against real device

  • Copy new files to appropriate place in /usr/share/indeni-knowledge/overwrite/ on the indeni server

  • Restart the indeni-collector service on the indeni server

18

Sanity

Mandatory checks (for PR, and when build is ready)

  • Validate the code is integrated

  • Validate metric exist and values are as expected

  • Validate rule exists in Knowledge Explorer

  • Validate alert is created

19

Code Integration

Commit

https://indeni.atlassian.net/wiki/spaces/IKP/pages/822018065/Working+with+Tickets+and+Branches is a comprehensive guide on all the remaining steps.

20

Push

21

Create Pull Request

22

Pull Request review (PR review)

Code Review / Pull Requests requirements

23

Merge

24

Create PR for existing code, to another branch

Follow these steps:

Find the commit id.
Create new branch from the target branch you would like to push into.
Checkout to this branch locally.
In “source-tree”, find the commit ID.
Example:

Image Added

Right click on this commit ID, and choose to create patch.
Example:

Image Added

After the new file patch created, use the Action —> “apply patch”. Make sure you are doing so, after your checked out to the desired branch, in which you would like to issue PR from:

Image Added

Then, add the files to your local branch (git add…), commit and push.
When creating the new PR, make sure to specify the correct version you would like to integrate into.

25

Run sanity testing with the new build

26

Close JIRA issue

...