dargstack_rgen 0.6.47 → 0.6.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/docker.yml +16 -3
- package/.github/workflows/release-schedule.yml +1 -1
- package/CHANGELOG.md +21 -0
- package/Dockerfile +1 -1
- package/package.json +8 -7
- package/src/generator.js +2 -2
- package/test/example_stack/README.md +98 -0
- package/test/example_stack/src/development/stack.yml +55 -0
- package/test/example_stack/src/production/production.yml +30 -0
|
@@ -7,22 +7,35 @@ on:
|
|
|
7
7
|
types: [published]
|
|
8
8
|
|
|
9
9
|
jobs:
|
|
10
|
+
test:
|
|
11
|
+
name: Test
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
steps:
|
|
14
|
+
- name: Git checkout
|
|
15
|
+
uses: actions/checkout@dcd71f646680f2efd8db4afa5ad64fdcba30e748 # tag=v3.0.1
|
|
16
|
+
- name: Install
|
|
17
|
+
run: |
|
|
18
|
+
yarn install --frozen-lockfile
|
|
19
|
+
- name: Test
|
|
20
|
+
run: |
|
|
21
|
+
yarn test
|
|
10
22
|
docker:
|
|
23
|
+
needs: test
|
|
11
24
|
name: Docker
|
|
12
|
-
uses: dargmuesli/github-actions/.github/workflows/docker.yml@0.
|
|
25
|
+
uses: dargmuesli/github-actions/.github/workflows/docker.yml@0.7.0
|
|
13
26
|
secrets:
|
|
14
27
|
DOCKER_HUB_ACCESS_TOKEN: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
|
|
15
28
|
DOCKER_HUB_USER_NAME: ${{ secrets.DOCKER_HUB_USER_NAME }}
|
|
16
29
|
release-semantic:
|
|
17
30
|
needs: docker
|
|
18
31
|
name: Semantic Release
|
|
19
|
-
uses: dargmuesli/github-actions/.github/workflows/release-semantic.yml@0.
|
|
32
|
+
uses: dargmuesli/github-actions/.github/workflows/release-semantic.yml@0.7.0
|
|
20
33
|
secrets:
|
|
21
34
|
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
|
22
35
|
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
23
36
|
release-assets:
|
|
24
37
|
needs: release-semantic
|
|
25
38
|
name: Release Assets
|
|
26
|
-
uses: dargmuesli/github-actions/.github/workflows/release-assets.yml@0.
|
|
39
|
+
uses: dargmuesli/github-actions/.github/workflows/release-assets.yml@0.7.0
|
|
27
40
|
with:
|
|
28
41
|
TARGET: development
|
|
@@ -7,6 +7,6 @@ on:
|
|
|
7
7
|
jobs:
|
|
8
8
|
release-schedule:
|
|
9
9
|
name: 'Release: Scheduled'
|
|
10
|
-
uses: dargmuesli/github-actions/.github/workflows/release-schedule.yml@0.
|
|
10
|
+
uses: dargmuesli/github-actions/.github/workflows/release-schedule.yml@0.7.0
|
|
11
11
|
secrets:
|
|
12
12
|
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
## [0.6.50](https://github.com/dargmuesli/dargstack_rgen/compare/0.6.49...0.6.50) (2022-04-18)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **release:** schedule release ([ddc1938](https://github.com/dargmuesli/dargstack_rgen/commit/ddc1938890a0df1984839213cbe28a3f59af24ce))
|
|
7
|
+
|
|
8
|
+
## [0.6.49](https://github.com/dargmuesli/dargstack_rgen/compare/0.6.48...0.6.49) (2022-04-06)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* use new node identifier ([229cc1c](https://github.com/dargmuesli/dargstack_rgen/commit/229cc1c972d15105c95e157db53d161ecdc75c13))
|
|
14
|
+
|
|
15
|
+
## [0.6.48](https://github.com/dargmuesli/dargstack_rgen/compare/0.6.47...0.6.48) (2022-03-28)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* **release:** schedule release ([0a5834b](https://github.com/dargmuesli/dargstack_rgen/commit/0a5834b1a575b698c2de2c9b694367e8a42e0d04))
|
|
21
|
+
|
|
1
22
|
## [0.6.47](https://github.com/dargmuesli/dargstack_rgen/compare/0.6.46...0.6.47) (2022-03-21)
|
|
2
23
|
|
|
3
24
|
|
package/Dockerfile
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dargstack_rgen",
|
|
3
|
-
"version": "0.6.
|
|
4
|
-
"scheduleVersion": "0.6.
|
|
3
|
+
"version": "0.6.50",
|
|
4
|
+
"scheduleVersion": "0.6.50",
|
|
5
5
|
"description": "Generates a DargStack stack project readme.",
|
|
6
6
|
"main": "src/generator.js",
|
|
7
7
|
"repository": "https://github.com/dargmuesli/dargstack_rgen.git",
|
|
@@ -14,15 +14,15 @@
|
|
|
14
14
|
"deepmerge": "4.2.2",
|
|
15
15
|
"diff": "5.0.0",
|
|
16
16
|
"json2md": "1.12.0",
|
|
17
|
-
"yaml": "
|
|
18
|
-
"yargs": "17.4.
|
|
17
|
+
"yaml": "2.0.1",
|
|
18
|
+
"yargs": "17.4.1"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@commitlint/cli": "16.2.3",
|
|
22
22
|
"@commitlint/config-conventional": "16.2.1",
|
|
23
|
-
"eslint": "8.
|
|
23
|
+
"eslint": "8.13.0",
|
|
24
24
|
"eslint-config-standard": "16.0.3",
|
|
25
|
-
"eslint-plugin-import": "2.
|
|
25
|
+
"eslint-plugin-import": "2.26.0",
|
|
26
26
|
"eslint-plugin-node": "11.1.0",
|
|
27
27
|
"eslint-plugin-promise": "6.0.0",
|
|
28
28
|
"eslint-plugin-standard": "4.1.0",
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"shx": "0.3.4"
|
|
31
31
|
},
|
|
32
32
|
"scripts": {
|
|
33
|
-
"prepare": "if [[ -d '.git' && -d '.husky' ]]; then husky install && shx rm -rf .git/hooks && shx ln -s ../.husky .git/hooks; fi"
|
|
33
|
+
"prepare": "if [[ -d '.git' && -d '.husky' ]]; then husky install && shx rm -rf .git/hooks && shx ln -s ../.husky .git/hooks; fi",
|
|
34
|
+
"test": "node src/generator.js -p test/example_stack -v"
|
|
34
35
|
}
|
|
35
36
|
}
|
package/src/generator.js
CHANGED
|
@@ -82,7 +82,7 @@ for (let i = 0; i < documentItems.length; i++) {
|
|
|
82
82
|
const documentItem = documentItems[i]
|
|
83
83
|
const elementItems = documentItem.value.items
|
|
84
84
|
|
|
85
|
-
if (documentItem.value
|
|
85
|
+
if (!yaml.isMap(documentItem.value)) {
|
|
86
86
|
continue
|
|
87
87
|
}
|
|
88
88
|
|
|
@@ -119,7 +119,7 @@ if (productionYaml !== undefined && productionYaml.contents !== null) {
|
|
|
119
119
|
for (let i = 0; i < documentItems.length; i++) {
|
|
120
120
|
const documentItem = documentItems[i]
|
|
121
121
|
|
|
122
|
-
if (documentItem.value === undefined || documentItem.value
|
|
122
|
+
if (documentItem.value === undefined || !yaml.isMap(documentItem.value)) {
|
|
123
123
|
continue
|
|
124
124
|
}
|
|
125
125
|
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# example_stack
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
The Docker stack configuration for [example.de](https://example.de/).
|
|
5
|
+
|
|
6
|
+
This project is deployed in accordance to the [DargStack template](https://github.com/dargmuesli/dargstack_template/) to make deployment a breeze. It is closely related to [example's source code](https://github.com/dargmuesli/example/).
|
|
7
|
+
|
|
8
|
+
## Table of Contents
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
1. [configs](#configs)
|
|
12
|
+
|
|
13
|
+
2. [secrets](#secrets)
|
|
14
|
+
|
|
15
|
+
3. [services](#services)
|
|
16
|
+
|
|
17
|
+
4. [volumes](#volumes)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
## configs
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
- ### `another_rc`
|
|
24
|
+
|
|
25
|
+
Another's configuration file.
|
|
26
|
+
|
|
27
|
+
- ### `some_rc`
|
|
28
|
+
|
|
29
|
+
Some's configuration file.
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
## secrets
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
- ### `postgres_password`
|
|
36
|
+
|
|
37
|
+
The database default user's password.
|
|
38
|
+
|
|
39
|
+
- ### `postgres_user`
|
|
40
|
+
|
|
41
|
+
The database default user's name.
|
|
42
|
+
|
|
43
|
+
- ### `traefik_cf-dns-api-token` 
|
|
44
|
+
|
|
45
|
+
The DNS provider's DNS API token.
|
|
46
|
+
|
|
47
|
+
- ### `traefik_cf-zone-api-token` 
|
|
48
|
+
|
|
49
|
+
The DNS provider's zone API token.
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
## services
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
- ### `adminer`
|
|
56
|
+
|
|
57
|
+
You can access the database's frontend at [adminer.example.test](https://adminer.example.test/).
|
|
58
|
+
This information is required for login:
|
|
59
|
+
|
|
60
|
+
| | |
|
|
61
|
+
| -------- | ------------------- |
|
|
62
|
+
| System | PostgreSQL |
|
|
63
|
+
| Server | postgres |
|
|
64
|
+
| Username | [postgres_user] |
|
|
65
|
+
| Password | [postgres_password] |
|
|
66
|
+
| Database | [postgres_db] |
|
|
67
|
+
|
|
68
|
+
Values in square brackets are [Docker secrets](https://docs.docker.com/engine/swarm/secrets/).
|
|
69
|
+
|
|
70
|
+
- ### `postgres`
|
|
71
|
+
|
|
72
|
+
You can access the database via `adminer`.
|
|
73
|
+
|
|
74
|
+
- ### `postgres_backup` 
|
|
75
|
+
|
|
76
|
+
Backup service for `postgres`.
|
|
77
|
+
|
|
78
|
+
- ### `traefik_certs-dumper` 
|
|
79
|
+
|
|
80
|
+
See [DargStack template: certificates](https://github.com/dargmuesli/dargstack_template/#certificates).
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
## volumes
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
- ### `acme_data` 
|
|
87
|
+
|
|
88
|
+
The reverse proxy's certificate data.
|
|
89
|
+
|
|
90
|
+
- ### `portainer_data`
|
|
91
|
+
|
|
92
|
+
The container manager's data.
|
|
93
|
+
|
|
94
|
+
- ### `postgres_data`
|
|
95
|
+
|
|
96
|
+
The database's data.
|
|
97
|
+
|
|
98
|
+
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# example.de
|
|
2
|
+
# https://example.de/
|
|
3
|
+
# example
|
|
4
|
+
# https://github.com/dargmuesli/example/
|
|
5
|
+
---
|
|
6
|
+
configs:
|
|
7
|
+
some_rc:
|
|
8
|
+
# Some's configuration file.
|
|
9
|
+
file: ../production/configurations/some/.some.js
|
|
10
|
+
another_rc:
|
|
11
|
+
# Another's configuration file.
|
|
12
|
+
file: ../production/configurations/another/.another.js
|
|
13
|
+
secrets:
|
|
14
|
+
postgres_password:
|
|
15
|
+
# The database default user's password.
|
|
16
|
+
file: ./secrets/postgres/password.secret
|
|
17
|
+
postgres_user:
|
|
18
|
+
# The database default user's name.
|
|
19
|
+
file: ./secrets/postgres/user.secret
|
|
20
|
+
services:
|
|
21
|
+
adminer:
|
|
22
|
+
# You can access the database's frontend at [adminer.example.test](https://adminer.example.test/).
|
|
23
|
+
# This information is required for login:
|
|
24
|
+
#
|
|
25
|
+
# | | |
|
|
26
|
+
# | -------- | ------------------- |
|
|
27
|
+
# | System | PostgreSQL |
|
|
28
|
+
# | Server | postgres |
|
|
29
|
+
# | Username | [postgres_user] |
|
|
30
|
+
# | Password | [postgres_password] |
|
|
31
|
+
# | Database | [postgres_db] |
|
|
32
|
+
#
|
|
33
|
+
# Values in square brackets are [Docker secrets](https://docs.docker.com/engine/swarm/secrets/).
|
|
34
|
+
image: adminer:4.8.1-standalone@sha256:b9125cae28bf249d1d2e9c4ffa42143a39ce1edc0eccbaf83e48ad6fbb3171b6
|
|
35
|
+
volumes:
|
|
36
|
+
- ../production/configurations/adminer/adminer.css:/var/www/html/adminer.css:ro
|
|
37
|
+
postgres:
|
|
38
|
+
# You can access the database via `adminer`.
|
|
39
|
+
environment:
|
|
40
|
+
POSTGRES_PASSWORD_FILE: /run/secrets/postgres_password
|
|
41
|
+
POSTGRES_USER_FILE: /run/secrets/postgres_user
|
|
42
|
+
image: postgres:14.2-alpine@sha256:20e49432a20e1a63bb985977c32ec8f110bc609b93de35ad4f19c5486abcefaa
|
|
43
|
+
secrets:
|
|
44
|
+
- postgres_password
|
|
45
|
+
- postgres_user
|
|
46
|
+
volumes:
|
|
47
|
+
- postgres_data:/var/lib/postgresql/data/
|
|
48
|
+
version: "3.6"
|
|
49
|
+
volumes:
|
|
50
|
+
portainer_data:
|
|
51
|
+
# The container manager's data.
|
|
52
|
+
{}
|
|
53
|
+
postgres_data:
|
|
54
|
+
# The database's data.
|
|
55
|
+
{}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
secrets:
|
|
2
|
+
traefik_cf-dns-api-token:
|
|
3
|
+
# The DNS provider's DNS API token.
|
|
4
|
+
external: true
|
|
5
|
+
traefik_cf-zone-api-token:
|
|
6
|
+
# The DNS provider's zone API token.
|
|
7
|
+
external: true
|
|
8
|
+
services:
|
|
9
|
+
postgres_backup:
|
|
10
|
+
# Backup service for `postgres`.
|
|
11
|
+
environment:
|
|
12
|
+
POSTGRES_HOST: postgres
|
|
13
|
+
POSTGRES_PASSWORD_FILE: /run/secrets/postgres_password
|
|
14
|
+
POSTGRES_USER_FILE: /run/secrets/postgres_user
|
|
15
|
+
image: prodrigestivill/postgres-backup-local:14-alpine@sha256:78b41a63ee65fffddc1490e8dca49f9783b99e605aab8710cb57b7ce88d63c1a
|
|
16
|
+
secrets:
|
|
17
|
+
- postgres_password
|
|
18
|
+
- postgres_user
|
|
19
|
+
volumes:
|
|
20
|
+
- postgres_data:/var/lib/postgresql/data/
|
|
21
|
+
traefik_certs-dumper:
|
|
22
|
+
# See [DargStack template: certificates](https://github.com/dargmuesli/dargstack_template/#certificates).
|
|
23
|
+
image: ldez/traefik-certs-dumper:v2.8.1@sha256:2734462fc8290feab0e34a00d5f3e4992ba74f8e3712d74efff7ae703d0e7e87
|
|
24
|
+
volumes:
|
|
25
|
+
- acme_data:/etc/traefik/acme/
|
|
26
|
+
version: "3.7"
|
|
27
|
+
volumes:
|
|
28
|
+
acme_data:
|
|
29
|
+
# The reverse proxy's certificate data.
|
|
30
|
+
{}
|