{"id":19350932,"url":"https://github.com/strmprivacy/cli","last_synced_at":"2025-06-23T05:40:42.683Z","repository":{"id":37090921,"uuid":"330721834","full_name":"strmprivacy/cli","owner":"strmprivacy","description":"This is the STRM Privacy Command Line Interface, to define and manage your privacy streams, data schemas, event contracts and much more. ","archived":false,"fork":false,"pushed_at":"2023-08-04T09:22:40.000Z","size":1036,"stargazers_count":6,"open_issues_count":13,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-02T09:44:36.922Z","etag":null,"topics":["cli","data","data-pipeline","data-privacy","data-privacy-compliance","data-processing","privacy"],"latest_commit_sha":null,"homepage":"https://strmprivacy.io","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/strmprivacy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-18T16:18:03.000Z","updated_at":"2023-01-31T18:41:50.000Z","dependencies_parsed_at":"2024-11-10T04:34:47.845Z","dependency_job_id":"dd139a21-bfcd-4a3d-8f63-bd579bb8753f","html_url":"https://github.com/strmprivacy/cli","commit_stats":null,"previous_names":[],"tags_count":113,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strmprivacy%2Fcli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strmprivacy%2Fcli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strmprivacy%2Fcli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strmprivacy%2Fcli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/strmprivacy","download_url":"https://codeload.github.com/strmprivacy/cli/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250391081,"owners_count":21422840,"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","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":["cli","data","data-pipeline","data-privacy","data-privacy-compliance","data-processing","privacy"],"created_at":"2024-11-10T04:34:30.154Z","updated_at":"2025-04-23T07:30:58.085Z","avatar_url":"https://github.com/strmprivacy.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# STRM Privacy Command Line Interface\n\n[![GitHub Actions](https://github.com/strmprivacy/cli/workflows/Build/badge.svg)](https://github.com/strmprivacy/cli/actions)\n[![Latest Release](https://img.shields.io/github/v/release/strmprivacy/cli)](https://github.com/strmprivacy/cli/releases/latest)\n\nThis package contains a command line interface (CLI) for interacting with [STRM Privacy](https://www.strmprivacy.io).\n\n## Installation\n\n### Builds\nThe STRM CLI is available for major OS platforms: Linux, Mac and Windows. Please note Windows builds are not tested by us, but should work properly.\n\n### Manually\n\nDownload the latest release for your platform from\nthe [releases page](https://github.com/strmprivacy/cli/releases/latest). Put the binary somewhere on your path.\n\n#### Authentication\nAuthentication is handled through the browser with the `strm auth login` command. If you can't login through browser (e.g. when using the CLI in scripts or on remote machines), a headless auth flow is supported through the `--remote` and `--non-interactive` flags. Note: this requires both a browser-accessible machine to run `--remote` to initiate authentication and the non-browser machine to run `strm auth login --non-interactive`. The help command `strm auth login --help` also provides directions.\n\n#### Shell Completion\n\nIn order to set up command completion, please follow the instructions below:\n\n- for `bash` users \\\n  add the following line to your `.bash_profile` or `.bashrc`:\n  `source \u003c(strm completion bash)`\n  or, to load completions for each session, execute once:\n  - Linux users: `strm completion bash \u003e /etc/bash_completion.d/strm`\n  - macOS users: `strm completion bash \u003e /usr/local/etc/bash_completion.d/strm`\n- for `zsh` users \\\n  ensure that shell completion is enabled, then run (only needs to be done once):\n  `strm completion zsh \u003e \"${fpath[1]}/_strm\"`\n- for fish users \\\n  `strm completion fish \u003e ~/.config/fish/completions/strm.fish` (or `$XDG_CONFIG_HOME` instead of `~/.config`)\n\n### Homebrew\n\nThe CLI is also available through Homebrew. Install the formula as follows:\n\n```\nbrew install strmprivacy/cli/strm\n```\n\nEnsure to read the caveats section for setting up command completion.\n\nUpgrades to the CLI can be done through `brew upgrade strm`.\n\n### Other package managers\n\nMore package managers will be added in the future, so stay tuned.\n\n## Commands\n\nFor the complete command reference, see\nthe [CLI section in our docs](https://docs.strmprivacy.io/docs/latest/reference/cli-reference/).\n\n## Configuration\n\nThe `strm` CLI can be configured using either the flags as specified by the help (as command line arguments), with\nenvironment variables, or with a configuration file, named `config.yaml`, located in the STRM\nPrivacy [Configuration directory](#configuration-directory). If a flag is not present, the default value is used.\n\n*Note: The ordering is the same as specified above, so arguments take precedence over environment variables, which take\nprecedence over the configuration file, which takes precedence over the default values.*\n\n| Flag  | Description                                                                                                                                                                                                            |\n| ------------- |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| save  | indicates whether the output of create commands is saved to files in your STRM Privacy [Configuration directory](#configuration-directory). Useful in some situations, but be aware that this is sensitive information |\n| events-auth-url  | used for retrieving/refreshing (JWT) authentication tokens for sending events (with the `simulate` command)                                                                                                            |\n| events-api-url | where to send events to (with the `sim` command in the CLI)                                                                                                                                                            |\n| api-auth-url  | used for logging in and retrieving/refreshing ([JWT](https://jwt.io/)) authentication tokens                                                                                                                           |\n| api-host | used for interacting with the API (e.g. managing streams, data connectors, etc)                                                                                                                                        |\n| web-socket-url | used to listen to events with the `listen web-socket` command                                                                                                                                                          |\n\n### Default configuration values\n\nBelow are the default values for all `strm` flags, in the YAML format used by the configuration file:\n\n```yaml\nsave: false\nevents-api-url: https://events.strmprivacy.io/event\napi-auth-url: https://accounts.strmprivacy.io\napi-host: api.strmprivacy.io:443\nweb-socket-url: wss://websocket.strmprivacy.io/ws\n```\n\nIn normal circumstances, these defaults should work and there is no need to create this configuration file and override\nany Flags. It can be useful in special cases, for example if you'd like to use a mock endpoint for testing.\n\n### Configuration directory\n\nThe STRM Privacy CLI stores it's information in a configuration directory, by default located in:\n`$HOME/.config/strmprivacy/`. In this directory, the CLI looks for a file named: `config.yaml`, which is used for\nsetting global flags.\n\nBy default, this directory also contains the login information used by the `strm auth` commands, in a file\nnamed: `strm-creds-\u003capi-auth-url\u003e.json`. This file is generated and updated by the CLI, so there is no need for any\nmanual editing.\n\nIn this directory you can also find all entities that have been `save`d (see the [Save](#configuration) option). These\nentities are saved in the following files: `\u003cconfig-dir\u003e/\u003cEntity\u003e/\u003cname\u003e.json`, where `Entity` is the Entity name,\ni.e. \"Stream\" or \"DataConnector\" and the `name` is the unique name of the created entity, i.e. \"MyImportantStream\" or\n\"s3-data-connector\".\n\n## Getting help\n\nIf you encounter an error, or you'd like a new feature, please create an\nissue [here](https://github.com/strmprivacy/cli/issues/new). Please be thorough in your description, as it helps us\nto help you more quickly. At least include the version of the CLI, your OS. terminal and any custom STRM Privacy flags\nthat are present in your config or environment.\n\n***IMPORTANT: Don't provide the login configuration JSON file, as it includes sensitive information!***\n\n[Email Developer Support](mailto:developer-support@strmprivacy.io), with the details of the issue you’re experiencing. A\nminimum working example (MWE) would help us in reproducing the issue, and could help in solving it sooner for you. If\nyou have to option to include an MWE, please do so.\n\n## More resources\n\nSee our [documentation](https://docs.strmprivacy.io)\nor [reach out to us](https://docs.strmprivacy.io/docs/latest/contact/index.html).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstrmprivacy%2Fcli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstrmprivacy%2Fcli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstrmprivacy%2Fcli/lists"}