Adminer


AdminerAdminer is a graphical database management tool that allows you to manage MySQL, MariaDB, PostgresSQL, Oracle SQL, MS SQL, MongoDB, and Elasticsearch from a single instance. When running multiple databases it has become a real advantage to have a single place to go for all of these

Product: Adminer
Install Type: Helm (Chart)
Container Image: Adminer

Installation Details

Before we begin, we need to make sure you have added the proper repository to Helm:

helm repo add ectobit https://charts.ectobit.com
helm repo update

For Helm charts, I generally pull the values to a file and modify that file for my specific needs:

 helm show values ectobit/adminer > values.yaml

This allows me to modify different environment specific configurations such as persistent storage and others. Please configure as appropriate for your environment. This chart, for instance, does not configure an ingress by default, and I configured this for my internally facing ingress with the following additions:

...

ingress:
  enabled: true
  className: nginx-int
  annotations:
    nginx.ingress.kubernetes.io/proxy-body-size: "128M"
    cert-manager.io/cluster-issuer: your-internal-issuer
  hosts:
    - host: your.internal-host.name
      paths:
        - path: /
          pathType: ImplementationSpecific
  tls: 
    - secretName: adminer-int-tls
      hosts:
        - your.internal.host.name

...

I have configured and internal only Nginx Ingress named nginx-int, and an internal ACME certificate provider using Step CA and Cert Manager. You may need to make adjustments for your use case. I also added:

   nginx.ingress.kubernetes.io/proxy-body-size: "128M"

to the annotations: portion of the ingress definition to allow for larger sized files for import via Adminer.

Once you have made all of your changes, deploy with the following:

helm upgrade --install --namespace utility --create-namespace \
             -f values.yaml adminer ectobit/adminer