Code Monkey home page Code Monkey logo

avans-informatica-hogeschool-infrastructure's Introduction

Avans Informatica Infrastructure

Deze repository bevat de configuratie voor de huidige infrastructuur van het Avans Informatica Breda applicatielandschap. Ideaal zou zijn om alle draaiende systemen van docenten automatisch via deze repository te kunnen deployen. Alle documentatie omtrent Infrastructuur als Code is te vinden in de docs/ map. De bestanden in deze map worden automatisch gecompileerd naar een PDF in een pipeline.

De pipelines kun je hier vinden: dev.azure.com/MaartenVanDerHeijdenProjecten/Projects/_build

Workflow diagram

Opmerkingen/Verbeterpunten

  • Studentennummers mogen alleen alfanumerieke tekens bevatten. Indien een student meer dan één VM wil gebruiken, moet er een nummer achteraan het studentennummer gezet worden.
    2121993 wordt bv. 21219932 bij een tweede machine. Underscores of dashes zijn niet toegestaan.
  • Terraform identificeert virtuele machines op basis van de plaatst in de VM lijst, dit houdt in dat nieuwe VMS alleen aan de onderkant van een lijst
    mogen toegevoegd worden. VMs mogen ook alleen vanaf de onderkant verwijderd worden.

Deze twee bugs worden z.s.m. verholpen.

Avans Informatica Infrastructuur

Deze servers zijn 'speciaal' geconfigureerd via Ansible.

Entrypoint

De entrypoint server is de reverse proxy die draait onder het domein avans-informatica-breda.nl. Deze proxy handelt HTTPS af en voegt enkele security headers toe, dit zorgt ervoor dat andere backends (bijvoorbeeld SonarQube of de CurriculumViewer) geen eigen https afhandeling nodig hebben.

Gebaseerd op het request van een gebruiker stuurt de reverse proxy de gebruiker door naar een backend. Een student die sonarqube.avans-informatica.breda.nl bezoekt wordt bijvoorbeeld doorgestuurd naar de SonarQube backend zonder hier iets van te merken.

De configuratie van deze proxy bevindt zich in ansible/roles/avans-entrypoint/templates/etc/avans-informatica-breda/nginx. De webroot van deze entrypoint server is te vinden in de map ansible/roles/avans-entrypoint/files/srv/app/www.

Indien een ontwikkelaar wenst een server toe te voegen aan deze configuratie kan er een .conf bestand toegevoegd worden.

Workflow

Infrastructuur aanvragen

Alle informatie over Infrastructuur als Code is te vinden in de docs/ folder.

CI/CD

Dit project maakt gebruik van Azure Pipelines om continuous integration en continuous delivery mogelijk te maken. Dit betekent dat alle commits op de master branch direct gedeployed worden en dat productie servers geüpdate worden op basis van de nieuwe configuratie.

Om deze reden zal er voornamelijk gewerkt worden op de develop branch en wordt er aan contributors gevraagd of deze pull requests willen aanmaken indien zij klaar zijn met het aanpassen of toevoegen van nieuwe code.

SSH Sleutels

Een SSH sleutel kan makkelijk gegenereerd worden met het commando ssh-keygen.

avans-informatica-hogeschool-infrastructure's People

Contributors

rlmhermans avatar survivorbat avatar

Watchers

 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.