Skip to content

pankajsa/splus

Repository files navigation

splus - Solace PubSub+ SDK

Overview

Solace PubSub+ SDK is a SDK CLI kit which allows management of Solace PubSub+ Brokers. Along with the CLI available within the broker, SEMP APIs, Web Admin and SolAdmin this is one more way of administrating the broker.

While there are already so many ways of managing the broker, the motivation for this project is

  • simple way to integrate with CI/CD scripts
  • reasonable defaults for easing the administration activities, especially for those new to PubSub+
  • recipes for allowing use case based based administration
  • allow advanced customization through scripts
  • central tool to manage multiple brokers
  • event mesh management
  • align with the sdk cli approach used by modern solution including AWS, GCloud etc

Installation

This is a python application and needs python v3.x

Clone the repository and install the tool pip3 install .

Since this tool configures a Solace PubSub+ Broker its assumed that you already have access to a Solace Broker e.g.

docker run -d -p 8080:8080 -p 55555:55555 -p:80:8008 -p:1883:1883 -p:8000:8000 -p:5672:5672 -p:9000:9000 -p:2222:2222 --shm-size=2g --env username_admin_globalaccesslevel=admin --env username_admin_password=admin --name=solace solace/solace-pubsub-standard

Commands

splus

e.g.
splus --help
splus config --broker-url http://localhost:8080 --broker-username admin --broker-password admin splus msgvpn create myvpn1

Global Options

--msgvpn
--broker-url
--broker-user
--broker-password
--output=text|json

@ToDo

This project is under construction, and the below capabilities are still not done

  • TLS Setup
  • DMR Cluster
  • OAuth
  • LDAP Authorization Group
  • Bridge
  • Topic Endpoint
  • Replicated Topics

Configuration

config --default-vpn --broker-url --broker-user --broker-password --output=(json|text)

VPN Management

msgvpn create --authenticationBasicEnabled ....
msgvpn update --force
msgvpn show --select=''
msgvpn remove --force --quiet
msgvpn list --select=''
msgvpn enable|disable

Users

user create --password --global-access-level no|rw|ro|adm --default-vpn-access no|ro|rw --exceptions [{"msgvpn":"vpnname","access":"no|rw|ro"},]
user update --password --global-access-level no|rw|ro|adm
--default-vpn-access no|ro|rw --exceptions [{"msgvpn":"vpnname","access":"no|rw|ro"},]
user show
user remove --force
user list

ACL Management

aclprofile create --default-connect --default-publish --de
aclprofile update
aclprofile show
aclprofile remove
aclprofile list

Client Management

clientprofile create
clientprofile update
clientprofile show
clientprofile remove
clientprofile list

Queue Management

queue create
queue update --enable-incoming --enable-outgoing --clear-stats --exclusive-access/--no-exclusive-access --quota=
--owner= --permission=no|ro|consume|modify|delete --max-consumer-count=
....
queue show
queue remove
queue list
queue replay start|cancel --from=
queue clone --children
queue subscription --clear
queue subscription
queue subscription --remove

JNDI

jndi --enable/no-enable
jndi cf create --connect-timeout....
jndi cf update
jndi cf show
jndi cf remove --force
jndi cf list
jndi topic --logical --physical
jndi topic --logical --remove
jndi queue --logical --physical
jndi queue --logical --remove

REST

rest rdp create --client-profile --enable/no-enable --queue
rest rdp show
rest rdp update
rest rdp remove
rest rdp list

rest rc create --rdp --enable/no-enable --host --port --tls/--no-tls --connection-count --retry-time --retry-delay --basic-auth / --cert-auth --username --password --tls-cn
rest rc show
rest rc update
rest rc remove
rest rc lisy

API Microgateway

apigw create --listen-port --tls-listen-port --queue --pattern --host --port
RC Name = {name}_rc
RDP Name = {name}_rdp

Alert Thresholds

alert queue --trigger |trigger-percent --clear |clear-percent

Service Management

smf enable --allow-downgrade --max-connections
web enable --allow-downgrade --max-connections

mqtt enable --listen-port --tls-listen-port
mqtt disable

mqtt retain enable|disable

rest enable|disable
amqp enable|disable
smf enable|disable

Broker Service Management

broker backbone enable|disable

broker smf enable|disable --port --tls-port
--compress-port --routing-port
broker smf show

broker web enable|disable --port --tls-port --url-suffix
broker web show

broker mqtt enable|disable --retain-mem
broker mqtt show

broker amqp enable|disable
broker amqp show

broker healthcheck enable|disable --port
broker healthcheck show

broker matelink enable|disable --port
broker matelink show

broker redundancy enable|disable --port
broker redundancy show

broker semp --tls-port
broker semp show

Cert Authorities

certauth create --.....
certauth delete
certauth show
certauth list --select= --count= --cursor= --where=

Event Mesh

mesh create --name

Version

version

About

SDK to manage Solace PubSub+

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages