Skip to main content

Splunk Add-on SDK formerly UCC is a build and code generation framework

Project description

SPDX-FileCopyrightText: 2020 Splunk Inc.

SPDX-License-Identifier: Apache-2.0

splunk-add-on-ucc-framework

PyPI Python

A framework to generate UI based Splunk Add-ons. It includes UI, Rest handler, Modular input, Oauth, Alert action templates.

What is UCC?

UCC stands for Universal Configuration Console. It is a service for generating Splunk Add-ons which is easily customizable and flexible. UCC provides basic UI template for creating Addon's UI. It is helpful to control the activity by using hooks and other functionalities.

Features

  • Generate UCC based addons for your Splunk Technology Add-ons

UCC 5

UCC5 has potentialy breaking changes to add-ons using hook extension in the UX. Previously such hooks were limited to un-optomized js files placed in the package. Add-ons may now package such extensions with webpack.

Requirements

  • Addon package and globalConfig.json file

Note: You may refer the globalConfig.json file here

Installation

"splunk-add-on-ucc-framework" can be installed via pip from PyPI:

$ pip3 install splunk-add-on-ucc-framework

How to use

To build the UCC based addon follow the below steps:

  1. Install the splunk-add-on-ucc-framework via pip3.
  2. Run the ucc-gen command.
  3. Make sure that package folder and globalConfig.json file are present in the addon folder.
  4. The final addon package will be generated, in the output folder.

Workflow

By the running the ucc-gen command, the following steps are executed:

  1. Cleaning out the output folder.

  2. Retrieve the package ID of addon.

  3. Copy UCC template directory under output/<package_ID> directory.

  4. Copy globalConfig.json file to output/<package_ID>/appserver/static/js/build directory.

  5. Collect and install Addon's requirements into output/<package_ID>/lib directory of addon's package.

  6. For the addon's requirements, packages are installed according to following table:

    File Name Description Output directory in UCC build
    lib/requirements.txt Python2/Python3 compatible packages output/<package_ID>/lib
    lib/py2/requirements.txt Only Python2 compatible packages output/<package_ID>/lib/py2
    lib/py3/requirements.txt Only Python3 compatible packages output/<package_ID>/lib/py3
  7. Replace tokens in views.

  8. Copy addon's package/* to output/<package_ID>/* directory.

  9. If an addon requires some additional configurations in packaging than implement the steps in additional_packaging.py

Params

splunk-add-on-ucc-framework supports the following params:

Name Description
source Folder containing the app.manifest and app source
config Path to the configuration file, Defaults to GlobalConfig.json in the parent directory of source provided
ta-version Optional override Current version of TA, Default version is version specified in globalConfig.json a Splunkbase compatible version of SEMVER will be used by default

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

splunk_add_on_ucc_framework-5.0.0.tar.gz (2.3 MB view hashes)

Uploaded Source

Built Distribution

Supported by

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