mirror of
https://github.com/hcengineering/platform.git
synced 2025-06-02 13:52:40 +00:00
Create workspace docker compose fix (#800)
Signed-off-by: Denis Bykhov <80476319+BykhovDenis@users.noreply.github.com>
This commit is contained in:
parent
bc2d0339f8
commit
246b0abb13
@ -48,7 +48,8 @@ services:
|
|||||||
- 3000:3000
|
- 3000:3000
|
||||||
environment:
|
environment:
|
||||||
- MONGO_URL=mongodb://mongodb:27017
|
- MONGO_URL=mongodb://mongodb:27017
|
||||||
- TRANSACTOR_URL=ws://localhost:3333
|
- TRANSACTOR_URL=ws://transactor:3333
|
||||||
|
- ENDPOINT_URL=ws://localhost:3333
|
||||||
- MINIO_ENDPOINT=minio
|
- MINIO_ENDPOINT=minio
|
||||||
- MINIO_ACCESS_KEY=minioadmin
|
- MINIO_ACCESS_KEY=minioadmin
|
||||||
- MINIO_SECRET_KEY=minioadmin
|
- MINIO_SECRET_KEY=minioadmin
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
import workbench from '@anticrm/workbench'
|
import workbench from '@anticrm/workbench'
|
||||||
import InviteLink from './InviteLink.svelte'
|
import InviteLink from './InviteLink.svelte'
|
||||||
|
|
||||||
const fields = [{ name: 'workspace', i18n: login.string.Workspace, rule: /^\S+$/ }]
|
const fields = [{ name: 'workspace', i18n: login.string.Workspace, rule: /^[0-9a-z#%&^\-@!\()]{3,63}$/ }]
|
||||||
|
|
||||||
const object = {
|
const object = {
|
||||||
workspace: ''
|
workspace: ''
|
||||||
|
@ -159,6 +159,19 @@ export async function getWorkspaces (): Promise<Workspace[]> {
|
|||||||
throw new Error('accounts url not specified')
|
throw new Error('accounts url not specified')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const overrideToken = getMetadata(login.metadata.OverrideLoginToken)
|
||||||
|
if (overrideToken !== undefined) {
|
||||||
|
const endpoint = getMetadata(login.metadata.OverrideEndpoint)
|
||||||
|
if (endpoint !== undefined) {
|
||||||
|
return [{
|
||||||
|
_id: '' as any,
|
||||||
|
workspace: 'DEV WORKSPACE',
|
||||||
|
organisation: '',
|
||||||
|
accounts: []
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const token = fetchMetadataLocalStorage(login.metadata.LoginToken)
|
const token = fetchMetadataLocalStorage(login.metadata.LoginToken)
|
||||||
if (token === null) {
|
if (token === null) {
|
||||||
const loc = getCurrentLocation()
|
const loc = getCurrentLocation()
|
||||||
@ -197,6 +210,15 @@ export async function selectWorkspace (workspace: string): Promise<[Status, Logi
|
|||||||
throw new Error('accounts url not specified')
|
throw new Error('accounts url not specified')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const overrideToken = getMetadata(login.metadata.OverrideLoginToken)
|
||||||
|
const email = getMetadata(login.metadata.LoginEmail) ?? ''
|
||||||
|
if (overrideToken !== undefined) {
|
||||||
|
const endpoint = getMetadata(login.metadata.OverrideEndpoint)
|
||||||
|
if (endpoint !== undefined) {
|
||||||
|
return [OK, { token: overrideToken, endpoint, email }]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const token = fetchMetadataLocalStorage(login.metadata.LoginToken)
|
const token = fetchMetadataLocalStorage(login.metadata.LoginToken)
|
||||||
if (token === null) {
|
if (token === null) {
|
||||||
const loc = getCurrentLocation()
|
const loc = getCurrentLocation()
|
||||||
|
@ -25,7 +25,7 @@ spec:
|
|||||||
name: mongodb
|
name: mongodb
|
||||||
key: url
|
key: url
|
||||||
- name: TRANSACTOR_URL
|
- name: TRANSACTOR_URL
|
||||||
value: ws://transactor/
|
value: wss://transactor.hc.engineering/
|
||||||
- name: MINIO_ENDPOINT
|
- name: MINIO_ENDPOINT
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
|
@ -30,12 +30,15 @@ if (dbUri === undefined) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const transactorUri = process.env.TRANSACTOR_URL
|
const transactorUri = process.env.TRANSACTOR_URL
|
||||||
if (dbUri === undefined) {
|
if (transactorUri === undefined) {
|
||||||
console.log('Please provide transactor url')
|
console.log('Please provide transactor url')
|
||||||
process.exit(1)
|
process.exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
setMetadata(accountPlugin.metadata.Endpoint, transactorUri)
|
const endpointUri = process.env.ENDPOINT_URL ?? transactorUri
|
||||||
|
|
||||||
|
setMetadata(accountPlugin.metadata.Endpoint, endpointUri)
|
||||||
|
setMetadata(accountPlugin.metadata.Transactor, transactorUri)
|
||||||
|
|
||||||
let client: MongoClient
|
let client: MongoClient
|
||||||
|
|
||||||
|
@ -53,6 +53,7 @@ export const accountId = 'account' as Plugin
|
|||||||
const accountPlugin = plugin(accountId, {
|
const accountPlugin = plugin(accountId, {
|
||||||
metadata: {
|
metadata: {
|
||||||
Endpoint: '' as Metadata<string>,
|
Endpoint: '' as Metadata<string>,
|
||||||
|
Transactor: '' as Metadata<string>,
|
||||||
Secret: '' as Metadata<string>
|
Secret: '' as Metadata<string>
|
||||||
},
|
},
|
||||||
status: {
|
status: {
|
||||||
@ -69,7 +70,19 @@ const getSecret = (): string => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const getEndpoint = (): string => {
|
const getEndpoint = (): string => {
|
||||||
return getMetadata(accountPlugin.metadata.Endpoint) ?? 'wss://transactor.hc.engineering/'
|
const endpoint = getMetadata(accountPlugin.metadata.Endpoint)
|
||||||
|
if (endpoint === undefined) {
|
||||||
|
throw new Error('Please provide transactor endpoint url')
|
||||||
|
}
|
||||||
|
return endpoint
|
||||||
|
}
|
||||||
|
|
||||||
|
const getTransactor = (): string => {
|
||||||
|
const transactor = getMetadata(accountPlugin.metadata.Transactor)
|
||||||
|
if (transactor === undefined) {
|
||||||
|
throw new Error('Please provide transactor url')
|
||||||
|
}
|
||||||
|
return transactor
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -297,7 +310,7 @@ export async function createWorkspace (db: Db, workspace: string, organisation:
|
|||||||
organisation
|
organisation
|
||||||
})
|
})
|
||||||
.then((e) => e.insertedId.toHexString())
|
.then((e) => e.insertedId.toHexString())
|
||||||
await initWorkspace(getEndpoint(), workspace)
|
await initWorkspace(getTransactor(), workspace)
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -378,7 +391,7 @@ export async function assignWorkspace (db: Db, email: string, workspace: string)
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function createEmployeeAccount (account: Account, workspace: string): Promise<void> {
|
async function createEmployeeAccount (account: Account, workspace: string): Promise<void> {
|
||||||
const connection = await connect(getEndpoint(), workspace, account.email)
|
const connection = await connect(getTransactor(), workspace, account.email)
|
||||||
try {
|
try {
|
||||||
const ops = new TxOperations(connection, core.account.System)
|
const ops = new TxOperations(connection, core.account.System)
|
||||||
|
|
||||||
|
@ -25,7 +25,9 @@ spec:
|
|||||||
- name: UPLOAD_URL
|
- name: UPLOAD_URL
|
||||||
value: /files
|
value: /files
|
||||||
- name: TRANSACTOR_URL
|
- name: TRANSACTOR_URL
|
||||||
value: ws://transactor/
|
value: wss://transactor.hc.engineering/
|
||||||
|
- name: GMAIL_URL
|
||||||
|
value: gmail.hc.engineering
|
||||||
- name: ELASTIC_URL
|
- name: ELASTIC_URL
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
|
Loading…
Reference in New Issue
Block a user