add initial configuration for nayeonie.com
This commit is contained in:
commit
ea5898ff4e
37
.gitignore
vendored
Normal file
37
.gitignore
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
# Local .terraform directories
|
||||
**/.terraform/*
|
||||
|
||||
# .tfstate files
|
||||
*.tfstate
|
||||
*.tfstate.*
|
||||
|
||||
# Crash log files
|
||||
crash.log
|
||||
crash.*.log
|
||||
|
||||
# Exclude all .tfvars files, which are likely to contain sensitive data, such as
|
||||
# password, private keys, and other secrets. These should not be part of version
|
||||
# control as they are data points which are potentially sensitive and subject
|
||||
# to change depending on the environment.
|
||||
*.tfvars
|
||||
*.tfvars.json
|
||||
|
||||
# Ignore override files as they are usually used to override resources locally and so
|
||||
# are not checked in
|
||||
override.tf
|
||||
override.tf.json
|
||||
*_override.tf
|
||||
*_override.tf.json
|
||||
|
||||
# Ignore transient lock info files created by terraform apply
|
||||
.terraform.tfstate.lock.info
|
||||
|
||||
# Include override files you do wish to add to version control using negated pattern
|
||||
# !example_override.tf
|
||||
|
||||
# Include tfplan files to ignore the plan output of command: terraform plan -out=tfplan
|
||||
# example: *tfplan*
|
||||
|
||||
# Ignore CLI configuration files
|
||||
.terraformrc
|
||||
terraform.rc
|
31
.sops.yaml
Normal file
31
.sops.yaml
Normal file
@ -0,0 +1,31 @@
|
||||
keys:
|
||||
# The PGP keys in keys/
|
||||
- &admin_alice 5EFFB75F7C9B74EAA5C4637547940175096C1330
|
||||
|
||||
# Generate AGE keys from SSH keys with:
|
||||
# ssh-keygen -A
|
||||
# nix-shell -p ssh-to-age --run 'cat /etc/ssh/ssh_host_ed25519_key.pub | ssh-to-age'
|
||||
# cspell:disable
|
||||
- &artemision age1jd2dcpykagz20kpk2kkchte3augqncwfn6nywursx0dkfyze6feqdzxkq2
|
||||
- &artemision-home age1t29a6z6cfy8m3cnc8uva0ey833vhcppue8psyumts7mtyf0zufcqvfshuc
|
||||
#- &palatine-hill age1z8q02wdp0a2ep5uuffgfeqlfam4ztl95frhw5qhnn6knn0rrmcnqk5evej
|
||||
- &palatine-hill age1qw5k8h72k3fjg5gmlxx8q8gwlc2k6n6u08d8hdzpm2pk9r0fnfxsmw33nh
|
||||
# cspell:enable
|
||||
|
||||
servers: &servers
|
||||
- *palatine-hill
|
||||
|
||||
# add new users by executing: sops users/<user>/secrets.yaml
|
||||
# then have someone already in the repo run the below
|
||||
#
|
||||
# update keys by executing: sops updatekeys secrets.yaml
|
||||
# note: add .* before \.yaml if you'd like to use the mergetool config
|
||||
creation_rules:
|
||||
- path_regex: secrets.*json$
|
||||
key_groups:
|
||||
- pgp:
|
||||
- *admin_alice
|
||||
age:
|
||||
- *palatine-hill
|
||||
- *artemision
|
||||
- *artemision-home
|
58
.terraformignore
Normal file
58
.terraformignore
Normal file
@ -0,0 +1,58 @@
|
||||
# Misc
|
||||
.DS_Store
|
||||
LICENSE.md
|
||||
README.md
|
||||
|
||||
# Binaries
|
||||
.terraform/
|
||||
*.exe
|
||||
*.tfstate
|
||||
*.backup
|
||||
*.bak
|
||||
*.info
|
||||
|
||||
# Credentials
|
||||
*account.json
|
||||
sshkey*
|
||||
privkey*
|
||||
pubkey*
|
||||
id_rsa*
|
||||
.git/
|
||||
.github/
|
||||
.terraform/
|
||||
.vscode/
|
||||
doc/
|
||||
dockerfiles/
|
||||
kubernetes/
|
||||
schemas/
|
||||
templates/
|
||||
tools/backend
|
||||
frontend
|
||||
.editorconfig
|
||||
.gitignore
|
||||
|
||||
# Terraform
|
||||
**.terraform/
|
||||
**.terraform.lock.hcl
|
||||
**.json
|
||||
*.json
|
||||
|
||||
# Sensitive
|
||||
**policy_documents/
|
||||
**trust_document/
|
||||
|
||||
# logs
|
||||
terraform.log
|
||||
|
||||
# MacOS
|
||||
.DS_Store
|
||||
|
||||
#Node modules
|
||||
node_modules/**
|
||||
|
||||
# Coverage reports
|
||||
.nyc_output/**
|
||||
coverage/**
|
||||
|
||||
# Build output folder
|
||||
dist/**
|
37
main.tf
Normal file
37
main.tf
Normal file
@ -0,0 +1,37 @@
|
||||
terraform {
|
||||
required_providers {
|
||||
desec = {
|
||||
source = "Valodim/desec"
|
||||
version = "0.5.0"
|
||||
}
|
||||
sops = {
|
||||
source = "carlpett/sops"
|
||||
version = "1.1.1"
|
||||
}
|
||||
}
|
||||
|
||||
backend "s3" {
|
||||
bucket = "tfstate" # Name of the S3 bucket
|
||||
endpoints = {
|
||||
s3 = "http://192.168.76.2:8502" # Minio endpoint
|
||||
}
|
||||
key = "dns-management/desec-io.tfstate" # Name of the tfstate file
|
||||
workspace_key_prefix="tfstate"
|
||||
|
||||
|
||||
profile = "minio" # aws profile
|
||||
region = "us-east-1" # Region validation will be skipped
|
||||
skip_credentials_validation = true # Skip AWS related checks and validations
|
||||
skip_requesting_account_id = true
|
||||
skip_metadata_api_check = true
|
||||
skip_region_validation = true
|
||||
skip_s3_checksum = true
|
||||
use_path_style = true # Enable path-style S3 URLs (https://<HOST>/<BUCKET> https://developer.hashicorp.com/terraform/language/settings/backends/s3#use_path_style
|
||||
}
|
||||
}
|
||||
|
||||
provider sops {}
|
||||
|
||||
provider desec {
|
||||
api_token = data.sops_file.desec_secrets.data["desec_api"]
|
||||
}
|
3
nayeonie.com.tf
Normal file
3
nayeonie.com.tf
Normal file
@ -0,0 +1,3 @@
|
||||
resource "desec_domain" "nayeonie_com" {
|
||||
name = "nayeonie.com"
|
||||
}
|
34
secrets.json
Normal file
34
secrets.json
Normal file
@ -0,0 +1,34 @@
|
||||
{
|
||||
"desec_api": "ENC[AES256_GCM,data:85Gl1Is17tPKMVfqF92AowFjRfPMuO92U8M71A==,iv:NcpQ5c6WTx/02h/tlnpkmyFKBKRMcg9TMNL5tQikZGs=,tag:5M3pSts5AWqODijQIh7MiA==,type:str]",
|
||||
"sops": {
|
||||
"kms": null,
|
||||
"gcp_kms": null,
|
||||
"azure_kv": null,
|
||||
"hc_vault": null,
|
||||
"age": [
|
||||
{
|
||||
"recipient": "age1qw5k8h72k3fjg5gmlxx8q8gwlc2k6n6u08d8hdzpm2pk9r0fnfxsmw33nh",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBybFUzRTM2NjdZcFV5Vk9W\nNko3Sm1VcWZ1V1FoTnZJS09jK0NST0hXejEwCnZDUzZENDAxZzl4OEluUTAyS0ZC\nem9CL08yb3NJemEvbFROTVcyRmc5S28KLS0tIDZZMlhFd3psY0NpSnl3WXhZY1Q1\neFNoUmR6MmxndmdVc1gzSGwvWW01SDgKA99BQjEcwLZ4EvFz39xO619U+MVH1rEv\n+b8X4jJCgUmqG5QGaYFjJRtUfOQJCU3qNEmFpIZlf63mE0mWweNlcg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1jd2dcpykagz20kpk2kkchte3augqncwfn6nywursx0dkfyze6feqdzxkq2",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPOUp0M1NJRDlDMGdsT2kr\nTkRHbWdyMlV0WWdZaDRXaUNtdmNGajl2QlgwClphUXlESnFTaUNSOWNmZ1RjZnVu\nbnpBTEZidTYzenl1R2ZycFJ0eFVjSWsKLS0tIGMrTVZmRXZYWlpoaE13Rkp2Smh6\nZStUWG4rNk1qWFR5TysyOHFCUWlRdkUKTj/CgFLWH5msyRTjoh7RePCI7kEIO05v\nQQ9TSRmThLQAQ998hnIeZ1ec3QJ4AvOhHzqFMwZCvwh28drjUADDyg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
},
|
||||
{
|
||||
"recipient": "age1t29a6z6cfy8m3cnc8uva0ey833vhcppue8psyumts7mtyf0zufcqvfshuc",
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUQ0ZEQ0prNjZiZzV6YnlG\nTWlHQk1mV0t2ZE1peFFsdWIybXdVdWh3ZGg0ClJhc3ZsZk10Ti9CbU4yMk8xZ3JS\nQUNXbWtyRXJ6amFBejg0NVhNQmk0MXMKLS0tIHJrVmhETmxOYUV6S3JtY1BVa09i\nSW9wV0pvNWx6ZEZDVE5Hc2syVVo2NjQKV16Dq1BJr/mIsnZMlH04WOIwi2CK2GIV\nc1Rpi1b2GXeXr0avCyhilCBgVJU+R9mEwunm7vfbBjD/hyEZXSYaVg==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2025-02-14T20:50:25Z",
|
||||
"mac": "ENC[AES256_GCM,data:9v0vlgUiYXsOAIewL6S33tMXk9rDZX/LDZWqR+oVl9ZzA/82nTKNzP1oHakN2vTP2zl7YarGiBFZgYen0DQeNiFP+HurAASjyGI3dNY62Fr8QjvDKU0/aYVkSD57/Y2oiPhsBY57NOxP7Y8Aw/nCVoGp1zlG54V3Q6KDBpGBEMQ=,iv:WypPyIyxbY9Cr9xgAvJ2TpttG1+ipPpjjkNgx0PT5R8=,tag:iT0S+PZa8g2i+ttHfCeDlA==,type:str]",
|
||||
"pgp": [
|
||||
{
|
||||
"created_at": "2025-02-14T20:43:56Z",
|
||||
"enc": "-----BEGIN PGP MESSAGE-----\n\nhF4DQWNzDMjrP2ISAQdAK3zlysJ2QMIjTEfJwN6k1xa/8VmwkSPXU2TDpOuVJjYw\nLj4ANsUO5cFWw0VCR9AcU7Eui3OF7/jSLSM+JGBTy7CSbOo7uAJ46mt7QmzkXaTp\n0l4BLxY6ZHexCArTaN73vunTSFJsmBIw1W15xckcN523A1Dw/cZXYRazkMpQVdXc\nU6SaxkSwgZpcC0wBYUwYjFyUSwD9w3/gmhjnltrbsU7EbKFPz5hBkQpGDwFZgXoJ\n=INhR\n-----END PGP MESSAGE-----",
|
||||
"fp": "5EFFB75F7C9B74EAA5C4637547940175096C1330"
|
||||
}
|
||||
],
|
||||
"unencrypted_suffix": "_unencrypted",
|
||||
"version": "3.9.3"
|
||||
}
|
||||
}
|
3
secrets.tf
Normal file
3
secrets.tf
Normal file
@ -0,0 +1,3 @@
|
||||
data "sops_file" "desec_secrets" {
|
||||
source_file = "secrets.json"
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user