Skip to main content

Install Spinnaker as a Docker Container on Ubuntu using Ansible Playbook

Install Spinnaker as a Docker Container on Ubuntu using Ansible Playbook

                
---
- hosts: localhost
  vars:
    environment:
    PYTHONPATH: "{{ lookup('env','PYTHONPATH') }}:/usr/local/lib/python2.7/dist-packages:/usr/local/lib/python2.7/site-packages"
  tasks:
    - name: Update all packages to the latest version
      apt:
        name: "*"
        state: latest
      when: ansible_facts['os_family'] == "Debian"
      become: true
    - name: Upgrade all packages to the latest version
      apt:
        upgrade: dist
      when: ansible_facts['os_family'] == "Debian"
      become: true
    - name: Install python2 pip
      package:
        name: python-pip
      when: ansible_facts['os_family'] == "Debian"
      become: true
    - name: Install python-requests module
      apt:
        name: python-requests
        state: latest
      when: ansible_facts['os_family'] == "Debian"
      become: true
    - name: Install python docker
      apt:
        name: python-docker
        state: latest
      when: ansible_facts['os_family'] == "Debian"
      become: true
    - name: Create hal directory in home directory
      file:
        path: ~/.hal
        state: directory
    - name: Give normal users to run docker command to ensure ~/.hal directory created by spinnaker userid not root
      file:
        path: /var/run/docker.sock
        mode: '776'
      become: true
    - name: copy kubeconfig file to ~/.hal directory
      copy:
        src: ~/.kube/config
        dest: ~/.hal
    - name: Start halyard in docker container
      docker_container:
        name: halyard
        ports:
          - "8084:8084"
          - "9000:9000"
        volumes:
          - ~/.hal:/home/spinnaker/.hal
        auto_remove: yes
        detach: yes
        env:
          KUBECONFIG: "/home/spinnaker/.hal/config"
        image: gcr.io/spinnaker-marketplace/halyard:stable
    - name: Revoking docker command permissions to users
      file:
        path: /var/run/docker.sock
        mode: '660'
      become: true
    - name: RUN THIS COMMAND - source <(hal --print-bash-completion) - INSIDE HALYARD CONTAINER AS PART OF SPINNAKER INSTALLATION FIRST STEP
      command: echo RUN THIS COMMAND - source <(hal --print-bash-completion) - INSIDE HALYARD CONTAINER AS PART OF SPINNAKER INSTALLATION FIRST STEP
      register: test
    - debug: msg="{{ test.stdout }}"
                
            

Same script is also available at https://github.com/JaydeepUniverse/automation/blob/master/spinnaker-on-docker.yaml

Comments

Popular posts from this blog

How to skip resources, compiler, surfire, install plugin in maven's default build process

When we want to use maven command line to upload zip type artifact to artifact repository then we don't want resources, compiler, surefire, install phases in maven process, only assembly would be enough. To skip particular phases go to each plugin's original website phase according to latest running plugin version download the same to our own project refer the skip phase configuration of particular phase, either it can be done command line or as part of the build-plugin-configuration. Example using POM.xml file <project> [...] <build> <plugins> <plugin> <groupId...

How to clone Github repository using SSH

Run ssh-keygen Upload ssh public key to github account curl -u "gitUsername:password" --data '{"title":"keyName","key":"'"$(cat ~/.ssh/id_rsa.pub)"'"}' https://api.github.com/user/keys Sample output of ssh public key upload command { "id": 1234567890, "key": "ssh-rsa aaaaaaaaaaaaaaaaaaaa/dddd/+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "url": "https://api.github.com/user/keys/123456...

Install AWS CLI on Ubuntu localhost using Ansible Playbook

Install AWS CLI on Ubuntu localhost using Ansible Playbook --- - hosts: localhost tasks: - name: Installing Unzip package package: name: unzip state: present when: ansible_facts['os_family'] == "Debian" become: true - name: Create awscli directory in home directory file: path: ~/awscli state: directory mode: '0755' - name: Download bundled installer zip file get_url: url: https://s3.amazonaws.com/aws-cli/awscli-bundle.zip dest: ~/awscli/awscli-bundle.zip - name: Extract zip file unarchive: src: ~/awscli/awscli-bundle.zip dest: ~/awscli - name: Run install command shell: /home/ubuntu/awscli/awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws become: true Same script is also avail...