Compare commits

..

No commits in common. "44c462d3331825baa949e079f335ffe98150d3e6" and "e45df645efcfe367e772e5e53c9c9af409a763cf" have entirely different histories.

14 changed files with 11 additions and 364 deletions

View File

@ -1,3 +1,2 @@
skip_list: skip_list:
- '306' - '306'
- 'name[template]'

View File

@ -15,9 +15,9 @@ cojedzie_maptiler: 8GX5FRUNgk4lB83GZT8Q
cojedzie_image_base: docker.io/cojedzie cojedzie_image_base: docker.io/cojedzie
cojedzie_version: latest cojedzie_version: latest
cojedzie_front_version: "{{ cojedzie_version }}" cojedzie_front_version: "{{ cojedize_version }}"
cojedzie_api_version: "{{ cojedzie_version }}" cojedzie_api_version: "{{ cojedize_version }}"
cojedzie_worker_version: "{{ cojedzie_version }}" cojedzie_worker_version: "{{ cojedize_version }}"
sentry_dsn_api: https://fd114053dd724e0eb16011ac0da16ba1@o4505224124891136.ingest.sentry.io/4505224126332928 sentry_dsn_api: https://fd114053dd724e0eb16011ac0da16ba1@o4505224124891136.ingest.sentry.io/4505224126332928
sentry_dsn_front: https://2815d4e0251240fcb9cd8c81c31e86fe@o4505224124891136.ingest.sentry.io/4505224128233472 sentry_dsn_front: https://2815d4e0251240fcb9cd8c81c31e86fe@o4505224124891136.ingest.sentry.io/4505224128233472

View File

@ -1,44 +0,0 @@
discord:
token: {{ freecad_bot_discord_token }}
command_prefix: "!"
channels:
{{ freecad_bot_channels | to_nice_yaml(indent=2) | indent(2) }}
{% if freecad_bot_mention_forwards is defined %}
mention_forwards:
{{ freecad_bot_mention_forwards | to_nice_yaml(indent=2) | indent(2) }}
{% endif %}
commands:
allowed_role_ids: {{ freecad_bot_allowed_role_ids }}
throttle_seconds: {{ freecad_bot_throttle_seconds }}
github:
webhook_secret: {{ freecad_bot_github_webhook_secret }}
api_token: {{ freecad_bot_github_api_token }}
server:
host: "0.0.0.0"
port: 8080
public_url: "https://{{ freecad_bot_domain }}"
api_token: {{ freecad_bot_server_api_token }}
ai:
provider: gemini
api_key: {{ freecad_bot_ai_api_key }}
model: {{ freecad_bot_ai_model }}
max_output_tokens: 8192
bot:
flush_interval_minutes: 5
log_dir: /data/logs
db_path: /data/bot.db
s3:
endpoint_url: "{{ freecad_bot_s3_endpoint_url }}"
bucket: "{{ freecad_bot_s3_bucket }}"
access_key: "{{ freecad_bot_s3_access_key }}"
secret_key: "{{ freecad_bot_s3_secret_key }}"
region: "us-east-1"
public_base_url: "{{ freecad_bot_s3_public_url }}"

View File

@ -1,15 +0,0 @@
server {
listen 80;
location /media/ {
proxy_pass http://cdn/;
}
location / {
proxy_pass http://bot:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

View File

@ -1,75 +0,0 @@
version: "{{ compose_version }}"
services:
bot:
image: registry.kadet.net/freecad/discord-bot:latest
environment:
BOT_LOG_DIR: /data/logs
configs:
- source: config_{{ bot_config.checksum }}
target: /app/config.yaml
mode: 0444
volumes:
- bot-data:/data
networks:
- "{{ ingress_network }}"
- default
secrets:
- source: dockerregistryauth
target: /run/secrets/dockerregistryauth
deploy:
mode: replicated
replicas: 1
proxy:
image: nginx:alpine
networks:
- "{{ ingress_network }}"
- default
configs:
- source: proxy_conf_{{ proxy_conf.checksum }}
target: /etc/nginx/conf.d/default.conf
mode: 0444
deploy:
mode: replicated
replicas: 1
labels:
- traefik.enable=true
- traefik.http.routers.{{ service }}.rule=Host(`{{ freecad_bot_domain }}`)
- traefik.http.routers.{{ service }}.tls=true
- traefik.http.routers.{{ service }}.tls.certresolver=lets-encrypt
- traefik.http.services.{{ service }}.loadbalancer.server.port=80
cdn:
image: nginxinc/nginx-s3-gateway:latest-njs-oss
restart: unless-stopped
environment:
S3_BUCKET_NAME: "{{ freecad_bot_s3_bucket }}"
S3_SERVER: "{{ freecad_bot_s3_endpoint_url | urlsplit('hostname') }}"
S3_SERVER_PORT: "{{ freecad_bot_s3_endpoint_url | urlsplit('port') or ('443' if (freecad_bot_s3_endpoint_url | urlsplit('scheme')) == 'https' else '80') }}"
S3_SERVER_PROTO: "{{ freecad_bot_s3_endpoint_url | urlsplit('scheme') }}"
S3_REGION: eu-central-003
S3_STYLE: path
AWS_SIGS_VERSION: "4"
AWS_ACCESS_KEY_ID: "{{ freecad_bot_s3_access_key }}"
AWS_SECRET_ACCESS_KEY: "{{ freecad_bot_s3_secret_key }}"
ALLOW_DIRECTORY_LIST: "false"
PROXY_CACHE_MAX_SIZE: 10g
PROXY_CACHE_INACTIVE: 365d
PROXY_CACHE_VALID_OK: "365d"
PROXY_CACHE_VALID_NOTFOUND: "0"
PROXY_CACHE_VALID_FORBIDDEN: "0"
secrets:
dockerregistryauth:
name: dockerregistryauth
external: true
configs:
config_{{ bot_config.checksum }}:
file: ./config/config.yaml
proxy_conf_{{ proxy_conf.checksum }}:
file: ./config/proxy.conf
volumes:
bot-data: {}

View File

@ -1,16 +0,0 @@
---
- name: 'Copy config.yaml for "{{ service }}"'
template:
src: "{{ service_path }}/config/config.yaml"
dest: "{{ remote_service_path }}/config/config.yaml"
register: bot_config
tags:
- config
- name: 'Copy proxy.conf for "{{ service }}"'
template:
src: "{{ service_path }}/config/proxy.conf"
dest: "{{ remote_service_path }}/config/proxy.conf"
register: proxy_conf
tags:
- config

View File

@ -1,8 +0,0 @@
---
freecad_bot_domain: wg.freecad.org
freecad_bot_ai_model: gemini-flash-latest
freecad_bot_throttle_seconds: 60
freecad_bot_s3_endpoint_url: "http://minio:9000"
freecad_bot_s3_bucket: freecad-bot
freecad_bot_s3_public_url: "https://{{ freecad_bot_domain }}/media"

View File

@ -1,10 +0,0 @@
server {
listen 80;
index index.html index.htm;
server_name s.{{ main_domain }};
location /rafal {
return 302 https://s3.eu-central-003.backblazeb2.com/kadet-random-stuff/mh451GGP4E_NootG1d0yn.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=003d67a35e3918f0000000004%2F20260208%2Fdefault%2Fs3%2Faws4_request&X-Amz-Date=20260208T172109Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=a0af8830338b11409ea5ff00265a92c33bf7095d94db544075362c11de90a784;
}
}

View File

@ -1,2 +1,2 @@
--- ---
portainer_version: 2.40 portainer_version: 2.18.2

View File

@ -1,8 +0,0 @@
---
http:
routers:
short-link:
rule: Host(`s.{{ main_domain }}`)
service: legacy@docker
tls:
certresolver: lets-encrypt

View File

@ -2,7 +2,7 @@ version: "{{ compose_version }}"
services: services:
ingress: ingress:
image: traefik:v2.11 image: traefik:v2.10
env_file: env_file:
- ./ovh.env - ./ovh.env
ports: ports:

View File

@ -14,34 +14,13 @@
- kadet.docker-swarm - kadet.docker-swarm
tasks: tasks:
- name: "Create user accounts"
ansible.builtin.user:
state: "{{ user.state | default('present') }}"
user: "{{ user.name }}"
groups: "{{ user.groups | default([]) }}"
append: true
with_items: "{{ server_user_accounts }}"
loop_control:
label: "{{ user.name }}"
loop_var: user
- name: Set authorized key taken from file
ansible.posix.authorized_key:
user: "{{ user.name }}"
state: present
key: "{{ user.key }}"
with_items: "{{ server_user_accounts }}"
loop_control:
label: "{{ user.name }}"
loop_var: user
- name: "Add '{{ ansible_user }}' to docker group" - name: "Add '{{ ansible_user }}' to docker group"
ansible.builtin.user: user:
user: "{{ ansible_user }}" user: "{{ ansible_user }}"
groups: docker groups: docker
append: true append: true
- name: "Add acl package" - name: "Add acl package"
ansible.builtin.apt: apt:
name: acl name: acl
state: present state: present

View File

@ -26,8 +26,3 @@ swarm_registry_user:
swarm_global_secrets: swarm_global_secrets:
- name: dockerregistryauth - name: dockerregistryauth
data: "{{ lookup('ansible.builtin.template', 'templates/dockerregistryauth.json.j2', convert_data=False)|string }}" data: "{{ lookup('ansible.builtin.template', 'templates/dockerregistryauth.json.j2', convert_data=False)|string }}"
server_user_accounts:
- name: obelisk
key: |
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCjvnPk20JYqrcFzV8Pyi4vXV5s07NEk37Fuh0BS8j6LwThfHBNxoz/TTpxUr5yPXpug/u+xORB4e/T13CfYKQUGoSHc6g/ByXolfiOdixiKG2H48aw/GLB6yftr6HNIEyUwfD9TA8YQzgfaRyLcIWbu/Ut3etaCDrVqaj83kWRcGhWh6hnp5iJM9dlFZentdYI2dZlOk/GXOB8DojN4zm+F3YnvSoQRJ7Hgks416bCDBew+gPP8GQc3TQ8pz26TAh86PH6rks36TJU96Yv8dnfPaCX3ndeZWedPhY3jxvsHWY6Lcg/fWMWdyJwau0WZNLJhSCe7OxeX0mN5KMCeqKiL+fi6mBXHiropqY1NFN3xLlBuit0VW2on1uQWPa3FzjZxZ0ymhsaqwk8SfbMPRkGLtR/IBO+XGoYrG1qi5BCZ3Rz2way2H9l+iarV/hlzV/TlJwRc7RvZVoUgvWwiYH4shIgE9KNNv2PJHCJ4r36VpUv24X+t02tfX6DDjbZ8Rs= obelisk@obelisk-b550

View File

@ -8,7 +8,7 @@ services: "{{ service_config | keys | list }}"
remote_services_root: /var/services remote_services_root: /var/services
remote_service_path: "{{ remote_services_root }}/{{ service }}" remote_service_path: "{{ remote_services_root }}/{{ service }}"
compose_version: "3.8" compose_version: "3.7"
ingress_network: traefik ingress_network: traefik
database_mysql_host: "{{ swarm_host_address }}" database_mysql_host: "{{ swarm_host_address }}"
@ -61,7 +61,7 @@ service_config:
35353236333161636466383462343234323461623233643339653739623932666637386633626330 35353236333161636466383462343234323461623233643339653739623932666637386633626330
6366666637366362663865313661306137383931613565663564 6366666637366362663865313661306137383931613565663564
gitea: gitea:
gitea_version: 1.23.2 gitea_version: 1.21.11
database: database:
name: gitea name: gitea
user: gitea user: gitea
@ -273,7 +273,7 @@ service_config:
regionendpoint: https://s3.eu-central-003.backblazeb2.com regionendpoint: https://s3.eu-central-003.backblazeb2.com
bucket: kadet-docker bucket: kadet-docker
portainer: portainer:
portainer_version: lts portainer_version: 2.20.3
system: {} system: {}
echo: {} echo: {}
management: management:
@ -341,155 +341,5 @@ service_config:
30653966353632333164306262363031626137373761636166663533366231336637383334316637 30653966353632333164306262363031626137373761636166663533366231336637383334316637
3463613562343766613666666264646433353731313334336130 3463613562343766613666666264646433353731313334336130
freecad-bot:
freecad_bot_s3_endpoint_url: https://s3.eu-central-003.backblazeb2.com
freecad_bot_s3_bucket: freecad-media
freecad_bot_s3_secret_key: !vault |
$ANSIBLE_VAULT;1.1;AES256
33663839636563626262613031326137383033393165303638396631353832323836326437616563
3836613330653466653531666362646236303965303466350a373831303638343233663662393833
33336163623835383963663565373533343732636163386433326238313762373138303665653161
6139326537346531660a653864356339323861633563323463313633383032663630643866303661
39303530616631643531333433653632653235303433336266653266373635663264
freecad_bot_s3_access_key: 003d67a35e3918f0000000006
freecad_bot_discord_token: !vault |
$ANSIBLE_VAULT;1.1;AES256
66646262373534316338646532386564316136346361313439336664383565633161666237623239
6262633433393030356161326364383831306165626564620a383930333462303937343836386364
30326130626233363362383561373930633332623331663234396534343064653163303333666638
6534333364343062330a346461313364373739393831316536663161393631313330376263666665
37663933336264396335613335633865336439633830326136356465653265336362363165633332
31353939663439623230613434373434623831363232626138333739393030643336353465666465
31353230346232306533386663343739366161363561366537323466643665663931306161616435
33373262316137373562
freecad_bot_github_webhook_secret: !vault |
$ANSIBLE_VAULT;1.1;AES256
38363639326538653562313562643932363435336631663562336663643239333766313461316231
3733326332343832313566636464326662313634646533640a383239623833656362626437633539
37316561333738343565323433633130373038363435316365653039653161653633373565303739
3862613964626339370a653138343135366432653237666532323561306662366638303365353334
36306235626136643465306265623135366364373137663634373562363165633130613634643433
6536663234343834323038343632336236346430353763366437
freecad_bot_github_api_token: !vault |
$ANSIBLE_VAULT;1.1;AES256
37306637316535316665373363356331613234633465343762613266356531376230303531626163
6565393230393031323536643132323834343131303937330a343635633463356135333537626639
61313961363338333133613338363134663830303434643230666137393132333736326566623361
3636363533333134630a343239623965333136326339646434366234643735303632383963656165
62646664323134373266323966663932363033636432343234323264633662363633376330353139
3636383239626363333436356131373862336537646462356134
freecad_bot_ai_api_key: !vault |
$ANSIBLE_VAULT;1.1;AES256
66656134643833656535363561333663616162323430383261613062313930623134643965333164
3039363165363235373236396365356636333737383563320a663133636138366237366339373939
31323266343037346336613931663164343266343032613633303463356166633130333337313464
3437353563386466640a346134343137366366343864363532376633303038323564363230353939
35336265373734613437646131326239346161643861643232306662373464333064633933366439
6161346661643761653934303437623064666530313566323435
freecad_bot_server_api_token: !vault |
$ANSIBLE_VAULT;1.1;AES256
33393836373536366632643432636264363030343730356339326331383261313864306335313863
3364363832636237623061663931653863323938633132660a306138613939646661313036386264
65666661646666623636306264653535373830653639333839303931666461333333353537663033
3932333335333339390a353763313635333639323838303333373030656162343064383932656238
31303739613038643937343731376630663739616236343432313933633535376661333632326331
3463303037393838363062363964303632336261343436306536
freecad_bot_channels:
- forum_channel_id: 1163884496031064134 # ux-reviews
group_role_id: 1163882419284361306 # Design Working Group
notify_on_create: true
alert_disable_tags:
- 1499434107229179924
- 1384666110191997051
- 1384666248994095226
- 1497685898161033226
- 1524890424609865929
trigger_label: "Requires: UI/UX review"
github_comment: >
This {type} was marked for UI/UX review. If you'd like to talk it over with the
group, join the discussion at {discord_url}, or ping `@FreeCAD/design-working-group`
here. The discussion is recorded and will be available at {log_url}.
type_effects:
issue:
tag: 1524890424609865929 # FILL ME: Discord ForumTag ID for issue threads
pr:
tag: 1524890475461611744 # FILL ME: Discord ForumTag ID for PR threads
label_effects:
"Requires: UI/UX review":
tag: 1371528009978351667
"Approved: UI/UX":
tag: 1371529173797175428
prefix: "✔"
"Requested changes: UI/UX":
tag: 1371529341518745600
prefix: "✎"
"Status: Needs feedback": &hold
tag: 1499434107229179924
prefix: "⏸"
"✋ On hold": *hold
state_effects:
issue_resolved:
tag: 1384666110191997051
prefix: "✔"
close: true
issue_not_planned:
tag: 1497685898161033226
prefix: "✘"
close: true
pr_merged:
tag: 1384666248994095226
prefix: "✔"
close: true
pr_closed:
tag: 1497685898161033226
prefix: "✘"
close: true
pr_draft: *hold
github_repositories:
- FreeCAD/FreeCAD
alerts:
- days: 30
message_type: message
alert_type: from_start
message: "The discussion was not resolved within a month time."
- days: 60
message_type: mention
alert_type: from_start
message: "The discussion was not resolved within two months from the start."
- days: 10
message_type: message
alert_type: from_last_message
message: "No discussion happened since {days} day(s). If it was resolved, please respond in the {url}."
- days: 20
message_type: mention
alert_type: from_last_message
message: "No discussion happened since {days} day(s). If it was resolved, please respond in the {url}."
freecad_bot_allowed_role_ids:
- 1163882419284361306
- 1347281912183394314
- 1285656872287866994
freecad_bot_mention_forwards:
- github_team: "FreeCAD/code-quality-working-group"
discord_channel_id: 1354091047185154058
discord_role_id: 1347281912183394314
github_repositories:
- FreeCAD/FreeCAD
- github_team: "FreeCAD/cad-working-group"
discord_channel_id: 1277336851044106360
discord_role_id: 1285656872287866994
github_repositories:
- FreeCAD/FreeCAD
- github_team: "FreeCAD/design-working-group"
discord_channel_id: 1162044910535450665
discord_role_id: 1163882419284361306
github_repositories:
- FreeCAD/FreeCAD
- github_team: "FreeCAD/packaging-team"
discord_channel_id: 1503510285661634591
discord_role_id: 1505556341526233148
github_repositories:
- FreeCAD/FreeCAD
www_data_users: www_data_users:
- vagrant - vagrant