diff --git a/CLAUDE.md b/CLAUDE.md index e69de29..ee64e83 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -0,0 +1,10 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Rules Set + +1. Ask, don't assume. If something is unclear, ask before writing a single line. Never make silent assumptions about intent, architecture, or requirements. +2. Simplest solution first. Always implement the simplest thing that could work. Do not add abstractions or flexibility that weren't explicitly requested. +3. Don't touch unrelated code. If a file or function is not directly part of the current task, do not modify it, even if you think it could be improved. +4. Flag uncertainty explicitly. If you are not confident about an approach or technical detail, say so before proceeding. Confidence without certainty causes more damage than admitting a gap. diff --git a/ansible/group_vars/nextcloud.yml b/ansible/group_vars/nextcloud.yml deleted file mode 100644 index 589db83..0000000 --- a/ansible/group_vars/nextcloud.yml +++ /dev/null @@ -1,4 +0,0 @@ -hostname: cloud -#.phytron.de -php_version: 8.2 -domain_base: "phytron.de" diff --git a/ansible/group_vars/sftp.yml b/ansible/group_vars/phy-z-dmz-sftp01.yml similarity index 96% rename from ansible/group_vars/sftp.yml rename to ansible/group_vars/phy-z-dmz-sftp01.yml index 187cb09..07e4fdf 100644 --- a/ansible/group_vars/sftp.yml +++ b/ansible/group_vars/phy-z-dmz-sftp01.yml @@ -21,7 +21,7 @@ ntp_timezone: "Europe/Berlin" # geerlingguy.security security_ssh_port: 22 -security_ssh_password_authentication: "no" +security_ssh_password_authentication: "yes" security_ssh_permit_root_login: "no" security_ssh_usedns: "no" security_ssh_permit_empty_password: "no" diff --git a/ansible/group_vars/phy-z-srv-cloud.yml b/ansible/group_vars/phy-z-srv-cloud.yml new file mode 100644 index 0000000..334e05a --- /dev/null +++ b/ansible/group_vars/phy-z-srv-cloud.yml @@ -0,0 +1,47 @@ +# generic settings +main_username: sbxadmin +main_groupname: "{{ main_username }}" +main_uid: "1000" +main_gid: "{{ main_uid }}" + +# weareinteractive.environment +environment_config: { "PUID": "{{ main_gid }}", "PGID": "{{ main_gid }}" } + +global_env_vars: + - "PUID={{ main_uid }}" + - "PGID={{ main_gid }}" + - "TZ={{ ntp_timezone }}" + +# geerlingguy.ntp +ntp_timezone: "Europe/Berlin" + +# geerlingguy.nfs +#nfs_exports: [ "/home/public *(rw,sync,no_root_squash)" ] + +# geerlingguy.security +security_ssh_port: 22 +security_ssh_password_authentication: "yes" +security_ssh_permit_root_login: "no" +security_ssh_usedns: "no" +security_ssh_permit_empty_password: "no" +security_ssh_challenge_response_auth: "no" +security_ssh_gss_api_authentication: "no" +security_ssh_x11_forwarding: "no" +security_ssh_allowed_users: + - "{{ main_username }}" +security_ssh_allowed_groups: [] +security_sudoers_passwordless: + - "{{ main_username }}" +security_autoupdate_enabled: true +security_autoupdate_blacklist: [] +security_autoupdate_reboot: reboot +security_autoupdate_reboot_time: "03:00" +security_autoupdate_mail_to: "service@softbox.de" +security_autoupdate_mail_on_error: true +security_fail2ban_enabled: true +security_fail2ban_custom_configuration_template: "jail.local.j2" + +#cloud.phytron.de +hostname: cloud +php_version: 8.2 +domain_base: "phytron.de" diff --git a/ansible/group_vars/phy-z-srv-git.yml b/ansible/group_vars/phy-z-srv-git.yml new file mode 100644 index 0000000..07e4fdf --- /dev/null +++ b/ansible/group_vars/phy-z-srv-git.yml @@ -0,0 +1,43 @@ +--- +# generic settings +main_username: sbxadmin +main_groupname: "{{ main_username }}" +main_uid: "1000" +main_gid: "{{ main_uid }}" + +# weareinteractive.environment +environment_config: { "PUID": "{{ main_gid }}", "PGID": "{{ main_gid }}" } + +global_env_vars: + - "PUID={{ main_uid }}" + - "PGID={{ main_gid }}" + - "TZ={{ ntp_timezone }}" + +# geerlingguy.ntp +ntp_timezone: "Europe/Berlin" + +# geerlingguy.nfs +#nfs_exports: [ "/home/public *(rw,sync,no_root_squash)" ] + +# geerlingguy.security +security_ssh_port: 22 +security_ssh_password_authentication: "yes" +security_ssh_permit_root_login: "no" +security_ssh_usedns: "no" +security_ssh_permit_empty_password: "no" +security_ssh_challenge_response_auth: "no" +security_ssh_gss_api_authentication: "no" +security_ssh_x11_forwarding: "no" +security_ssh_allowed_users: + - "{{ main_username }}" +security_ssh_allowed_groups: [] +security_sudoers_passwordless: + - "{{ main_username }}" +security_autoupdate_enabled: true +security_autoupdate_blacklist: [] +security_autoupdate_reboot: reboot +security_autoupdate_reboot_time: "03:00" +security_autoupdate_mail_to: "service@softbox.de" +security_autoupdate_mail_on_error: true +security_fail2ban_enabled: true +security_fail2ban_custom_configuration_template: "jail.local.j2" diff --git a/ansible/group_vars/phy-z-srv-gpu01.yml b/ansible/group_vars/phy-z-srv-gpu01.yml new file mode 100644 index 0000000..07e4fdf --- /dev/null +++ b/ansible/group_vars/phy-z-srv-gpu01.yml @@ -0,0 +1,43 @@ +--- +# generic settings +main_username: sbxadmin +main_groupname: "{{ main_username }}" +main_uid: "1000" +main_gid: "{{ main_uid }}" + +# weareinteractive.environment +environment_config: { "PUID": "{{ main_gid }}", "PGID": "{{ main_gid }}" } + +global_env_vars: + - "PUID={{ main_uid }}" + - "PGID={{ main_gid }}" + - "TZ={{ ntp_timezone }}" + +# geerlingguy.ntp +ntp_timezone: "Europe/Berlin" + +# geerlingguy.nfs +#nfs_exports: [ "/home/public *(rw,sync,no_root_squash)" ] + +# geerlingguy.security +security_ssh_port: 22 +security_ssh_password_authentication: "yes" +security_ssh_permit_root_login: "no" +security_ssh_usedns: "no" +security_ssh_permit_empty_password: "no" +security_ssh_challenge_response_auth: "no" +security_ssh_gss_api_authentication: "no" +security_ssh_x11_forwarding: "no" +security_ssh_allowed_users: + - "{{ main_username }}" +security_ssh_allowed_groups: [] +security_sudoers_passwordless: + - "{{ main_username }}" +security_autoupdate_enabled: true +security_autoupdate_blacklist: [] +security_autoupdate_reboot: reboot +security_autoupdate_reboot_time: "03:00" +security_autoupdate_mail_to: "service@softbox.de" +security_autoupdate_mail_on_error: true +security_fail2ban_enabled: true +security_fail2ban_custom_configuration_template: "jail.local.j2" diff --git a/ansible/group_vars/phy-z-srv-jira.yml b/ansible/group_vars/phy-z-srv-jira.yml new file mode 100644 index 0000000..07e4fdf --- /dev/null +++ b/ansible/group_vars/phy-z-srv-jira.yml @@ -0,0 +1,43 @@ +--- +# generic settings +main_username: sbxadmin +main_groupname: "{{ main_username }}" +main_uid: "1000" +main_gid: "{{ main_uid }}" + +# weareinteractive.environment +environment_config: { "PUID": "{{ main_gid }}", "PGID": "{{ main_gid }}" } + +global_env_vars: + - "PUID={{ main_uid }}" + - "PGID={{ main_gid }}" + - "TZ={{ ntp_timezone }}" + +# geerlingguy.ntp +ntp_timezone: "Europe/Berlin" + +# geerlingguy.nfs +#nfs_exports: [ "/home/public *(rw,sync,no_root_squash)" ] + +# geerlingguy.security +security_ssh_port: 22 +security_ssh_password_authentication: "yes" +security_ssh_permit_root_login: "no" +security_ssh_usedns: "no" +security_ssh_permit_empty_password: "no" +security_ssh_challenge_response_auth: "no" +security_ssh_gss_api_authentication: "no" +security_ssh_x11_forwarding: "no" +security_ssh_allowed_users: + - "{{ main_username }}" +security_ssh_allowed_groups: [] +security_sudoers_passwordless: + - "{{ main_username }}" +security_autoupdate_enabled: true +security_autoupdate_blacklist: [] +security_autoupdate_reboot: reboot +security_autoupdate_reboot_time: "03:00" +security_autoupdate_mail_to: "service@softbox.de" +security_autoupdate_mail_on_error: true +security_fail2ban_enabled: true +security_fail2ban_custom_configuration_template: "jail.local.j2" diff --git a/ansible/hosts.ini b/ansible/hosts.ini index e9537fa..5c9fa08 100644 --- a/ansible/hosts.ini +++ b/ansible/hosts.ini @@ -1,9 +1,15 @@ -#[snipeit] -#10.0.101.15 ansible_user=root ansible_port=22 -# +[phy-z-srv-jira] +192.168.66.41 ansible_user=sbxadmin ansible_port=22 -[nextcloud] +[phy-z-srv-cloud] 192.168.66.66 ansible_user=sbxadmin ansible_port=22 -[sftp] +[phy-z-srv-git] +192.168.66.67 ansible_user=sbxadmin ansible_port=22 + +[phy-z-dmz-sftp01] 192.168.66.68 ansible_user=sbxadmin ansible_port=22 + +[phy-z-srv-gpu01] +192.168.66.69 ansible_user=sbxadmin ansible_port=22 + diff --git a/server/phy-z-dmz-sftp01/README.md b/server/phy-z-dmz-sftp01/README.md new file mode 100644 index 0000000..e69de29 diff --git a/server/phy-z-srv-git/README.md b/server/phy-z-srv-git/README.md new file mode 100644 index 0000000..e69de29 diff --git a/server/phy-z-srv-gpu01/HW.md b/server/phy-z-srv-gpu01/HW.md new file mode 100644 index 0000000..27e1235 --- /dev/null +++ b/server/phy-z-srv-gpu01/HW.md @@ -0,0 +1,36 @@ +## Hardware Components + +### HPE GPU SERVER, 2 CPUs, 128GB RAM, RTX Pro 6000 GPU 96GB RAM, Red. Netzteil + +| POS | BEZEICHNUNG |ANZ. |EINZELPREIS | GESAMTPREIS | +| - | - | - | - | - | +| 1 | HPE DL380 Gen12 SFF NC CTO Svr | 1 | 1.598,59 € | 1.598,59 € | +| 2 | HPE Intel Xeon 6714P 4.0GHz 8-core 165W Processor | 2 | 4.148,67 € | 8.297,34 € | +| 3 | HPE 16GB 1Rx8 PC5-6400B-R Smart FIO Kit | 8 | 1.171,82 € | 9.374,52 € | +| 4 | HPE DL3XX Gen12 8SFF x1 U.3 TM Kit | 1 | 87,48 € | 87,48 € | +| 5 | HPE 960G NVMe RI SFF BC U.3ST V2 MV SSD | 2 | 1.757,04 € | 3.514,08 € | +| 6 | HPE DL380 G11 2U x8/x16/x8 Sec Riser Kit | 1 | 67,98 € | 67,98 € | +| 7 | NVIDIA RTX PRO 6000 96G PCIe | 1 | 13.976,64 € | 13.976,64 € | +| 8 | HPE 96W Smart Stg Li-ion Batt 145mm Kit | 1 | 36,80 € | 36,80 € | +| 9 | HPE DL360 Gen11 Stg Cntrl Enable Cbl Kit | 1 | 7,20 € | 7,20 € | +| 10 | HPE MR408i-o Gen11 SPDM Storage Cntlr | 1 | 1.075,46 € | 1.075,46 € | +| 11 | BCM 57412 10GbE 2p SFP+ OCP3 Adptr | 1 | 152,35 € | 152,35 € | +| 12 | HPE BLc 10G SFP+ SR Transceiver | 2 | 16,20 € | 32,41 € | +| 13 | HPE 1800W-2200W FS Ti Ht Plg PS Kit | 2 | 283,11 € | 566,21 € | +| 14 | HPE C13 - C14 250V 10A 2m FIO Pwr Cord | 2 | 2,58 € | 5,15 € | +| 15 | HPE iLO Adv 1-svr Lic 3yr Support | 1 | 315,27 € | 315,27 € | +| 16 | HPE Cmp Cloud Mgmt Srv FIO Enablement | 1 | 1,04 € | 1,04 € | +| 17 | HPE DL380/DL560 Gen11 2U GPU Pwr Cbl Kit | 1 | 26,96 € | 26,96 € | +| 18 | HPE DL3XX/ML350 G12 CPU1/OCPB x8 Cbl Kit | 1 | 20,84 € | 20,84 € | +| 19 | HPE DL380 Gen12 8SFF UMB OROC Cbl Kit | 1 | 22,71 € | 22,71 € | +| 20 | HPE DL380/DL560 G11 2U High Perf Fan Kit | 1 | 197,57 € | 197,57 € | +| 21 | HPE DL380 Gen12 GPU Air Upg Enable Kit | 1 | 158,88 € | 158,88 € | +| 22 | HPE DL3XX Gen11 Easy Install Rail 3 Kit | 1 | 41,60 € | 41,60 € | +| 23 | HPE Localization FIO Kit | 1 | 0,01 € | 0,01 € | +| 24 | HPE DL3XX Gen12 High Perf Heat Sink Kit | 2 | 75,27 € | 150,54 € | +| 25 | HPE 23C Max Rec Ambient Temp Config Trk | 1 | 0,01 € | 0,01 € | +| 26 | HPE COM Std 5yr Up ProLiant SaaS | 1 | 490,13 € | 490,13 € | +| 27 | HPE 5Y Tech Care Essential SVC | 1 | none | none | +| 28 | HPE iLO Advanced Non Blade Support | 1 | 25,17 € | 25,17 € | +| 29 | HPE DL380 Gen12 Support | 1 | 4.145,87 € | 4.145,87 € | +| 30 | HP ENTERPRISE X242 10G SFP+ to SFP+ 3m DAC Cable | 1 | 96,00 € | 96,00 € | diff --git a/server/phy-z-srv-gpu01/README.md b/server/phy-z-srv-gpu01/README.md new file mode 100644 index 0000000..e69de29