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
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
splus
e.g.
splus --help
splus config --broker-url http://localhost:8080 --broker-username admin --broker-password admin
splus msgvpn create myvpn1
--msgvpn
--broker-url
--broker-user
--broker-password
--output=text|json
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
config --default-vpn --broker-url --broker-user --broker-password --output=(json|text)
msgvpn create --authenticationBasicEnabled ....
msgvpn update --force
msgvpn show --select=''
msgvpn remove --force --quiet
msgvpn list --select=''
msgvpn enable|disable
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
aclprofile create --default-connect --default-publish --de
aclprofile update
aclprofile show
aclprofile remove
aclprofile list
clientprofile create
clientprofile update
clientprofile show
clientprofile remove
clientprofile list
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 --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 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
apigw create --listen-port --tls-listen-port --queue --pattern --host --port
RC Name = {name}_rc
RDP Name = {name}_rdp
alert queue --trigger |trigger-percent --clear |clear-percent
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 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
certauth create --.....
certauth delete
certauth show
certauth list --select= --count= --cursor= --where=
mesh create --name
version