Skip to content

Commit

Permalink
Merge branch 'main' into f/byon
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewballantyne committed Oct 20, 2023
2 parents 1e45941 + c0dca01 commit 5ef9bee
Show file tree
Hide file tree
Showing 197 changed files with 5,375 additions and 1,357 deletions.
54 changes: 54 additions & 0 deletions .github/ISSUE_TEMPLATE/internal_techdebt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: (Internal) Tech Debt Template
description: Intended to help create internal tech debt change.
title: "[Tech Debt]: "
labels: ["kind/tech-debt"]
body:
- type: dropdown
id: deploy-type
attributes:
label: Type
description: What kind of tech debt is it?
multiple: true
options:
- General Tech Debt (eg. Improve the way something exists today)
- Dev Efficiency (eg. CI improvements, issue templates, etc)
- Infrastructure (eg. Add web sockets)
- Quality (eg. tests)
validations:
required: true
- type: input
id: source
attributes:
label: Source
description: Where did you find this issue?
placeholder: main / feature branch x / incubation / etc
validations:
required: false
- type: textarea
id: description
attributes:
label: Description
description: What should we improve?
validations:
required:
true
- type: textarea
id: why
attributes:
label: Why?
description: What value does this bring / what is it fixing?
validations:
required:
true
- type: textarea
id: anything-else
attributes:
label: Anything else?
description: |
Additional information. Suggested topics:
- Initial investigation
- Known impact this will cause
- Anything else you want to add
validations:
required:
false
64 changes: 64 additions & 0 deletions .github/ISSUE_TEMPLATE/internal_tracker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: (Internal) Tracker Template
description: Intended to help with a template for tracking larger grouped items.
title: "[Tracker]: "
labels: ["tracker"]
body:
- type: textarea
id: description
attributes:
label: Description
description: A introductory description of the larger task
validations:
required:
true
- type: input
id: branch
attributes:
label: Target Branch
description: What is the feature branch to contain this effort? If not known at this time, replace with `TBD`
placeholder: f/
validations:
required: true
- type: textarea
id: requirements
attributes:
label: Requirements
description: A series of requirements to consider this tracker complete.
placeholder: |
* P0: Show something
* P2: Allow users to change permissions
validations:
required: true
- type: textarea
id: ux-issues
attributes:
label: Itemized UX Issues
description: |
List the tickets that UX will work on.
Tip: Using a bullet list will help display links to other tickets by unraveling the name and status of that ticket.
placeholder: |
* #1234
* Design mocks - Ticket TBD
validations:
required: true
- type: textarea
id: dev-issues
attributes:
label: Itemized Dev Issues
description: |
List the tickets that Development will work on. If unknown at this time, add `TBD`
Tip: Using a bullet list will help display links to other tickets by unraveling the name and status of that ticket.
placeholder: |
* #1234
* Implement Table Page - Ticket TBD
validations:
required: true
- type: textarea
id: artifacts
attributes:
label: Related artifacts
description: Any additional artifacts that will help with the tracker goals
validations:
required: false
56 changes: 56 additions & 0 deletions .github/ISSUE_TEMPLATE/internal_ux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: (Internal) UX Template
description: Intended to help ux create internal flows.
title: "[UX]: "
labels: ["kind/ux"]
body:
- type: textarea
id: description
attributes:
label: Description
description: A introductory description of the task
validations:
required:
true
- type: textarea
id: goals
attributes:
label: Goals
description: |
An itemized list of goals to complete for this ticket.
If you don't have specific goals, this could also include the user story or jobs to be done.
placeholder: |
* Research...
* Design...
validations:
required: false
- type: textarea
id: output
attributes:
label: Expected Output
description: What would be considered the end result?
validations:
required: false
- type: textarea
id: related-issues
attributes:
label: Related Issues
description: |
Any related issues that might be useful to mention as it relates to this ticket's goals, expectations, or follow ups.
Tip: Using a bullet list will help display links to other tickets by unraveling the name and status of that ticket.
placeholder: |
* #1234
* Create figma designs - Ticket TBD
validations:
required: false
- type: textarea
id: artifacts
attributes:
label: Completed artifacts
description: |
Any artifacts you want to easily note as results of the effort.
Typically this is left empty at the start. Also useful to include useful links or information you would like to share for additional context.
validations:
required: false
24 changes: 24 additions & 0 deletions .github/workflows/auto-add-issues-to-project.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Auto Add Issues to Tracking boards
on:
issues:
types:
- opened
jobs:
add-to-project:
name: Add issue to projects
runs-on: ubuntu-latest
steps:
- name: Generate github-app token
id: app-token
uses: getsentry/action-github-app-token@v2
with:
app_id: ${{ secrets.DEVOPS_APP_ID }}
private_key: ${{ secrets.DEVOPS_APP_PRIVATE_KEY }}
- uses: actions/[email protected]
with:
project-url: https://github.com/orgs/opendatahub-io/projects/40
github-token: ${{ steps.app-token.outputs.token }}
- uses: actions/[email protected]
with:
project-url: https://github.com/orgs/opendatahub-io/projects/45
github-token: ${{ steps.app-token.outputs.token }}
2 changes: 1 addition & 1 deletion .github/workflows/pr-close-image-delete.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Git checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: '0'
- name: Install skopeo
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
matrix:
node-version: [18.x]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/[email protected]
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/quay-tag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Git checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: '0'
- name: Install skopeo
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/vuln_scan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
name: Scan Files
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Run Trivy vulnerability scanner for filesystem
uses: aquasecurity/[email protected]
with:
Expand Down
4 changes: 3 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
[dev setup documentation]: docs/dev-setup.md#requirements

# Contributing

Contributing encompasses repository specific requirements.

## Requirements

You can check the requirements of ODH in the [README section](./README.md#requirements).
To review the ODH requirements, please refer to the [dev setup documentation].

## Writing code

Expand Down
104 changes: 7 additions & 97 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,107 +1,17 @@
# Open Data Hub Dashboard

A dashboard for Open Data Hub components.

- Shows what's installed
- Show's what's available for installation
- Links to component UIs
- Links to component documentation

## Requirements

ODH requires the following to run:

- [NodeJS and NPM](https://nodejs.org/)
- Node recommended version -> `18.16.0`
- NPM recommended version -> `9.6.7`
- [OpenShift CLI](https://docs.openshift.com/container-platform/4.12/cli_reference/openshift_cli/getting-started-cli.html)
- [kustomize](https://github.com/kubernetes-sigs/kustomize)
- [podman](https://github.com/containers/podman)
- Have access to [Quay.io](https://quay.io/)

### Additional tooling requirements

- [OpenShift CLI, the "oc" command](https://docs.openshift.com/container-platform/4.12/cli_reference/openshift_cli/getting-started-cli.html)
- [Podman](https://github.com/containers/podman)
- [Quay.io](https://quay.io/)

## Development

1. Clone the repository

``` bash
git clone https://github.com/opendatahub-io/odh-dashboard
```

2. Within the repo context, install project dependencies

```bash
cd odh-dashboard && npm install
```

### Build project

```bash
npm run build
```

### Serve development content

This is the default context for running a local UI. Make sure you build the project using the instructions above prior to running the command below.

```bash
npm run start
```
[Dev setup & Requirements]: docs/dev-setup.md
[Dashboard documentation]: docs/README.md

For in-depth local run guidance review the [contribution guidelines](./CONTRIBUTING.md#Serving%20Content).

### Testing

Run the tests.

```bash
npm run test
```

Run storybook a11y tests and interaction tests.

```bash
npm run storybook
npm run test:storybook
```

For in-depth testing guidance review the [contribution guidelines](./CONTRIBUTING.md#Testing)

## Deploying the ODH Dashbard

### Official Image Builds

odh-dashboard images are automatically built and pushed to [quay.io](https://quay.io/repository/opendatahub/odh-dashboard) after every commit to the `main` branch. The image tag name format for each image is `main-<COMMIT SHORT HASH>`.

Example: The `main` branch is updated with commit `f76e3952834f453b1d085e8627f9c17297c2f64c`. The CI system will automatically build an odh-dashboard image based on that code and push the new image to `odh-dashboard:main-f76e395` and updated `odh-dashboard:main` to point to the same image hash.

The [nightly](https://quay.io/opendatahub/odh-dashboard:nightly) tag is a floating tag that is updated nightly and points to the most recent `main-<HASH>` commit from the previous day.

### Deploy using kustomize

The [manifests](./manifests) folder contains a [kustomize](https://kustomize.io) manifest that can be used with `kustomize build`.

### Deploy using a kfdef
# Open Data Hub Dashboard

The [manifests/kfdef](./manifests/kfdef) folder contains an example kfdef to deploy ODH Dashboard with the Notebook Controller backend is located in [odh-dashboard-kfnbc-test.yaml](manifests/kfdef/odh-dashboard-kfnbc-test.yaml).
A dashboard for Open Data Hub components, featuring user flows to navigate and interact with the various component parts of the stack.

## Contributing

Contributing encompasses [repository specific requirements](./CONTRIBUTING.md).

### Triaging

For information on how we triage tickets, see our [triage.md](./docs/triaging.md).

## Documentation

You can find more information about this project in the [document section](./docs/README.md).

## Releases
Read more about the Dashboard in one of our documentation links.

For more information on how, when, and what we do for releases, see our [releases.md](./docs/releases.md).
* [Dev setup & Requirements]
* [Dashboard documentation]
15 changes: 10 additions & 5 deletions backend/.eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,7 @@
"tsconfigRootDir": "."
},
// includes the typescript specific rules found here: https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin#supported-rules
"plugins": [
"@typescript-eslint"
],
"plugins": ["@typescript-eslint"],
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
Expand All @@ -32,9 +30,16 @@
"process": "readonly",
"document": "readonly"
},
"settings": {
},
"settings": {},
"rules": {
"eqeqeq": ["error", "always", { "null": "ignore" }],
"no-restricted-properties": [
"error",
{
"property": "toString",
"message": "e.toString() should be fastify.log.error(e, 'your string'). Other use-cases should avoid obj.toString() on principle. Craft the string you want instead."
}
],
"@typescript-eslint/explicit-function-return-type": "off",
"@typescript-eslint/interface-name-prefix": "off",
"@typescript-eslint/no-var-requires": "off",
Expand Down
Loading

0 comments on commit 5ef9bee

Please sign in to comment.