Coder Social home page Coder Social logo

server-configurations's Introduction

Server Configurations

Priveasy's Official "Infrastructure as Code" Repository

This is the Fetch Apply "operations" repository used by Priveasy set up, configure, and maintain all of its servers. This repository is public and open source, enabling maximum transparency and auditability, while spurring collaboration.


Overview

Because Priveasy's services are frequently (and randomly) being developed, improved upon, and modified (as is the nature of open source projects), and because we strive to always use the latest and greatest open source technologies with the most recent security patches applied, we often find ourselves wiping and re-standing up our servers every few months. In order to make this process less cumbersome for us and easier for our community to reproduce (for testing, auditing, or development purposes), we've automated the entire process for all of our servers.

The Server Deployment Process

  • The latest LTS release of Ubuntu Server is installed on the server
  • Fetch Apply is installed on the server, following the installation instructions, and then answering any prompts that appear
  • The Fetch Apply configuration file is edited to prevent execution from halting if any command returns a non-zero exit code
    • Edit command used: sed -i 's/^fa_var_IGNORE_ERRORS=false$/fa_var_IGNORE_ERRORS=true/' /etc/fetch-apply
  • Fetch Apply is run (via the fa command), and any prompts that appear are answered
  • The server is rebooted (via the reboot command)

Take Note

Just as we update our code and packages frequently, so do the maintainers of the many dependencies that our servers rely on. Therefore, it is possible that a package may be updated in a way that breaks a piece of the set up, configuration, or maintenance code included in this repository. If you run into an error reproducing our setup, it is likely for this reason. The best resolution is to manually roll back to a slightly older version of the dependency that's causing the error, or to fork this repository and apply a fix—and then make a pull request :)—before retrying the installation using your patched fork. You are also welcome to wait until we see the error the next time we go to stand up a server, and consequently push the fix to this repository.

It should also be noted that this repository really does contain our actual server configurations. Because of that, some of the commands and files include references to owned resources (such as domain names and IP addresses) that will not work with your instance. If you truly wish to create a fully-operational build, you will need to fork this repository and replace the references to those resources with comparable references to resources that you own.

server-configurations's People

Contributors

p5vc avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.