Skip to content
BETA Try it now Email us
Email us

sales@joomiz.com

Feature teams

Get a database without a ticket

Add a postgres entry to your joomiz.yaml. Joomiz asks the provisioner your platform team registered to create the database. Your application gets the password as a reference, not as text.

Email us Try it in the simulator Read the docs

With Joomiz

  1. Declare the database

    Add a managed resource of type postgres to an environment. The schema of the type lists the settings you may write: flavor, version, storage-gb and multi-az.

    joomiz.yaml
        # A database that Joomiz creates and owns for this service.
        managed-resources:
          - id: shop-db
            type: postgres
            spec:
              flavor: cf-plan-small
              version: "16"
              storage-gb: 20
              multi-az: false
    
  2. Reference the password

    In the env setting of your deployment, write a reference to the password output of the database. The file never holds the password.

    joomiz.yaml
    env:
      # A reference, not a password. ...
      DB_PASSWORD: "${{managed-resources.shop-db.outputs.password}}"
    
  3. Preview the change

    joomiz plan changes nothing. It lists the database first. The password shows as (known after apply), because the database does not exist yet.

    $ joomiz plan --environment test
      managed-resource/postgres: succeeded — Planned 1 change ...
        shop-db (created): succeeded — Would create 'shop-db' ...
      deployment/cloud-foundry-app: succeeded — Planned 1 change ...
        shop-test-deployment (updated): succeeded — Would update ...
          env.DB_PASSWORD: (known after apply)
    
  4. Apply the change

    joomiz apply asks the provisioner to create the database. Your application receives the address of the secret, not the secret itself.

    $ joomiz apply --environment test
      managed-resource/postgres: succeeded — Applied 1 change ...
        shop-db (created): succeeded — Created 'shop-db' ...
    apply succeeded (plan 791d8513-..., apply 5970e5ee-...)
    

What you get

  • A database from one reviewed change to a file, not from a ticket queue.
  • A password that never appears in the file, the plan or the apply output.
  • The same request for the next environment, written in the same file.

The rules that still hold

  • The catalog schema sets the allowed settings. For example, storage-gb must be from 1 to 65536.
  • You act only for your own team. Other teams' applications are refused.
  • Only one apply runs at a time for each application and environment.

Read more in the docs

Talk to us

Tell us about your platform and the services your teams ship.

Email us