Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion applications/accounts/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ COPY themes/custom /opt/keycloak/themes/custom
COPY plugins/* /opt/keycloak/providers/

ENTRYPOINT [ "/opt/keycloak/bin/kc-entrypoint.sh" ]
CMD [ "start-dev", "--import-realm", "--health-enabled=true", "--metrics-enabled=true" ]
CMD [ "start-dev", "--import-realm", "--health-enabled=true", "--metrics-enabled=true", "--verbose" ]
79 changes: 79 additions & 0 deletions applications/accounts/deploy/resources/realm.json
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,75 @@
{{- end }}
}
},
"clientScopeMappings": {
"account": [
{
"client": "account-console",
"roles": [
"manage-account",
"view-groups"
]
}
]
},
"clients": [
{
"id": "18893fbb-8252-4aaa-bc9b-60799ceb9932",
"clientId": "account-console",
"name": "${client_account-console}",
"rootUrl": "${authBaseUrl}",
"baseUrl": {{ printf "/realms/%s/account" .Values.namespace | quote }},
"surrogateAuthRequired": false,
"enabled": true,
"alwaysDisplayInConsole": false,
"clientAuthenticatorType": "client-secret",
"redirectUris": [
{{ printf "/realms/%s/account/*" .Values.namespace | quote }}
],
"webOrigins": [],
"notBefore": 0,
"bearerOnly": false,
"consentRequired": false,
"standardFlowEnabled": true,
"implicitFlowEnabled": false,
"directAccessGrantsEnabled": false,
"serviceAccountsEnabled": false,
"publicClient": true,
"frontchannelLogout": false,
"protocol": "openid-connect",
"attributes": {
"realm_client": "false",
"post.logout.redirect.uris": "+",
"pkce.code.challenge.method": "S256"
},
"authenticationFlowBindingOverrides": {},
"fullScopeAllowed": false,
"nodeReRegistrationTimeout": 0,
"protocolMappers": [
{
"id": "9a68ec2d-943d-49cb-9fdd-cd821d606210",
"name": "audience resolve",
"protocol": "openid-connect",
"protocolMapper": "oidc-audience-resolve-mapper",
"consentRequired": false,
"config": {}
}
],
"defaultClientScopes": [
"service_account",
"web-origins",
"acr",
"address",
"administrator-scope",
"phone",
"profile",
"roles",
"microprofile-jwt",
"basic",
"email"
],
"optionalClientScopes": []
},
{
"id": "9a6a2560-c6be-4493-8bd5-3fdc4522d82b",
"clientId": {{ .Values.apps.accounts.client.id | quote }},
Expand Down Expand Up @@ -319,6 +387,17 @@
"claim.name": "groups",
"jsonType.label": "String"
}
},
{
"id": "f99f57ac-a765-4aba-9b45-9425beec0a9f",
"name": "sub",
"protocol": "openid-connect",
"protocolMapper": "oidc-sub-mapper",
"consentRequired": false,
"config": {
"introspection.token.claim": "true",
"access.token.claim": "true"
}
}
]
},
Expand Down
2 changes: 1 addition & 1 deletion applications/backoffice/src/types/workspace.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ export interface ResourceType {
export const OSBApplications: { [id: string]: OSBApplication } = {
nwbexplorer: { name: "NWB Explorer", subdomain: "nwbexplorer" },
netpyne: { name: "NetPyNE", subdomain: "netpyne" },
jupyter: { name: "JupyterLab", subdomain: "notebooks" },
jupyter: { name: "JupyterLab", subdomain: "lab" },
}

export const SampleResourceTypes = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ class CookieNotFound(Exception):

def change_pod_manifest(self: KubeSpawner):
"""
Application Hook to change the manifest of the notebook image
Application Hook to change the manifest of the notebook pod
before spawning it.

Args:
Expand Down
2 changes: 2 additions & 0 deletions applications/netpyne/deploy/values.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
harness:
subdomain: netpyne
secured: true
uri_role_mapping: []
service:
auto: false
port: 80
Expand Down
20 changes: 0 additions & 20 deletions applications/osb-portal/.babelrc

This file was deleted.

5 changes: 0 additions & 5 deletions applications/osb-portal/.eslintignore

This file was deleted.

46 changes: 0 additions & 46 deletions applications/osb-portal/.eslintrc.yaml

This file was deleted.

22 changes: 11 additions & 11 deletions applications/osb-portal/deploy/values-local.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
harness:
sentry: false
dependencies:
soft:
- accounts
- accounts-api
- common
- volumemanager
- workspaces
- workflows
- jupyterhub
- jupyterlab
- backoffice
# dependencies:
# soft:
# - accounts
# - accounts-api
# - common
# - volumemanager
# - workspaces
# - workflows
# - jupyterhub
# - jupyterlab
# - backoffice
10 changes: 9 additions & 1 deletion applications/osb-portal/deploy/values.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
harness:
subdomain: www
secured: false
secured: true
deployment:
auto: true
port: 80
Expand Down Expand Up @@ -39,3 +39,11 @@ harness:
smoketest: true
ignoreRequestErrors: false
ignoreConsoleErrors: false
uri_role_mapping:
- roles: []
uri: /*
white-listed: true
- uri: /login
roles: []
- uri: /workspaces/open/*
roles: []
62 changes: 62 additions & 0 deletions applications/osb-portal/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
import js from '@eslint/js'
import globals from 'globals'
import reactHooks from 'eslint-plugin-react-hooks'
import reactRefresh from 'eslint-plugin-react-refresh'
import tseslint from 'typescript-eslint'


export default tseslint.config(
{
ignores: [
'dist',
'node_modules',
'.yalc',
'src/rest',
'eslint.config.js'
]
},
{
extends: [js.configs.recommended, ...tseslint.configs.recommended],
files: ['**/*.{ts,tsx,js,jsx}'],
languageOptions: {
ecmaVersion: "latest",
globals: globals.browser,
sourceType: "module"
},
plugins: {
'react-hooks': reactHooks,
'react-refresh': reactRefresh,
},
rules: {
...reactHooks.configs.recommended.rules,
'react-refresh/only-export-components': [
'warn',
{ allowConstantExport: true },
],
// indent: ["warn", 2],
// indent: ["warn", 2, {
// SwitchCase: 1,
// ignoredNodes: ["JSXElement", "JSXElement > *", "JSXAttribute", "JSXIdentifier", "JSXNamespacedName", "JSXMemberExpression", "JSXSpreadAttribute", "JSXExpressionContainer", "JSXOpeningElement", "JSXClosingElement", "JSXText", "JSXEmptyExpression", "JSXSpreadChild"]
// }],
curly: "error", // enforce braces for one-line blocks
"no-tabs": "error", // enforce no tabs
"no-console": ["warn", {
allow: ["warn", "error", "debug"],
}],
"@typescript-eslint/no-unused-vars": "warn", //
"@typescript-eslint/no-explicit-any": "off", // No strict typing (annoying especially with React elements and events callbacks)
"@typescript-eslint/no-empty-object-type": "warn",
"consistent-return": "warn", // https://eslint.org/docs/latest/rules/consistent-return
"prefer-arrow-callback": ["warn"],
"object-curly-spacing": ["warn", "always"], // enforce consistent spacing inside braces
"func-style": "off", // function expressions or arrow functions are equally valid
"no-unneeded-ternary": "warn", // disallow unnecessary ternary expressions
// React rules: https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules
"react/prop-types": "off", // PropTypes are not forced
"react/forbid-prop-types": "off", // all PropTypes are allowed
"react-hooks/rules-of-hooks": "error", // https://react.dev/reference/rules/rules-of-hooks
"react-hooks/exhaustive-deps": "warn", // Hooks dependency array, sometimes it's better to ignore
"no-constant-binary-expression": "warn"
},
}
)
32 changes: 32 additions & 0 deletions applications/osb-portal/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8" />
<meta name="viewport" content="minimum-scale=1, initial-scale=1, width=device-width" />
<title>Open Source Brain</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap" />
<link rel="icon" href="/favicon.ico" />
<style>
body {
margin: 0;
}
#splash {
background-color: #323232;
background-image: url("/osb-splash.gif");
background-position-x: 50%;
background-position-y: 50%;
height: 100vh;
background-size: cover;
}
</style>
</head>

<body>
<div id="main" class="main">
<div id="splash"></div>
</div>
<script type="module" src="/src/index.tsx"></script>
</body>

</html>
Loading
Loading