kanidm initial local setup
This commit is contained in:
parent
2fee9ddf21
commit
b97b2c911f
4 changed files with 259 additions and 0 deletions
98
kanidm/app.ini
Normal file
98
kanidm/app.ini
Normal file
|
@ -0,0 +1,98 @@
|
||||||
|
APP_NAME = Hklbgd: Git forge beogradskog haklaba.
|
||||||
|
RUN_MODE = prod
|
||||||
|
RUN_USER = git
|
||||||
|
WORK_PATH = /data/gitea
|
||||||
|
|
||||||
|
[repository]
|
||||||
|
ROOT = /data/git/repositories
|
||||||
|
|
||||||
|
[repository.local]
|
||||||
|
LOCAL_COPY_PATH = /data/gitea/tmp/local-repo
|
||||||
|
|
||||||
|
[repository.upload]
|
||||||
|
TEMP_PATH = /data/gitea/uploads
|
||||||
|
|
||||||
|
[server]
|
||||||
|
APP_DATA_PATH = /data/gitea
|
||||||
|
DOMAIN = forge.hklbgd.org
|
||||||
|
SSH_DOMAIN = forge.hklbgd.org
|
||||||
|
HTTP_PORT = 3000
|
||||||
|
ROOT_URL = http://forge.hklbgd.org:3000/
|
||||||
|
DISABLE_SSH = false
|
||||||
|
SSH_PORT = 22
|
||||||
|
SSH_LISTEN_PORT = 22
|
||||||
|
LFS_START_SERVER = true
|
||||||
|
LFS_JWT_SECRET = Uw3LrBKqyOESkHJDcpfP_AM_eLE-WKWTV48inxIfqNk
|
||||||
|
OFFLINE_MODE = false
|
||||||
|
|
||||||
|
[database]
|
||||||
|
PATH = /data/gitea/gitea.db
|
||||||
|
DB_TYPE = sqlite3
|
||||||
|
NAME = gitea
|
||||||
|
USER = root
|
||||||
|
PASSWD =
|
||||||
|
LOG_SQL = false
|
||||||
|
SCHEMA =
|
||||||
|
SSL_MODE = disable
|
||||||
|
|
||||||
|
[indexer]
|
||||||
|
ISSUE_INDEXER_PATH = /data/gitea/indexers/issues.bleve
|
||||||
|
|
||||||
|
[session]
|
||||||
|
PROVIDER_CONFIG = /data/gitea/sessions
|
||||||
|
PROVIDER = file
|
||||||
|
|
||||||
|
[picture]
|
||||||
|
AVATAR_UPLOAD_PATH = /data/gitea/avatars
|
||||||
|
REPOSITORY_AVATAR_UPLOAD_PATH = /data/gitea/repo-avatars
|
||||||
|
|
||||||
|
[attachment]
|
||||||
|
PATH = /data/gitea/attachments
|
||||||
|
|
||||||
|
[log]
|
||||||
|
MODE = console
|
||||||
|
LEVEL = info
|
||||||
|
ROOT_PATH = /data/gitea/log
|
||||||
|
|
||||||
|
[security]
|
||||||
|
INSTALL_LOCK = true
|
||||||
|
SECRET_KEY =
|
||||||
|
REVERSE_PROXY_LIMIT = 1
|
||||||
|
REVERSE_PROXY_TRUSTED_PROXIES = *
|
||||||
|
INTERNAL_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE3MDg0NDAwODh9.VO3I2beskQWkE-yU5QC3WWjaVuqH80piJroJxj71-HA
|
||||||
|
PASSWORD_HASH_ALGO = pbkdf2_hi
|
||||||
|
|
||||||
|
[service]
|
||||||
|
DISABLE_REGISTRATION = true
|
||||||
|
REQUIRE_SIGNIN_VIEW = false
|
||||||
|
REGISTER_EMAIL_CONFIRM = false
|
||||||
|
ENABLE_NOTIFY_MAIL = false
|
||||||
|
ALLOW_ONLY_EXTERNAL_REGISTRATION = false
|
||||||
|
ENABLE_CAPTCHA = false
|
||||||
|
DEFAULT_KEEP_EMAIL_PRIVATE = true
|
||||||
|
DEFAULT_ALLOW_CREATE_ORGANIZATION = true
|
||||||
|
DEFAULT_ENABLE_TIMETRACKING = true
|
||||||
|
NO_REPLY_ADDRESS = noreply.localhost
|
||||||
|
|
||||||
|
[lfs]
|
||||||
|
PATH = /data/git/lfs
|
||||||
|
|
||||||
|
[mailer]
|
||||||
|
ENABLED = false
|
||||||
|
|
||||||
|
[openid]
|
||||||
|
ENABLE_OPENID_SIGNIN = true
|
||||||
|
ENABLE_OPENID_SIGNUP = true
|
||||||
|
WHITELISTED_URIS = id.hklbgd.org
|
||||||
|
|
||||||
|
[cron.update_checker]
|
||||||
|
ENABLED = false
|
||||||
|
|
||||||
|
[repository.pull-request]
|
||||||
|
DEFAULT_MERGE_STYLE = squash
|
||||||
|
|
||||||
|
[repository.signing]
|
||||||
|
DEFAULT_TRUST_MODEL = committer
|
||||||
|
|
||||||
|
[oauth2]
|
||||||
|
JWT_SECRET = 9Xl_coahn4U31L78IxKSZk7k6z_r2uQlQ_DVDlNsKyM
|
67
kanidm/main.tf
Normal file
67
kanidm/main.tf
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
terraform {
|
||||||
|
required_providers {
|
||||||
|
libvirt = {
|
||||||
|
source = "dmacvicar/libvirt"
|
||||||
|
version = "0.7.6"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
provider "libvirt" {
|
||||||
|
uri = "qemu:///system"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "libvirt_volume" "fcos" {
|
||||||
|
name = "fcos"
|
||||||
|
pool = "default"
|
||||||
|
source = "fedora-coreos-39.20240128.3.0-qemu.x86_64.qcow2"
|
||||||
|
format = "qcow2"
|
||||||
|
}
|
||||||
|
resource "libvirt_volume" "kanidm" {
|
||||||
|
name = "kanidm-rootfs.qcow2"
|
||||||
|
base_volume_id = libvirt_volume.fcos.id
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "libvirt_volume" "data" {
|
||||||
|
name = "kanidm-data.qcow2"
|
||||||
|
pool = "default"
|
||||||
|
size = 3221225472
|
||||||
|
format = "qcow2"
|
||||||
|
lifecycle {
|
||||||
|
prevent_destroy = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "libvirt_ignition" "kanidm" {
|
||||||
|
name = "kanidm-service.ign"
|
||||||
|
content = "service.ign"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "libvirt_domain" "kanidm" {
|
||||||
|
name = "kanidm"
|
||||||
|
autostart = true
|
||||||
|
memory = "2048"
|
||||||
|
vcpu = 2
|
||||||
|
|
||||||
|
coreos_ignition = libvirt_ignition.kanidm.id
|
||||||
|
|
||||||
|
disk {
|
||||||
|
volume_id = "${libvirt_volume.kanidm.id}"
|
||||||
|
}
|
||||||
|
disk {
|
||||||
|
volume_id = "${libvirt_volume.data.id}"
|
||||||
|
}
|
||||||
|
network_interface {
|
||||||
|
network_name = "default"
|
||||||
|
hostname = "kanidm.hklbgd.org"
|
||||||
|
addresses = ["192.168.122.110"]
|
||||||
|
mac = "56:FA:7E:C9:6A:E9"
|
||||||
|
wait_for_lease = true
|
||||||
|
}
|
||||||
|
console {
|
||||||
|
type = "pty"
|
||||||
|
target_port = "0"
|
||||||
|
target_type = "virtio"
|
||||||
|
source_path = "/dev/pts/25"
|
||||||
|
}
|
||||||
|
}
|
18
kanidm/server.toml
Normal file
18
kanidm/server.toml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
bindaddress = "[::]:8443"
|
||||||
|
ldapbindaddress = "[::]:3636"
|
||||||
|
trust_x_forward_for = false
|
||||||
|
db_path = "/data/kanidm.db"
|
||||||
|
db_arc_size = 1024
|
||||||
|
|
||||||
|
tls_chain = "/data/certs/fullchain1.pem"
|
||||||
|
tls_key = "/data/certs/privkey1.pem"
|
||||||
|
|
||||||
|
log_level = "debug"
|
||||||
|
|
||||||
|
domain = "kanidm.hklbgd.org" # !!! don't modify !!!
|
||||||
|
origin = "https://kanidm.hklbgd.org" # webauthn origin
|
||||||
|
#
|
||||||
|
[online_backup]
|
||||||
|
path = "/data/kanidm/backups/"
|
||||||
|
schedule = "00 04 * * *"
|
||||||
|
versions = 3 # number of backups to keep
|
76
kanidm/service.bu
Normal file
76
kanidm/service.bu
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
variant: fcos
|
||||||
|
version: 1.5.0
|
||||||
|
passwd:
|
||||||
|
users:
|
||||||
|
- name: vladan
|
||||||
|
ssh_authorized_keys:
|
||||||
|
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEFtUc2UvKFGSSlP3RRXUIToDYh8a8pg5DqDkJS+nBTG vladan@jenga
|
||||||
|
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHEY82J6Za3qkt7N6hZIOMEBeUna1dmsQjFZm3rIQzzz vladan@proxmox-coreos
|
||||||
|
password_hash: "$y$j9T$kBtBBkINmXh6lxmBqCJkr1$bA1fjZ5pC4CUr6VUnRe2FAWrW5tb6lfX/7.38axa5S3"
|
||||||
|
groups:
|
||||||
|
- wheel
|
||||||
|
shell: /bin/bash
|
||||||
|
storage:
|
||||||
|
disks:
|
||||||
|
- device: /dev/vdb
|
||||||
|
wipe_table: false
|
||||||
|
partitions:
|
||||||
|
- number: 1
|
||||||
|
label: kanidm
|
||||||
|
start_mib: 0
|
||||||
|
size_mib: 10000
|
||||||
|
filesystems:
|
||||||
|
- path: /var/lib/kanidm
|
||||||
|
device: /dev/disk/by-partlabel/kanidm
|
||||||
|
format: xfs
|
||||||
|
label: data
|
||||||
|
with_mount_unit: true
|
||||||
|
wipe_filesystem: false
|
||||||
|
files:
|
||||||
|
- path: /etc/hostname
|
||||||
|
mode: 0644
|
||||||
|
contents:
|
||||||
|
inline: kanidm.hklbgd.org
|
||||||
|
- path: /etc/kanidm/server.toml
|
||||||
|
contents:
|
||||||
|
local: server.toml
|
||||||
|
mode: 0400
|
||||||
|
- path: /etc/kanidm/certs/cert1.pem
|
||||||
|
contents:
|
||||||
|
local: certs/cert1.pem
|
||||||
|
mode: 0400
|
||||||
|
- path: /etc/kanidm/certs/chain1.pem
|
||||||
|
contents:
|
||||||
|
local: certs/chain1.pem
|
||||||
|
mode: 0400
|
||||||
|
- path: /etc/kanidm/certs/fullchain1.pem
|
||||||
|
contents:
|
||||||
|
local: certs/fullchain1.pem
|
||||||
|
mode: 0400
|
||||||
|
- path: /etc/kanidm/certs/privkey1.pem
|
||||||
|
contents:
|
||||||
|
local: certs/privkey1.pem
|
||||||
|
mode: 0400
|
||||||
|
- path: /etc/containers/systemd/kanidm.container
|
||||||
|
contents:
|
||||||
|
inline: |
|
||||||
|
[Unit]
|
||||||
|
Description=Kanidm - a modern and simple identity management platform written in rust.
|
||||||
|
After=network-online.target
|
||||||
|
Wants=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
TimeoutStartSec=60
|
||||||
|
|
||||||
|
[Container]
|
||||||
|
ContainerName=kanidm
|
||||||
|
Image=docker.io/kanidm/server:latest
|
||||||
|
Volume=/var/lib/kanidm:/data:z
|
||||||
|
Volume=/etc/kanidm/server.toml:/data/server.toml:z
|
||||||
|
Volume=/etc/kanidm/certs:/data/certs:z
|
||||||
|
PublishPort=8443:8443
|
||||||
|
PublishPort=3636:3636
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
# Start by default on boot
|
||||||
|
WantedBy=multi-user.target default.target
|
Loading…
Reference in a new issue