How to deploy Cycloid on SLE
SUSEConnect -p sle-module-desktop-applications/15.1/x86_64
SUSEConnect --product sle-module-development-tools/15.1/x86_64
SUSEConnect --product PackageHub/15.1/x86_64
SUSEConnect -p sle-module-containers/15.1/x86_64
SUSEConnect -p sle-module-public-cloud/15.1/x86_64
Note: Before running ansible playbook, ensure virtualenv, pip and dependencies are satisfied on your system.
zypper in python3-setuptools docker gcc git-core libffi-devel libopenssl-devel patterns-devel-python-devel_python3
sudo easy_install pip
sudo pip install virtualenv
eval `ssh-agent -s`
ssh-add suse_id_rsa
git clone git@github.com:cycloidio/ansible-cycloid-onprem.git
mkdir cycloid-onprem
cd cycloid-onprem
cp -r ../ansible-cycloid-onprem/playbooks/* .
virtualenv --clear .env
source .env/bin/activate
mkdir keys
ssh-keygen -t rsa -b 2048 -N '' -f keys/id_rsa
pip install molecule ansible==2.8.* docker-py passlib bcrypt
pip install ansible==2.8.* passlib bcrypt
(.env) cycloid:/Cycloid/cycloid-onprem # ansible-galaxy install -r requirements.yml --roles-path=roles -v
No config file found; using defaults
- ansible-cycloid-onprem (master) is already installed, skipping.
- geerlingguy.docker (master) is already installed, skipping.
- extracting jdauphant.nginx to /Cycloid/cycloid-onprem/roles/jdauphant.nginx
- jdauphant.nginx was installed successfully
- extracting mhutter.docker-systemd-service to /Cycloid/cycloid-onprem/roles/mhutter.docker-systemd-service
- mhutter.docker-systemd-service (master) was installed successfully
cat >> inventory <<EOF
[cycloid]
20.20.20.10
# Meta groups to setup all in one
[cycloid-core:children]
cycloid
[cycloid-scheduler:children]
cycloid
[cycloid-redis:children]
cycloid
[cycloid-db:children]
cycloid
[cycloid-creds:children]
cycloid
[minio:children]
cycloid
[smtp-server:children]
cycloid
[cycloid-scheduler-db:children]
cycloid
EOF
export CYCLOID_ENV=poc
cat >> environments/${CYCLOID_ENV}-cycloid.yml <<EOF
# Resolvable domain name from the instance and externally to use Cycloid console.
cycloid_console_dns: console.isvlab.net
# Initial Cycloid user
cycloid_initial_user:
username: "admin"
email: “christophe.ledorze@suse.com"
password: “Linux1234"
given_name: admin
family_name: cycloid
# Pipeline engine, server configuration.
concourse_session_signing_key: "{{lookup('file', 'keys/id_rsa')}}"
concourse_host_key: "{{lookup('file', 'keys/id_rsa')}}"
concourse_authorized_worker_keys:
- "{{lookup('file', 'keys/id_rsa.pub')}}"
EOF
Edit : vi /Cycloid/cycloid-onprem/roles/geerlingguy.docker/tasks/main.yml
- name: Install Docker. package: #name: "{{ docker_package }}" name: "docker" #state: "{{ docker_package_state }}" notify: restart docker
??? Edit : vi /Cycloid/cycloid-onprem/roles/geerlingguy.docker/defaults/main.yml ??? docker_compose_version: "1.25.5"
Edit : vi ./roles/ansible-cycloid-onprem/tasks/pre-setup.xml
- package: name: - python3-pyOpenSSL - mariadb-client - python3-setuptools state: present
cp ./roles/mhutter.docker-systemd-service/vars/RedHat.yml /Cycloid/cycloid-onprem/roles/mhutter.docker-systemd-service/vars/Suse.yml
//source .env/bin/activate
export AWS_ACCESS_KEY_ID=XXXXX
export AWS_SECRET_ACCESS_KEY=XXXXXX
aws ecr get-login --no-include-email --region eu-west-1
#eval $(aws ecr get-login --no-include-email --region eu-west-1 | sed 's|https://||')
#ssh-copy-id -i ./keys/id_rsa.pub admin@10.10.10.13
ansible-playbook -e env=${CYCLOID_ENV} -u admin -b -i inventory playbook.yml -c local
Verify DNS, then:
export AWS_ACCESS_KEY_ID=XXXXX
export AWS_SECRET_ACCESS_KEY=XXXXX
aws ecr get-login --no-include-email --region eu-west-1
eval $(aws ecr get-login --no-include-email --region eu-west-1 | sed 's|https://||')
docker pull vault:1.1.3
docker pull mariadb:10.2.11
docker pull mailhog/mailhog:v1.0.0
docker pull redis:5.0
docker pull postgres:9.6
docker pull concourse/concourse:5.7.2
docker pull 661913936052.dkr.ecr.eu-west-1.amazonaws.com/youdeploy-http-api:prod
docker_service_state: started docker_service_enabled: true docker_restart_handler_state: restarted
docker_install_compose: false docker_compose_version: "1.25.5" docker_compose_path: /usr/local/bin/docker-compose
docker_edition: '' #docker_edition: 'ce' #docker_package: "docker-{{ docker_edition }}" docker_package: "docker" docker_package_state: present
ansible-playbook -u admin -b -i inventory adhoc/uninstall.yml
After reboot ansible-playbook -e env=${CYCLOID_ENV} -u admin -b -i inventory vault_unseal.yml for image in
docker images | awk -F" " '{print $3}'|grep -e ^[0-9]
; do docker rmi -f $image; done systemctl stop cycloid-* systemctl stop concourse-* systemctl stop vault_container.service