{#if !$enterpriseLicense}
{/if}
{#if prefill}
Review the connection below, then save and run setup. Nothing is saved until you do. Its
user needs CREATEDB and
CREATEROLE: setup reports it if it lacks either.
{/if}
Windmill creates the databases for data tables and Ducklake catalogs on this cluster, and
manages the roles they connect as. The admin login below needs CREATEDB
and CREATEROLE, and is never handed to a job.
Admin password
SSL mode
{#snippet text()}
Anything below verify-ca sends the managed roles' passwords to whichever server
answers. Windmill trusts the system roots plus the certificate below.
{/snippet}
{:else}
No database yet. Create one below, then pick it in a workspace's data table or
Ducklake settings.
{/each}
{/if}
(rotateModalOpen = false)}
on:confirmed={() => {
rotateModalOpen = false
rotatePasswords = true
saveAndSetup(true)
}}
>
New passwords are generated for the roles Windmill manages on the cluster. Jobs running against
those databases while the rotation happens can fail and have to be retried.
(disableInternalModalOpen = false)}
on:confirmed={() => {
disableInternalModalOpen = false
disableInternal()
}}
>
Do you want to disable the internal one, which uses the Windmill database instance? We recommend
having either the external or the internal one, not both. Data tables on Windmill's database stop
working until they are moved, and no new data table or Ducklake catalog can be created there. You
can turn it back on under Windmill instance below.
{#if internalInUse.length > 0}
{internalInUse.length === 1 ? 'This database is' : 'These databases are'} still used by a data
table or Ducklake catalog. Data tables on {internalInUse.length === 1 ? 'it' : 'them'} stop working
as soon as you disable the internal instance; move them to the external cluster first.
{#each internalInUse as db (db.name)}
{db.name} โ {db.workspaces.join(', ')}
{/each}
{/if}
(disableModalOpen = false)}
on:confirmed={() => {
disableModalOpen = false
disableCluster()
}}
>
Windmill forgets the cluster and the passwords it manages there. Nothing is dropped on the
cluster itself, and a data table or Ducklake catalog still pointing at one of its databases would
stop resolving โ so this is refused while any database remains.
(dropModalName = undefined)}
on:confirmed={() => {
const name = dropModalName
dropModalName = undefined
if (name) dropDatabase(name)
}}
>
The database and everything in it are deleted on the cluster. This cannot be undone.