GithubHelp home page GithubHelp logo

ansible-role-sregistry's Introduction

Ansible Role: sregistry (Singularity Registry Server)

Installs and configures Singularity Registry Server.

This role is in heavy development right now and not super ready for use.

Right now it only supports the GitHub OAuth2 methods, the rest aren't implemented.

Requirements

Before this role runs, you need to make sure the following role dependencies are installed:

Dependency Suggested Role
EPEL repo (RedHat OSes only) geerlingguy.repo-epel
Git geerlingguy.git
Docker geerlingguy.docker
Python Pip geerlingguy.pip
Nginx geerlingguy.nginx

See this role's molecule/default/converge.yml playbook for an example that works across many different OSes.

Role Variables

Available variables are listed below, along with default values (see defaults/main.yml):

NOT YET DOCUMENTED

Dependencies

None.

Example Playbook

- hosts: sregistry-centos
  become: true

  vars:
    docker_install_compose: false
    pip_install_packages:
      - name: docker
      - name: docker-compose

  roles:
    - geerlingguy.repo-epel
    - geerlingguy.git
    - geerlingguy.pip
    - geerlingguy.docker
    - geerlingguy.nginx
    - zorlin.sregistry

License

MIT

Author Information

This role was created in 2020 by Benjamin Arntzen.

This role uses examples and code from geerlingguy.awx which was written by Jeff Geerling and is available under the MIT license.

This role uses examples and code from grycap.singularity-registry which was written by Sergio López Huguet / Grid y Computación de Altas Prestaciones and is available under the Apache 2.0 License.

TODOs

In no particular order:

  • Actually bring things up using https://docs.ansible.com/ansible/latest/collections/community/general/docker_service_module.html
  • Add options for providing your own SSL certs or using certbot/generation
  • Add options for providing your own database details
  • Add options for configuring domain stuff
  • Add options for setting Minio secrets
  • Add options for providing your own Minio service
  • Add optional install and configuration of "mc" tool
  • Properly add support for all available OAuth providers
  • Add configuration options for as much as reasonably possible
  • Nginx - setup the outage pages
  • Nginx - make outage pages use HTTPS if available
  • Add GitHub Actions + add docker-compose and "docker" pip module to host

Actual playbooks are out of scope for now, but an "official" playbook repo should come later. So, TODOs for that:

  • Playbook to take down the Docker images for maintenance and bring up nginx
  • Playbook to generate certificates with Let's Encrypt (certbot certonly w/ nginx plugin)
  • Playbook to renew LE certificates

ansible-role-sregistry's People

Contributors

zorlin 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.