kui-shell / kuiclienttemplate Goto Github PK
View Code? Open in Web Editor NEWUse this template to make your own custom graphical terminal, via the Kui Grahpical CLI Framework
Home Page: https://github.com/kubernetes-sigs/kui
Use this template to make your own custom graphical terminal, via the Kui Grahpical CLI Framework
Home Page: https://github.com/kubernetes-sigs/kui
there seems to be some bug in webpack-dev-server. if you do
npm ci
npm run webpack
then visit localhost:9080... so far, so good. then if you ctrl-c that, and run npm run webpack
again and visit localhost:9080, you will see errors. this time, webpack has generated code that has node_modules/node_modules/@kui-shell
in its webpack-require
generated code
re-running npm ci
prior to the npm run webpack
, and it's fine again. weird.
row clicks do not work
it should be build:electron:all
this will pick up the needed API changes
git clone https://github.com/kui-shell/plugin-kubeui && cd plugin-kubeui
npm ci
KUBECONFIG=xxxx npm run proxy &
npm run webpack
The output is like below, seems the KUBECONFIG env variable is not there.
❯
ready
Successfully connected to your cloud. For next steps, try this command: getting started
❯
env
KUI=true
TERM=xterm-color
KUI_REPL_MODE=stdout
KUI_EXEC_OPTIONS={"noHistory":true,"rethrowErrors":true,"type":2,"env":{},"nested":true,"isProxied":true,"credentials":{},"rawResponse":true,"language":"en-US"}
__CF_USER_TEXT_ENCODING=0x1F5:0x19:0x34
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin
LOCALE=en-US
DEVMODE=true
PWD=/
SHLVL=3
HOME=/Users/shenxh
KUI_HEADLESS=true
_=/usr/bin/env
❯
kubectl get pod
The connection to the server localhost:8080 was refused - did you specify the right host or port?
and the UI console has many error like
Not allowed to load local resource: file:///Applications/Utilities/Terminal.app/Contents/Resources/Fonts/SFMono-Light.otf
npm run webpack
and run again, when access http://localhost:9080, will show errors like belowit's unclear to which screenshot we refer
kui 5.2.29 has improved support for Buttons in multi modal responses. let's start by moving the Events tab to be a button, so that the events table (along with the associated get events command) show up in the REPL. then, clicks on that table can re-populate the sidecar with the chosen event resource
/kind test
/priority fun
the code is messy and makes unnecessary use of low-level apis: type: 'custom'
this introduces some optimizations to startup time
we should probably export doExecWithStdout, doExecWithPty, doExecWithStatus, and doExecWithTable to allow other plugins a higher level way to call kubectl.
they could always do a REPL.qexec, but if the goal of the separate plugin is to offer new kubectl listen
or Mode enhancements (e.g. log formatting), rather than just consuming a kube resource model, those doExec routines do offer some assistance. (e.g., if the goal of that other plugin is do do something with a kube resource, or display a kube table, a qexec is probably fine, because this plugin has listen
functions that export the needed information via qexec)
on master tag builds, travis should release electron builds to github
right now, the Summary mode assumes that kubectl get <kind>
works for that resource type. this is not always the case. we could allow resource providers to define their own Summary, for those cases
we can improve inter-object navigation by leveraging InvolvedObject
missing .sh suffix
Is it possible to add auto completion for kubectl?
in kui 5.2.19
get the tests working, and in travis
[root@agentavtone-masterone ~]# git clone https://github.com/kui-shell/plugin-kubeui && cd plugin-kubeui
Cloning into 'plugin-kubeui'...
remote: Enumerating objects: 14, done.
remote: Counting objects: 100% (14/14), done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 759 (delta 0), reused 2 (delta 0), pack-reused 745
Receiving objects: 100% (759/759), 1.15 MiB | 13.20 MiB/s, done.
Resolving deltas: 100% (403/403), done.
[root@agentavtone-masterone plugin-kubeui]# ls
attic docs lerna.json package-lock.json README.md tools
bin kubeui.yaml package.json plugins theme tsconfig.json
[root@agentavtone-masterone plugin-kubeui]# npm ci
Usage: npm <command>
where <command> is one of:
access, adduser, bin, bugs, c, cache, completion, config,
ddp, dedupe, deprecate, dist-tag, docs, edit, explore, get,
help, help-search, i, init, install, install-test, it, link,
list, ln, login, logout, ls, outdated, owner, pack, ping,
prefix, prune, publish, rb, rebuild, repo, restart, root,
run, run-script, s, se, search, set, shrinkwrap, star,
stars, start, stop, t, tag, team, test, tst, un, uninstall,
unpublish, unstar, up, update, v, version, view, whoami
npm <cmd> -h quick help on <cmd>
npm -l display full usage info
npm help <term> search for help on <term>
npm help npm involved overview
Specify configs in the ini-formatted file:
/root/.npmrc
or on the command line via: npm <command> --key value
Config info can be viewed via: npm help config
[email protected] /usr/lib/node_modules/npm
[root@agentavtone-masterone plugin-kubeui]#
add support for building electron clients. this should mostly just leverage the existing support in @kui-shell/builder
as reported in #9 there are some CSP violation errors due to having an "$CSP" CSP policy string
rather than having plugins use _kubectl
directly, and expose (for now) the RawResponse schema, let's instead expose a doExecRaw
which returns a string (stdout)
for now, let's incorporate the logui plugin into this repo. it can easily be split out if we find the need to do so.
consolidating it here will simplify keeping the kui-core versioning in sync across the plugins shipped in the client that we build and distribute via the Releases page.
the core supports splitting generated names into a basename and a nameHash
this picks up a few breaking changes, including removal of MultiTable. kubernetes-sigs/kui#3308
this will allow us to support kubectl edit and logs -f
for the top-level client, let's add bash-like
it has 1.0.6 despite us never having published anything in this repo
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.