{"id":31904170,"url":"https://github.com/cloudfoundry-community/firehose-to-syslog","last_synced_at":"2025-10-13T13:47:50.336Z","repository":{"id":24695834,"uuid":"28107133","full_name":"cloudfoundry-community/firehose-to-syslog","owner":"cloudfoundry-community","description":"Send firehose events from Cloud Foundry to syslog.","archived":false,"fork":false,"pushed_at":"2021-08-06T22:14:13.000Z","size":20792,"stargazers_count":44,"open_issues_count":16,"forks_count":57,"subscribers_count":27,"default_branch":"develop","last_synced_at":"2024-06-21T20:02:53.881Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","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":"2014-12-16T21:18:55.000Z","updated_at":"2024-02-09T14:25:38.000Z","dependencies_parsed_at":"2022-07-25T11:17:50.693Z","dependency_job_id":null,"html_url":"https://github.com/cloudfoundry-community/firehose-to-syslog","commit_stats":null,"previous_names":["springerpe/firehose-to-syslog"],"tags_count":46,"template":false,"template_full_name":null,"purl":"pkg:github/cloudfoundry-community/firehose-to-syslog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry-community%2Ffirehose-to-syslog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry-community%2Ffirehose-to-syslog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry-community%2Ffirehose-to-syslog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry-community%2Ffirehose-to-syslog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudfoundry-community","download_url":"https://codeload.github.com/cloudfoundry-community/firehose-to-syslog/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry-community%2Ffirehose-to-syslog/sbom","scorecard":{"id":292643,"data":{"date":"2025-08-11","repo":{"name":"github.com/cloudfoundry-community/firehose-to-syslog","commit":"d769a6765366526434da89353a4d3f5afc7f61e6"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.2,"checks":[{"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":"Code-Review","score":7,"reason":"Found 11/14 approved changesets -- score normalized to 7","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":"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":"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":"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":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: 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":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact 5.1.0 not signed: https://api.github.com/repos/cloudfoundry-community/firehose-to-syslog/releases/13319666","Warn: release artifact 5.0.0 not signed: https://api.github.com/repos/cloudfoundry-community/firehose-to-syslog/releases/12493457","Warn: release artifact 4.1.1 not signed: https://api.github.com/repos/cloudfoundry-community/firehose-to-syslog/releases/11384086","Warn: release artifact 4.1.0 not signed: https://api.github.com/repos/cloudfoundry-community/firehose-to-syslog/releases/11351255","Warn: release artifact 4.0.3 not signed: https://api.github.com/repos/cloudfoundry-community/firehose-to-syslog/releases/9602990","Warn: release artifact 5.1.0 does not have provenance: https://api.github.com/repos/cloudfoundry-community/firehose-to-syslog/releases/13319666","Warn: release artifact 5.0.0 does not have provenance: https://api.github.com/repos/cloudfoundry-community/firehose-to-syslog/releases/12493457","Warn: release artifact 4.1.1 does not have provenance: https://api.github.com/repos/cloudfoundry-community/firehose-to-syslog/releases/11384086","Warn: release artifact 4.1.0 does not have provenance: https://api.github.com/repos/cloudfoundry-community/firehose-to-syslog/releases/11351255","Warn: release artifact 4.0.3 does not have provenance: https://api.github.com/repos/cloudfoundry-community/firehose-to-syslog/releases/9602990"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'develop'"],"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":"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":"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 27 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"}},{"name":"Vulnerabilities","score":0,"reason":"30 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2021-0053 / GHSA-c3h9-896r-86jm","Warn: Project is vulnerable to: GO-2022-0322 / GHSA-cg3q-j54f-5p7p","Warn: Project is vulnerable to: GO-2022-0536 / GHSA-39qc-96h7-956f / GHSA-hgr8-6h9x-f7q9","Warn: Project is vulnerable to: GO-2022-0236 / GHSA-h86h-8ppg-mxmh","Warn: Project is vulnerable to: GO-2021-0238 / GHSA-83g2-8m93-v3w7","Warn: Project is vulnerable to: GO-2022-0288","Warn: Project is vulnerable to: GO-2022-0969 / GHSA-69cg-p879-7622","Warn: Project is vulnerable to: GO-2022-1144 / GHSA-xrjj-mj9h-534m","Warn: Project is vulnerable to: GO-2023-1571 / GHSA-vvpx-j8f3-3w6h","Warn: Project is vulnerable to: GO-2023-1988 / GHSA-2wrh-6pvc-2jm9","Warn: Project is vulnerable to: GO-2023-2102 / GHSA-4374-p667-p6c8","Warn: Project is vulnerable to: GO-2023-2153 / GHSA-m425-mq94-257g / GHSA-qppj-fm5r-hxr3","Warn: Project is vulnerable to: GO-2024-2687 / GHSA-4v7x-pqxf-cx7m","Warn: Project is vulnerable to: GO-2024-3333","Warn: Project is vulnerable to: GO-2025-3503 / GHSA-qxp5-gwg8-xv66","Warn: Project is vulnerable to: GO-2025-3595 / GHSA-vvgc-356p-c3xw","Warn: Project is vulnerable to: GO-2022-0493 / GHSA-p782-xgp4-8hr8","Warn: Project is vulnerable to: GO-2020-0015 / GHSA-5rcv-m4m3-hfh7","Warn: Project is vulnerable to: GO-2021-0113 / GHSA-ppp9-7jff-5vj2","Warn: Project is vulnerable to: GO-2022-1059 / GHSA-69ch-w2m2-3vjp","Warn: Project is vulnerable to: GO-2021-0061 / GHSA-r88r-gmrh-7j83","Warn: Project is vulnerable to: GO-2022-0956 / GHSA-6q6q-88xp-6f2r","Warn: Project is vulnerable to: GO-2020-0036 / GHSA-wxc4-f4m6-wwqv","Warn: Project is vulnerable to: CVE-2021-28484","Warn: Project is vulnerable to: GO-2022-0197 / GHSA-4r78-hx75-jjj2 / GHSA-mv93-wvcp-7m7r","Warn: Project is vulnerable to: GO-2020-0014 / GHSA-vfw5-hrgq-h5wf","Warn: Project is vulnerable to: GO-2025-3372 / GHSA-6wxm-mpqj-6jpf","Warn: Project is vulnerable to: GO-2022-0193 / GHSA-fcf9-6fv2-fc5v","Warn: Project is vulnerable to: GO-2022-0192 / GHSA-2wp2-chmh-r934","Warn: Project is vulnerable to: GO-2025-3488 / GHSA-6v2p-p543-phr9"],"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":["Info: Possibly incomplete results: error parsing shell code: reached EOF without closing quote \": Docker/build.sh:0","Warn: containerImage not pinned by hash: Docker/dev/Dockerfile:1","Warn: containerImage not pinned by hash: Docker/github/Dockerfile:1","Warn: containerImage not pinned by hash: Dockerfile:1: pin your Docker image by updating ubuntu:trusty to ubuntu:trusty@sha256:64483f3496c1373bfd55348e88694d1c4d0c9b660dee6bfef5e12f43b9933b30","Warn: goCommand not pinned by hash: Docker/dev/Dockerfile:4","Warn: goCommand not pinned by hash: Docker/github/Dockerfile:4","Warn: goCommand not pinned by hash: Docker/github/Dockerfile:5","Warn: goCommand not pinned by hash: ci/unit-testing/unit-testing:7","Warn: goCommand not pinned by hash: vendor/code.cloudfoundry.org/go-loggregator/rpc/loggregator_v2/generate.sh:15","Warn: goCommand not pinned by hash: vendor/code.cloudfoundry.org/go-loggregator/scripts/generate-test-certs:17","Warn: goCommand not pinned by hash: vendor/code.cloudfoundry.org/go-loggregator/scripts/lint:5","Warn: goCommand not pinned by hash: vendor/code.cloudfoundry.org/go-loggregator/scripts/test:3","Warn: goCommand not pinned by hash: vendor/code.cloudfoundry.org/go-loggregator/scripts/test:4","Warn: goCommand not pinned by hash: vendor/code.cloudfoundry.org/go-loggregator/scripts/test:5","Warn: goCommand not pinned by hash: vendor/code.cloudfoundry.org/go-loggregator/scripts/test:6","Warn: goCommand not pinned by hash: vendor/code.cloudfoundry.org/go-loggregator/scripts/test:7","Warn: goCommand not pinned by hash: vendor/github.com/cloudfoundry/gofileutils/bin/test:5","Warn: goCommand not pinned by hash: vendor/github.com/cloudfoundry/gofileutils/bin/test:6","Warn: goCommand not pinned by hash: vendor/github.com/cloudfoundry/sonde-go/generate-go.sh:15","Warn: goCommand not pinned by hash: vendor/github.com/cloudfoundry/sonde-go/generate-go.sh:16","Warn: goCommand not pinned by hash: vendor/google.golang.org/grpc/vet.sh:34","Warn: goCommand not pinned by hash: vendor/google.golang.org/grpc/vet.sh:44","Info:   1 out of  19 goCommand dependencies pinned","Info:   0 out of   3 containerImage 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"}}]},"last_synced_at":"2025-08-17T18:40:35.025Z","repository_id":24695834,"created_at":"2025-08-17T18:40:35.025Z","updated_at":"2025-08-17T18:40:35.025Z"},"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:43.519Z","updated_at":"2025-10-13T13:47:50.324Z","avatar_url":"https://github.com/cloudfoundry-community.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Disclaimer\n\nSince **2.5.0** we stop supporting username and password for authentification.\n\nPlease use ClientId and ClientSecret.\n\n# Firehose-to-syslog\n\nThis nifty util aggregates all the events from the firehose feature in\nCloudFoundry.\n\n\t./firehose-to-syslog \\\n              --api-endpoint=\"https://api.10.244.0.34.xip.io\" \\\n              --skip-ssl-validation \\\n              --debug\n\t....\n\t....\n\t{\"cf_app_id\":\"c5cb762b-b7bb-44b6-97d1-2b612d4baba9\",\"cf_app_name\":\"lattice\",\"cf_org_id\":\"fb5777e6-e234-4832-8844-773114b505b0\",\"cf_org_name\":\"GWENN\",\"cf_origin\":\"firehose\",\"cf_space_id\":\"3c910823-22e7-41ff-98de-094759594398\",\"cf_space_name\":\"GWENN-SPACE\",\"event_type\":\"LogMessage\",\"level\":\"info\",\"message_type\":\"OUT\",\"msg\":\"Lattice-app. Says Hello. on index: 0\",\"origin\":\"rep\",\"source_instance\":\"0\",\"source_type\":\"APP\",\"time\":\"2015-06-12T11:46:11+09:00\",\"timestamp\":1434077171244715915}\n\n# Options\n\n```\nusage: firehose-to-syslog --api-endpoint=API-ENDPOINT --client-id=CLIENT-ID --client-secret=CLIENT-SECRET [\u003cflags\u003e]\n\nFlags:\n  --help                         Show context-sensitive help (also try\n                                 --help-long and --help-man).\n  --debug                        Enable debug mode. This disables\n                                 forwarding to syslog\n  --api-endpoint=API-ENDPOINT    Api endpoint address. For bosh-lite\n                                 installation of CF:\n                                 https://api.10.244.0.34.xip.io\n  --doppler-endpoint=DOPPLER-ENDPOINT\n                                 Overwrite default doppler endpoint return\n                                 by /v2/info\n  --syslog-server=SYSLOG-SERVER  Syslog server.\n  --syslog-protocol=\"tcp\"        Syslog protocol (tcp/udp/tcp+tls).\n  --skip-ssl-validation-syslog   Skip Ssl validation for syslog\n  --subscription-id=\"firehose\"   Id for the subscription.\n  --client-id=CLIENT-ID          Client ID.\n  --client-secret=CLIENT-SECRET  Client secret.\n  --skip-ssl-validation          Please don't\n  --fh-keep-alive=25s            Keep Alive duration for the firehose\n                                 consumer\n  --min-retry-delay=500ms        Doppler Cloud Foundry Doppler min. retry\n                                 delay duration\n  --max-retry-delay=1m           Doppler Cloud Foundry Doppler max. retry\n                                 delay duration\n  --max-retry-count=1000         Doppler Cloud Foundry Doppler max. retry\n                                 Count duration\n  --logs-buffer-size=10000       Number of envelope to be buffered\n  --events=\"LogMessage\"          Comma separated list of events you would\n                                 like. Valid options are ContainerMetric,\n                                 CounterEvent, Error, HttpStartStop,\n                                 LogMessage, ValueMetric\n  --enable-stats-server          Will enable stats server on 8080\n  --boltdb-path=\"my.db\"          Bolt Database path\n  --cc-pull-time=60s             CloudController Polling time in sec\n  --cc-rps=50                    CloudController Polling request by second\n  --extra-fields=\"\"              Extra fields you want to annotate your\n                                 events with, example:\n                                 '--extra-fields=env:dev,something:other\n  --orgs=\"\"                      Forwarded on the app logs from theses\n                                 organisations' example: --orgs=org1,org2\n  --mode-prof=\"\"                 Enable profiling mode, one of [cpu, mem,\n                                 block]\n  --path-prof=\"\"                 Set the Path to write profiling file\n  --log-formatter-type=LOG-FORMATTER-TYPE\n                                 Log formatter type to use. Valid options\n                                 are text, json, json-cee. If none\n                                 provided, defaults to json.\n  --cert-pem-syslog=\"\"           Certificate Pem file\n  --ignore-missing-apps          Enable throttling on cache lookup for\n                                 missing apps\n  --version                      Show application version.\n\n```\n\n** !!! **--events** Please use --help to get last updated event.\n\n\n# TLS syslog endpoint.\n\nSince v3 firehose-to-syslog support TLS syslog `--cert-pem-syslog` using PEM encoded cert file.\nPlease refer to https://github.com/RackSec/srslog/blob/master/script/gen-certs.py\nfor Cert generation.\n\n#  JSON CEE rsyslog compatibility\nrsyslog supports parsing JSON log messages throught its [mmjsonparse module](https://www.rsyslog.com/doc/master/configuration/modules/mmjsonparse.html). This module expects a parsable JSON log message to be prepended with the value `@cee:`.\n\nFor `LOG-FORMATTER-TYPE`, using `json-cee` will yield the same result as using `json` but the JSON sent will have `@cee:` prepended to it. The `json-cee` formatter type also ensures that a RFC3164 compatible log message is sent, which was found to be required by rsyslog when using the mmjsonparse module. \n\n# Event documentation\n\nSee the [dropsonde protocol documentation](https://github.com/cloudfoundry/dropsonde-protocol/tree/master/events) for details on what data is sent as part of each event.\n\n# Caching\nWe use [boltdb](https://github.com/boltdb/bolt) for caching application name, org and space name.\n\nWe have 3 caching strategies:\n* Pull all application data on start.\n* Pull application data if not cached yet.\n* Pull all application data every \"cc-pull-time\".\n\n# To test and build\n\n\n    # Setup repo\n    go get github.com/cloudfoundry-community/firehose-to-syslog\n    cd $GOPATH/src/github.com/cloudfoundry-community/firehose-to-syslog\n\n    # Test\n\tmake test\n\n    # Build binary\n    go build\n\n# Deploy with Bosh\n\n[logsearch-for-cloudfoundry](https://github.com/logsearch/logsearch-for-cloudfoundry)\n\n# Parsing the logs with Logstash\n\n[logsearch-for-cloudfoundry](https://github.com/logsearch/logsearch-for-cloudfoundry)\n\n\n\n\n# Profiling\n\nTo enable CPU Profiling you just need to add the profiling path ex ``` --mode-prof=cpu```\n\nRun your program for some time and after that you can use the pprof tool\n```bash\ngo tool pprof YOUR_EXECUTABLE cpu.pprof\n\n(pprof) top 10\n110ms of 110ms total (  100%)\nShowing top 10 nodes out of 44 (cum \u003e= 20ms)\n      flat  flat%   sum%        cum   cum%\n      30ms 27.27% 27.27%       30ms 27.27%  syscall.Syscall\n      20ms 18.18% 45.45%       20ms 18.18%  ExternalCode\n      20ms 18.18% 63.64%       20ms 18.18%  runtime.futex\n      10ms  9.09% 72.73%       10ms  9.09%  adjustpointers\n      10ms  9.09% 81.82%       10ms  9.09%  bytes.func·001\n      10ms  9.09% 90.91%       20ms 18.18%  io/ioutil.readAll\n      10ms  9.09%   100%       10ms  9.09%  runtime.epollwait\n         0     0%   100%       60ms 54.55%  System\n         0     0%   100%       20ms 18.18%  bufio.(*Reader).Read\n         0     0%   100%       20ms 18.18%  bufio.(*Reader).fill\n```\n\n# Push as an App to Cloud Foundry\n\n1. Create `doppler.firehose` enabled user or client\n    - Use Client ID / Client Secret\n      ```\n      uaac target https://uaa.[your cf system domain]\n      uaac token client get admin -s [your admin-secret]\n      uaac client add firehose-to-syslog \\\n        --name firehose-to-syslog \\\n        --secret [your_client_secret] \\\n        --authorized_grant_types client_credentials,refresh_token \\\n        --authorities doppler.firehose,cloud_controller.admin_read_only\n      ```\n\n1. Download the latest release of firehose-to-syslog.\n    ```\n    git clone https://github.com/cloudfoundry-community/firehose-to-syslog\n    cd firehose-to-syslog\n    ```\n\n1. Utilize the CF cli to authenticate with your PCF instance.\n    ```\n    cf login -a https://api.[your cf system domain] -u [your id] --skip-ssl-validation\n    ```\n1. Push firehose-to-syslog.\n    ```\n    cf push firehose-to-syslog --no-start\n    ```\n1. Set environment variables with cf cli or in the [manifest.yml](./manifest.yml).\n    ```\n    cf set-env firehose-to-syslog API_ENDPOINT https://api.[your cf system domain]\n    cf set-env firehose-to-syslog DOPPLER_ENDPOINT wss://doppler.[your cf system domain]:443\n    cf set-env firehose-to-syslog SYSLOG_ENDPOINT [Your Syslog IP]:514\n    cf set-env firehose-to-syslog LOG_EVENT_TOTALS true\n    cf set-env firehose-to-syslog LOG_EVENT_TOTALS_TIME \"10s\"\n    cf set-env firehose-to-syslog SKIP_SSL_VALIDATION true\n    cf set-env firehose-to-syslog FIREHOSE_SUBSCRIPTION_ID firehose-to-syslog\n    cf set-env firehose-to-syslog FIREHOSE_CLIENT_ID  [your doppler.firehose enabled client id]\n    cf set-env firehose-to-syslog FIREHOSE_CLIENT_SECRET  [your doppler.firehose enabled client secret]\n    cf set-env firehose-to-syslog LOG_FORMATTER_TYPE [Log formatter type to use. Valid options are : text, json, json-cee]\n    ```\n1. Turn off the health check if you're staging to Diego.\n    ```\n    cf set-health-check firehose-to-syslog process\n    ```\n1. Push the app.\n    ```\n    cf push firehose-to-syslog --no-route\n    ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudfoundry-community%2Ffirehose-to-syslog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudfoundry-community%2Ffirehose-to-syslog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudfoundry-community%2Ffirehose-to-syslog/lists"}