{"id":31904159,"url":"https://github.com/cloudfoundry-community/mattermost-cf-integrator","last_synced_at":"2025-10-13T13:47:47.877Z","repository":{"id":57528573,"uuid":"45744104","full_name":"cloudfoundry-community/mattermost-cf-integrator","owner":"cloudfoundry-community","description":"Integrate mattermost (slack-like in open source) into Cloud Foundry","archived":false,"fork":false,"pushed_at":"2019-10-12T22:00:46.000Z","size":660,"stargazers_count":16,"open_issues_count":0,"forks_count":3,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-06-20T17:35:10.477Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloudfoundry-community.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-11-07T16:24:54.000Z","updated_at":"2024-02-09T14:27:48.000Z","dependencies_parsed_at":"2022-09-14T12:31:26.443Z","dependency_job_id":null,"html_url":"https://github.com/cloudfoundry-community/mattermost-cf-integrator","commit_stats":null,"previous_names":["arthurhlt/mattermost-cf-integrator"],"tags_count":64,"template":false,"template_full_name":null,"purl":"pkg:github/cloudfoundry-community/mattermost-cf-integrator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry-community%2Fmattermost-cf-integrator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry-community%2Fmattermost-cf-integrator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry-community%2Fmattermost-cf-integrator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry-community%2Fmattermost-cf-integrator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudfoundry-community","download_url":"https://codeload.github.com/cloudfoundry-community/mattermost-cf-integrator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry-community%2Fmattermost-cf-integrator/sbom","scorecard":{"id":292650,"data":{"date":"2025-08-11","repo":{"name":"github.com/cloudfoundry-community/mattermost-cf-integrator","commit":"d1683d6aa909e3664d83d89c29983249b13c0083"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.7,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":2,"reason":"Found 6/24 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: concourse/Dockerfile:1: pin your Docker image by updating alpine:3.6 to alpine:3.6@sha256:66790a2b79e1ea3e1dabac43990c54aca5d1ddf268d9a5a0285e4167c8b24475","Warn: goCommand not pinned by hash: vendor/github.com/pelletier/go-toml/test.sh:22","Warn: goCommand not pinned by hash: vendor/github.com/pelletier/go-toml/test.sh:23","Info:   0 out of   1 containerImage dependencies pinned","Info:   0 out of   2 goCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v5.15.1 not signed: https://api.github.com/repos/cloudfoundry-community/mattermost-cf-integrator/releases/20661894","Warn: release artifact v5.15.0 not signed: https://api.github.com/repos/cloudfoundry-community/mattermost-cf-integrator/releases/20029717","Warn: release artifact v5.14.2 not signed: https://api.github.com/repos/cloudfoundry-community/mattermost-cf-integrator/releases/19666469","Warn: release artifact v5.15.1 does not have provenance: https://api.github.com/repos/cloudfoundry-community/mattermost-cf-integrator/releases/20661894","Warn: release artifact v5.15.0 does not have provenance: https://api.github.com/repos/cloudfoundry-community/mattermost-cf-integrator/releases/20029717","Warn: release artifact v5.14.2 does not have provenance: https://api.github.com/repos/cloudfoundry-community/mattermost-cf-integrator/releases/19666469"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 12 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-17T18:40:40.754Z","repository_id":57528573,"created_at":"2025-08-17T18:40:40.754Z","updated_at":"2025-08-17T18:40:40.754Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279015339,"owners_count":26085685,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-13T13:47:40.918Z","updated_at":"2025-10-13T13:47:47.869Z","avatar_url":"https://github.com/cloudfoundry-community.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mattermost-cf-integrator [![Build Status](https://travis-ci.org/cloudfoundry-community/mattermost-cf-integrator.svg)](https://travis-ci.org/cloudfoundry-community/mattermost-cf-integrator)\nIntegrate [mattermost](http://www.mattermost.org/) into Cloud Foundry or Heroku (use [gautocloud](https://github.com/cloudfoundry-community/gautocloud)).\n\n**Why it's different from the [mattermost-boshrelease](https://github.com/cloudfoundry-community/mattermost-boshrelease) ?** \nthe BOSH release made by Stark \u0026 Wayne is made for Cloud Foundry \noperators and only they can deploy mattermost in an IaaS (not Cloud Foundry in fact). \nHere it's made for final Cloud Foundry users who want a private mattermost running inside a PaaS like [Bluemix](https://console.ng.bluemix.net/), [PWS](https://run.pivotal.io) or [Heroku](https://www.heroku.com/).\n\n[Mattermost](http://www.mattermost.org/) is an open source, on-prem Slack-alternative.\nIt offers modern communication from behind your firewall, including messaging and file sharing across PCs and phones with archiving and instant search.\n\n![mattermost-preview](http://www.mattermost.org/wp-content/uploads/2015/09/20160315_v210.png)\n\n## Getting started\n\n1. Download latest release called `mattermost-cf.zip` in [releases page][1]\n2. Unzip it\n3. go inside the previously unzipped folder and push the app (e.g: `cf push mattermost -b binary_buildpack`), it will fail cause you need a database service connected\n4. Create a mysql or postgres service on Cloud Foundry (e.g: `cf cs p-mysql 100mb db-mattermost`)\n5. Bind to the app (e.g: `cf bs mattermost db-mattermost`)\n6. restage your app (e.g: `cf restage mattermost`) and you're done\n\n\n## Add SMTP Server (**Recommended**)\n\nIf you don't have an smtp server configured in your `config/config.json` mattermost will run in preview mode.\nTo fully use mattermost you should add a smtp, you have two ways to do it:\n\n1. Do it manually by editing the `config/config.json` following the doc: http://docs.mattermost.com/install/smtp-email-setup.html\n2. (*Preferred*) Bind a smtp service on your app and integrator will do the rest, example with Pivotal Web Service and sendgrid:\n\n ```\n $ cf cs sendgrid free mysmtp\n $ cf bs mattermost mysmtp\n $ cf restage mattermost\n ```\n\n## Add an Amazon S3 Bucket (**Recommended**)\n\nMattermost by default will store data send by users (images, files, video ...) on the local file system but on Cloud Foundry app shouldn't write on the filesystem.\nYou should set an s3 storage on your mattermost, like for SMTP you have two ways to do it:\n\n1. Do it manually by editing the `config/config.json` following the doc: http://docs.mattermost.com/administration/config-settings.html?highlight=amazons3endpoint#file-settings\n2. Bind a s3 service on your app and integrator will do the rest, example [riak-cs](https://github.com/cloudfoundry/cf-riak-cs-release) service:\n\n ```\n $ cf cs p-riakcs developer mys3\n $ cf bs mattermost mys3\n $ cf restage mattermost\n ```\n\n## Integrate with UAA (to authenticate users over Cloud Foundry)\n\nIt can be interesting to login mattermost with Cloud Foundry. Mattermost can use GitLab SSO to login users and this functionality can be use to login over Cloud Foundry.\n\nTo do this we will need to register a client in the UAA, here an example to register a client:\n\n```\n$ uaac client add mattermost --authorized_grant_types \"authorization_code\" --name \"mattermost\" --scope \"openid\" --authorities \"openid\" -s \"mysupersecret\"\n```\n\nYou will also need to deploy another app on Cloud Foundry, this app will be responsible to translate user informations from UAA to GitLab.\nThis app is a reverse proxy on your UAA which only transform json receive from the UAA on https://login.url-of-my.api/userinfo to another json asked by mattermost.\n\nFollow these steps to deploy this application:\n\n1. clone https://github.com/ArthurHlt/uaa-proxifier.git : `$ git clone https://github.com/ArthurHlt/uaa-proxifier.git`\n2. set in the value for `UAA_URL` in `uaa-proxifier/manifest.yml` by the url of your UAA\n3. deploy it: `$ cf push`\n\n\nNow we can set in the file `config/config.json` endpoints for UAA and credentials, example:\n\n```\n\"GitLabSettings\": {\n    \"Enable\": true,\n    \"Secret\": \"mysupersecret\",\n    \"Id\": \"mattermost\",\n    \"Scope\": \"openid\",\n    \"AuthEndpoint\": \"https://login.url-of-my.api/oauth/authorize\",\n    \"TokenEndpoint\": \"https://login.url-of-my.api/oauth/authorize/oauth/token\",\n    \"UserApiEndpoint\": \"https://uaa-to-gitlab.my.cf.domain.com/userinfo\"\n}\n```\n\n**Note** the value for `UserApiEndpoint` this is the url of you previously deployed app.\n\nTo make users only login and register with cloudfoundry set to `false` values `EnableSignUpWithEmail`, `EnableSignInWithEmail` in `config/config.json`\n\nNow, you can (re)deploy your mattermost: `$ cf push mattermost`\n\n### (**Optional**) Remove reference about GitLab in Web UI\n\n\n#### Change the word `GitLab` by `Cloud Foundry`\n\n**For version 2.X.X**:\n\n ```\n $ sed -i 's/GitLab/Cloud Foundry/g' web/static/i18n/*`\n ```\n\n **For version 3.X.X**:\n\n  ```\n  $ sed -i 's/GitLab/Cloud Foundry/g' webapp/dist/i18n/*\n  $ sed -i 's/\"GitLab/\"Cloud Foundry/g' webapp/dist/*.js\n  ```\n\n#### Change the GitLab logo by the Cloud Foundry logo:\n\n**For version 2.X.X**:\n\n ```\n $ wget https://rawgit.com/cloudfoundry-community/mattermost-cf-integrator/master/cloudfoundryLogo.png\n $ cp cloudfoundryLogo.png web/static/images/gitlabLogo.png\n ```\n\n**For version 3.X.X**:\n\n ```\n $ wget https://rawgit.com/cloudfoundry-community/mattermost-cf-integrator/master/cloudfoundryLogo.png\n $ cp cloudfoundryLogo.png webapp/dist/files/bf61680806a56e50a7857eeeea863f01.png\n ```\n\nNow, you can (re)deploy your mattermost: `$ cf push mattermost`\n\n\n[1]: https://github.com/cloudfoundry-community/mattermost-cf-integrator/releases\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudfoundry-community%2Fmattermost-cf-integrator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudfoundry-community%2Fmattermost-cf-integrator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudfoundry-community%2Fmattermost-cf-integrator/lists"}