captainVersion: 4
services:
    $$cap_appname:
        image: percona:$$cap_percona_version
        volumes:
            - $$cap_appname-data:/var/lib/mysql
        restart: always
        environment:
            MYSQL_ROOT_PASSWORD: $$cap_db_pass
        caproverExtra:
            dockerfileLines:
                - FROM percona:$$cap_percona_version
                - CMD ["--character-set-server=$$cap_charset", "--collation-server=$$cap_collation", "--skip-character-set-client-handshake"]
            notExposeAsWebApp: 'true'
caproverOneClickApp:
    variables:
        - id: $$cap_percona_version
          label: Percona Version
          defaultValue: 'ps-8.0'
          description: Check out their Docker page for the valid tags https://hub.docker.com/_/percona
          validRegex: /^([^\s^\/])+$/
        - id: $$cap_db_pass
          label: Percona Root password
          description: ''
          validRegex: /.{1,}/
          defaultValue: $$cap_gen_random_hex(12)
        - id: $$cap_charset
          label: Default server character set
          description: See the MariaDB website for supported character sets (https://mariadb.com/kb/en/library/supported-character-sets-and-collations/#character-sets)
          defaultValue: utf8mb4
        - id: $$cap_collation
          label: Default server collation
          description: See the MariaDB website for supported collations (https://mariadb.com/kb/en/library/supported-character-sets-and-collations/#collations)
          defaultValue: utf8mb4_unicode_ci
    instructions:
        start: "Percona Server for MySQL is a fork of the MySQL relational database management system created by Percona. It aims to retain close compatibility to the official MySQL releases, while focusing on performance and increased visibility into server operations. Also included in Percona Server is XtraDB, Percona's fork of the InnoDB Storage Engine."
        end: "Percona is deployed and available as srv-captain--$$cap_appname:3306 to other apps. For example with NodeJS, you do 'var con = mysql.createConnection({ host: 'srv-captain--$$cap_appname', user: 'root', password: '*********' });'"
    displayName: Percona Server
    isOfficial: true
    description: Percona Server for MySQL is a fork of the MySQL relational database management system created by Percona.
    documentation: https://www.percona.com/software/mysql-database/percona-server
