[ci][build] do not fail if database already exists (#8825)
[ci][build] do not fail if database already exists (#8825)

Five things may already exist:
- creating the database
- creating the admin or user user
- creating the admin or user secret

Creating the database is now idempotent with `IF NOT EXISTS`.

Creating a user is idempotent because we create a user with a random name. If
we're racing with someone else, the database might have extra users
created.

Finally, we race to create the secrets. Whoever runs last wins the race and
their secret create is the one downstream tasks see. Secret creation was made
idempotent by using `create --dry-run` piped to `apply`. Apply does not fail if
the secret already exists, it merely updates it. In a sense, apply is an atomic
create-or-update.
cseed/hail,hail-is/hail,cseed/hail,danking/hail,danking/hail,danking/hail,cseed/hail,cseed/hail,cseed/hail,hail-is/hail,hail-is/hail,hail-is/hail,hail-is/hail,danking/hail,hail-is/hail,cseed/hail,cseed/hail,danking/hail,danking/hail,danking/hail,hail-is/hail,hail-is/hail,cseed/hail,danking/hail