Move and create project files
This commit is contained in:
11
iac/app-services/Pulumi.yaml
Normal file
11
iac/app-services/Pulumi.yaml
Normal file
@@ -0,0 +1,11 @@
|
||||
name: hetzner-k3s
|
||||
description: A multi-region k3s cluster on Hetzner Cloud
|
||||
runtime:
|
||||
name: nodejs
|
||||
options:
|
||||
packagemanager: npm
|
||||
main: out/services.js
|
||||
config:
|
||||
pulumi:tags:
|
||||
value:
|
||||
pulumi:template: typescript
|
||||
20
iac/app-services/package.json
Normal file
20
iac/app-services/package.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"name": "app-services",
|
||||
"scripts": {
|
||||
"build": "npx shadow-cljs release app"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^18",
|
||||
"shadow-cljs": "^2.20.0",
|
||||
"typescript": "^5.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@pulumi/pulumi": "^3.113.0",
|
||||
"@pulumi/hcloud": "^1.24.0",
|
||||
"@pulumi/esc-sdk": "0.12.1",
|
||||
"@pulumi/command": "^1.1.0",
|
||||
"@pulumi/kubernetes": "^4.23.0",
|
||||
"@pulumi/vault": "^7.2.1",
|
||||
"uuid":"^11.1.0"
|
||||
}
|
||||
}
|
||||
8
iac/app-services/shadow-cljs.edn
Normal file
8
iac/app-services/shadow-cljs.edn
Normal file
@@ -0,0 +1,8 @@
|
||||
{:source-paths ["../src/main"]
|
||||
:dependencies []
|
||||
:builds
|
||||
{:app {:target :node-script
|
||||
:output-to "../out/services.js"
|
||||
:compiler-options {:optimizations :simple}
|
||||
:release {:source-maps true}
|
||||
:main core/main!}}}
|
||||
11
iac/core/Pulumi.yaml
Normal file
11
iac/core/Pulumi.yaml
Normal file
@@ -0,0 +1,11 @@
|
||||
name: hetzner-k3s
|
||||
description: A multi-region k3s cluster on Hetzner Cloud
|
||||
runtime:
|
||||
name: nodejs
|
||||
options:
|
||||
packagemanager: npm
|
||||
main: out/init.js
|
||||
config:
|
||||
pulumi:tags:
|
||||
value:
|
||||
pulumi:template: typescript
|
||||
20
iac/core/package.json
Normal file
20
iac/core/package.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"name": "core",
|
||||
"scripts": {
|
||||
"build": "npx shadow-cljs release app"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^18",
|
||||
"shadow-cljs": "^2.20.0",
|
||||
"typescript": "^5.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@pulumi/pulumi": "^3.113.0",
|
||||
"@pulumi/hcloud": "^1.24.0",
|
||||
"@pulumi/esc-sdk": "0.12.1",
|
||||
"@pulumi/command": "^1.1.0",
|
||||
"@pulumi/kubernetes": "^4.23.0",
|
||||
"@pulumi/vault": "^7.2.1",
|
||||
"uuid":"^11.1.0"
|
||||
}
|
||||
}
|
||||
8
iac/core/shadow-cljs.edn
Normal file
8
iac/core/shadow-cljs.edn
Normal file
@@ -0,0 +1,8 @@
|
||||
{:source-paths ["../src/main"]
|
||||
:dependencies []
|
||||
:builds
|
||||
{:app {:target :node-script
|
||||
:output-to "../out/init.js"
|
||||
:compiler-options {:optimizations :simple}
|
||||
:release {:source-maps true}
|
||||
:main core/init!}}}
|
||||
@@ -1,23 +1,22 @@
|
||||
{
|
||||
"name": "vultr-k8s",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"name": "my-pulumi-iac-monorepo",
|
||||
"private": true,
|
||||
"workspaces": [
|
||||
"core",
|
||||
"app-services"
|
||||
],
|
||||
"scripts": {
|
||||
"test": "npx shadow-cljs watch app",
|
||||
"build": "shadow-cljs release app",
|
||||
"pulumi": "pulumi up",
|
||||
"build:core": "npm run build -w core",
|
||||
"build:services": "npm run build -w app-services",
|
||||
"up:core": "pulumi up -C ./out",
|
||||
"up:services": "pulumi up -C ./app-services",
|
||||
"destroy": "pulumi destroy -C ./app-services",
|
||||
"deploy": "npm run build && npm run pulumi"
|
||||
},
|
||||
"devDependencies": {
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^18",
|
||||
"shadow-cljs": "^2.20.0",
|
||||
"typescript": "^5.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@pulumi/pulumi": "^3.113.0",
|
||||
"@pulumi/hcloud": "^1.24.0",
|
||||
"@pulumi/esc-sdk": "0.12.1",
|
||||
"@pulumi/command": "^1.1.0",
|
||||
"@pulumi/kubernetes": "^4.23.0",
|
||||
"@pulumi/vault": "^7.2.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
39
iac/resources/nextcloud.yml
Normal file
39
iac/resources/nextcloud.yml
Normal file
@@ -0,0 +1,39 @@
|
||||
ingress:
|
||||
enabled: true
|
||||
className: "traefik"
|
||||
hosts:
|
||||
- host: nextcloud.your-domain.com # This will be overwritten by Pulumi
|
||||
paths:
|
||||
- path: /
|
||||
pathType: ImplementationSpecific
|
||||
|
||||
nextcloud:
|
||||
username: "admin"
|
||||
nodeSelector:
|
||||
location: de
|
||||
|
||||
persistence:
|
||||
enabled: true
|
||||
size: 25Gi
|
||||
storageClass: "hcloud-volumes"
|
||||
|
||||
mariadb:
|
||||
enabled: true
|
||||
volumePermissions:
|
||||
enabled: true
|
||||
securityContext:
|
||||
runAsUser: 0
|
||||
securityContext:
|
||||
enabled: true
|
||||
fsGroup: 1001
|
||||
containerSecurityContext:
|
||||
enabled: true
|
||||
runAsUser: 1001
|
||||
runAsGroup: 1001
|
||||
nodeSelector:
|
||||
location: de
|
||||
|
||||
redis:
|
||||
enabled: true
|
||||
nodeSelector:
|
||||
location: de
|
||||
17
iac/resources/openbao.yml
Normal file
17
iac/resources/openbao.yml
Normal file
@@ -0,0 +1,17 @@
|
||||
ui:
|
||||
enabled: true
|
||||
|
||||
server:
|
||||
standalone:
|
||||
enabled: true
|
||||
|
||||
ha:
|
||||
enabled: false
|
||||
|
||||
dataStorage:
|
||||
enabled: true
|
||||
size: 2Gi
|
||||
storageClass: "hcloud-volumes"
|
||||
|
||||
nodeSelector:
|
||||
location: "de"
|
||||
@@ -1,6 +0,0 @@
|
||||
{:source-paths ["src/main"]
|
||||
:dependencies []
|
||||
:builds
|
||||
{:app {:target :node-script
|
||||
:output-to "index.js"
|
||||
:main core/main!}}}
|
||||
Reference in New Issue
Block a user