Development
The following table suggests end-to-end development pipeline.
Item | What | Comment | |
---|---|---|---|
1 | Env preparation | Install Indeni server |
|
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 |
| |
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 https://indeni.atlassian.net/wiki/spaces/IKP/pages/769130623 for info | |
9 | Python parser script |
Parsing techniques:
Then handle data using https://indeni.atlassian.net/wiki/spaces/IKP/pages/805929061
Search | |
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 See the indeni-knowledge/rules/templatebased folder for examples
| |
11 | These are workflows written in indeni-workflow block language. | ||
12 | Write Unit testing |
| |
13 | Write Integration testing (ATE only) |
| |
14 | Manually trigger an alert to see if everything is working. | ||
15 | Trigger Playbook |
| |
16 | Test | command-runner test create <IND file> <test name> <input file> | |
17 | Test against real device |
| |
18 | Sanity | Mandatory checks (for PR, and when build is ready)
| |
19 | Code Integration | Commit | is a comprehensive guide on all the remaining steps. |
20 | Push |
| |
21 | Create Pull Request |
| |
22 | Pull Request review (PR review) |
| |
23 | Merge |
| |
24 | Create PR for existing code, to another branch | Follow these steps: Find the commit id. Right click on this commit ID, and choose to create patch. 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: Then, add the files to your local branch (git add…), commit and push. | |
25 | Run sanity testing with the new build |
| |
26 | Close JIRA issue |
|
For a more in-depth explanation of many of the above steps, see below