This repository holds our Ansible playbooks.
If you are not familier with Ansible, you can learn more at www.ansible.com.
Our infrastructure is defined in the inventory.yaml
file.
These playbooks only apply to our backend system, as our frontend is hosted by Netlify.
To run a playbook, use the following command structure:
ansible-playbook -i inventory.yaml -l main playbooks/install_updates.yaml
Where
- The
-i
switch tells Ansible what inventory file to use. - The
-l
switch limites the play to a group of hosts. You can pickmain
ornext
here. If you leave it out, it will apply to both. - The last paramter is the path to the playbook to run
Keep in mind that while we have 2 hosts in our inventory, in reality they run on the same VM.
So when you launch a playbook that does things on the OS level (such as installing updates in
our example) you should always limit the play to either main
or next
because:
- There's no point running it twice on the same machine
- There will be conflicts as teh plays are ran in parallel, so in our example, only one of them will be able to get a lock for apt, the other will fail.
install_updates.yaml
: Install the latest OS updatesbackup_mongo.yaml
: Manually trigger a backup of the mongo databaseschedule_daily_mongo_backup.yaml
: Schedule a daily cron job to backup the mongo databaseclone_production_database.yaml
: Clones the productionfreesewing
database into thenext_freesewing
databasemigrate_data_for_2.2.yaml
: Migrates data and data structure from 2.1 to 2.2 (run this after cloning the database)
Where the world of makers and developers collide, that's where you'll find FreeSewing.
Our core library is a batteries-included toolbox for parametric design of sewing patterns. It's a modular system (check our list of plugins and getting started is as simple as:
npm init freesewing-pattern
We also have a template repository if you prefer to start that way.
Developer documentation is maintained on freesewing.dev and
we also have a #development-help
channel on Discord.
If you're a maker, checkout freesewing.org where you can generate our sewing patterns adapted to your measurements.
FreeSewing is an open source project run by a community, and financially supported by our patrons.
If you feel what we do is worthwhile, you too should become a patron.
- 💻 Makers website: freesewing.org
- 💻 Developers website: freesewing.dev
- 💬 Chat: On Discord via discord.freesewing.org
- 🐦 Twitter: @freesewing_org
- 📷 Instagram: @freesewing_org
© Joost De Cock.
See the license file for details.
Our chat rooms on Discord are the best place to ask questions, share your feedback, or just hang out.
If you want to report a problem, please create an issue.