- Configure the plugin in Mattermost by going to
System Console > Plugins > DigitalOcean
. Enable the plugin if it's not enabled. - Go to Digital Ocean, copy and then add your Digital Ocean team identifier (ID) to the settings under "Unique DigitalOcean Team Identifier"
NB: This can be found as query param on any Digital Ocean Url. From this URL https://cloud.digitalocean.com/projects/9ae5693a-1573-4dc1-a55d-3ebf87579XXX/resources?i=6dXcXX, It would be 6dXcXX
- Save your settings
Run /do help
and get help on all commands.
/do help
- Run 'test' to see if you're configured to run do commands
/do connect <access token>
- Associates your DO team personal token with your mattermost account/do disconnect
- Remove your DO team personal token with your mattermost account/do token
- Provides instructions on getting a personal access token for the configured DigitalOcean team/do show-configured-token
- Display your configured access token
/do create-droplet
- Easily create a new droplet from within Mattermost
Click image below to access feature demo
Create process alerts team members of the newly created resource
/do list-droplets
- List all Droplets in your team/do rename-droplet <dropletID> <name>
- Rename a droplet/do reboot-droplet <dropletID>
- Reboot a droplet/do shutdown-droplet <dropletID>
- Shutdown a droplet/do powercycle-droplet <dropletID>
- action is similar to pushing the reset button on a physical machine, it's similar to booting from scratch
/do list-domains
- Retrieve a list of all of the domains in your team
/do list-keys
- Retrieve a list of all of SSH keys in your team/do retrieve-key <keyID>
- Retrieve a single key by its ID/do delete-key <keyID>
- Delete single key by its ID/do create-key <name> <publicKey>
- Add an SSH key to your team
/do list-clusters
- Retrieve a list of all Database Clusters set up in your team/do list-cluster-backups <id>
- Retrieve a list of all backups of a Database Cluster/do add-cluster-user <clusterID> <userName>
- Add a database user to a cluster/do list-cluster-users <clusterID>
- List database cluster users/do delete-cluster-user <clusterID> <userName>
- Delete a database user to a cluster/do list-cluster-dbs <clusterID>
- List databases in the cluster
/do list-k8s-clusters
- List all Kubernetes Clusters in your team/do list-k8s-cluster-nodepools <clusterID>
- List Nodepools in a Kubernetes cluster/do list-k8s-cluster-nodes <clusterID>
- List Nodes in a Kubernetes cluster/do list-k8s-cluster-upgrades <clusterID>
- Retrieve a list of available upgrades for a Kubernetes cluster/do get-k8s-config <clusterID>
- Retrieve kubeconfig file in YAML format/do upgrade-k8s-cluster <clusterID> <versionSlug>
- Upgrade a Kubernetes cluster to a newer patch release of Kubernetes
The bot provides alerts to team members in subscribed channels incase certain thresholds like CPU, Memory Usage etc. are hit.
Running /do subcribe
in a central channel will set it up to receive these regular updates from the bot.
Channels can unsubcribe by running /do unsubscribe
- Fork this repo
- Clone your fork and make changes on your branch
- Run
$ make
at the root of this project - Install the generated tar on your server to see your changes
- Create Kubernetes Clusters
- Scaling Kubernetes Clusters
- Configuring LoadBalancers
- Connecting to multiple projects within an account/ Being able to switch between projects
- Block Storage
- CDNs
- SSL Certificates