Commit Graph
66 Commits
Author SHA1 Message Date
Sebastian Malton b342ea0bd6 store more than largest kube api request amount in the event store (#1605)
* store more than largest kube api request amount in the event store

* not abstract, give default

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-12-04 09:48:56 -05:00
Sebastian Malton cb954e6575 persist extension installation state for the duration of the window's life (#1602)
* persist extension installation state for the duration of the window's life

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-12-04 09:25:37 -05:00
Sebastian Malton 7eea2b5513 switch to using public mkdocs for check docs step (#1645)
* switch to using public mkdocs for check docs step

* remove git config and pip calls for check docs

* fix label check filtering

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-12-03 10:36:15 -05:00
Sebastian Malton 4e8fb65a2e fix URL validator, add some tests (#1627)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-12-03 08:49:51 -05:00
Sebastian Malton bcb6f7469b actually use ResourceQuotaDetails (#1621)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-12-02 10:27:27 -05:00
Sebastian Malton f3f9f08c0a lint whole repo (#1600)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-12-02 17:22:10 +08:00
Sebastian Malton 111c518bf5 add basic usage docs for extensions (#1583)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-12-01 11:30:01 -05:00
Sebastian Malton 99c3a00721 fix symlinking extensions into .k8slens/extensions folder (#1579)
* fix symlinking extensions into .k8slens/extensions folder

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-12-01 09:53:44 -05:00
Sebastian Malton f4fde80c21 add bug label by default on bug issue template (#1580)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-12-01 11:04:03 +08:00
Sebastian Malton 320bd05d5a bump eslint-plugin-unused-imports to 1.0.1 (#1577)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-30 13:00:13 -05:00
Sebastian Malton d21480a82f remove unused data field in abstract BaseStore (#1554)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-27 15:34:46 -05:00
Sebastian Malton 28abd66857 lint the repo as a github action (#1541)
* lint the repo as a github action

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-27 10:41:51 -05:00
Sebastian Malton 686cb122a3 add step to verify docs on area/documentation PRs (#1528)
* add step to verify docs on area/documentation PRs

* use GH actions to run the verification

* add check if label is set to area/documentation

* fix broken links in docs with WIP files

* add generating API docs before verifying

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-27 10:13:53 -05:00
Sebastian Malton 7451869c25 add no-unused and react/recommended to eslint (#1523)
* add no-unused-vars and no-unused-imports

* added quotes: double, and remove ignore pattern

* move itif and describeif into utils

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-27 08:48:38 -05:00
Sebastian Malton 1547142125 Add starting point for mobx related documentaion (#1422)
* add a brief overview to our use of mobx and mark all observable fields as observable in our docs

* add to navigation

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-25 14:05:58 -05:00
Sebastian Malton c93ee4ea6d [BREAKING]: remove deprecated routePath before GA (#1505)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-25 12:03:57 +02:00
Sebastian Malton ca49fb98d9 remove @observable.shallow from Lens(M|R)Extension (#1504)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-24 12:41:57 -05:00
Sebastian Malton 4e6b8ee10e Add designated folder for extensions (#1245)
* add store for mapping extension names to filesystem paths

- add extension mechinism for getting a folder to save files to

- add test to make sure that extensions are being loaded

- skip extension loading test

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-24 10:28:08 -05:00
Sebastian Malton daade3b899 add extensions to lint & lint:fix (#1490)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-23 12:55:00 -05:00
Sebastian Malton 5005d34c2e change BaseRegistry to only have one type parameter (#1474)
* change BaseRegistry to only have one type parameter

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-23 12:54:39 -05:00
Sebastian Malton 43976f5bd9 fix SwitchCase indent rule in eslint (#1454)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-19 15:15:49 -05:00
Sebastian Malton 0f3f5611ba Make BaseStore abstract (#1431)
* make BaseStore abstract so that implementers are forced to decide how to store data

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-19 09:24:41 -05:00
Sebastian Malton 25be6401e2 cleanup main side of metrics route for readability (#988)
* cleanup main side of metrics route for readability

* split out ??= for headers

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-16 10:43:53 -05:00
Sebastian Malton 9d6158a620 set "allowJs" to false in tsconfig (#1377)
- None of the .ts files include any of the .js files

- All .js files are either passed to electron-builder or used as config
  files for other programs.

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-16 10:43:22 -05:00
Sebastian Malton 4d3204766b add retry cap to handleStaticFile to prevent an infitite loop (#1373)
* add retry cap to handleStaticFile to prevent an infitite loop

* 'yarn -> yarn run' for node_module dependencies

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-13 15:45:57 -05:00
Sebastian Malton 648dbfee98 Remove Makefile from all intree extensions (#1312)
* Remove Makefile from all intree extensions

- Makefiles are not really common (rightly so) in JS projects and script
  entries in the package.json are good enough and what they're there
  for.

- Move to using yarn for installing dependencies and running scripts as
  that is what we mostly use for the rest of the project.

- Move from using make syntax to a dedicated script for building and
  testing extensions.

- add jest as extension devDep, go back to using makefile foreach syntax

- add correct exit code

- add yarn check call to install-deps

- add yarn invokation to find deps

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-13 12:32:15 -05:00
Sebastian Malton a78bbb5f6c Fix rendering of boolean values in CRDs (#1087)
* Fix rendering of boolean values in CRDs

- add optional special casing for boolean values in DrawerItems and
  TableRows since React (imo annoying fashion) does not render boolean
  values by default.
- add a spinner on the sidebar for when the CRD menu is expeanded but
  the entries have not been loaded yet.
- Add ability to double click a Badge to expand, also make it so that
  Badges highligh all text on first click.

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-10 10:10:19 -05:00
Sebastian Malton 6e77e7eabb add some overview documentation to the getting started page (#1269)
* add some overview documentation to the getting started page

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-09 10:48:09 -05:00
Sebastian MaltonandSebastian Malton d0ada00a18 Add mechanism for users to specify accessible namespaces (#702)
* Add mechanism for users to specify namespaces that are accessible to them. This is generally useful for when the user doesn't have permission to list the namespaces.

- Add new component "EditableList" which provides a simple way to
  display a list of items that can be added too.

- Add the ClusterAccessibleNamespaces to the GeneralClusterSettings

- style editable list list of lists, switch to using <>

Signed-off-by: Sebastian Malton <sebastian@malton.name>

Co-authored-by: Sebastian Malton <smalton@mirantis.com>
2020-11-09 10:45:09 -05:00
Sebastian Malton 02b9ac6b8b Add @types/node to devDeps for npm extension (#1217)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-04 15:44:24 +02:00
Sebastian Malton d7c7593c0d Add CI step to run future extension tests (#1214)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-11-04 12:49:37 +02:00
Sebastian Malton 087ebf6aec extract internationalizations (#1086)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-10-14 12:44:16 -04:00
Sebastian Malton 770c6b80f1 move autobind and debouncePromise to common/utils (#1081)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-10-14 14:36:19 +03:00
Sebastian Malton 0960259279 Add some basic unit tests for the following files: (#1050)
* Add some basic unit tests for cluster, kube-auth-proxy, and kubeconfig-manager

- src/main/cluster.ts
- src/main/kube-auth-proxy.ts
- src/main/kubeconfig-manager.ts

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-10-09 11:25:20 -04:00
Sebastian Malton 21bdc6ba8f add resizing capabilities to the side bar (#1009)
* add resizing capabilities to the side bar

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-10-06 13:33:23 -04:00
Sebastian MaltonandSebastian Malton 87061cee9e Refactor testing harness to use defaults (#808)
* Refactor testing harness to use defaults

- Move tests into defaultly named test folders
- Use default test suffix of ".test" instead of "_test"
- Make cluster-store tests unit tests by adding more
    nesting, so that order of tests doesn't matter

Signed-off-by: Sebastian Malton <sebastian@malton.name>

Co-authored-by: Sebastian Malton <smalton@mirantis.com>
2020-10-02 10:05:59 -04:00
Sebastian Malton 9ecfeb316c cleanup Draggable into ResizingAnchor (#989)
* Rename `Draggable` as `ResizingAnchor` since that is what it is used for and shouldn't be mistaken as a general draggable item

* Refactor `ResizingAnchor` to be much more smart about how it handles mouse movements. Allow it to know which direction the resizing should be in allowing it to produce exact resized values.

* Add event handlers for the min and max extents so that actions can be triggered when those extents are passed (in either direction)

* Add double click support

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-10-01 11:37:27 -04:00
Sebastian Malton c542ad0348 refactor overview statuses to be more DRY (#912)
* refactor overview statuses to be more DRY

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-09-29 11:25:29 -04:00
Sebastian Malton 34e141e517 make namespace filter multi select and change onChange (#987)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-09-28 10:30:23 -04:00
Sebastian Malton 5401c99298 Helm components should always use version information (#949)
* clean up code to catch rejections

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-09-24 09:54:26 -04:00
Sebastian Malton 5b6b19036d dropdowns should have 'cursor: pointer;' (#956)
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-09-24 09:21:56 -04:00
b88c0d4fbf Make download dir option consistent with other settings (#875)
* make download dir option consitent with other settings

* make path to kubectl setting consistent

Co-authored-by: Lauri Nevala <lauri.nevala@gmail.com>
Signed-off-by: Sebastian Malton <sebastian@malton.name>

Co-authored-by: Sebastian Malton <smalton@mirantis.com>
Co-authored-by: Lauri Nevala <lauri.nevala@gmail.com>
2020-09-23 08:57:51 -04:00
Sebastian Malton 2f53e76060 reduce height on draggable-top and only render it on macos (#942)
* reduce height on draggable-top and only render it on macos

* move drag bar out of app and into bootstrap

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-09-23 08:57:34 -04:00
Sebastian MaltonandSebastian Malton 7f6ae6e8c3 Auto select one and only cluster from pasted config (#888)
* Auto select one and only cluster from pasted config

- Disable add button with tooltip if no clusters are selected
- Add functionality to tooltip to display correctly over disabled
  elements

* feature should work of any method of adding kube config

Signed-off-by: Sebastian Malton <sebastian@malton.name>
Co-authored-by: Sebastian Malton <smalton@mirantis.com>
2020-09-21 16:11:43 -04:00
Sebastian Malton 9a10db837e fix Notifications blocking items not visually under them from being interacted with (#915)
* fix Notifications blocking items not visually under them from being interacted with

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-09-21 14:47:44 -04:00
Sebastian Malton 9a9f50ab34 add a zero width space to Badges to fix double click highlighting issue (#914)
* add a zero width space to Badges to fix double click highlighting issue

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-09-18 09:33:43 +03:00
Sebastian Malton d09a118b0c Fix integration tests not deselecting dropdown (#917)
* fix integration tests not deselecting dropdown

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2020-09-18 09:32:56 +03:00
Sebastian MaltonandSebastian Malton 1e96c5a2d4 fix placement of the add new cluster number (#876)
Signed-off-by: Sebastian Malton <smalton@mirantis.com>

Co-authored-by: Sebastian Malton <smalton@mirantis.com>
2020-09-15 09:07:16 -04:00
Sebastian MaltonandSebastian Malton 8d1f0efe80 remove make-syncronous and file-type calls from migration (#844)
* remove make-syncronous and file-type calls from migration

Signed-off-by: Sebastian Malton <smalton@mirantis.com>

Co-authored-by: Sebastian Malton <smalton@mirantis.com>
2020-09-09 16:41:25 -04:00
Sebastian MaltonandSebastian Malton 295333d055 add progress bar for webpack compilation (#794)
Signed-off-by: Sebastian Malton <smalton@mirantis.com>

Co-authored-by: Sebastian Malton <smalton@mirantis.com>
2020-09-08 08:44:34 -04:00
Sebastian MaltonandSebastian Malton 8f94f4a3da add drag and drop capabilities for the order of cluster icons on the side bar (#623)
* add drag and drop capabilities for the order of cluster icons on the side bar

* add type annotations for better clarity

* fix clusters staying in previously icon reordered workspaces

* add some tests to cluster-store

Signed-off-by: Sebastian Malton <smalton@mirantis.com>

Co-authored-by: Sebastian Malton <smalton@mirantis.com>
2020-09-04 13:32:27 -04:00
Sebastian MaltonandSebastian Malton 8c0ee5dc37 upgrade eslint typescript parser (#773)
Signed-off-by: Sebastian Malton <smalton@mirantis.com>

Co-authored-by: Sebastian Malton <smalton@mirantis.com>
2020-09-01 09:27:39 -04:00
Sebastian MaltonandSebastian Malton cb3e19f2f0 Allow for users to enabled release mode debugging (#481)
* Allow for users to enabled release mode debugging by setting the env var `DEBUG` to "true"

* Adds file logging so that in production logs can still be
  obtained. Those log files are limited the size and number and are rotated automatically

Signed-off-by: Sebastian Malton <smalton@mirantis.com>

Co-authored-by: Sebastian Malton <smalton@mirantis.com>
2020-09-01 09:20:59 -04:00
Sebastian Malton a12aa8a04f add cluster icon migration code (#673)
Signed-off-by: Sebastian Malton <smalton@mirantis.com>
2020-08-25 16:42:30 +03:00
Sebastian MaltonandSebastian Malton e249769562 Add support for customreasourcedefinitions under the v1 API (#658)
* Add support for customreasourcedefinitions under the v1 API
* moving store and views to use v1

Signed-off-by: Sebastian Malton <smalton@mirantis.com>

Co-authored-by: Sebastian Malton <smalton@mirantis.com>
2020-08-12 09:08:40 -04:00
Sebastian MaltonandSebastian Malton 858ab88940 use the Kubernetes regex for matching system names (#659)
* use the Kubernetes regex for matching system names

Signed-off-by: Sebastian Malton <smalton@mirantis.com>

Co-authored-by: Sebastian Malton <smalton@mirantis.com>
2020-08-07 16:24:47 -04:00
Sebastian MaltonandSebastian Malton 0c3be9bbae Fix Resource Quota Rendering (#624)
* add parsing of quota values which are non-numeric in the general case

* add unit tests

Signed-off-by: Sebastian Malton <smalton@mirantis.com>

Co-authored-by: Sebastian Malton <smalton@mirantis.com>
2020-08-04 13:14:02 -04:00
Sebastian MaltonandSebastian Malton 4bd29a6d88 fix format duration rounding days error (#582)
* fix format duration rounding days error
* added tests

Signed-off-by: Sebastian Malton <smalton@mirantis.com>

Co-authored-by: Sebastian Malton <smalton@mirantis.com>
2020-07-15 09:45:52 -04:00
Sebastian Malton 6770f05dc8 special case */namespace/* in parseApi, add test (#509) 2020-06-23 15:48:20 +03:00
Sebastian MaltonandSebastian Malton f620b3198f Fix pasting unicode into terminal sometimes not working (#492)
* add LANG env with UTF-8 specified

* fix precedence of union of env objects

Signed-off-by: Sebastian Malton <smalton@mirantis.com>

Co-authored-by: Sebastian Malton <smalton@mirantis.com>
2020-06-23 08:37:35 -04:00
Sebastian MaltonandSebastian Malton d821b18346 fix parseApi to not throw and to match apiVersion more specifically (#496)
* remove the explicit throw is new parseApi

* fix parseApi to be more consitent with the older version

- Add many more unit tests (these are exact copies of the old behaviour
  so that any changes do not change behaviour)

- Make explicit, with documentation, why certain actions are being taken
  with the parsing of the api URL parts

Signed-off-by: Sebastian Malton <smalton@mirantis.com>

Co-authored-by: Sebastian Malton <smalton@mirantis.com>
2020-06-22 11:55:03 -04:00
Sebastian MaltonandSebastian Malton 1752b8d3d9 Handle invalid metric response properly (#464)
* catch undefined and return default empty in normalizeMetrics

* fix crash on drilldown

Signed-off-by: Sebastian Malton <smalton@mirantis.com>

Co-authored-by: Sebastian Malton <smalton@mirantis.com>
2020-06-16 13:47:01 -04:00
Sebastian MaltonandSebastian Malton b9ddb503ee make sure that secret is defined before trying to decode (#479)
Signed-off-by: Sebastian Malton <smalton@mirantis.com>

Co-authored-by: Sebastian Malton <smalton@mirantis.com>
2020-06-16 13:46:02 -04:00
Sebastian MaltonandSebastian Malton bce7aec87d Fix parseAPI not working with non-"namespaces" pathnames. (#450)
* fix parseApi not accepting versions that don't start with 'v'
* add unit tests

Signed-off-by: Sebastian Malton <smalton@mirantis.com>
Co-authored-by: Sebastian Malton <smalton@mirantis.com>
2020-06-16 10:51:39 -04:00
Sebastian Malton 8f0c785f58 Revert "Fix parseApi not accepting versions that don't start with 'v' (#441)" (#448)
This reverts commit 00557c9940.
2020-06-12 07:34:07 +03:00
Sebastian MaltonandSebastian Malton 00557c9940 Fix parseApi not accepting versions that don't start with 'v' (#441)
* fix parseApi not accepting versions that don't start with 'v'

Signed-off-by: Sebastian Malton <smalton@mirantis.com>

Co-authored-by: Sebastian Malton <smalton@mirantis.com>
2020-06-11 13:19:01 -04:00