Giter Club home page Giter Club logo

splus's Introduction

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

splus's People

Contributors

dependabot[bot] avatar pankajsa avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.