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.6.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.6-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: splunk_app_packager-0.0.6.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.6.tar.gz
Algorithm Hash digest
SHA256 c19ca92ae910efe1fd304d7a965f59bc269b6266bae050371f1a1118264b9dd4
MD5 ebb898017ed7832e1683b8475312432e
BLAKE2b-256 a5cbc41ac4da33b4aa5b6d7d9c0151c4e33e8404d82b4c3b6f74e70f737fc636

See more details on using hashes here.

Provenance

The following attestation bundles were made for splunk_app_packager-0.0.6.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.6-py3-none-any.whl.

File metadata

File hashes

Hashes for splunk_app_packager-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 ccf612ce06d6ee5d9b09036ed599bcbd629130f54282f171d36f9b05a9786893
MD5 f7e5e50b73960fa2e583da9c7d770f68
BLAKE2b-256 470e7b78a6040a74d26e5f8b5edb360e07d9203b1085e56be213418c89aba708

See more details on using hashes here.

Provenance

The following attestation bundles were made for splunk_app_packager-0.0.6-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