aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 9155cba5e16a2fb65c998f4cc7491d910ab3d87b (plain) (blame)
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
# AnshulG Clusters

A collection of clusters, servers, and configurations for all things me.

# Components

## [`./terraform`](./terraform/)

Terraform deployment for GKE and GCP resources.
Deployed using Terraform Cloud.

Sets up:

- GKE Cluster with node pools
- Auth Server Instance
- Storage Buckets
- Private Certificate Authority
- DNS
    - anshulg.com
    - anshulg.direct
- Load Balancers and CDN

## [`./auth-server`](./auth-server/)

KanIDM Auth Server for managing users and authentication.

Runs on a dedicated `n1-standard-1` running OpenSUSE Leap 15.6.
Deployed using Docker Compose.

Deployed via Github Actions.
The `deploy.sh` script copies the required files to the server
and runs the `setup.sh` script to setup and run the server.

Server Architecture:
```mermaid
architecture-beta
    group GCP(cloud)[GCP]
    group instance(server)[N1 Standard 1] in GCP
    group docker[Docker] in instance

    service server(server)[Auth Server] in docker

    service caddy(server)[Caddy] in instance

    service privateca(disk)[Private CA] in GCP

    service internet(internet)[Internet]
    service letsencrypt(internet)[LetsEncrypt]

    internet:R -- L:caddy
    letsencrypt:T -- B:caddy
    caddy:R -- L:server
    privateca:L -- R:server
```