Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cpanato/mattermost-gitops
Bring the GitOps approach to your Mattermost Server
https://github.com/cpanato/mattermost-gitops
gitops mattermost
Last synced: about 1 month ago
JSON representation
Bring the GitOps approach to your Mattermost Server
- Host: GitHub
- URL: https://github.com/cpanato/mattermost-gitops
- Owner: cpanato
- License: apache-2.0
- Created: 2021-02-19T13:29:12.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2021-02-19T14:03:02.000Z (almost 4 years ago)
- Last Synced: 2024-10-12T12:30:53.848Z (2 months ago)
- Topics: gitops, mattermost
- Language: Go
- Homepage:
- Size: 62.5 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Mattermost-GitOps
This tool is heavily inspired on [tempelis](https://github.com/kubernetes-sigs/slack-infra/tree/master/tempelis)
It syncronizes the configuration described in a YAML file against your Mattermost installation.
Combined with a CI system, it can be used to implement GitOps for Mattermost.At this stage, it can:
### Channels
- Create new channels
- Update a Channel (Header, Purpose, Channel Display name and Channel name)
- Update Channel Privacy (Open Channel / Private Channel)
- Archive/UnArchive Channel## Config
### Authentication
It expects a config file in the location given by `--auth` that looks like this:
```
{
"authToken": "ic3hu6ydebbsib1yd7x5wn1nro",
"instanceUrl": "http://localhost:8065/"
}
````authToken` is a value provided by your Mattermost installation, see how to
create a [Personal Token](https://docs.mattermost.com/developer/personal-access-tokens.html?#personal-access-tokens)`instanceUrl` is your Mattermost URL
#### Channels
It expects a complete list of public channels to be provided. If a public channel exists on
Mattermost that is not in the yaml channel list, it will error out.A channel list with a single fully-specified channel looks like this:
```yaml
channels:
- team_id: utaq935c5j8z5x3gwske8bep7c # The team ID where you want to create the channel, a Mattermost installation can have multiple teams
private: false # If a channel is public or private
display_name: My honk channel # Diplay name in the UI
name: honk # Channel name
header: honk the planet # The header for the channel. Optional
purpose: just to honk # Purpose of the channel. Optional
archive: false # if want to archive the channel, if it is already archived can restore
```## Future Work
Add support:
- Configuration
- Users
- Webhooks?