-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
package.json
185 lines (185 loc) · 6.99 KB
/
package.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
{
"private": false,
"name": "@installdoc/ansible-gas-station",
"version": "0.0.1",
"description": "An Ansible playbook that provisions your network with software from GitHub Awesome lists, developed with disaster recovery in mind ⛽🔥🤤",
"license": "MIT",
"author": "Brian Zalewski <brian@megabyte.space> (https://megabyte.space)",
"homepage": "https://megabyte.space",
"repository": {
"type": "git",
"url": "git+https://github.com/ProfessorManhattan/Gas-Station.git"
},
"bugs": {
"email": "help@megabyte.space",
"url": "https://gitlab.com/megabyte-labs/gas-station/-/issues"
},
"type": "module",
"scripts": {
"help": "task --list",
"prepare": "task common:husky",
"repair": "bash <(curl -sS https://install.doctor/repair)",
"start": "bash .config/start.sh"
},
"config": {
"commitizen": {
"path": "node_modules/cz-emoji-conventional"
}
},
"dependencies": {},
"optionalDependencies": {},
"devDependencies": {
"@washingtondc/development": "^1.0.2",
"@washingtondc/prettier": "^1.0.0",
"@washingtondc/release": "^0.0.2",
"eslint-config-strict-mode": "^1.0.0",
"sleekfast": "^0.0.1",
"typescript": "^4.5.2"
},
"keywords": [
"ansible",
"ansible-playbook",
"ansible-role",
"archlinux",
"centos",
"debian",
"doctor",
"fedora",
"install",
"installdoc",
"installdoctor",
"macos",
"mblabs",
"megabytelabs",
"molecule",
"playbook",
"professormanhattan",
"role",
"ubuntu",
"washingtondc",
"windows"
],
"engines": {
"node": ">=14.18.0"
},
"publishConfig": {
"access": "public"
},
"blueprint": {
"description": "An Ansible playbook that provisions your network with software from GitHub Awesome lists, developed with disaster recovery in mind ⛽🔥🤤",
"github_id": "R_kgDOGjKTSg",
"gitlab_group_id": "3940994",
"gitlab_project_id": "18473622",
"group": "ansible",
"name": "Gas Station",
"overview": "Gas Station is a well-documented, customizable provisioning script (powered by Ansible and Terraform) that installs a cloud that includes tools, services, and Dockerized web applications that every developer/power-user should be using. It supports every major operating system including Windows, macOS, Debian flavors, RedHat flavors, and even Archlinux. It is the cumulative effort a team of developers and the relentless pursuit of the best of GitHub. The majority of the tools installed are found on various \"awesome\" lists on GitHub and other \"Best Software for\" lists. You can use Gas Station to rapidly provision a single machine or even a whole network.\n\n\nGas Station was born out of paranoia. Our method of ensuring our machines are malware-free is simple; wipe the machine(s) on a regular basis and re-install everything using an automated process. To accomplish this, we broke down this project into hundreds of roles (which can be used seperately without adopting the Gas Station \"wipe everything weekly\" mentality). The playbook and roles are designed to retain the state of the applications between installs. Stateless configurations are generally backed up to a private git repository and stateful application data is backed up to encrypted S3 buckets. This, in a way, reduces the attack surface of your system since the attacker would have to figure out a way of persisting their malware across re-installs (which is likely not an easy feat). This approach ensures that your system is built with disaster recovery in mind.\n\n\nThe main goal of Gas Station is not only to provide a sweet suite of software and web applications but also to encourage a new philosophy for how operating systems should be maintained. If everyone on earth decided to use Gas Station, bot nets would die out overnight. On top of that, when you store your configurations and applications in a format that can be added to source control, you ensure that you hold onto your work even when you get a new laptop or decide to reformat. Gas Station is the perfect example of how to do that. You can use Gas Station with minimal modifications to set up your personal home lab. However, we encourage you to modify it for your purposes. If you would like to give back to the community, please open pull requests when you come up with anything useful so our free product can mature and improve over time.",
"repository": {
"github": "https://github.com/ProfessorManhattan/Gas-Station",
"gitlab": "https://gitlab.com/megabyte-labs/gas-station"
},
"slug": "gas-station",
"subgroup": "playbook",
"title": "Gas Station ⛽",
"useful_links": [
[
"Link",
"Description"
],
[
"[Ansible](https://www.ansible.com/)",
"Homepage of Ansible"
]
]
},
"commitlint": {
"extends": [
"@commitlint/config-conventional"
],
"helpUrl": "https://megabyte.space/docs/contributing/commits"
},
"eslintConfig": {
"extends": "eslint-config-strict-mode",
"ignorePatterns": [
"roles/**/*"
],
"rules": {
"eslint-comments/disable-enable-pair": "off",
"eslint-comments/no-unused-enable": "off",
"json-schema-validator/no-invalid": "off",
"max-len": "off",
"max-lines": "off",
"no-warning-comments": "off",
"yml/no-empty-document": "off",
"yml/no-empty-mapping-value": "off"
}
},
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/megabytelabs"
},
{
"type": "patreon",
"url": "https://www.patreon.com/ProfessorManhattan"
}
],
"lint-staged": {
"**/!(logo).(jpg|png)": [
"task image:compress --"
],
"**/*": [
"task lint:any --"
],
"**/*.(css|html|less|md|mjml|php|scss|sh|xml)": [
"task fix:prettier --"
],
"**/*.(js|jsx|ts|tsx)": [
"task fix:js --",
"task lint:js --"
],
"**/*.json": [
"task fix:json --"
],
"**/*.py": [
"task fix:python --",
"task lint:python --"
],
"**/*.sh": [
"task lint:shell --"
],
"**/*.toml": [
"task lint:toml --"
],
"**/*.xml": [
"task fix:xml --",
"task lint:xml --"
],
"**/*.yml": [
"task fix:yaml --",
"task lint:yaml --"
],
"**/*vault.yml": [
"task ansible:vault:lint:file --"
],
"logo.png": [
"task image:resize -- 200 200",
"task image:compress --"
]
},
"ntl": {
"descriptions": {
"help": "Display a list of tasks that can be run via the Taskfile.yml",
"prepare": "Hook, triggered by running npm install, that runs logic such as installing pre-commit hooks",
"repair": "Fixes basic issues in projects that are having trouble running basic commands like 'task start'",
"start": "Entrypoint for new developers that installs requirements and then runs 'task start'"
}
},
"prettier": "@washingtondc/prettier",
"release": {
"branches": [
"master",
"next"
],
"extends": "@washingtondc/release"
}
}