LoginSignup
4
2

More than 5 years have passed since last update.

Digdag server with PostgreSQL on macOS

Last updated at Posted at 2019-03-15

チラ裏。手元の macOS Sierra に postgresql を使う digdag server をセットアップする手順。

PostgreSQL のインストール

brew install postgresql

起動 (パスはバージョンで異なる)

$ launchctl load -w /usr/local/Cellar/postgresql/11.2/homebrew.mxcl.postgresql.plist

起動しているか試しに db 一覧確認コマンドを打ってみる

$ psql -l
                                          List of databases
   Name    |    Owner     | Encoding |   Collate   |    Ctype    |         Access privileges
-----------+--------------+----------+-------------+-------------+-----------------------------------
 postgres  | naotoshi.seo | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0 | naotoshi.seo | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/"naotoshi.seo"                +
           |              |          |             |             | "naotoshi.seo"=CTc/"naotoshi.seo"
 template1 | naotoshi.seo | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/"naotoshi.seo"                +
           |              |          |             |             | "naotoshi.seo"=CTc/"naotoshi.seo"

db につないでみる

$ psql postgres

psql (11.2)
Type "help" for help.

postgres=#

digdag server の起動

db_init.sql

CREATE ROLE "digdag" WITH PASSWORD 'digdag' NOSUPERUSER NOCREATEDB NOCREATEROLE LOGIN;
CREATE DATABASE "digdag" WITH OWNER "digdag";
\c "digdag"
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
$ psql postgres < db_init.sql

secret-access-policy.yaml

operators:
  slack:
    secrets:
      - slack.*
  mail:
    secrets:
      - mail.*
  pg:
    secrets:
      - pg.*
  s3_wait:
    secrets:
      - aws.*
  td:
    secrets:
      - td.*
  td_load:
    secrets:
      - td.*
  td_for_each:
    secrets:
      - td.*
  td_run:
    secrets:
      - td.*
  td_ddl:
    secrets:
      - td.*
  td_partial_delete:
    secrets:
      - td.*
  td_table_export:
    secrets:
      - td.*
      - aws.*
  td_wait:
    secrets:
      - td.*
  td_wait_table:
    secrets:
      - td.*

config.properties

server.bind=127.0.0.1
server.port=65432

database.type=postgresql
database.user=digdag
database.password=digdag
database.host=127.0.0.1
database.port=5432
database.database=digdag

digdag.secret-access-policy-file = secret-access-policy.yaml
digdag.secret-encryption-key = MDEyMzQ1Njc4OTAxMjM0NQ==

起動

$ digdag server -c config.properties

postgresql にテーブルが作られているか確認

$ psql digdag
psql (11.2)
Type "help" for help.

digdag=# \d
                    List of relations
 Schema |            Name             |   Type   | Owner
--------+-----------------------------+----------+--------
 public | delayed_session_attempts    | table    | digdag
 public | projects                    | table    | digdag
 public | projects_id_seq             | sequence | digdag
 public | queue_settings              | table    | digdag
 public | queue_settings_id_seq       | sequence | digdag
 public | queued_task_locks           | table    | digdag
 public | queued_task_locks_id_seq    | sequence | digdag
 public | queued_tasks                | table    | digdag
 public | queued_tasks_id_seq         | sequence | digdag
 public | queues                      | table    | digdag
 public | queues_id_seq               | sequence | digdag
 public | resuming_tasks              | table    | digdag
 public | resuming_tasks_id_seq       | sequence | digdag
 public | revision_archives           | table    | digdag
 public | revision_archives_id_seq    | sequence | digdag
 public | revisions                   | table    | digdag
 public | revisions_id_seq            | sequence | digdag
 public | schedules                   | table    | digdag
 public | schedules_id_seq            | sequence | digdag
 public | schema_migrations           | table    | digdag
 public | secrets                     | table    | digdag
 public | secrets_id_seq              | sequence | digdag
 public | session_attempts            | table    | digdag
 public | session_attempts_id_seq     | sequence | digdag
 public | session_monitors            | table    | digdag
 public | session_monitors_id_seq     | sequence | digdag
 public | sessions                    | table    | digdag
 public | sessions_id_seq             | sequence | digdag
 public | task_archives               | table    | digdag
 public | task_dependencies           | table    | digdag
 public | task_dependencies_id_seq    | sequence | digdag
 public | task_details                | table    | digdag
 public | task_state_details          | table    | digdag
 public | tasks                       | table    | digdag
 public | tasks_id_seq                | sequence | digdag
 public | workflow_configs            | table    | digdag
 public | workflow_configs_id_seq     | sequence | digdag
 public | workflow_definitions        | table    | digdag
 public | workflow_definitions_id_seq | sequence | digdag
(39 rows)
4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2