Splunk Add-on SDK formerly UCC is a build and code generation framework
Project description
SPDX-FileCopyrightText: 2020 Splunk Inc.
splunk-add-on-ucc-framework
A framework to generate UI based Splunk Add-ons. It includes UI, Rest handler, Modular input, Oauth, Alert action templates.
Note: after UCC 5.2 Python 2 specific libraries are not supported anymore. This means if the add-on has
package/lib/py2/requirements.txt
they will not be installed while runningucc-gen
command. Therefore modular inputs that are supposed to run on Python 2 will not be supported by UCC.
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
UCC 5 has potentially breaking changes to add-ons using hook extension in the UX. Previously such hooks were limited to un-optimized 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
pre-commit
Please visit pre-commit
quick start section.
How to use
To build the UCC based addon follow the below steps:
- Install the
splunk-add-on-ucc-framework
viapip3
. - Run the
ucc-gen
command. - Make sure that
package
folder andglobalConfig.json
file are present in the addon folder. - The final addon package will be generated, in the
output
folder.
Workflow
By the running the ucc-gen
command, the following steps are executed:
-
Cleaning out the
output
folder. -
Retrieve the package ID of addon.
-
Copy UCC template directory under
output/<package_ID>
directory. -
Copy
globalConfig.json
file tooutput/<package_ID>/appserver/static/js/build
directory. -
Collect and install Addon's requirements into
output/<package_ID>/lib
directory of addon's package. -
For the addon's requirements, packages are installed according to following table:
File Name Description Output directory in UCC build lib/requirements.txt Python3 compatible packages output/<package_ID>/lib -
Replace tokens in views.
-
Copy addon's
package/*
tooutput/<package_ID>/*
directory. -
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
Built Distribution
Hashes for splunk_add_on_ucc_framework-5.5.7.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d550cf53737a1ac2db1823116b0b3a2db94684b6dcce66bb2c69b5f73b22ee8 |
|
MD5 | 400a1cd2a4659f544d6bc2bd8ad22921 |
|
BLAKE2b-256 | e17f367a249357d108e42ae83725f3cfca49bda173bcd6d1e7282258bada2cd2 |
Hashes for splunk_add_on_ucc_framework-5.5.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | de86121d9f5da5b492e1f4d0913d17672999e4e7e4d0b3564f3e8dd24ba403a1 |
|
MD5 | ac8b347d15ce3f480094ef48c58fe619 |
|
BLAKE2b-256 | 36d2657c146ffd58593ebecbeb4cafc19d1fd009b4e450d99810e5df73e95c15 |