SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Downloaden Sie, um offline zu lesen
SPLUNK
USER
GROUP
Copyright © 2022 NEXTPART Security Intelligence GmbH. and / or affiliates. All rights reserved.
All data is notional and not subject to confidentiality provisions.
› 2022 Q2
DevOps Perspective
... crafts innovative technologies and provides professional services
with consulting in the areas of information security, optimization of
defense operations and protection of corporate IT infrastructure.
MICHAEL BISCHOF
• Red Bull seit 2016
• FH-Hagenberg
Sichere Informationssysteme & Information Security Management
• NEXTPART seit 2019 (CEO & Co-Founder)
Retrospektive
Wir haben nach effizienteren und effektiveren Wegen gesucht!
›
� Wie arbeiten wir mit Splunk?
� Was tun wir dabei eigentlich?
� Wo arbeiten wir und wo liegen unsere Assets?
� Welche Tools setzen wir dabei ein?
MOTIVATION
› modern DevOps workstyle
🏎️ Schnelle und einfache Entwickelung
(bzw. Testing)
🔁 Synchronisation von Instanzen
(User, Rollen, Indices, Inputs, etc.)
📦 Paketieren und “vetting” von Apps & Add-ons
(lokal & in CI-Pipelines)
Aspekte (/Prinzipien)
› Technologien im Einsatz
Mono-Repository
alle Apps, Add-ons, Config, etc. in
einem Repository
Github
Build & Validate
jede Komponente durchläuft die CI-
Pipeline und generiert Testreports
Azure DevOps
Central Storage
Zentral abgelegte Einstellungen,
Zugänge und Sample-Daten
Vault & Minio
Infrastructure as Code
Entwicklungsumgebung, Pipeline-Agents
und Testsysteme sind Container Images
Ansible &
Packer
Remote Development
Automatisierte & immutable Entwicklung
in der Cloud
Gitpod & K8s
API-First
Nutzung von Schnittstellen wo es nur
geht um Arbeit zu sparen
Splunk-SDK,
Splunkbase,
etc.
> docker run -it 
-v "`pwd`/apps/APP_FOLDER_NAME:/apps/APP_FOLDER_NAME" 
-v "`pwd`/dist:/dist" 
-e "MYUSER=`id -u`" 
nextpart/splunk-package:latest
Package & Validate Apps
Docker Image
― Python Package – Standard von Splunk selbst für lokales Vetting.
(kann zickig mit der Python-Version sein ... >= 3.9 ftw 🚀)
― Ansible Playbook – Installation des Packages und dem provisionieren
eines Entrypoint-Scripts für Clean-Up, Permissions, etc.
― Packer Build – Minimalistische Images ohne Ansible dependency im
container und einfach geil!
🔗https://github.com/nextpart/splunk-utilities
parameters:
- name: Applications
displayName: "Applications to process:"
type: object
default:
- SOCToolkit_nxtp
jobs:
- job: DetermineApps
steps:
# < insert pay-2-win magic here >
- ${{ each app in parameters.Applications }}:
- bash: |
docker run --rm 
-v "$(Build.SourcesDirectory)/apps/${{ app }}:/apps/${{ app }}" 
-v "$(Build.SourcesDirectory)/dist:/dist" 
-e "MYUSER=$(id -u)" $(containerRegistry)/$(package_image)
- task: PublishTestResults@2
inputs:
testResultsFiles: "*.xml"
searchFolder: $(Build.SourcesDirectory)/dist/apps/${{ app }}
- task: PublishHtmlReport@1
inputs:
reportDir: "$(Build.SourcesDirectory)/dist/${{ app }}/Report.html“
- task: UniversalPackages@0
inputs:
publishDirectory: $(Build.SourcesDirectory)/dist/${{ app }}
vstsFeedPublish: $(artifact_feed)
# < insert more pay-2-win magic here >
validate_apps.azure-pipelines.yml
Alle Apps & Add-ons im
Mono-Repo (mit git-subrepos)
werden in einer Pipeline:
⎻ iterativ durchlaufen
⎻ vom Package-Image bereinigt,
packetiert und getestet
⎻ deren XML & HTML - Resultate
hochgeladen
⎻ als Artefakt in den Feed geladen
Resultate des “vetting”- Prozesses
werden in Azure DevOps im
JUNIT-XML
Format für Test-Plans
zum Tracking verwendet.
🔗 https://dev.azure.com/NEXTPART/_git/Splunking?path=/pipelines/github_apps.azure-pipelines.yml
Zusätzlich werden Beschreibung
und Resultate im
Releases
in einer Art “Report” mitgeliefert.
→ Die Ermittlung von Changes zwischen
Commits bzw. PRs reduziert die Anzahl.
All-in-one Tool
SDK & CLI 🔗https://github.com/nextpart/spl-manager
> spl docker start
1. Spin up a local development container:
> spl docker upload --path=“./apps” --app=“SOC*”
2. Put my local application(s) there:
> spl --src="onprem" samples --path="./apps/SA-Eventgen" 
download --name=“SOC-Toolkit Application"
3. Get Eventgen sample data for an instance:
> spl docker download --app=“SOC*"
5. Download apps from development container to local folder:
4. Manipulate configs, searches, dashboards, etc.:
> spl apps --path=“./apps” --name=“SOC*” validate
6. Run AppInspect, Packaging & Cloud-Vetting:
> spl manager --conn=“onprem” users list
7. List various objects or perform operations on an instance:
> spl --src="onprem" --dest=“local“ sync users --create
8. Sync objects and their properties between instances:
> pip install spl-manager
0. Install the tool from python index (and configure it):
Entwicklungsumgebung
Ansible & K8s 🔗https://github.com/nextpart/splunk-workbench
Gitpod
Danke für euer Interesse!
Besonders an Christoph Siess für die geniale Zusammenarbeit.
Sowie das gesamte NTS-Team für die Location
und die Kooperation im gemeinsamen Projekt.
Und natürlich meine NEXTPART-Crew mit der wir jede Aufgabe meistern.

Weitere ähnliche Inhalte

Ähnlich wie Slides__Splunk_UserGroup_20220407.pdf

Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...gedoplan
 
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.Torsten Kleiber
 
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge UnternehmenGewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge UnternehmenBjoern Reinhold
 
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysieren
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysierenDBSAT – Die Oracle DATENBANK bzgl. PII Daten analysieren
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysierenGunther Pippèrr
 
Ist Gradle auch für die APEX-Projekte?
Ist Gradle auch für die APEX-Projekte?Ist Gradle auch für die APEX-Projekte?
Ist Gradle auch für die APEX-Projekte?MT AG
 
Mit LoRaWAN und Serverless zur eigenen Smart-Office-Lösung
Mit LoRaWAN und Serverless zur eigenen Smart-Office-LösungMit LoRaWAN und Serverless zur eigenen Smart-Office-Lösung
Mit LoRaWAN und Serverless zur eigenen Smart-Office-LösungQAware GmbH
 
German: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit JavascriptGerman: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit JavascriptRalf Schwoebel
 
Python builds mit ant
Python builds mit antPython builds mit ant
Python builds mit antroskakori
 
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AGQualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AGTorsten Kleiber
 
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...gedoplan
 
JEE-Microservices mit Quarkus – eine Einführung
JEE-Microservices mit Quarkus – eine EinführungJEE-Microservices mit Quarkus – eine Einführung
JEE-Microservices mit Quarkus – eine Einführunggedoplan
 
Microservices mit Rust
Microservices mit RustMicroservices mit Rust
Microservices mit RustJens Siebert
 
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...Marc Müller
 
C++ Dependency Management 2.0
C++ Dependency Management 2.0C++ Dependency Management 2.0
C++ Dependency Management 2.0Patrick Charrier
 
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperrOracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperrGunther Pippèrr
 
Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)
Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)
Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)NETWAYS
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsQAware GmbH
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsJosef Adersberger
 
PowerShell Sicherheit in 6 Schritten produktiv absichern
PowerShell Sicherheit in 6 Schritten produktiv absichernPowerShell Sicherheit in 6 Schritten produktiv absichern
PowerShell Sicherheit in 6 Schritten produktiv absichernAttila Krick
 

Ähnlich wie Slides__Splunk_UserGroup_20220407.pdf (20)

Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
 
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
 
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge UnternehmenGewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
 
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysieren
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysierenDBSAT – Die Oracle DATENBANK bzgl. PII Daten analysieren
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysieren
 
Ist Gradle auch für die APEX-Projekte?
Ist Gradle auch für die APEX-Projekte?Ist Gradle auch für die APEX-Projekte?
Ist Gradle auch für die APEX-Projekte?
 
Mit LoRaWAN und Serverless zur eigenen Smart-Office-Lösung
Mit LoRaWAN und Serverless zur eigenen Smart-Office-LösungMit LoRaWAN und Serverless zur eigenen Smart-Office-Lösung
Mit LoRaWAN und Serverless zur eigenen Smart-Office-Lösung
 
German: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit JavascriptGerman: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit Javascript
 
Python builds mit ant
Python builds mit antPython builds mit ant
Python builds mit ant
 
Automatisierung mit grunt
Automatisierung mit gruntAutomatisierung mit grunt
Automatisierung mit grunt
 
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AGQualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
 
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
 
JEE-Microservices mit Quarkus – eine Einführung
JEE-Microservices mit Quarkus – eine EinführungJEE-Microservices mit Quarkus – eine Einführung
JEE-Microservices mit Quarkus – eine Einführung
 
Microservices mit Rust
Microservices mit RustMicroservices mit Rust
Microservices mit Rust
 
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
 
C++ Dependency Management 2.0
C++ Dependency Management 2.0C++ Dependency Management 2.0
C++ Dependency Management 2.0
 
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperrOracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
 
Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)
Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)
Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
PowerShell Sicherheit in 6 Schritten produktiv absichern
PowerShell Sicherheit in 6 Schritten produktiv absichernPowerShell Sicherheit in 6 Schritten produktiv absichern
PowerShell Sicherheit in 6 Schritten produktiv absichern
 

Kürzlich hochgeladen

FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationFEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationOPEN KNOWLEDGE GmbH
 
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...Markus Unterauer
 
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...OPEN KNOWLEDGE GmbH
 
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...DNUG e.V.
 
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...DNUG e.V.
 
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudFrom Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudOPEN KNOWLEDGE GmbH
 

Kürzlich hochgeladen (6)

FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationFEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
 
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
 
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
 
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
 
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
 
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudFrom Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
 

Slides__Splunk_UserGroup_20220407.pdf

  • 1. SPLUNK USER GROUP Copyright © 2022 NEXTPART Security Intelligence GmbH. and / or affiliates. All rights reserved. All data is notional and not subject to confidentiality provisions. › 2022 Q2 DevOps Perspective
  • 2. ... crafts innovative technologies and provides professional services with consulting in the areas of information security, optimization of defense operations and protection of corporate IT infrastructure. MICHAEL BISCHOF • Red Bull seit 2016 • FH-Hagenberg Sichere Informationssysteme & Information Security Management • NEXTPART seit 2019 (CEO & Co-Founder)
  • 3. Retrospektive Wir haben nach effizienteren und effektiveren Wegen gesucht! › � Wie arbeiten wir mit Splunk? � Was tun wir dabei eigentlich? � Wo arbeiten wir und wo liegen unsere Assets? � Welche Tools setzen wir dabei ein?
  • 4. MOTIVATION › modern DevOps workstyle 🏎️ Schnelle und einfache Entwickelung (bzw. Testing) 🔁 Synchronisation von Instanzen (User, Rollen, Indices, Inputs, etc.) 📦 Paketieren und “vetting” von Apps & Add-ons (lokal & in CI-Pipelines)
  • 5. Aspekte (/Prinzipien) › Technologien im Einsatz Mono-Repository alle Apps, Add-ons, Config, etc. in einem Repository Github Build & Validate jede Komponente durchläuft die CI- Pipeline und generiert Testreports Azure DevOps Central Storage Zentral abgelegte Einstellungen, Zugänge und Sample-Daten Vault & Minio Infrastructure as Code Entwicklungsumgebung, Pipeline-Agents und Testsysteme sind Container Images Ansible & Packer Remote Development Automatisierte & immutable Entwicklung in der Cloud Gitpod & K8s API-First Nutzung von Schnittstellen wo es nur geht um Arbeit zu sparen Splunk-SDK, Splunkbase, etc.
  • 6. > docker run -it -v "`pwd`/apps/APP_FOLDER_NAME:/apps/APP_FOLDER_NAME" -v "`pwd`/dist:/dist" -e "MYUSER=`id -u`" nextpart/splunk-package:latest Package & Validate Apps Docker Image ― Python Package – Standard von Splunk selbst für lokales Vetting. (kann zickig mit der Python-Version sein ... >= 3.9 ftw 🚀) ― Ansible Playbook – Installation des Packages und dem provisionieren eines Entrypoint-Scripts für Clean-Up, Permissions, etc. ― Packer Build – Minimalistische Images ohne Ansible dependency im container und einfach geil! 🔗https://github.com/nextpart/splunk-utilities
  • 7. parameters: - name: Applications displayName: "Applications to process:" type: object default: - SOCToolkit_nxtp jobs: - job: DetermineApps steps: # < insert pay-2-win magic here > - ${{ each app in parameters.Applications }}: - bash: | docker run --rm -v "$(Build.SourcesDirectory)/apps/${{ app }}:/apps/${{ app }}" -v "$(Build.SourcesDirectory)/dist:/dist" -e "MYUSER=$(id -u)" $(containerRegistry)/$(package_image) - task: PublishTestResults@2 inputs: testResultsFiles: "*.xml" searchFolder: $(Build.SourcesDirectory)/dist/apps/${{ app }} - task: PublishHtmlReport@1 inputs: reportDir: "$(Build.SourcesDirectory)/dist/${{ app }}/Report.html“ - task: UniversalPackages@0 inputs: publishDirectory: $(Build.SourcesDirectory)/dist/${{ app }} vstsFeedPublish: $(artifact_feed) # < insert more pay-2-win magic here > validate_apps.azure-pipelines.yml Alle Apps & Add-ons im Mono-Repo (mit git-subrepos) werden in einer Pipeline: ⎻ iterativ durchlaufen ⎻ vom Package-Image bereinigt, packetiert und getestet ⎻ deren XML & HTML - Resultate hochgeladen ⎻ als Artefakt in den Feed geladen
  • 8. Resultate des “vetting”- Prozesses werden in Azure DevOps im JUNIT-XML Format für Test-Plans zum Tracking verwendet. 🔗 https://dev.azure.com/NEXTPART/_git/Splunking?path=/pipelines/github_apps.azure-pipelines.yml Zusätzlich werden Beschreibung und Resultate im Releases in einer Art “Report” mitgeliefert. → Die Ermittlung von Changes zwischen Commits bzw. PRs reduziert die Anzahl.
  • 9. All-in-one Tool SDK & CLI 🔗https://github.com/nextpart/spl-manager > spl docker start 1. Spin up a local development container: > spl docker upload --path=“./apps” --app=“SOC*” 2. Put my local application(s) there: > spl --src="onprem" samples --path="./apps/SA-Eventgen" download --name=“SOC-Toolkit Application" 3. Get Eventgen sample data for an instance: > spl docker download --app=“SOC*" 5. Download apps from development container to local folder: 4. Manipulate configs, searches, dashboards, etc.: > spl apps --path=“./apps” --name=“SOC*” validate 6. Run AppInspect, Packaging & Cloud-Vetting: > spl manager --conn=“onprem” users list 7. List various objects or perform operations on an instance: > spl --src="onprem" --dest=“local“ sync users --create 8. Sync objects and their properties between instances: > pip install spl-manager 0. Install the tool from python index (and configure it):
  • 10. Entwicklungsumgebung Ansible & K8s 🔗https://github.com/nextpart/splunk-workbench Gitpod
  • 11. Danke für euer Interesse! Besonders an Christoph Siess für die geniale Zusammenarbeit. Sowie das gesamte NTS-Team für die Location und die Kooperation im gemeinsamen Projekt. Und natürlich meine NEXTPART-Crew mit der wir jede Aufgabe meistern.