Skip to content

Commit

Permalink
Merge pull request #17 from yohamta/fix-issues
Browse files Browse the repository at this point in the history
Fix issues
  • Loading branch information
yottahmd authored Apr 27, 2022
2 parents c5f01ee + 17a5a2b commit 9250f16
Show file tree
Hide file tree
Showing 9 changed files with 53 additions and 55 deletions.
76 changes: 38 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ dagu is a single command that generates and executes a [DAG (Directed acyclic gr
- [Environment variables](#environment-variables)
- [Web UI configuration](#web-ui-configuration)
- [Global configuration](#global-configuration)
- [Job configuration](#job-configuration)
- [DAG configuration](#dag-configuration)
- [Simple configuration](#simple-configuration)
- [All configuration](#all-configuration)
- [Examples](#examples)
Expand Down Expand Up @@ -51,18 +51,18 @@ Download the binary from [Releases page](https://github.com/dagu/dagu/releases)

### Usage

- `dagu start [--params=<params>] <job file>` - run a job
- `dagu status <job file>` - display the current status of the job
- `dagu retry --req=<request-id> <job file>` - retry the failed/canceled job
- `dagu stop <job file>` - cancel a job
- `dagu dry [--params=<params>] <job file>` - dry-run a job
- `dagu start [--params=<params>] <DAG file>` - run a DAG
- `dagu status <DAG file>` - display the current status of the DAG
- `dagu retry --req=<request-id> <DAG file>` - retry the failed/canceled DAG
- `dagu stop <DAG file>` - cancel a DAG
- `dagu dry [--params=<params>] <DAG file>` - dry-run a DAG
- `dagu server` - start a web server for web UI

## Features

- Simple command interface (See [Usage](#usage))
- Simple configuration YAML format (See [Simple example](#simple-example))
- Web UI to visualize, manage jobs and watch logs
- Web UI to visualize, manage DAGs and watch logs
- Parameterization
- Conditions
- Automatic retry
Expand All @@ -86,21 +86,21 @@ Download the binary from [Releases page](https://github.com/dagu/dagu/releases)

## User interface

- **JOBs**: Overview of all JOBs in your environment.
- **DAGs**: Overview of all DAGs in your environment.

![JOBs](https://user-images.githubusercontent.com/1475839/164859814-98afc587-ff86-4ebd-97b8-7d32f86a9ad9.png)
![DAGs](https://user-images.githubusercontent.com/1475839/165417789-18d29f3d-aecf-462a-8cdf-0b575ba613d0.png)

- **Detail**: Current status of the job.
- **Detail**: Current status of the dag.

![Detail](https://user-images.githubusercontent.com/1475839/164857046-b620a8a0-f5f5-4551-a651-66c8ec38f820.png)
![Detail](https://user-images.githubusercontent.com/1475839/165418393-d7d876bc-329f-4299-977e-7726e8ef0fa1.png)

- **Timeline**: Timeline of each steps in the pipeline.

![Timeline](https://user-images.githubusercontent.com/1475839/164860845-98595a3f-4579-4c15-9d6b-1942b4561900.png)
![Timeline](https://user-images.githubusercontent.com/1475839/165418430-1fe3b100-33eb-4d81-a68a-c8a881890b61.png)

- **History**: History of the execution of the pipeline.

![History](https://user-images.githubusercontent.com/1475839/164849560-ab5be8d0-378e-46eb-a4d4-c6a8ff3d6af9.png)
![History](https://user-images.githubusercontent.com/1475839/165418472-385cb8e0-351c-4508-b337-a082ea53b4ec.png)

## Architecture

Expand All @@ -118,7 +118,7 @@ Download the binary from [Releases page](https://github.com/dagu/dagu/releases)
Please create `~/.dagu/admin.yaml`.

```yaml
host: <hostname for web UI address> # default : ${HOST}
host: <hostname for web UI address> # default : 127.0.0.1
port: <port number for web UI address> # default : 8080
jobs: <the location of job configuration files> # default : current working directory

Expand All @@ -131,7 +131,7 @@ basicAuthPassword: <password for basic auth of web UI>
### Global configuration
Please create `~/.dagu/config.yaml`. All settings can be overridden by individual job configurations.
Please create `~/.dagu/config.yaml`. All settings can be overridden by individual DAG configurations.

Creating a global configuration is a convenient way to organize common settings.

Expand All @@ -153,50 +153,50 @@ infoMail:
prefix: <prefix of mail subject for notification mail>
```

## Job configuration
## DAG configuration

### Simple configuration

```yaml
name: simple configuration
steps:
- name: step 1
command: python some_batch_1.py
dir: ${HOME}/jobs/ # working directory for the job (optional)
- name: step 1 # step name (required, unique)
command: python some_batch_1.py # command and arguments
dir: ${HOME}/dags/ # working directory (optional)
- name: step 2
command: python some_batch_2.py
dir: ${HOME}/jobs/
dir: ${HOME}/dags/
depends:
- step 1
- step 1 # dependency
```

### All configuration

```yaml
name: all configuration
description: run python jobs
description: run a DAG
# Define environment variables
env:
LOG_DIR: ${HOME}/jobs/logs
LOG_DIR: ${HOME}/logs
PATH: /usr/local/bin:${PATH}
logDir: ${LOG_DIR} # log directory to write standard output from the job steps
histRetentionDays: 3 # job history retention days (not for log files)
delaySec: 1 # interval seconds between job steps
logDir: ${LOG_DIR} # log directory to write standard output
histRetentionDays: 3 # execution history retention days (not for log files)
delaySec: 1 # interval seconds between steps
maxActiveRuns: 1 # max parallel number of running step
# Define parameters
params: param1 param2 # they can be referenced by each steps as $1, $2 and so on.
# Define preconditions for whether or not the job is allowed to run
# Define preconditions for whether or not the DAG is allowed to run
preconditions:
- condition: "`printf 1`" # This condition will be evaluated at each execution of the job
expected: "1" # If the evaluation result do not match, the job is canceled
- condition: "`printf 1`"
expected: "1"

# Mail notification configs
mailOnError: true # send a mail when a job failed
mailOnFinish: true # send a mail when a job finished
mailOnError: true # send a mail when a dag failed
mailOnFinish: true # send a mail when a dag finished

# Handler on Success, Failure, Cancel, Exit
handlerOn:
Expand All @@ -209,15 +209,15 @@ handlerOn:
exit:
command: "echo finished"

# Job steps
# DAG steps
steps:
- name: step 1
description: step 1 description
dir: ${HOME}/jobs
dir: ${HOME}/logs
command: python some_batch_1.py $1
mailOnError: false # do not send mail on error
continueOn:
failed: true # continue to the next step regardless the error of this job
failed: true # continue to the next step regardless the error of this step
skipped: true # continue to the next step regardless the evaluation result of preconditions
retryPolicy:
limit: 2 # retry up to 2 times when the step failed
Expand All @@ -228,7 +228,7 @@ steps:
expected: "1"
- name: step 2
description: step 2 description
dir: ${HOME}/jobs
dir: ${HOME}/logs
command: python some_batch_2.py $1
depends:
- step 1
Expand All @@ -244,7 +244,7 @@ To check all examples, visit [this page](https://github.com/dagu/dagu/tree/main/

![sample_1](https://user-images.githubusercontent.com/1475839/164965036-fede5675-cba0-410b-b371-22deec55b9e8.png)
```yaml
name: example job
name: example DAG
steps:
- name: "1"
command: echo hello world
Expand All @@ -262,7 +262,7 @@ steps:

![sample_2](https://user-images.githubusercontent.com/1475839/164965143-b10a0511-35f3-45fa-9eba-69c6db4614a2.png)
```yaml
name: example job
name: example DAG
env:
LOG_DIR: ${HOME}/logs
logDir: ${LOG_DIR}
Expand Down Expand Up @@ -306,7 +306,7 @@ handlerOn:
![complex](https://user-images.githubusercontent.com/1475839/164965345-977de1bc-d042-4d3f-bf0e-bb648e534a78.png)
```yaml
name: complex job
name: complex DAG
steps:
- name: "Initialize"
command: "sleep 2"
Expand Down
2 changes: 1 addition & 1 deletion examples/complex_job.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: complex_job
name: complex DAG
steps:
- name: "Initialize"
command: "sleep 2"
Expand Down
2 changes: 1 addition & 1 deletion examples/example_2.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: example job
name: example DAG
env:
LOG_DIR: ${HOME}/logs
logDir: ${LOG_DIR}
Expand Down
6 changes: 1 addition & 5 deletions internal/admin/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,7 @@ func (c *Config) setup() error {
c.Jobs = wd
}
if c.Host == "" {
h, err := os.Hostname()
if err != nil {
return err
}
c.Host = h
c.Host = "127.0.0.1"
}
if c.Port == "" {
c.Port = "8000"
Expand Down
6 changes: 5 additions & 1 deletion internal/admin/handlers/web/templates/base.gohtml
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@
color: white;
font: 20px "Arial";
font-weight: bold;
padding-left: 4px;
}
</style>
</head>
Expand All @@ -79,7 +80,10 @@
aria-label="main navigation"
>
<div class="navbar-brand">
<a id="nav-title" class="navbar-item" href="/">dagu</a>
<a class="navbar-item" href="/">
<img alt="dagu" width="32" height="32" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAABYWlDQ1BrQ0dDb2xvclNwYWNlRGlzcGxheVAzAAAokWNgYFJJLCjIYWFgYMjNKykKcndSiIiMUmB/yMAOhLwMYgwKicnFBY4BAT5AJQwwGhV8u8bACKIv64LMOiU1tUm1XsDXYqbw1YuvRJsw1aMArpTU4mQg/QeIU5MLikoYGBhTgGzl8pICELsDyBYpAjoKyJ4DYqdD2BtA7CQI+whYTUiQM5B9A8hWSM5IBJrB+API1klCEk9HYkPtBQFul8zigpzESoUAYwKuJQOUpFaUgGjn/ILKosz0jBIFR2AopSp45iXr6SgYGRiaMzCAwhyi+nMgOCwZxc4gxJrvMzDY7v////9uhJjXfgaGjUCdXDsRYhoWDAyC3AwMJ3YWJBYlgoWYgZgpLY2B4dNyBgbeSAYG4QtAPdHFacZGYHlGHicGBtZ7//9/VmNgYJ/MwPB3wv//vxf9//93MVDzHQaGA3kAFSFl7jXH0fsAAACEZVhJZk1NACoAAAAIAAYBBgADAAAAAQACAAABEgADAAAAAQABAAABGgAFAAAAAQAAAFYBGwAFAAAAAQAAAF4BKAADAAAAAQACAACHaQAEAAAAAQAAAGYAAAAAAAAAhAAAAAEAAACEAAAAAQACoAIABAAAAAEAAABAoAMABAAAAAEAAABAAAAAAGYvjikAAAAJcEhZcwAAFE0AABRNAZTKjS8AAALqaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA2LjAuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjEzMjwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+MTMyPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpQaG90b21ldHJpY0ludGVycHJldGF0aW9uPjI8L3RpZmY6UGhvdG9tZXRyaWNJbnRlcnByZXRhdGlvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjI1OTwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4yNTY8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KgaifXgAAG21JREFUeAHtegl0Xld17r7Tf+8///r1S7LmWXbkeI6n2HEUG0hSEhMn2KR5fUBCCgvaPHiwVqE8SkRL20ChDyivQ0pDx0dX/CgrCZlLorpu4sTxEMdxPEqWZA3WLP3zHd+3768ry45kKV6sLrpg/+v+595zz9ln73323meffQ/Rr+BXEvilloD0C8y9CNr4+i8DYhuRDGpZqAKua4W5JuUXXhBzMTxX3dWEciWTzWi8mWhddLrTXIK5Gr7/lHezmdxIFPwORv1cUxOp75Ho2cw9uKSk+thT3/hK/+Ptn3YiRM8RrSiaxqf8p3C1yEGYeU8Aaz9yU+343i/vcL5633oH9b8zjcO/CFyMw5v9j21vJWffXzziOG/sy44++3fOV+9dwfjuZjx1RBqXP0/wBr4WnEw4Eyfg5n/991u3xTasuWNqSXExNRXRB6cRZlHOnt3p6ssKnlWbqKkV3H39S5/4Im1euSqTyeRUyxad+qo6btzIf998nAwUPO7PDa5VAEwEiHbhxoc+WLnzuuZVTqy4RSuK1ecfuGPFTURVn+W3tzc1sWOcD/idXnh59qGvPXhr1drl65KmJQYsy4JkHTOk2rS2itgf0J49ZKG4VpoLw1zxf63IZs/CndvWbpJLi2t1URB89TVNekVJkfD1j9f/Kca69dmzZ/Mo5zMFD8/6m5fSnq03bKNouMinG3mSRJEsiyfcpEhY882i2+szq+ry23YIaffCmud2ulYBeCOqt62kDQ01S0lRwySKAtVU1GiOVJ5cURsU1y9t+L3phmwKV2oCmwZzyPChnbfsjDfXNqct21Ft21UuwSHBkSEIVfUt2vm1t5PYDu3cS662MO6rCuyaBADDZ9tnKG2qbmgpTdSQ7YiS41gU0PxSOFpl21aWPrSpdhXabHVbQgt27yapva1NdtrbxY+31U0ztbFsSy3dtqyugYL+EKEjBCmCd0wjSklSSBSMMNFuz5fMyxDMTYUAWHp3V8a131+aSKCfS6vXd5qUS8WVs3LpzeLuEuWl9cWhUJxsyxLYG8IMBE31i7mMTTVl0RDQbMe1H1dyL6ZlL3VQe0cHHinHf0Svrdi+ecXq+qoaMCz7TJNdAmPiqRMgAJH8ioZYoIPNKOVW88srgJmfNrfIV+5d/1eD4+muHzx/4g+42TqQdeiSRlzW81oEwNR5GrCyubpW82thI6dbsiKLPINOLp+DDUtOyK8wIy24yspDvi01lZGa2pJoveaT4z5ZDCdzopYI5xuXVpdLsuw3gFSxHXfyMYJDsqwK4WCcIgG9mqiogmj4NHDNpbXCt/5ojfPsnrP0+btW/894xJ/oH0t/Dm0Nx3EwJYKJ+znhmgQATK4AlkWoraGqEjMnQQFygiKrZNm2k8lMCsWaigmU6FsP3nRXLOTfFQ2pAVWRSMMlwFcwBkEQoTFEE8kxa2RyzKmqaHBYg2y8Yz+g+PxiLFpB0aBSR5RZiXFPNzU1OWfPnr2SGd/yPXvZ2RYVR/0fH5vK9T32womXuNGnPnUD8+j5Gq66DOaS5mUN5nhwmUd9aM3K8IriWAnppi6YJjQabmt4YszMJE9LQX8MgrGdtc3lwfryWKAorFl+Vea1zYSM4OvIMizTskl0ZEmQ+gdOOROppBnwaxCi5RR8gU+KxyuthqplENPgWqYFzDOjl9H9vYdu51dUGVN2FkcCdcDKzA9w3aOPHvLo5cd3wWWI3vV2jopZ2MqWJGprNC0IRkU5Fo3T6FTa2P/6c2ZNadivs9I5tpA3TUfHZRiWhEIC5zK0Gw7TkVhFDMMQAn5EusaAfPDN14yxqYwZDQUFn6LAB4hiSaLWuGHFLUzJTqKNVdMk+aZLLuT/8WfPslDojk0tbfGwK8Aufp6GWSR7VZfK9yyAgvK6COLFsdLiQCDiDI+nzdePHc3+a8c/GyXaUMDnC2MN19n42JHxPwP+2bFdDlxnmBbFwkWSmTqkPvn8Y/mOg2+kz/f35SeSk5YjyL7Guhb6/mfalsNh3s+9IcDZWuB5+CUVifByHmdoIjM6a5SrCuC9+gCm30Pox0Dis//2gmlYKSdR2aJct2qLnB09R5nJbpKUgAANmEXH/LcC1npdz1IsViVVNLcGs4LfPDVy0cp2nsw7pu3UJwLmuqUN0Yfu6PrAn/20+zvgMQlsvIy6S8Y05rjqk6JwrlgHnUXHDe9VALO5qDndeZDu2LHNKq+5SXVEFZIRSA2XEV3QKDPyNslqDDJYIHyHo+SYAQKjUOUG8kfLKWgbcnmZLMMhUiqbppGet3JaboiWN7S0EnXjotfaP94mtv9tB9PjKVUEtq8ENIUifhUrxgx472cqZt+8VxOYjWztZx/8EjUuw+5PlEiRWd3h43AfSjSRKPvBPDuChYaAQtk6adE68mHJc6w88NjO1NSkfb6n28qlM1Z53VpVS6y1S0NG/Lfu3LCDGXj4h23e7Hsa6QMFkoy4AWE05xC8gWfTzF0vA6/RZZXzPbS3t8+8+s4XPrGytXU1ne/tM37y9FPZJ555LjWVTBqyLIMMlRR/gmysDAJm+JLVzHQv3GAZZA0RRI1kOEIFjs/Uc9b+g4fzG/d8wvrpsa7cZCCRH9ctUsKVuYqq5RRVencRrSkRhHa2r9mqzjGE6MP4Qb8Pajiz//i5CUCAAFyjfvDOmz504/r1Ow4eP5Xe8cDn5G6nSKzacqv9k5/tSxv5LPm0AHwXB27QAPZyVwP4CUFUSPb53Q3Qyc5u49O//y3Xsf3GffdJt33o7kCwdqndlzQE0RelhuqWGxAOuNvtl9vbmB5vgMlUVs/BnVDYryBwomIe9pPrEAdeBRatAVi2PDSBbZs3/yHIpg9/7itMgPr53/4M3bd7d6R1883+02fPOH6/X7BMVn+PNq/rlSW/d6DwiPoUH1YD0z7b08MDyTGocHdvr23qeVsLBIWj5y6IY0k9vba1lb75scYHiBLhW9o7zHUNRd6SODI8kcFW2kHkqNYBRw0uet8XG9xJ4/u5YLEC4GXMlcBHP3jzF5Y3Ny9/6bXDk0AYToCDM2fPWp1dnfrx48dBtuJY2M6auTHMrA9L1tXGB0o2ETsHS8ixE3Vyuhu0OapM0p49e3xfffhh49vf/pbzdz/6sZQyFSVvCuaqpoqb/vD+Fd9ghg51jjMdDH3Hzg1dgBZQcTQQDWvSdVy5Z8/eq+YQFiWAWbO/dtumTQ9LvoD56D//2M376T5JumvXLhUhKv3f731XKitbYuVS42TlRx32BYWlcB5NmFZ/cC9kpobJBw/WUFPDNNnhimoKqD75kW98U/3hY49JOZiJ7diiblgkSzJVJQKfbipTPsFMOi+3u+HuG52jJ7E0U1ksQHdtbtqEV97A8/I57wtGPA3e7Ktryul/r2iqkVKZrH5+YEQqjkZI1vxOdUUF26zvnnvvMYqLouLUeD9GttGPq6+mATwCx3s+yox3Uj4zIay9foX86Y/cYZ7t6XWqy5fQ5jUruBFtXlpL8WhIsM2snDMcvaY0QnvaVv8JXm0Vbmlne2M4O5HOpbHZYiE04hkhprsb9ATBj5fBQgIoGGmhy8MfvWPztqAq60xxfZjs0ckpEBURevv7uUX2zh3bBUdPSVMDBx1ZxZLmLoPzjl3AihwCO0zHTNLQuVfJJxjS/Xs+ojx03y791Pke69Ujb8FOYtZdbRspKGbFTOoizEzzibCWDcvKi25fHfldIHIZRTmRyhhZSJ40VWEnyPkASGB+R8hTdDXwqG/eubH2b267oU6VAxVCuKhUqqioMp759wOI3ZPGPR/Ynv293/5NCos5ZaL3VZGDfNe2YdWLA1g/q7gxScmxXkfRYsL61WvFXe9rs2/busH65D03CSVaSkoOn8QG0oewQyE9n5RiReVmqGT5smdf6QGzmacwlrS6MbG7tSYRHZrMCC8e7nkSdX3f3bpV2HvixJzEXC0SnD37N29ZXhkOaL785EiXqsXKadvmTdr+H/0Ae3gkLUTyjXS/SbmxN0VFSwhYAyEB9j2e/BYjBhYC8sJmRhg687xtSHErHiuS64MkpCeGKWlkIFMNGBF3iTLlc2OCUna909paS9u3nt790v59cIpbuqZSY0neaioSI1s4jb6QCbiUt7SuuW7lqm3YozuOme6n0a4DlB7tEfyU8QmZfvXNA88IQuqUpIXKRV4tmcj3xrwnIETxEF4oGEVgnZYu9JzQh4e64UQgHElzXHEKCln6BElqgvyJZiEQilJQoSAwQN3X6umcrvOyikwST667RO5evnzO2edRr6YB/N6F5rJo2ZL61aSPRSjT9RLlk32Un+wEjwKd7unXg4GIEImUS6lsDtrAKY7LwRvde3E18bDwkCdwgn5NNG1BmszqhuqzVYTYgm2bmIEJUrQyIVaFfUOswjaTSSqKhDnpmkTsY5TFQ4oiSwiqXA/sxQhMEA/vkcLPLixKAFNTE1B1kUIl9ZQcX0r6VCeIKKJkKm1N5Py51oaSSDbPvvFy5j1GObPLwrKQ/mAHJeHihAfPFD+/C7CR5lRJOOCTERfYGd0yS8KibFBAiJZvITVeRxzwwMu6DFmWOQ4cfURPVFcmImW8H+BUGOoW1PBFCeBMV5eWzeUoUBSjSNVaSl0wYKoXqW8slcN67PMpInZtyHbMEgBT5ma+cDORTpsONjxBvyph748Eie34taCgglKY1bsMBvJCGwvpMXIyedPpHU6ZU1GfZfvrTMHOOk1SUo1FwjBz0R6ZGKcjJ04iAqPsumWTHyuNlZZw3JLOwaMSucvT16iDBeEtlbi9BIsSwODYpMIC0DRVzPkjFKq+0Zm4eN4aevtpe1NrjT+P4IRzeR5a9gMsC2S+nInxrBH2VdlapNiZyoyZIeT5AqJjjw53CuOSLpWURDBfBPUuaAMLLpsz7QyQyjL2CE5KCMaX2mWtmwWs78rY2DjSjqabMZpIpXyHD79GrbHujSco9P/etyK2qaokQqmMTp0D4y8A1ZtMU3t7BxdzwqIEgJ4Tr7/1Dgohf+DwkVxTbVUAa7GJT1gS1A8KK7vJTCaepcCi4Hk1kJMNWbJYLGd8filA5YlSfOiQhEwaGivLVsZw7DEIqKQ44PPiJe4fROYU6i+pqkb5QJ7GHTVXVlwkF0dDUmk8BvXHCoOGyXROLFKN7I6N6+MNjdI9qxrjubBfpf3HezJ/+czb3wcqCxsmmfcMuJ8TFiWAB96/LH7y9R8huLifPrj95hDrfP9gv11ZrFrRoF9K5XSePpd5bxRmhOt02Ono+IQxNdhnBxRJhYOzdUvQY8GI4lcUYTSfMQs9WXwFgPpa47Apw0raem7cGcVHN4r2WlJtpaD4fKKCjRP0nwYvDmRzU33UVFHuJI3JcTAfnsrkaP/bvd8GplcZG5i/hLiA/rL/eQXgzSZaF69qLN1YU1JHk5GwHY1ExFQmQzpml6ysxM7RZXYWWndE/EFOYj4g2ukJ01LlIE0iOxpW/VJ5RFUyubx9LpnSl1SG1YKnYsMp7LgURRIS0QAnFiiXtZ3Ji4be3T+QHxoZziUzWae1sU5NxGPKxOgFpzRsq6FAUDTNUeWtriErmcn/yb/8R9dXp8nhQI8DknlhXgHM6tHiV9WKSFCz+gePy2NTzRYCciGVy8HC3bznrKaFWxaIK0D8RUKanPUZNDaaMboGxsVYQLXKxJCeJkusrov5NThC3ULuE+D2QV/kwkTDEWzshRAVyAK+KZgrVl3vq0gUyed6+vJ9gxfze59/OZsfOSHdvbUFiRTB0nxS+POP7vsyuv9xgQp3iZ9X9afbzBsHzHi0jS2JGyuKQzBZxS7xZ9T+/l6jqqLaVxIvFgeEkI4vIioTfiV4WgGPRSF4L3+FIg9nc3kHClNTVxSAo3M1h5c7Zp77e30YX+EDqWh19fXR8eFyZRWCYEmSqLq8TC0PC2qVFHMGBit0SZIFWJmNHIBUEpQjw+kZnuci60oy5xUAN3QRLKsuXsO7q87+yayhp3zNpd1aKNCMjyGmNJCNUeXYgJ1I1IiZbAqOELuAdwE+mdrYGfPuJY8PiOz+2DfgIwHiA5h/IW70uvHSzl+O4pGw2H/xgjisVzm3vv8DNhyffurMGZJTZxQndQpDhYWaJUtU3cCSbNv5kN9HdRWRuuEzY5wm46QCW9ZV1Z/HXNAEEpFAJeft2T5baiu1LCLA48ffyBUvaRRvv22nv/Pt/boy3qUUxSuxxhvuzPE6zJJgRqDNyHqLzsXxrPlPT74ij0yS3Vpbki8tCqi5vAEpFybKXTohDAVZXQjMOXD0EB0fK6df//BOamlokEb6O6Whc08ZQ2NjuVCkUiiJCkg2mCLH/QzsFMN+H3+M9QTg1i/0t5AA/OAkHsT5hJoyKTCIJauz72KuseookrgNihYqJb/2ftr/yr60fvhFsbqi1gd/Iaj4OsycIYq1pzK6feTUOfr+06eFj+66U+L45sNff8L62n0r9esb60RVVZAaLYQR8P505vQ558mXjtCNtz8ofOaB7UJRNEqDvadoqns/FcciSryoROm5OJqbSttmaSzoQwAx7XAgcA6dLlnSQry77xcSAL7uOfwZC/k6fPSEDjdUlGmlEUEZ7nrNKWm+RQgFNOl9t+wIv3WqNnPk+Fv6+d5e8acvPqPj0w2rYMHBY0H4fvvvOts23CDYlindvm2z/FTHAfvhP3iSDVasBQtY2QQrFnBu3HIrffZ3fkNY3twI88BSd/5NRJ773J2giY0QjIfql8Q0nnmovssEexAOxrB0ZlAx4wTclwv8scTmAq5n3Qp+4e61B+7c3Hx9Nm+Y2GTwdz0MjEDc0gV/YjnFqtdhf47vAoX4mzI5nQaGR6zBoYtGNpO240Vxoam+VomGwjKbEqu8yulvBFADQ8PO4Mg4/INI+CjqFEVChIySIMs+AeEyTQ1i5nv/DXJQcUGzHeYNPoOJQMmMs5PF+q9jCfT91v956Zt48UVcDAsugdxoIQ3ARDoZHohXKWgBurghK3Y0GqWHjpBp5JzSllvg1LA6woMhSBIaa6qk5toqxAgM2ASByDycFX8OB9mUzfPHDxIqykqF6vJytxW8vsAJVBt0J1NJJzP4tpAZPlbIAfDGbpp5FyMTBGA58H7AsGy5Z4hDf+I9Ac8ctyioB1dcBRYSgImJH+aBgLHAD5M+DbIvQumxM875U2GzunkNzkeIgsssh6oAZtglh9mevufZg1t06w3DJEPArhDqzFtYyNfp7Honbw68IhUF4czcBAg3dZ0wbi4H3k36fbIF36F09o934+1RbgEKma95zwRwGw88G/We31Uiy/oOqy54K2jeTAsoM0Ti1/zYkr0qn3vncB624EZGODCB9jgIAam5sz49Y0xaQYoFifJnNNQ57skSnBM4d+ZELtP5Y7EYkaIlaGjErfm6JPSZ4d0bfE+QROv8wDjt/Y/Ol1B1Yvo9d1oUzCsAYHBHfe6N84cmUjjygsXsCgmwats4B2BxBscZPyr39l0wNBX7Gkzp5SQX6OH+nlAK1PFyiRgBOb7h4SF9vHsfhcJl4mgKeXIs4Ygd3JzBXJxwAIUASx+bymrPHexk/f97XKwqPPuLdoTzCWBGglNZ67ULI8kklnMFlTN2xQ0yed0eGk/rb5wZTP3g8adz75zt4vUMeQqOdwrg3nBj/gbAswkh8I9LRJFQfZkyyCQdPPy62X/hRWsqa5sjo33mxbG0riOLwEJgTWPgktUeYAb9ijM8mfH9w4vH6Ok3ejg93sEvANOtCw8L/bMOzglfu6R3E83lkQ0rG0qXYQZzWH440HBnEsf3RGxk5UgkId6w/aNCc32tpPCxLlYez/496l0zmJGLOyZTiiCJcCAGp0tSVjqtWaFYuaCE6x1ZsMWAnJWRBWaJOpxtYtTAz+eMxNMXxoQ/f/LQ8ReO9nFa/HsuwsLsFxzQdMVCxeUUXWrN9dK6deuEQ4cOsTO57pEHtv5sy/Kq8izWJ8wyIjB4bFZ0eGdOcRU3tJEWrycDEQAfeHAnwmO+YE2FOvzPAAsFUmAh8JWHRgkwBzMzLEycewFOB1+B3INXJuVw1gbbbuoenDRePdH3xBOvnf8j4HlrBtf0TVsbyR0driksShPm0oBp6skeGBjwVH7kX4/0/HV1caBGVeRVICQD5yNjIgQZM4IElm1LIVuNViAwg/q7gmEnyd1BBxjln0sRhMJ+gO+5jt/h3uGzwZhk7PUVwUwPObnxU07aEO0zvaN679CUdaZvPA/XImGbDKcp9S2tjDbWl4Z3vnNh/Hqg4g8gTPfE+fMz8b/HB6rnB57p2cCdPKbvxX3rrs318eqSSGlZPFhaWxZrQrxdiaAISVJHmEzpsFPLCihGuBaf4spbtjITDvw/rIW/+rKWOO7ywSUbMYuFOeYZ91YI3iixUABOMp2Wzp8+Sh0/+4Hx8mlt/N6baoLrllZonHLj5CoLif0CayDHJUid0cBoCqfTMqmzfWMn/7Hj9GPA8ze4+ADFbH7w+G6YLQCvsdi2fMlP1y+ruP36+lJaEseCjFnGwO6giIgtJgYXjoaSMpXO058+vv8n+06lhj/14dt/rbK8HKdHE1pxEQ44hoI4OquS6lOhym5EzaXLKm+cOJzlmc8hozw8NkbHTp62X37llf59h97ibM5f37mhvu2/7Wj98pJ4iAMt9/yAu5Ig3ICQkVti3yC4h6xgmpwLlH52pEv+4YsnX0H/B3CdwsVaPq9f8ATAJWul+Mj9W5/BUbNbK0rCSWyCAjjeZsP5sFKzgHgn63rjHIIYLEE0OJraf/rCyJ5Hn39nAO9LcTXiYrVchmvp8sb6akSGJaFgQAO9vtJEQkeiI9M3MJgdnUzmJ6eS9oFjx0fQlpOOHbj24cIHQBcS+P/UbWuq1tctiVUoPqkUmXIcAFFipUVBGWcP3RCcD2CyIAqm5Tj7j/UIf/z4IT4p+t0Cmvk1wRVAezuJuOw9W5se2bW15Yt80Ih3gOAdKU1BGppIU+/FKQepuh7Yf3cmZ/T1Dk0ee+pgTwcGOMCDfPKT6xQcSpwr+uKvNiwYLnkmUrjYzHjjglDbBb6fDSxsnrnZ+Hh9Z1vn8z8cP7f6RPGWlqqwBiZGYR5hnyIFcUy2WDfMwaNdo18ZTeonPd7Qfk5wBeC9QfLzubbVdRuAaF/P4NTrJ7qHv4T7iUefe/txtHka1xFcE157Lqd9GuNhprhk4rlkjeI6LhcDzDDD7D5CGwRRsnu3s3eve9DBbfAe/jw6Ft3Fj5Y4nTIDbbgrm3nCDTP8+O7d7rF3PHpEz25y5b0nFBaMd3Hd7OvKPnM9e+097ZDd4/fQ3t2ghy+mjTvyrKNw7+dCtGCd47SLfKZ/VkNWP2b22pHOQvaLfOtJ2aPxl4Jpj9lflb+MEvj/ERFJSfKBnJkAAAAASUVORK5CYII=">
<span id="nav-title">degu</span>
</a>
</div>
</nav>
{{template "content" .}}
Expand Down
4 changes: 1 addition & 3 deletions internal/admin/loader_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,8 @@ func TestDefaultConfig(t *testing.T) {
wd, err := os.Getwd()
require.NoError(t, err)

h, err := os.Hostname()
require.NoError(t, err)
testConfig(t, cfg, &testWant{
Host: h,
Host: "127.0.0.1",
Port: "8000",
Jobs: path.Join(wd),
Command: "dagu",
Expand Down
Loading

0 comments on commit 9250f16

Please sign in to comment.