Git Product home page Git Product logo

admiral's Introduction

Admiral - the Shippable installer

CLI

  Usage:
    ./admiral.sh <command> [flags]

  Examples:
    ./admiral.sh install --help

  Commmands:
    install         Run Shippable installation
    upgrade         Run silent upgrade without any prompts
    help            Print this message
    clean           Remove shippable containers and configurations
    info            Print information about current installation

Docs

Full documentation for all the components is available here

Installing Shippable Enterprise with GitHub Auth

Provisioning

  • All services and core components will run on a single instance. The requirements for the instance are:
    • 4 core (min)
    • 8 Gb memory
    • 100 Gb disk
    • Ubuntu 14.04 LTS/Ubuntu 16.04 LTS/CentOS 7/RHEL 7
  • The following ports must be exposed on this instance:
    • 22: ssh into the machine
    • 80: internal gitlab server api endpoint
    • 443: internal gitlab server secure api endpoint
    • 2222: internal gitlab server ssh port
    • 5432: database
    • 5672: amqp
    • 15672: amqp admin
    • 6379: redis
    • 8200: vault
    • 50000: Shippable api
    • 50001: Shippable front end
    • 50002: Shippable marketing ui
    • 50003: Shippable admin panel

Load balancers

  • The usual (and recommended) way of exposing Shippable service end points is via loadbalancers. The LBs are not required to be exposed to the public facing internet but should be accessible to all users in a VPN. A typical setup creates following routing:

    User (shippable.mycompany.com) -> Route 53 -> Internal LB -> Shippable API (running on one or more machines)

    Shippable requires 4 loadbalancers with listeners on these ports:

    • API, port 50000: Shippable api will be used by all the microservices and should be available via IP/DNS.
    • WWW, port 50001: This service is what users access to use Shippable.
    • Admin, port 50003: This is where the Shippable admin panel runs
    • Message queue, ports 443, 5671 and 15671: required to access the message queue admin panel and for build nodes to connect if they belong to a different VPC than the one in which the message queue is provisioned.

Running the installer

Log into the instance and install git and ssh

$ sudo apt-get update
$ sudo apt-get install git-core ssh

Upgrade kernel

  • If installer is running on AWS ubuntu 14.04 ami, then the kernel needs to be updated. Run following commands to update kernel to 3.19
$ sudo apt-get update
$ sudo apt-get install linux-generic-lts-vivid
$ sudo reboot //restart is required after kernel upgrade

Clone the installer

$ git clone https://github.com/Shippable/admiral.git
$ cd admiral

Select a version

$ git checkout v5.5.1
  • In the cloned installer, git checkout the tag for the version that you intend to install.

Run the installation

$ sudo ./admiral.sh install
  • Enter the installer keys provided by Shippable, the public facing IP address of the machine running the installer, and a strong password for the database when prompted. Enter 'Y' to confirm each input.

  • The installer will then install dependencies, including Docker.

  • When this step of the installation is complete, the installer prints the login information for the admin panel, which looks like this:

<... some logs... >
|___ Admiral container successfully running
|___ Go to <machine ip>:50003 to access Admiral
|___ Login Token: <login token>
|___ Installation successfully completed !!!
  • Open this address in a web browser and use the login token to continue the installation.

admiral's People

Contributors

a-murphy avatar amalfra avatar ambarish2012 avatar ankul-shippable avatar avinci avatar bharath92 avatar chaitanyavootla avatar deepikasl avatar harryi3t avatar himanshu0503 avatar jatindogra avatar kanthchandra avatar kirtisahu05 avatar mkirank avatar niranjan92 avatar rageshkrishna avatar ric03uec avatar riturajcse avatar scriptnull avatar shrivara avatar stephanielingwood avatar vijayreddy1991 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.