Code Monkey home page Code Monkey logo

bc-cli's Introduction

bc-cli

codecov

Command line tools for Bestchains

bc-cli's People

Contributors

0xff-dev avatar abirdcfly avatar bjwswang avatar dayuy avatar lanture1064 avatar nkwangleigit avatar

Stargazers

 avatar

Watchers

 avatar  avatar

bc-cli's Issues

refine config file

Previous bc-cli config file #3 (comment)

auth:
    enable: false  # 是否启用oidc验证,也可通过 --enable-auth 参数修改
    expiry: 1683428084  # oidc token过期时间unix时间戳
    idtoken: eyJhbGciOiJSUzI1NiIsImtpZCI6ImVlZWIyZWUyNzA4ZjU0ZDRkODhjMTMyMzllY2EwYzc2NjM1ODE4NDgifQ.eyJpc3MiOiJodHRwczovL3BvcnRhbC4xNzIuMjIuOTYuMjA5Lm5pcC5pby9vaWRjIiwic3ViIjoiQ2doaWFuZHpkMkZ1WnhJR2F6aHpZM0prIiwiYXVkIjoiYmMtY2xpIiwiZXhwIjoxNjgzNDI3ODY2LCJpYXQiOjE2ODMzNDE0NjYsImF0X2hhc2giOiJxdGhPcmgwa2t1VzRUMDY0MDZwZ1pRIiwiY19oYXNoIjoiejBhczN6MW9QcFJOallvM1JtVWpPZyIsImVtYWlsIjoiYWRtaW5AdGVueGNsb3VkLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJncm91cHMiOlsiaWFtLnRlbnhjbG91ZC5jb20iLCJvYnNldmFiaWxpdHkiLCJyZXNvdXJjZS1yZWFkZXIiLCJiZXN0Y2hhaW5zIl0sIm5hbWUiOiJiandzd2FuZyIsInByZWZlcnJlZF91c2VybmFtZSI6ImJqd3N3YW5nIiwicGhvbmUiOiIiLCJ1c2VyaWQiOiJiandzd2FuZyJ9.OoRvS8lTV5T7hX6IXTIzt9Ne-A44ix10-sYbKOg1Bfk7VX3_WaueMDFjALC7qJ5PZG-m6k_iQZn8dSOgMihwMQAfzJxxpoRbWABSJBS72UZSB18zZKK4mLPKAcEtZUYPFcuQhbR9r12FnokvNnEdd6BrWaIIEGQaYrJgix2HQRdDd6t8s-V3et0dvuWrYLv8HiD06KBUUYNnt1SCI6kuzbzpTLNQFNU86mS7Uq58PmXwXp_MwXZ_PnvmV_GDmg5eEgNLPRmXXryvc4o6Bp_FY5GR8amDqKMwt0m6MWhMOPH2ucYppCi7cUsns-z5068vhDrmTDjguQ6lmwC1m8k-0w
    issuerurl: https://portal.172.22.96.209.nip.io/oidc
    refreshtoken: ChllY3N2a2d6dTM3d2Qzc2F6dnhxb3Q0NHIzEhlhaTZiYnQ0eWZoN3NzcGpjamIyZ2N6eWZ1
saas:
    depository:
        server: https://bc-saas.172.22.96.209.nip.io

The kubeconfig file

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM2VENDQWRHZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQ0FYRFRJeE1URXdOREE1TXpFd01sb1lEekl4TWpFeE1ERXhNRGt6TVRBeVdqQVZNUk13RVFZRApWUVFERXdwcmRXSmxjbTVsZEdWek1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBCnVZZGFoYmZpNi9PWkJBRXNoNFVDQkxTdlBqN1FLY2plTS9hZzdtTHkzYXpzYjhKUkMySGFmajNEOFFydmx1c3UKU3MyelVwVlRPTHFBVUV1Nm1sU2FvSFZySkhPeG12anN1bDlOMGg3VG1kN2l1ZE9DZ1VwMG9HV0I0d0hLQnNDMgp6SUJHaEdIUUhkMmdLc1V6MmRwTEZ0NzNnZU13N1VhTEprYmhMSTcwb0ZNaGhIamF6amZmQ041anE5ejlTOU50Ckt3MEkyaW5RVmtKSUFZMnNLdkptNzJmb20rQ2srSW5Nd0Y4cUh6bTZNMVBXZ2JXdHNlN2h4dDMrcityRk9rd3AKdmU4MVZZam5qSGJYQXN2OUluVHRsSEp0TmFjUm01bUVwS3dwRkRXWk1xRWVMaFNFbWdYMk1TdlNFaG5semZUTQptRkV4aXhjaG5uSWVGV28rNENGMEd3SURBUUFCbzBJd1FEQU9CZ05WSFE4QkFmOEVCQU1DQXFRd0R3WURWUjBUCkFRSC9CQVV3QXdFQi96QWRCZ05WSFE0RUZnUVV1TUJRWDVIMWt2bDROQk5GQWlUQWZSQVhDYUF3RFFZSktvWkkKaHZjTkFRRUxCUUFEZ2dFQkFBcWx4VEJ0cUpheFQ1eXIvbEhPbm1sOUlGeTJsWVRoOUxoNUJDdy9ZQ3FYUFZ6WgpNeVBTSmdTUUpTWm0wZjl2QTc3bEZYeG5qNTRBdE5SN2kva3E0dkJtM0RhWnVzT01uSGF6Vnp6bWdMSHhveUk3Cks5TENrb0dwbHY5aWliVGkybkRQYzVYUUsvbkVPRTNLclpKUlo4YlZnMGlpc0tIUzU1WGs0ajVqMFhvckw3UDUKeVkvdGU5QkY5S1lpWHpMZkVSaElLL25ZWHNkUHViam1wa0t6YnQ5U0k4RExBQlAxWVRWNHdjT2xSYlFFajN4UApnQmtIUjUrZ0JEekZ6RncrbnZYMU9ZM1pRTDFaV21lRTlKSlVQeUtjWWlVYmxFWXBlSzB1M09sSStUUW56aTBtClRCZGF5aU1aZWRVS2M0UUtVZFd4K2VBMkhHZmUwQWNwd2xWUXFBMD0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
    server: https://172.22.96.133:6443
  name: CID-585ae638bd68
contexts:
- context:
    cluster: CID-585ae638bd68
    user: kubernetes-admin
  name: kubernetes-admin@CID-585ae638bd68
current-context: kubernetes-admin@CID-585ae638bd68
kind: Config
preferences: {}
users:
- name: kubernetes-admin
  user:
    client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURGVENDQWYyZ0F3SUJBZ0lJS3Q4Vnc3NERuUE13RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWdGdzB5TVRFeE1EUXdPVE14TURKYUdBOHlNVEl4TVRBeE1UQTVNekV3TlZvdwpOREVYTUJVR0ExVUVDaE1PYzNsemRHVnRPbTFoYzNSbGNuTXhHVEFYQmdOVkJBTVRFR3QxWW1WeWJtVjBaWE10CllXUnRhVzR3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRRFcvSHhtUThmZVJNTE0KSjVCUVJmZnJsdk1nRWFUODArWERUM1BRcGs5VmVSc0NTaXBudFRkRTBZajM2R2JQUUpOQTYxNWM4Uit0ekFtQwpJcUhLMFVzVjg0UlZtVkREY0M0K3EwSjVPb3pGZ2FoVWE3VkpFeCtRKzV3Wk4wbHIwZ1BBM1JQam1leWRHQkkzCmI5dkNMUCtMWlFnR0QrYmZuZTBQNk9VY0J5eHhOYjhvc0tISFZybW9nRklsR2RxUXkwWHJuWmNwU0Y1SEN4dm8KVFhvN0JVZEYxT3RxVWY4NE44R0xFcGFrUzVCc3pFWDY3SFpIeGZMRVE0T2UrK2t4S2xzbHUrdFNtQUFvb0VYVwowMS96ckdHNXJOb2VHaWc5cFArcGIxS3lFMzl5K1BkS0xEZ0R2V1BINmd0OWdjdlE2WmdBTnl4NzcxZGpsN2l3CmhzZUtCQXVQQWdNQkFBR2pTREJHTUE0R0ExVWREd0VCL3dRRUF3SUZvREFUQmdOVkhTVUVEREFLQmdnckJnRUYKQlFjREFqQWZCZ05WSFNNRUdEQVdnQlM0d0ZCZmtmV1MrWGcwRTBVQ0pNQjlFQmNKb0RBTkJna3Foa2lHOXcwQgpBUXNGQUFPQ0FRRUFtZ0ROdEdZWllFNHJDcEw3TkQreWxIUlJ2WHJKUjNFd01BYUlpTXNnTzBNaURkTmFvRURMCmx6d2d2M3dYckVPS2VWQVUwYW1ES1FPTURHK0lzMG9WVUR0YVN0NEVlR1d1elRXcFF5b3BrVGp6L2FJTTEraHEKK1ZWSEdqbGhWOHU4RFBST0hiWGFwZ3R5dWI2dmI2aHErKzJQZjAzeEVoVDVjNHJ5RWdHSjczajQ1MHZ5aVE1YgpLeENuMzArcG9pUXBDUGtvWU95dVRSTEJiSUNuR3BRNVIxWHFvcU54YnRySXUvQlBRU21aSWpaSzlNQ0hnM3VJCjQrVVZLWlBNYlA5dUhLTkVqMEE0UW5kRVRLRG81UjFjMVd2TnFyUUV1VU0zVHFTa2RrNXU3RmJPaDd2YVNWODQKdXZwRHlpY2JjUUppRUlSbnduM0Z1OHlGZ1Z0ZkFRN3JLQT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
    client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBMXZ4OFprUEgza1RDekNlUVVFWDM2NWJ6SUJHay9OUGx3MDl6MEtaUFZYa2JBa29xClo3VTNSTkdJOStobXowQ1RRT3RlWFBFZnJjd0pnaUtoeXRGTEZmT0VWWmxRdzNBdVBxdENlVHFNeFlHb1ZHdTEKU1JNZmtQdWNHVGRKYTlJRHdOMFQ0NW5zblJnU04yL2J3aXovaTJVSUJnL20zNTN0RCtqbEhBY3NjVFcvS0xDaAp4MWE1cUlCU0pSbmFrTXRGNjUyWEtVaGVSd3NiNkUxNk93VkhSZFRyYWxIL09EZkJpeEtXcEV1UWJNeEYrdXgyClI4WHl4RU9EbnZ2cE1TcGJKYnZyVXBnQUtLQkYxdE5mODZ4aHVhemFIaG9vUGFUL3FXOVNzaE4vY3ZqM1NpdzQKQTcxangrb0xmWUhMME9tWUFEY3NlKzlYWTVlNHNJYkhpZ1FMandJREFRQUJBb0lCQUdkVFRrNndRUDFZdXU3NApET29uMXJJS0NLdmZEeGJjbU04My9vZkhodFdqc1JGMnA4N1VUODNwanhUblE1SlVqUEZrcmlPcFYvcGwyQ1FOCmxRa3ZjaEVJeXcrQThrb2NQbjJzUGZTWjZWSjdzSFZ5bHR5YUxrKzJQaDM0Ym5jOXBzUW8vUWdrMEkzb0pja3oKSDhIQmNzaUNORXNGbFliZ0ZqSFJVMXdYTG9yeDBnS0FCdTlqcjdxVGZtOVp4dmlOYk95Y1RlYVJ4Z2dyU20zMwo0VXdVVkI1ODZXVE9BV0cvOFQrNkVHblQwL1U4ZG5ab1JHdTZJNTZETGtKYTI2Szd1My92cmxUMHB4Qzl4TlQ5CjluTm9kaDljeW1BZUNvN3ZGeW80ME0rL0JHUitOdHFpcmU5KzZIam5kMHdOblBteE40UXdXcHVWYUw0ZDVjTXgKK0xUQTdjRUNnWUVBK243QVVmZ0pMWUk0ZDM0U1NFbXRONkd6WGRqLzd0aXZhekRYTkRvNEQxdlhhaDdjK0UxQQphOS83ckN1ejZTV21KYXZSTmIrdXRvMHRhQkpWQTZRbW84bnJFWjB5TkpML1pzZUJueXdKajFCRVBTbmt0WFArCi9RdUdFNkxSZm4zcGxSNzVKcGdqV0VsSXlSR0ZxaDhGajgrYk01UEpDTWN3Rzg1VHhmQ3NQOThDZ1lFQTI3WDMKbFJPN1BrMWRNRTgzNVJnblN2d1BUQ0U2TlE5U0dGRFhkOU0xbXozZnVoTm1CYXNPbG1IVmRMUllCRkFhSGIvNQpxWnFkN2ZFcXh4ZWJXdy9DTk9vN2g2SEZGUGJvWlpSOWQ1OEdDOWVUM3FwZ0RCalFMTVdLZk03S3VUSUhGUnoyCndlSVlCWHRZenkyQ2NEWlJsTFB6WXAwVmV3SFkxSE5Yb1NzZTZsRUNnWUFPRTc5MUc4NVFPMmcyOXVQS0lqSFUKMVlhQitLYnhZa1lCYlI0NjlpYWVYbGZ0dzh4Qk8vNHAwYzJQOEdqTTZtdTY1RHYrbkVZU1JqN09BWEc3b2FiMgpQMnV4Y3JjV2swZzlHMnNpYWRRanRLd1JEK0NsZmQ1UGxDMDF2MG1zcFNEU1c0bys2Ly9ZZjAzUzF1US9HajB5CnhzVC9FZ2dUTVRaMzZaRjFwei9XMndLQmdRQzc0c1N5YTRrNEloaUs4M090S2hhUC9UVm51Uko1eFh4QzV2OGIKclRhdVp4OG5sT2N0K2JZank4NHFXdjdaMFZaRUVxT0I4b01UczZVTlZKYTZMS083ZElNcjNaOFg2bjJhUUgxNwpDamExY2NrMkpTUzFzNUp5ZHd1UzU1UmRBdmNqaXYxSmwvdEsxTXlCZnoySWtDcjdxMWQ3QVRJWld0Nzk3eFVFCjhrY2h3UUtCZ0VWT0VFbkNjaWVyWnU3TnArTDU1Z2l5dkV3RW5Uek9Bazlxa085YmQ5dFVBTUorOVQ1b3p2dlcKN1lBMzNCditDYTFBUjNwLzNLT2FXY24waFFmK05iMHRqaGhmM3lZWENwVHgydzVaWGVtNHU2L1FLMmZxbk16ZQorQ2pxMGxFNUQ4UVZKa2g5cDZsQkpXcmowZUcxWkg3SC9GcHJNNHRHSG5wKytJd2pJUFpOCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==

command don't panic

Some of the commands currently implemented use RunE as an executable function, resulting in the entire code panic when an error occurs again, and I think we should output the error instead of directly program panic.

  • channel
  • depository
  • federation
  • market/repository
  • org

Also, the content of the Long field should be added to give some practical examples of the command.

add login command

  1. bc-cli login命令成功后, 生成config文件 ~/.bestchains/config
apiVersion: v1beta1
cluster:
    server: https://172.22.96.133:6443
     name: xxx
user:
  name: xxx
  idtoken: `xxxxx`
saas:
  depository:
      auth: xxx
      server: https://xxxxx:xxx
  1. 后续所有的CLI调用的参数解析按照如下流程:

1) 首先读取config文件,获取本地配置
2) 读取CLI flags,覆盖本地配置

  1. 如果.authoidc,则需要将idtoken加载到http request header中

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.