diff --git a/ansible/artifacts/sunbird/login/info.ftl b/ansible/artifacts/sunbird/login/info.ftl new file mode 100755 index 0000000000000000000000000000000000000000..f151cfde5bfa6d8e7914d74767ac33d3d77bb31a --- /dev/null +++ b/ansible/artifacts/sunbird/login/info.ftl @@ -0,0 +1,26 @@ +<#import "template.ftl" as layout> +<@layout.registrationLayout displayMessage=false; section> + <#if section = "title"> + ${message.summary} + <#elseif section = "form"> + <div class="ui raised shadow container segment fullpage-background-image"> + <div class="ui three column grid stackable"> + <div class="ui column tablet only computer only"></div> + <div class="ui column height-fix"> + <div id="kc-info-message"> + <p class="instruction">${message.summary}</p> + <#if skipLink??> + <#else> + <#if pageRedirectUri??> + <p><a href="${pageRedirectUri}">${msg("backToApplication")}</a></p> + <#elseif client.baseUrl??> + <p><a href="${client.baseUrl}">${msg("backToApplication")}</a></p> + </#if> + </#if> + </div> + </div> + <div class="ui column tablet only computer only"></div> + </div> + </div> + </#if> +</@layout.registrationLayout> \ No newline at end of file diff --git a/ansible/inventory/env/group_vars/all.yml b/ansible/inventory/env/group_vars/all.yml index a0422f86d29862fa9b68e220607b6d84b29a7256..9ff6287bb5e854cf4f94c92def589a87cd90b7c0 100644 --- a/ansible/inventory/env/group_vars/all.yml +++ b/ansible/inventory/env/group_vars/all.yml @@ -84,8 +84,6 @@ kong_postgres_user: "{{core_vault_postgres_username}}" kong_postgres_password: "{{core_vault_postgres_password}}" enc_postgres_user: "{{core_vault_postgres_username}}" badger_postgres_user: "{{core_vault_postgres_username}}" -backup_storage_account: "{{azure_account_name}}" -backup_storage_key: "{{core_vault_sunbird_azure_storage_key}}" sunbird_account_name: "{{azure_account_name}}" sunbird_account_key: "{{core_vault_sunbird_azure_storage_key}}" ansible_vault_password: "{{ core_vault_ansible_vault_password }}" @@ -550,7 +548,8 @@ config_service_enabled: false config_cache_ttl: 600 #### backup storage secret -backup_azure_storage_access_key: "{{core_vault_azure_storage_secret}}" +backup_azure_storage_access_key: "{{core_vault_sunbird_azure_storage_key}}" +backup_azure_storage_account_name: "{{azure_account_name}}" #es-backup app_es_snapshot_host: "{{ groups['es'][0] }}" diff --git a/ansible/roles/docker-ce/defaults/main.yml b/ansible/roles/docker-ce/defaults/main.yml index 8ddc8939ce957192f37a51cefceb1f087096e59c..7c5e6a552a0b543ef8ad1d94866ac6865a296ea1 100644 --- a/ansible/roles/docker-ce/defaults/main.yml +++ b/ansible/roles/docker-ce/defaults/main.yml @@ -1,3 +1,4 @@ --- # defaults file for docker-ce docker_version: "18.03.1*" + diff --git a/ansible/roles/keycloak/tasks/provision.yml b/ansible/roles/keycloak/tasks/provision.yml index a0c7cda63d5f0ca74aecfa8c76c29e705378013f..cb63b11a3d0c3363ca9507641799e6886e11e7bf 100644 --- a/ansible/roles/keycloak/tasks/provision.yml +++ b/ansible/roles/keycloak/tasks/provision.yml @@ -10,6 +10,12 @@ - name: Copy service file to init.d template: src=keycloak-service.j2 dest=/etc/init.d/keycloak mode=0755 +- name: Installing unzip + become: yes + apt: + name: unzip + state: present + - name: Adding ENV Vars to bashrc lineinfile: path: '/etc/environment' diff --git a/ansible/roles/sunbird-auth-provision/tasks/install-keycloak.yml b/ansible/roles/sunbird-auth-provision/tasks/install-keycloak.yml index 9dd5e22540816ca41c7a6251fb5f00d6e260d147..4f5ab533e352dffae009e4d43c20bd618c1bc8f9 100644 --- a/ansible/roles/sunbird-auth-provision/tasks/install-keycloak.yml +++ b/ansible/roles/sunbird-auth-provision/tasks/install-keycloak.yml @@ -29,7 +29,7 @@ file: path=/opt owner={{wildfly_user}} group={{wildfly_group}} mode=0755 recurse=yes - name: Paste sunbird auth package on server - copy: src="sunbird_auth_{{sunbird_auth_version}}.zip" dest="/opt/" force=no owner={{wildfly_user}} group={{wildfly_group}} + copy: src="../../../sunbird_auth_{{sunbird_auth_version}}.zip" dest="/opt/" force=no owner={{wildfly_user}} group={{wildfly_group}} - name: extarct the folder unarchive: src="/opt/sunbird_auth_{{sunbird_auth_version}}.zip" dest=/opt/ copy=no owner={{wildfly_user}} group={{wildfly_group}} diff --git a/ansible/roles/sunbird-auth-provision/tasks/prerequisite.yml b/ansible/roles/sunbird-auth-provision/tasks/prerequisite.yml index 235cd386f124704fb98c5dca0157535db04b7a90..ba94607a5bb27ec3258d8f70487df175be7a39e9 100644 --- a/ansible/roles/sunbird-auth-provision/tasks/prerequisite.yml +++ b/ansible/roles/sunbird-auth-provision/tasks/prerequisite.yml @@ -9,3 +9,4 @@ - name: Copy service file to init.d template: src=roles/sunbird-auth-provision/templates/keycloak-service.j2 dest=/etc/init.d/keycloak mode=0755 + diff --git a/ansible/sunbird-auth-deploy.yml b/ansible/sunbird-auth-deploy.yml index 4c678b34c09dc1257e8525b28ccb73d439678ebd..b37ad6970c3b39b3828854d68580e3a7a3e40dec 100644 --- a/ansible/sunbird-auth-deploy.yml +++ b/ansible/sunbird-auth-deploy.yml @@ -1,5 +1,5 @@ --- -- hosts: all +- hosts: keycloak become: true vars_files: - ['{{inventory_dir}}/secrets.yml', 'secrets/{{env}}.yml'] diff --git a/ansible/sunbird-auth-provision.yml b/ansible/sunbird-auth-provision.yml index 3142f079d5779c354dd66fbcf0056917b1c7030a..11ca3f4736ea2b0db6dceba3b3f2e94d9874acc5 100644 --- a/ansible/sunbird-auth-provision.yml +++ b/ansible/sunbird-auth-provision.yml @@ -1,5 +1,5 @@ --- -- hosts: all +- hosts: keycloak become: true vars_files: - ['{{inventory_dir}}/secrets.yml', 'secrets/{{env}}.yml'] diff --git a/pipelines/backup/jenkins-backup-upload/Jenkinsfile b/pipelines/backup/jenkins-backup-upload/Jenkinsfile new file mode 100644 index 0000000000000000000000000000000000000000..a144c912bd4d15f6b3741f5b3d844facc9018736 --- /dev/null +++ b/pipelines/backup/jenkins-backup-upload/Jenkinsfile @@ -0,0 +1,50 @@ +@Library('deploy-conf') _ +node() { + try { + String ANSI_GREEN = "\u001B[32m" + String ANSI_NORMAL = "\u001B[0m" + String ANSI_BOLD = "\u001B[1m" + String ANSI_RED = "\u001B[31m" + String ANSI_YELLOW = "\u001B[33m" + + stage('checkout public repo') { + cleanWs() + checkout scm + } + + ansiColor('xterm') { + stage('deploy'){ + values = [:] + currentWs = sh(returnStdout: true, script: 'pwd').trim() + envDir = sh(returnStdout: true, script: "echo $JOB_NAME").split('/')[-3].trim() + module = sh(returnStdout: true, script: "echo $JOB_NAME").split('/')[-2].trim() + jobName = sh(returnStdout: true, script: "echo $JOB_NAME").split('/')[-1].trim() + ansiblePlaybook = "${currentWs}/ansible/jenkins-backup.yml" + ansibleExtraArgs = "--vault-password-file /var/lib/jenkins/secrets/vault-pass" + values.put('currentWs', currentWs) + values.put('env', envDir) + values.put('module', module) + values.put('jobName', jobName) + values.put('ansiblePlaybook', ansiblePlaybook) + values.put('ansibleExtraArgs', ansibleExtraArgs) + println values + ansible_playbook_run(values) + } + } + currentBuild.result = 'SUCCESS' + } + catch (err) { + currentBuild.result = 'FAILURE' + slackSend ( + channel: "${env.NOTIFY_SLACK_CHANNEL}", + color: 'danger', + message: "Build Failed - ${env.JOB_NAME} ${env.BUILD_NUMBER} (<${env.BUILD_URL}|Open>)" + ) + throw err + } finally { + step([$class: 'Mailer', + notifyEveryUnstableBuild: true, + recipients: "${env.NOTIFY_EMAIL_ADDRESS}", + sendToIndividuals: true]) + } +} diff --git a/private_repo/ansible/inventory/dev/Core/common.yml b/private_repo/ansible/inventory/dev/Core/common.yml index cb8cd650c60bc4c28afef75b6fa2e0cd759690e9..df24b8ef8392f0634ee92fc010f188b5b154267b 100644 --- a/private_repo/ansible/inventory/dev/Core/common.yml +++ b/private_repo/ansible/inventory/dev/Core/common.yml @@ -66,3 +66,5 @@ keycloak_ekstep_sunbird_login_theme_file: "login.tar.gz" keycloak_ekstep_sunbird_login_theme_dest: "/opt/keycloak/themes/sunbird/login" keycloak_postgresql: "postgresql-9.4.1212.jar" sunbird_auth_version: 1.0v + + diff --git a/private_repo/ansible/inventory/dev/Core/hosts b/private_repo/ansible/inventory/dev/Core/hosts index b0661d7bd8e81104004d8e4ffcf16351febacef6..6a7d19569932e1599357835651735f31cfc4a7de 100644 --- a/private_repo/ansible/inventory/dev/Core/hosts +++ b/private_repo/ansible/inventory/dev/Core/hosts @@ -18,35 +18,35 @@ swarm-agent-for-prometheus [swarm-manager:children] swarm-manager-1 -[keycloak-1] +[keycloak-1] 18.0.0.9 [keycloak:children] keycloak-1 -[log-es-1] -18.0.0.15 node_name=refactor-log-es-1 es_etc_node_master=true es_etc_node_data=true +[log-es-1] +18.0.0.15 node_name=refactor-log-es-1 es_etc_node_master=true es_etc_node_data=true [log-es:children] log-es-1 -[swarm-agent-for-prometheus-1] -18.0.0.15 +[swarm-agent-for-prometheus-1] +18.0.0.15 [swarm-agent-for-prometheus:children] swarm-agent-for-prometheus-1 -[swarm-agent-for-grafana-1] +[swarm-agent-for-grafana-1] 18.0.0.15 [swarm-agent-for-grafana:children] swarm-agent-for-grafana-1 -[swarm-agent-for-alertmanager-1] +[swarm-agent-for-alertmanager-1] 18.0.0.15 -[es-1] +[es-1] 18.0.0.9 es_instance_name=es-1 es_etc_node_master=true es_etc_node_data=true [es-backup:children] @@ -58,20 +58,20 @@ log-es-1 [es:children] es-1 -[cassandra-1] +[cassandra-1] 18.0.0.9 [cassandra:children] cassandra-1 -[postgresql-master-1] -18.0.0.9 +[postgresql-master-1] +18.0.0.9 [postgresql-master:children] postgresql-master-1 -[postgresql-slave-1] -18.0.0.9 +[postgresql-slave-1] +18.0.0.9 [postgresql-slave:children] postgresql-slave-1 @@ -81,7 +81,7 @@ postgresql-slave postgresql-master [kafka-1] -18.0.0.13 kafka_id=1 +18.0.0.13 kafka_id=1 [processing-cluster-kafka] 18.0.0.13 diff --git a/private_repo/ansible/inventory/dev/DataPipeline/common.yml b/private_repo/ansible/inventory/dev/DataPipeline/common.yml index bd03ee5a0ea0e9347727e968c34f80a2a4851733..6cfaa8bc5c637d0df94fb1a7c0f531ffae35ca3b 100644 --- a/private_repo/ansible/inventory/dev/DataPipeline/common.yml +++ b/private_repo/ansible/inventory/dev/DataPipeline/common.yml @@ -7,27 +7,21 @@ domain_name: ssh_public_key_deployer: bootstrap_user: bootstrap_key_path: -ansible_ssh_private_key_file: #################### DP ########################## - - -# Every where the value is telemetry-data-store -# Shall we change the value to telemetry-data-store in dev also? -# What's the implication -# Is it azure blob or s3 bucket?? # Is it same as `channel_data_exhaust_bucket` -secor_azure_container_name: +secor_azure_container_name: "" +secor_alerts_slack_channel: "" dp_azure_account_name: # azure storage account name -default_org_hash_id: # channel id of the organization +default_org_hash_id: "" # channel id of the organization # Data products monitoring web hooks -data_exhaust_webhook_url: "" -data_exhaust_Channel: "" -data_exhaust_name: -bucket: +data_exhaust_webhook_url: "" ####Slack webhook +data_exhaust_Channel: "" ### salck channel for data products alerts +data_exhaust_name: +bucket: #### same as secor_azure_container_name stream_base_url: "" # Media content @@ -38,3 +32,11 @@ media_service_azure_account_name: "" media_service_azure_resource_group_name: "" media_service_azure_token_client_key: "" media_service_azure_token_client_secret: "" + +# kafka topic required by core # +# Please do not change this # +ingestion_kafka_topics: + - name: telemetry.ingestion + num_of_partitions: 4 + replication_factor: 1 + retention_time: 604800000 diff --git a/private_repo/ansible/inventory/dev/DataPipeline/hosts b/private_repo/ansible/inventory/dev/DataPipeline/hosts index dd06977aab3a04278584685f7fbab2989780e6c2..919631f7f43c67b65b2ccbc9b5876f1721ff9dce 100644 --- a/private_repo/ansible/inventory/dev/DataPipeline/hosts +++ b/private_repo/ansible/inventory/dev/DataPipeline/hosts @@ -4,6 +4,10 @@ # Sunbird zookeeper [ingestion-cluster-zookeepers] +15.0.0.8 + +[core-cassandra] +15.0.0.7 ################# LP ########################## @@ -108,7 +112,7 @@ dp [env:vars] ansible_ssh_user=deployer -ansible_ssh_private_key_file=/run/secrets/deployer_ssh_key +ansible_ssh_private_key_file=/var/lib/jenkins/secrets/deployer_ssh_key ########################### Monitoring ########################## @@ -142,4 +146,4 @@ kafka-ps [all:vars] ansible_ssh_user=deployer -ansible_ssh_private_key_file=/run/secrets/deployer_ssh_key +ansible_ssh_private_key_file=/var/lib/jenkins/secrets/deployer_ssh_key diff --git a/private_repo/ansible/inventory/dev/KnowledgePlatform/common.yml b/private_repo/ansible/inventory/dev/KnowledgePlatform/common.yml index dbe746e47f9225d19be6a850610021b5909abc74..05ff5d7861ec82bec9b537790597f330dba55419 100644 --- a/private_repo/ansible/inventory/dev/KnowledgePlatform/common.yml +++ b/private_repo/ansible/inventory/dev/KnowledgePlatform/common.yml @@ -32,9 +32,11 @@ artifacts_container: neo4j_zip: neo4j-enterprise-3.3.9-unix.tar.gz # neo4j enterprise version.zip present in the artifacts folder +neo4j_home: "{{learner_user_home}}/{{neo4j_dir}}/neo4j-enterprise-3.3.9" # Change this path to the version of neo4j you will be using neo4j_enterprise: "true" -## Cassandra-backup -cassandra_backup_azure_container_name: -default_org_hash_id: # channel id of the organization +## backup +backup_azure_storage_account_name: sunbirdbackupsdev +### overriding backup secret +backup_azure_storage_access_key: "{{lp_vault_backup_azure_storage_secret}}" diff --git a/private_repo/ansible/inventory/dev/KnowledgePlatform/hosts b/private_repo/ansible/inventory/dev/KnowledgePlatform/hosts index cb141a673ecd37c1ea7abb155aa9f1620fd13938..d67f201cf7a6f14f748e1b6eaa42edfb0e7d4112 100644 --- a/private_repo/ansible/inventory/dev/KnowledgePlatform/hosts +++ b/private_repo/ansible/inventory/dev/KnowledgePlatform/hosts @@ -83,8 +83,8 @@ lp swarm-bootstrap-manager [env:vars] -ansible_ssh_user="deployer" -ansible_ssh_private_key_file=/run/secrets/deployer_ssh_key +ansible_ssh_user=deployer +ansible_ssh_private_key_file=/var/lib/jenkins/secrets/deployer_ssh_key ####################### Monitoring ######################## [logstash-ps] @@ -98,9 +98,9 @@ cassandra-ps 15.0.2.7 [process-exporter:vars] -ansible_ssh_user="deployer" -ansible_ssh_private_key_file=/run/secrets/deployer_ssh_key +ansible_ssh_user=deployer +ansible_ssh_private_key_file=/var/lib/jenkins/secrets/deployer_ssh_key [all:vars] ansible_ssh_user=deployer -ansible_ssh_private_key_file=/run/secrets/deployer_ssh_key +ansible_ssh_private_key_file=/var/lib/jenkins/secrets/deployer_ssh_key