Beispiel #1
0
async def _populate_misc_instance_data(cluster, conn):

    commands = dbops.CommandGroup()
    commands.add_commands([
        dbops.CreateSchema(name='edgedbinstdata'),
        dbops.CreateTable(
            dbops.Table(
                name=('edgedbinstdata', 'instdata'),
                columns=[
                    dbops.Column(
                        name='key',
                        type='text',
                    ),
                    dbops.Column(
                        name='bin',
                        type='bytea',
                    ),
                    dbops.Column(
                        name='text',
                        type='text',
                    ),
                    dbops.Column(
                        name='json',
                        type='jsonb',
                    ),
                ],
                constraints=[
                    dbops.PrimaryKey(
                        table_name=('edgedbinstdata', 'instdata'),
                        columns=['key'],
                    ),
                ],
            ))
    ])

    block = dbops.PLTopBlock()
    commands.generate(block)
    await _execute_block(conn, block)

    mock_auth_nonce = scram.generate_nonce()
    json_instance_data = {
        'version': dict(buildmeta.get_version_dict()),
        'catver': edbdef.EDGEDB_CATALOG_VERSION,
        'mock_auth_nonce': mock_auth_nonce,
    }

    await _store_static_json_cache(
        cluster,
        'instancedata',
        json.dumps(json_instance_data),
    )

    instance_params = cluster.get_runtime_params().instance_params
    await _store_static_json_cache(
        cluster,
        'backend_instance_params',
        json.dumps(instance_params._asdict()),
    )

    return json_instance_data
async def _populate_misc_instance_data(schema, cluster):

    mock_auth_nonce = scram.B64(scram.generate_nonce())

    instance_data = {
        'mock_auth_nonce': mock_auth_nonce,
    }

    data_dir = cluster.get_data_dir()
    fn = os.path.join(data_dir, 'instance_data.pickle')

    with open(fn, 'wb') as f:
        pickle.dump(instance_data, f)

    ver = buildmeta.get_version()
    json_instance_data = {
        'version': {
            'major': ver.major,
            'minor': ver.minor,
            'stage': ver.stage.name.lower(),
            'stage_no': ver.stage_no,
            'local': tuple(ver.local) if ver.local else (),
        }
    }

    fn = os.path.join(data_dir, 'instance_data.json')

    with open(fn, 'wt') as f:
        json.dump(json_instance_data, f)
Beispiel #3
0
async def _populate_misc_instance_data(cluster, conn):

    commands = dbops.CommandGroup()
    commands.add_commands([
        dbops.CreateSchema(name='edgedbinstdata'),
    ])

    block = dbops.PLTopBlock()
    commands.generate(block)
    await _execute_block(conn, block)

    mock_auth_nonce = scram.generate_nonce()
    json_instance_data = {
        'version': dict(buildmeta.get_version_dict()),
        'catver': edbdef.EDGEDB_CATALOG_VERSION,
        'mock_auth_nonce': mock_auth_nonce,
    }

    await _store_static_json_cache(
        cluster,
        'instancedata',
        json.dumps(json_instance_data),
    )

    return json_instance_data
Beispiel #4
0
async def _populate_misc_instance_data(cluster):

    mock_auth_nonce = scram.generate_nonce()
    json_instance_data = {
        'version': dict(buildmeta.get_version_dict()),
        'catver': edbdef.EDGEDB_CATALOG_VERSION,
        'mock_auth_nonce': mock_auth_nonce,
    }

    await _store_static_json_cache(
        cluster,
        'instancedata',
        json.dumps(json_instance_data),
    )

    return json_instance_data
Beispiel #5
0
async def _populate_misc_instance_data(cluster):

    mock_auth_nonce = scram.generate_nonce()
    ver = buildmeta.get_version()
    json_instance_data = {
        'version': {
            'major': ver.major,
            'minor': ver.minor,
            'stage': ver.stage.name.lower(),
            'stage_no': ver.stage_no,
            'local': tuple(ver.local) if ver.local else (),
        },
        'catver': edbdef.EDGEDB_CATALOG_VERSION,
        'mock_auth_nonce': mock_auth_nonce,
    }

    await _store_static_json_cache(
        cluster,
        'instancedata',
        json.dumps(json_instance_data),
    )

    return json_instance_data
Beispiel #6
0
async def _populate_misc_instance_data(
    ctx: BootstrapContext,
) -> Dict[str, Any]:

    commands = dbops.CommandGroup()
    commands.add_commands([
        dbops.CreateSchema(name='edgedbinstdata'),
        dbops.CreateTable(dbops.Table(
            name=('edgedbinstdata', 'instdata'),
            columns=[
                dbops.Column(
                    name='key',
                    type='text',
                ),
                dbops.Column(
                    name='bin',
                    type='bytea',
                ),
                dbops.Column(
                    name='text',
                    type='text',
                ),
                dbops.Column(
                    name='json',
                    type='jsonb',
                ),
            ],
            constraints=[
                dbops.PrimaryKey(
                    table_name=('edgedbinstdata', 'instdata'),
                    columns=['key'],
                ),
            ],
        ))
    ])

    block = dbops.PLTopBlock()
    commands.generate(block)
    await _execute_block(ctx.conn, block)

    mock_auth_nonce = scram.generate_nonce()
    json_instance_data = {
        'version': dict(buildmeta.get_version_dict()),
        'catver': edbdef.EDGEDB_CATALOG_VERSION,
        'mock_auth_nonce': mock_auth_nonce,
    }

    await _store_static_json_cache(
        ctx,
        'instancedata',
        json.dumps(json_instance_data),
    )

    backend_params = ctx.cluster.get_runtime_params()
    instance_params = backend_params.instance_params
    await _store_static_json_cache(
        ctx,
        'backend_instance_params',
        json.dumps(instance_params._asdict()),
    )

    if not backend_params.has_create_role:
        json_single_role_metadata = {
            'id': str(uuidgen.uuid1mc()),
            'name': edbdef.EDGEDB_SUPERUSER,
            'tenant_id': backend_params.tenant_id,
            'builtin': False,
        }
        await _store_static_json_cache(
            ctx,
            'single_role_metadata',
            json.dumps(json_single_role_metadata),
        )

    if not backend_params.has_create_database:
        await _store_static_json_cache(
            ctx,
            f'{edbdef.EDGEDB_TEMPLATE_DB}metadata',
            json.dumps({}),
        )
        await _store_static_json_cache(
            ctx,
            f'{edbdef.EDGEDB_SYSTEM_DB}metadata',
            json.dumps({}),
        )
    return json_instance_data