plugin/

directory
v1.4.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 22, 2021 License: Apache-2.0

README

scctl

scctl is a command line client for service center(version 1.1.0+).

Global options

  • addr the http host and port of service center, can be overrode by env HOSTING_SERVER_IP.
  • ca the CA file path to access service center, can be overrode by $SSL_ROOT/trust.cer.
  • cert the certificate file path to access service center, can be overrode by $SSL_ROOT/server.cer.
  • key the key file path to access service center, can be overrode by $SSL_ROOT/server_key.pem.
  • pass the passphase string to decrypt key file.
  • pass-file the passphase file path to decrypt key file, can be overrode by $SSL_ROOT/cert_pwd.
  • timeout the maximum time allowed for the request.

Get commands

The get command is the root command for getting any type resources from service center.

service [options]

Get the microservices list from service center. service command can be instead of svc.

Options
  • domain(d) print the information under the specified domain in service center, print under the default domain by default.
  • output(o) support mode wide, output the complete microservices information(e.g., framework, endpoints).
  • all-domains print the information under all domains in service center.
Examples
./scctl get svc
#       NAME      |   APPID   | VERSIONS |     ENV     |               FRAMEWORK                | AGE  
# +---------------+-----------+----------+-------------+----------------------------------------+-----+
#   SERVICECENTER | default   | 0.0.1    | development |                                        | 9d   
#   Client        | springmvc | 1.0.0    |             |                                        | 9d   
#   consumer      | springmvc | 0.0.1    |             | servicecomb-java-chassis-CSE:2.3.35... | 9d   
#   provider      | springmvc | 0.0.1    |             | servicecomb-java-chassis-CSE:2.3.35... | 9d

./scctl get svc -owide
#   DOMAIN  |     NAME      |   APPID   | VERSIONS |     ENV     |                         FRAMEWORK                          |        ENDPOINTS        | AGE  
# +---------+---------------+-----------+----------+-------------+------------------------------------------------------------+-------------------------+-----+
#   default | Client        | springmvc | 1.0.0    |             |                                                            |                         | 9d   
#   default | consumer      | springmvc | 0.0.1    |             | servicecomb-java-chassis-CSE:2.3.35;ServiceComb:1.1.0.B006 |                         | 9d   
#   default | provider      | springmvc | 0.0.1    |             | servicecomb-java-chassis-CSE:2.3.35;ServiceComb:1.1.0.B006 |                         | 9d   
#   default | SERVICECENTER | default   | 0.0.1    | development |                                                            | rest://127.0.0.1:30100/ | 9d

./scctl get svc -d test
#    NAME  |  APPID  |  VERSIONS   | ENV | FRAMEWORK | AGE  
# +--------+---------+-------------+-----+-----------+-----+
#   Server | default | 1.0.0,1.0.1 |     |           | 1d
instance [options]

Get the instances list from service center. instance command can be instead of inst.

Options
  • domain(d) domain name, return default domain microservices list by default.
  • output(o) support mode wide, return the complete microservices information(e.g., framework, endpoints).
  • all-domains return all domains microservices information.
Examples
./scctl get inst
#       HOST     |        ENDPOINTS        | VERSION |    SERVICE    |  APPID  | LEASE | AGE  
# +--------------+-------------------------+---------+---------------+---------+-------+-----+
#   desktop-0001 | rest://127.0.0.1:30100/ | 0.0.1   | SERVICECENTER | default | 2m    | 11m 

./scctl get inst -owide
#   DOMAIN  |     HOST     |        ENDPOINTS        | VERSION |    SERVICE    |  APPID  |     ENV     | FRAMEWORK | LEASE | AGE  
# +---------+--------------+-------------------------+---------+---------------+---------+-------------+-----------+-------+-----+
#   default | desktop-0001 | rest://127.0.0.1:30100/ | 0.0.1   | SERVICECENTER | default | development |           | 2m    | 17m

./scctl get inst -d default
#       HOST     |        ENDPOINTS        | VERSION |    SERVICE    |  APPID  | LEASE | AGE  
# +--------------+-------------------------+---------+---------------+---------+-------+-----+
#   desktop-0001 | rest://127.0.0.1:30100/ | 0.0.1   | SERVICECENTER | default | 2m    | 18m
schema [options]

Get the schemas content from service center.

Options
  • domain(d) domain name, return all microservice schema contents from default domain by default.
  • app the application name of microservice.
  • name the name of microservice.
  • version the semantic version of microservice.
  • save-dir(s) the directory to save the schema content, the schema file path structure follows the rule: {save-dir}/schemas/[{domain}/][{project}/][{env}/]{app}/{microservice}.{version}/{schemaId}.yaml
  • all-domains return all microservice schema contents from all domains.
Examples
# save schemas to files
./scctl get schema -s .
#  2 / 2 [============================================================] 100.00% 0s
# Finished.
ls -l schemas/springmvc/provider.v0.0.1
# total 4
# -rw-r----- 1 ubuntu ubuntu 610 Sep 15 23:05 say.yaml

# print schema to console
./scctl get schema --name provider
# ---
# swagger: "2.0"
# info:
#   version: "1.0.0"
#   title: "swagger definition for com.service.provider.controller.ProviderImpl"
#   x-java-interface: "cse.gen.springmvc.provider.provider.ProviderImplIntf"
# basePath: "/say"
# consumes:
# - "application/json"
# produces:
# - "application/json"
# paths:
#   /helloworld:
#     get:
#       operationId: "helloworld"
#       produces:
#       - "application/json"
#       parameters:
#       - name: "name"
#         in: "query"
#         required: false
#         type: "string"
#       responses:
#         200:
#           description: "response of 200"
#           schema:
#             type: "string"
cluster [options]

Get the registry clusters managed by service center.

Examples
./scctl get cluster
#   CLUSTER |        ENDPOINTS         
# +---------+-------------------------+
#   sc-1    | http://172.0.1.32:30100  
#   sc-0    | http://172.0.1.29:30100

Diagnose commands

The diagnose command can output the service center health report. If the service center is isolated from etcd, the diagnosis will print wrong information.

Options
  • etcd-addr the http addr and port of etcd endpoints
  • etcd-ca the CA file path to access etcd, can be overrode by env $SSL_ROOT/trust.cer.
  • etcd-cert the certificate file path to access etcd, can be overrode by env $SSL_ROOT/server.cer.
  • etcd-key the key file path to access etcd, can be overrode by env $SSL_ROOT/server_key.pem.
  • etcd-pass the passphase string to decrypt key file.
  • etcd-pass-file the passphase file path to decrypt key file, can be overrode by env $SSL_ROOT/cert_pwd.
Examples
./scctl diagnose
echo exit $?
# exit 0

./scctl diagnose
echo exit $?
# 1. found in etcd but not in cache, details:
#   service: [springmvc/Client/1.0.0 springmvc/consumer/0.0.1 springmvc/provider/0.0.1 default/SERVICECENTER/0.0.1 default/Server/1.0.0 default/Server/1.0.1]
#   instance: [[rest://127.0.0.1:30100/]]
# error: 1. found in etcd but not in cache
# exit 1

Health Check commands

The health command can check the service center health.

Exit codes
  • 0 the service center is healthy.
  • 1 an internal error occurred in scctl.
  • 2 the service center is unavailable.
  • 3 the service center is abnormal.
Examples
./scctl health
# Registry service is unavailable(invoke request failed: Get http://127.0.0.1:30100/v4/default/registry/health: dial tcp 127.0.0.1:30100: getsockopt: connection refused)

echo exit $?
# exit 2

Directories

Path Synopsis
get

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL