Skip to main content

A tool to package up your splunk app and deploy it.

Project description

Splunk app packager

The Splunk app packager runs as a cli tool to package your Splunk app, validate the app, and push it to your Splunk instance.

Install splunk-app-packager

$ pip install splunk-app-packager

Run splunk-app-packager

Set environment variables

$ export SPLUNK_USER=<splunk.com user account>
$ export SPLUNK_PASSWORD=<splunk.com user password>
$ export SPLUNK_ACS_TOKEN=<splunkcloud acs token>
$ export SPLUNK_ACS_STACK=<splunkcloud acs stack name>

Create a config.toml file

Create a package_config section within your config.toml file and set the app name and splunk_user name as shown below:

[package_config]
app = "NAME"
environment = ""
version = ""
splunk_user = "SPLUNK_APP_ACCOUNT"

splunk_app_packager will look for a config.toml file in your current working directory, otherwise you can use the --config-path option to specify it's name and location.

CLI arguments

$ sap --help
Usage: splunk_app_packager [OPTIONS] APP_PACKAGE

Options:
  --splunkuser TEXT      The splunk.com username. Can also be set via
                         SPLUNK_USER environment variable  [required]
  --splunkpassword TEXT  The splunk.com password. Can also be set via
                         SPLUNK_PASSWORD environment variable  [required]
  --justvalidate         Provied a package .tag.gz instead of a directory and
                         validate it.
  --prod                 Build a PRODUCTION package
  --nodeploy             Do NOT do the Deploy leg, just validate
  --outfile TEXT         Provied a package .tag.gz instead of a directory and
                         validate it.
  --acs-stack TEXT       The name of the ACS stack. Can also be set via
                         SPLUNK_ACS_STACK environment variable.
  --acs-token TEXT       A bearer token for Splunk ACS. Can also be set via
                         SPLUNK_ACS_TOKEN environment variable.
  --config-path TEXT     A path to the config.toml file.  [required]
  --help                 Show this message and exit.

Example usage

$ sap /path/to/app/folder  --prod

Use as GitHub Action

Example production deployment

name: Production Deployment 

on:
  push:
    branches:
      - main
    paths:
      - APP_NAME/**
  workflow_dispatch:

jobs:
  deploy:

    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4

      - uses: dfe-digital/splunk-app-packager@v0.0.2
        with:
          app_package_path: 'APP_NAME'
          splunk_username: ${{ secrets.SPLUNK_USERNAME }}
          splunk_password: ${{ secrets.SPLUNK_PASSWORD }}
          splunk_acs_token: ${{ secrets.SPLUNK_ACS_TOKEN }}
          splunk_acs_stack: ${{ secrets.SPLUNK_ACS_STACK }}

Example with a different path for config.toml

name: Production Deployment 

on:
  push:
    branches:
      - main
    paths:
      - APP_NAME/**
  workflow_dispatch:

jobs:
  deploy:

    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4

      - uses: dfe-digital/splunk-app-packager@v0.0.2
        with:
          app_package_path: 'APP_NAME'
          splunk_username: ${{ secrets.SPLUNK_USERNAME }}
          splunk_password: ${{ secrets.SPLUNK_PASSWORD }}
          splunk_acs_token: ${{ secrets.SPLUNK_ACS_TOKEN }}
          splunk_acs_stack: ${{ secrets.SPLUNK_ACS_STACK }}
          config_toml_path: 'conf/config.toml' 

Contributing

Refer to our contributing guidelines if you'd like to raise a bug or pull request.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

splunk_app_packager-0.0.5.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

splunk_app_packager-0.0.5-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file splunk_app_packager-0.0.5.tar.gz.

File metadata

  • Download URL: splunk_app_packager-0.0.5.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for splunk_app_packager-0.0.5.tar.gz
Algorithm Hash digest
SHA256 26e734da66bf1ecab21b2be2d209e8c37494d2cd74f24997e2573a149551c901
MD5 b7d11d3126b04dbfabc80eaa1643f594
BLAKE2b-256 b7da4a8840170a8f56b661ab140ab58c6881a688947b25df75c3b1bee6b486ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for splunk_app_packager-0.0.5.tar.gz:

Publisher: release.yml on DFE-Digital/splunk-app-packager

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file splunk_app_packager-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for splunk_app_packager-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 c919b4d0c682772967d0289ea535a56c87a2ea8b07718ba19c66dd202919e00a
MD5 8d9fe25ed6ed36ce58e2d94e10f65fa3
BLAKE2b-256 ab55874228aaf36b592671778aa156e78372341eabc3ad9113a954817af65b84

See more details on using hashes here.

Provenance

The following attestation bundles were made for splunk_app_packager-0.0.5-py3-none-any.whl:

Publisher: release.yml on DFE-Digital/splunk-app-packager

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page