Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Repository - https://github.com/project-sunbird/sunbird-devops

Cloud specific ansible role

  • We will need to create an OCI specific ansible role which can perform tasks such as upload / download / delete of files and folders etc.

  • Take a look at one of the existing cloud provider role such as AWS / GCP to understand what all operations are required as part of the role.

Cloud specific Elasticsearch plugin

  • We will need to create an OCI specific ansible role which can perform elasticsearch snapshot

  • Take a look at one of the existing cloud provider role such as AWS / GCP to understand the snapshot approach

  • Under the hood, we are using the cloud provider plugin for elasticsearch snapshot - https://www.elastic.co/guide/en/elasticsearch/plugins/6.8/repository.html

  • The plugin gets installed and configured using the ansible role

Ansible tasks related to storage buckets

Below is a sample block which uploads to AWS S3 bucket (https://github.com/project-sunbird/sunbird-devops/blob/release-5.1.0/ansible/artifacts-upload.yml#L30-L41 )

...

Code Block
ansible/dial_upload-schema.yml
ansible/uploadFAQs.yml
ansible/deploy-plugins.yml
ansible/desktop-faq-upload.yml
ansible/artifacts-upload.yml
ansible/es.yml
ansible/kp_upload-schema.yml
ansible/roles/prometheus-backup-v2/tasks/main.yml
ansible/roles/postgresql-backup/tasks/main.yml
ansible/roles/prometheus-restore/tasks/main.yml
ansible/roles/cert-templates/tasks/main.yml
ansible/roles/prometheus-backup/tasks/main.yml
ansible/roles/cassandra-backup/tasks/main.yml
ansible/roles/postgres-managed-service-restore/tasks/main.yml
ansible/roles/desktop-deploy/tasks/main.yml
ansible/roles/cassandra-restore/tasks/main.yml
ansible/roles/jenkins-backup-upload/tasks/main.yml
ansible/roles/mongodb-backup/tasks/main.yml
ansible/roles/redis-backup/tasks/main.yml
ansible/roles/postgresql-restore/tasks/main.yml
ansible/roles/es6/tasks/main.yml
ansible/roles/log-es6/tasks/main.yml
ansible/roles/postgres-managed-service-backup/tasks/main.yml
ansible/roles/grafana-backup/tasks/main.yml
ansible/assets-upload.yml
ansible/artifacts-download.yml
ansible/plugins.yml

Ansible Variables Private Repo Templates

  • All the cloud specific variables (for example, bucket name, access key, secret key etc.) are provided to adopters using ansible variable template files

  • The ansible variable template files need to be updated to include OCI specific variables so that a user is aware on what variables need to be filled based on the cloud provider

  • The templates are located here - https://github.com/project-sunbird/sunbird-devops/tree/release-5.1.0/private_repo/ansible/inventory/dev

  • An adopter updates all the files mentioned in the above url which also includes the cloud specific variables

Repository - https://github.com/project-sunbird/sunbird-learning-platform/

  • The implementation is same as the previous section (no private repo template in this repo, its part of the previous section)

  • Below is the list of files that require the changes

Code Block
ansible/artifacts-upload.yml
ansible/roles/cassandra-backup/tasks/main.yml
ansible/roles/cassandra-restore/tasks/main.yml
ansible/roles/redis-backup/tasks/main.yml
ansible/roles/neo4j-backup/tasks/main.yml
ansible/roles/neo4j-restore/tasks/main.yml
ansible/roles/redis-restore/tasks/main.yml
ansible/artifacts-download.yml
ansible/es_backup.yml

Repository - https://github.com/Sunbird-Obsrv/sunbird-data-pipeline

  • The implementation is same as the previous section (no private repo template in this repo, its part of the previous section)

  • Below is the list of files that require the changes

...