chore: Cleanup v3 files. Closes #217
|
@ -1,15 +0,0 @@
|
||||||
##### New release: v2.22.2
|
|
||||||
|
|
||||||
This is a bugfix release addressing come issues in the Titan and Paco design.
|
|
||||||
|
|
||||||
##### We're working on v3
|
|
||||||
|
|
||||||
We are working hard on the next major version of FreeSewing, which will be released in 2023.
|
|
||||||
|
|
||||||
##### Check out where FreeSewing is heading
|
|
||||||
|
|
||||||
If you're curious to see what we're working on, check out [the
|
|
||||||
FreeSewing roadmap](https://github.com/freesewing/freesewing/discussions/1278) which
|
|
||||||
includes all the things on the horizon for FreeSewing.
|
|
||||||
|
|
||||||
[1]: https://github.com/freesewing/freesewing/discussions/2613
|
|
|
@ -1,14 +0,0 @@
|
||||||
# Using Ansible to manage FreeSewing infrastructure
|
|
||||||
|
|
||||||
This folder holds [Ansible](https://www.ansible.com/) playbooks and
|
|
||||||
configuration to manage FreeSewing's infrastructure.
|
|
||||||
|
|
||||||
These playbooks do things like installing updates on our servers, handling
|
|
||||||
maintenance tasks, and so on.
|
|
||||||
|
|
||||||
Because of the nature of these tasks, they typically require the kind of access
|
|
||||||
to our infrastructure that is only available to the maintainer.
|
|
||||||
|
|
||||||
As such, you can probably not use these playbooks, but you are welcome to look
|
|
||||||
around if you are curious or would like to learn about using Ansible in some
|
|
||||||
real-world scenario.
|
|
|
@ -1,16 +0,0 @@
|
||||||
[defaults]
|
|
||||||
# The user that will be connecting to remote systems
|
|
||||||
remote_user = ansible-bot
|
|
||||||
|
|
||||||
# Private key file for authentication
|
|
||||||
private_key_file = ~/.ssh/ansible-bot_rsa
|
|
||||||
|
|
||||||
# Set local and remote tmp folder
|
|
||||||
local_tmp = /tmp/ansible
|
|
||||||
remote_tmp = /tmp/ansible
|
|
||||||
|
|
||||||
# The location of the Ansible inventory
|
|
||||||
inventory=./inventory.yaml
|
|
||||||
|
|
||||||
# Use SSH for transport
|
|
||||||
transport=ssh
|
|
|
@ -1,18 +0,0 @@
|
||||||
# This is the Ansible inventory file for FreeSewing infrastructure
|
|
||||||
|
|
||||||
local:
|
|
||||||
hosts:
|
|
||||||
localhost: {}
|
|
||||||
|
|
||||||
all:
|
|
||||||
children:
|
|
||||||
v2:
|
|
||||||
hosts:
|
|
||||||
backend.freesewing.org:
|
|
||||||
db: freesewing
|
|
||||||
v3:
|
|
||||||
hosts:
|
|
||||||
backend3.freesewing.org:
|
|
||||||
monorepo: /fs/monorepo
|
|
||||||
|
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
# An Ansible playbook to install NodeJS dependencies (npm install)
|
|
||||||
#
|
|
||||||
# The FreeSewing production backend runs from the `production-backend`
|
|
||||||
# branch on our backend server. This playbook runs `yarn install` in
|
|
||||||
# the repository root
|
|
||||||
---
|
|
||||||
- hosts: '!localhost'
|
|
||||||
gather_facts: false
|
|
||||||
# Use binaries (yarn & node) from nvm (lts/hydrogen)
|
|
||||||
environment:
|
|
||||||
PATH: "/home/ansible-bot/.nvm/versions/node/v18.17.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/games:/sbin:/usr/sbin:/usr/local/sbin"
|
|
||||||
tasks:
|
|
||||||
- name: Install monorepo dependencies (yarn install)
|
|
||||||
community.general.yarn:
|
|
||||||
# Don't install dev dependencies
|
|
||||||
production: true
|
|
||||||
path: "{{ monorepo }}"
|
|
|
@ -1,22 +0,0 @@
|
||||||
# An Ansible playbook to update the backend repository.
|
|
||||||
#
|
|
||||||
# The FreeSewing production backend runs from the `production-backend`
|
|
||||||
# branch on our backend server. This playbook updates the repository to
|
|
||||||
# the latest version of the `production-backend` branch.
|
|
||||||
---
|
|
||||||
- hosts: '!localhost'
|
|
||||||
gather_facts: false
|
|
||||||
tasks:
|
|
||||||
- name: Bring monorepo up to date with production-backend branch
|
|
||||||
git:
|
|
||||||
# We don't need history
|
|
||||||
depth: 1
|
|
||||||
# We don't need other branches
|
|
||||||
single_branch: true
|
|
||||||
# Monorepo url
|
|
||||||
repo: git@github.com:freesewing/freesewing.git
|
|
||||||
# Destination folder
|
|
||||||
dest: "{{ monorepo }}"
|
|
||||||
# Check out the production-backend branch
|
|
||||||
version: production-backend
|
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
date=$(date +%F)
|
|
||||||
backupDir="/fs/backup/mongo/${date}/"
|
|
||||||
[ -z "$1" ] && echo "Missing param" && exit 1
|
|
||||||
database=$1
|
|
||||||
|
|
||||||
mkdir -p $backupDir
|
|
||||||
mongodump --db $database --out $backupDir
|
|
|
@ -1,85 +0,0 @@
|
||||||
/*
|
|
||||||
* This migrates 2.6 data to 2.7
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
// The shoulderSlope measurement is now different, so we need to remove it
|
|
||||||
db.people.updateMany({}, {$unset: { 'measurements.shoulderSlope': '' }})
|
|
||||||
db.patterns.updateMany({}, {$unset: { 'data.settings.measurements.shoulderSlope': '' }})
|
|
||||||
|
|
||||||
// The seatDepth measurement is no longer used, so we remove it
|
|
||||||
db.people.updateMany({}, {$unset: { 'measurements.seatDepth': '' }})
|
|
||||||
db.patterns.updateMany({}, {$unset: { 'data.settings.measurements.seatDepth': '' }})
|
|
||||||
|
|
||||||
// The hipsToUpperLeg measurement is no longer used, so we remove it
|
|
||||||
db.people.updateMany({}, {$unset: { 'measurements.hipsToUpperLeg': '' }})
|
|
||||||
db.patterns.updateMany({}, {$unset: { 'data.settings.measurements.hipsToUpperLeg': '' }})
|
|
||||||
|
|
||||||
/* A bunch of circumference measurements have been renamed */
|
|
||||||
// ankle
|
|
||||||
db.people.updateMany({}, {$rename: {'measurements.ankleCircumference': 'measurements.ankle'}})
|
|
||||||
db.patterns.updateMany({}, {$rename: {'data.settings.measurements.ankleCircumference': 'data.settings.measurements.ankle'}})
|
|
||||||
|
|
||||||
// biceps
|
|
||||||
db.people.updateMany({}, {$rename: {'measurements.bicepsCircumference': 'measurements.biceps'}})
|
|
||||||
db.patterns.updateMany({}, {$rename: {'data.settings.measurements.bicepsCircumference': 'data.settings.measurements.biceps'}})
|
|
||||||
|
|
||||||
// chest
|
|
||||||
db.people.updateMany({}, {$rename: {'measurements.chestCircumference': 'measurements.chest'}})
|
|
||||||
db.patterns.updateMany({}, {$rename: {'data.settings.measurements.chestCircumference': 'data.settings.measurements.chest'}})
|
|
||||||
|
|
||||||
// head
|
|
||||||
db.people.updateMany({}, {$rename: {'measurements.headCircumference': 'measurements.head'}})
|
|
||||||
db.patterns.updateMany({}, {$rename: {'data.settings.measurements.headCircumference': 'data.settings.measurements.head'}})
|
|
||||||
|
|
||||||
// hips
|
|
||||||
db.people.updateMany({}, {$rename: {'measurements.hipsCircumference': 'measurements.hips'}})
|
|
||||||
db.patterns.updateMany({}, {$rename: {'data.settings.measurements.hipsCircumference': 'data.settings.measurements.hips'}})
|
|
||||||
|
|
||||||
// knee
|
|
||||||
db.people.updateMany({}, {$rename: {'measurements.kneeCircumference': 'measurements.knee'}})
|
|
||||||
db.patterns.updateMany({}, {$rename: {'data.settings.measurements.kneeCircumference': 'data.settings.measurements.knee'}})
|
|
||||||
|
|
||||||
// neck
|
|
||||||
db.people.updateMany({}, {$rename: {'measurements.neckCircumference': 'measurements.neck'}})
|
|
||||||
db.patterns.updateMany({}, {$rename: {'data.settings.measurements.neckCircumference': 'data.settings.measurements.neck'}})
|
|
||||||
|
|
||||||
// seat
|
|
||||||
db.people.updateMany({}, {$rename: {'measurements.seatCircumference': 'measurements.seat'}})
|
|
||||||
db.patterns.updateMany({}, {$rename: {'data.settings.measurements.seatCircumference': 'data.settings.measurements.seat'}})
|
|
||||||
|
|
||||||
// upperleg
|
|
||||||
db.people.updateMany({}, {$rename: {'measurements.upperLegCircumference': 'measurements.upperLeg'}})
|
|
||||||
db.patterns.updateMany({}, {$rename: {'data.settings.measurements.upperLegCircumference': 'data.settings.measurements.upperLeg'}})
|
|
||||||
|
|
||||||
// wrist
|
|
||||||
db.people.updateMany({}, {$rename: {'measurements.wristCircumference': 'measurements.wrist'}})
|
|
||||||
db.patterns.updateMany({}, {$rename: {'data.settings.measurements.wristCircumference': 'data.settings.measurements.wrist'}})
|
|
||||||
|
|
||||||
/* Natural waist is now just waist */
|
|
||||||
// Waist
|
|
||||||
db.people.updateMany({}, {$rename: {'measurements.naturalWaist': 'measurements.waist'}})
|
|
||||||
db.patterns.updateMany({}, {$rename: {'data.settings.measurements.naturalWaist': 'data.settings.measurements.waist'}})
|
|
||||||
|
|
||||||
// WaistToFloor
|
|
||||||
db.people.updateMany({}, {$rename: {'measurements.naturalWaistToFloor': 'measurements.waistToFloor'}})
|
|
||||||
db.patterns.updateMany({}, {$rename: {'data.settings.measurements.naturalWaistToFloor': 'data.settings.measurements.waistToFloor'}})
|
|
||||||
|
|
||||||
// WaistToKnee
|
|
||||||
db.people.updateMany({}, {$rename: {'measurements.naturalWaistToKnee': 'measurements.waistToKnee'}})
|
|
||||||
db.patterns.updateMany({}, {$rename: {'data.settings.measurements.naturalWaistToKnee': 'data.settings.measurements.waistToKnee'}})
|
|
||||||
|
|
||||||
// WaistToSeat
|
|
||||||
db.people.updateMany({}, {$rename: {'measurements.naturalWaistToSeat': 'measurements.waistToSeat'}})
|
|
||||||
db.patterns.updateMany({}, {$rename: {'data.settings.measurements.naturalWaistToSeat': 'data.settings.measurements.waistToSeat'}})
|
|
||||||
|
|
||||||
// WaistToUnderbust
|
|
||||||
db.people.updateMany({}, {$rename: {'measurements.naturalWaistToUnderbust': 'measurements.waistToUnderbust'}})
|
|
||||||
db.patterns.updateMany({}, {$rename: {'data.settings.measurements.naturalWaistToUnderbust': 'data.settings.measurements.waistToUnderbust'}})
|
|
||||||
|
|
||||||
// WaistToHips
|
|
||||||
db.people.updateMany({}, {$rename: {'measurements.naturalWaistToHip': 'measurements.waistToHips'}})
|
|
||||||
db.patterns.updateMany({}, {$rename: {'data.settings.measurements.naturalWaistToHip': 'data.settings.measurements.waistToHips'}})
|
|
||||||
|
|
||||||
|
|
||||||
/* seatDepth is no longer uses */
|
|
|
@ -1,12 +0,0 @@
|
||||||
# An Ansible playbook to install the latest updates on a (debian) Linux system
|
|
||||||
---
|
|
||||||
- hosts: '!localhost'
|
|
||||||
gather_facts: false
|
|
||||||
become: true
|
|
||||||
tasks:
|
|
||||||
- name: Update all packages to their latest version
|
|
||||||
apt:
|
|
||||||
name: '*'
|
|
||||||
state: latest
|
|
||||||
update_cache: yes
|
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
---
|
|
||||||
# Hardcoding this to prevent accidentally migrating the production database
|
|
||||||
- hosts: next.backend.freesewing.org
|
|
||||||
gather_facts: false
|
|
||||||
become: true
|
|
||||||
tasks:
|
|
||||||
- name: Create temporary directory
|
|
||||||
file:
|
|
||||||
path: "{{tmp}}"
|
|
||||||
state: directory
|
|
||||||
mode: '0755'
|
|
||||||
- name: Copy migration file to remote host
|
|
||||||
copy:
|
|
||||||
src: migrate_data.js
|
|
||||||
dest: "{{tmp}}"
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: '0755'
|
|
||||||
- name: Migrate 2.6 data to 2.7
|
|
||||||
shell: "mongo next_freesewing {{tmp}}/migrate_data.js"
|
|
||||||
|
|
||||||
|
|
Before Width: | Height: | Size: 774 KiB |
Before Width: | Height: | Size: 776 KiB |
|
@ -1,5 +0,0 @@
|
||||||
The drawings in these subfolders are by Dutch artist Rov van der Hel.
|
|
||||||
|
|
||||||
Find out more about Roy and his work
|
|
||||||
on [Instagram](https://www.instagram.com/royvdhel_art/)
|
|
||||||
or [Deviantart](https://www.deviantart.com/royvdhel-art/gallery)
|
|
Before Width: | Height: | Size: 1 MiB |
Before Width: | Height: | Size: 971 KiB |
Before Width: | Height: | Size: 393 KiB |
Before Width: | Height: | Size: 357 KiB |
Before Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 1.8 MiB |
Before Width: | Height: | Size: 2.1 MiB |
Before Width: | Height: | Size: 2.3 MiB |
Before Width: | Height: | Size: 1.6 MiB |
Before Width: | Height: | Size: 1.8 MiB |
Before Width: | Height: | Size: 1.4 MiB |
Before Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 396 KiB |
Before Width: | Height: | Size: 1.6 MiB |
Before Width: | Height: | Size: 1.9 MiB |
Before Width: | Height: | Size: 1.5 MiB |
Before Width: | Height: | Size: 2.3 MiB |
Before Width: | Height: | Size: 2.1 MiB |
Before Width: | Height: | Size: 1.8 MiB |
Before Width: | Height: | Size: 541 KiB |
Before Width: | Height: | Size: 2.1 MiB |
Before Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 2.1 MiB |
Before Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 113 KiB |
Before Width: | Height: | Size: 592 KiB |
Before Width: | Height: | Size: 660 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 446 KiB |
Before Width: | Height: | Size: 409 KiB |
Before Width: | Height: | Size: 477 KiB |
Before Width: | Height: | Size: 814 KiB |
Before Width: | Height: | Size: 776 KiB |
Before Width: | Height: | Size: 744 KiB |
Before Width: | Height: | Size: 696 KiB |
Before Width: | Height: | Size: 2.8 MiB |
Before Width: | Height: | Size: 3 MiB |
Before Width: | Height: | Size: 3.9 MiB |
Before Width: | Height: | Size: 3.6 MiB |
Before Width: | Height: | Size: 1.7 MiB |
Before Width: | Height: | Size: 558 KiB |
Before Width: | Height: | Size: 572 KiB |
Before Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 1.9 MiB |
Before Width: | Height: | Size: 741 KiB |
Before Width: | Height: | Size: 716 KiB |
Before Width: | Height: | Size: 2.9 MiB |
Before Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 1,004 KiB |
Before Width: | Height: | Size: 2.8 MiB |
Before Width: | Height: | Size: 2.8 MiB |
Before Width: | Height: | Size: 726 KiB |
Before Width: | Height: | Size: 846 KiB |
Before Width: | Height: | Size: 703 KiB |
Before Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 138 KiB |
Before Width: | Height: | Size: 1.4 MiB |
Before Width: | Height: | Size: 1.9 MiB |
Before Width: | Height: | Size: 1,002 KiB |
Before Width: | Height: | Size: 1.4 MiB |
Before Width: | Height: | Size: 2.1 MiB |
Before Width: | Height: | Size: 2.2 MiB |
Before Width: | Height: | Size: 1.5 MiB |
Before Width: | Height: | Size: 2.2 MiB |
Before Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 318 KiB |
Before Width: | Height: | Size: 281 KiB |
Before Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 347 KiB |
Before Width: | Height: | Size: 300 KiB |
Before Width: | Height: | Size: 265 KiB |
Before Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 2.4 MiB |
Before Width: | Height: | Size: 373 KiB |
Before Width: | Height: | Size: 330 KiB |
Before Width: | Height: | Size: 1 MiB |
Before Width: | Height: | Size: 1.4 MiB |
Before Width: | Height: | Size: 972 KiB |
Before Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 143 KiB |