https://github.com/kong/kong-portal-cli
Kong Developer Portal CLI
https://github.com/kong/kong-portal-cli
Last synced: 6 months ago
JSON representation
Kong Developer Portal CLI
- Host: GitHub
- URL: https://github.com/kong/kong-portal-cli
- Owner: Kong
- License: apache-2.0
- Created: 2019-06-21T05:07:33.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-04-08T13:37:59.000Z (6 months ago)
- Last Synced: 2025-04-10T02:46:05.028Z (6 months ago)
- Language: TypeScript
- Size: 1.77 MB
- Stars: 27
- Watchers: 6
- Forks: 14
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Kong Developer Portal CLI
[][cli-license]
The Kong Developer Portal CLI is used to manage your Developer Portals from the
command line. It is built using [clipanion][clipanion].## Overview
This is the next generation TypeScript based Developer Portal CLI. The goal of
this project is to make a higher quality CLI tool over the initial sync script.This project is built for Kong Enterprise `>= 1.3`.
For Kong Enterprise `<= 0.36`, or for `legacy mode` on Kong Enterprise `>= 1.3` [use the legacy sync script][sync-script].
## Install
```sh
npm install -g kong-portal-cli
```## Usage
The easiest way to start is by cloning the [portal-templates repo][templates] master branch locally.
Then edit `workspaces/default/cli.conf.yaml` to set `kong_admin_url` and `kong_admin_token` to match your setup.
Make sure Kong is running and portal is on:
Now from root folder of the templates repo you can run:
```portal ```
Where `` is one of:
- `config` Output or change configuration of the portal on the given workspace.
- `deploy` Deploy changes made locally under the given workspace upstream.
- `disable` Disable the portal on the given workspace.
- `enable` Enable the portal on the given workspace.
- `fetch` Fetches content and themes from the given workspace.
- `init` Initialize a local workspace with a default cli.conf.yaml configuration file.
- `sync` Sync changes made locally under the given workspace upstream with the upstream workspace.
- `wipe` Deletes all content and themes from upstream workspace.Where `` indicates the directory/workspace pairing you would like to operate on.
### For `deploy`
- Add `-W` or `--watch` to make changes reactive.
- Add `-P` or `--preserve` to avoid deleting files upstream that you do not have locally.
- Add `-D` or `--disable-ssl-verification` to disable SSL verification and use self-signed certs.
- Add `-I` or `--ignore-specs` to ignore the '/specs' directory.
- Add `-S` or `--skip-path` to skip files or directories that match the given path. This option can be repeated.### For `fetch`
- Add `-K` or `--keep-encode` to keep binary assets as base64 encoded strings locally.
- Add `-D` or `--disable-ssl-verification` to disable SSL verification and use self-signed certs.
- Add `-I` or `--ignore-specs` to ignore the '/specs' directory.### For `sync`
- Add `-W` or `--watch` to make changes reactive.
- Add `-D` or `--disable-ssl-verification` to disable SSL verification and use self-signed certs.
- Add `-I` or `--ignore-specs` to ignore the '/specs' directory.
- Add `-S` or `--skip-path` to skip files or directories that match the given path. This option can be repeated.### For `wipe`
- Add `-D` or `--disable-ssl-verification` to disable SSL verification and use self-signed certs.
- Add `-I` or `--ignore-specs` to ignore the '/specs' directory.
- Add `-S` or `--skip-path` to skip files or directories that match the given path. This option can be repeated.### For `enable` and `disable`
- Add `-D` or `--disable-ssl-verification` to disable SSL verification and use self-signed certs.
### Using `cli.conf.yaml`
In addition to `kong_admin_uri` and `kong_admin_token`, you can also add:
- `disable_ssl_verification: true` and
- `ignore_specs: true`
- `max_content_length_mb` - maximum size allowed to be transferred in Mb - default is 10 (10Mb)Set the options in the CLI configuration file to always enable those settings on that Workspace instead of passing the option flags with every command.
### Using Environment Variables
You can override some config values set in `cli.conf.yaml` via environment variables. For example, If you wanted to override the Kong Admin URL, you can run:
```sh
KONG_ADMIN_URL=http://new-admin-url.com portal deploy default
```Environment variables are useful for scripting as well as temporarily overriding particular settings.
Available environment variables include:
- `KONG_ADMIN_URL` Kong Admin URL the CLI should target for uploading files.
- `KONG_ADMIN_TOKEN_FILE` Kong Admin Token token file path used to authenticate with the Kong Admin API, this will take precedence to `KONG_ADMIN_TOKEN`.
- `KONG_ADMIN_TOKEN` Kong Admin Token token used to authenticate with the Kong Admin API.## Contributing
For problems directly related to the CLI, [add an issue on GitHub][cli-support].
For other issues, [submit a support ticket][kong-support].
[Contributors][cli-contributors].
[clipanion]: https://github.com/arcanis/clipanion
[sync-script]: https://github.com/Kong/kong-portal-templates/blob/81382f2c7887cf57bb040a6af5ca716b83cc74f3/bin/sync.js
[cli-support]: https://github.com/Kong/kong-portal-cli/issues/new
[cli-license]: https://github.com/Kong/kong-portal-cli/blob/master/LICENSE
[cli-contributors]: https://github.com/Kong/kong-portal-cli/contributors
[kong-support]: https://support.konghq.com/support/s/
[templates]: https://github.com/Kong/kong-portal-templates