Ansible is the configuration management system used in Sunbird. The infrastructure setup, deployment of services and other configurations is handled primarily through ansible.
Use the following git commands sequentially to clone and update your private GitHub repository -
git clone https://github.com/project-sunbird/sunbird-devops
cd sunbird-devops
git checkout tags/release-4.10.0 -b release-4.10.0
- Copy the directory
sunbird-devops/private_repo/ansible
to your private repo - Update the files common.yml, hosts, and secrets.yml under Core, KnowledgePlatform and DataPipeline directories. After updating, push them to your private repo branch
- Your private repo structure starting from the root path should be exactly as shown below
ansible
└── inventory
└── dev
├── Core
│ ├── common.yml
│ ├── hosts
│ └── secrets.yml
├── DataPipeline
│ ├── common.yml
│ ├── hosts
│ └── secrets.yml
└── KnowledgePlatform
├── common.yml
├── hosts
└── secrets.yml
Note:
- The ansible inventory setup is a must before we can start to run jobs from the Provision, ArtifactUpload and Deploy directory in Jenkins. The Build directory on Jenkins does not depend on the ansible variables
- It is highly recommended that you complete the ansible inventory updates before proceeding further
Module | Servers | Service | Ansible Group Names |
---|---|---|---|
Build and Deploy | Server-1 | Jenkins Master | |
Databases | Server-2 | Cassandra | cassandra-1, lp-cassandra, dp-cassandra, core-cassandra, report-cassandra, cassandra-node-1, cassandra |
Postgres | postgresql-master-1, postgresql-master, postgres | ||
Application Elasticsearch | es-1, composite-search-cluster, core-es-1, core-es, es-backup, es | ||
Neo4j | learning-neo4j-node1, learning-neo4j-cluster | ||
Mongo | mongo_master, mongo | ||
Knowledge Platform | Server-3 | Learning | learning1, learning, learningall |
Redis | redis1, redis, redis-ps, redisall, lp-redis, lp-redis-ps, dp-redis, lms-redis, redis-exporter-targets | ||
Zookeeper | processing-cluster-zookeepers, ingestion-cluster-zookeeper, raw-zookeeper, zookeeper | ||
Kafka | processing-cluster-kafka, ingestion-cluster-kafka, kafka-1, kafka | ||
Data Pipeline | Server-4 | Spark | spark |
Kafka Indexer (Logstash) | kafka-indexer | ||
InfluxDB | influxdb | ||
Keycloak | keycloak-1, keycloak | ||
Yarn | Server-5 | Yarn Master and Slave | yarn-master, yarn-slave, yarn |
Other Services | Server-6 | Druid | druid-postgres, raw-coordinator, raw-overlord, raw-broker, raw-historical, raw-middlemanager, raw-graphite, rollup-coordinator, dp-druid-broker, broker, coordinator, druid-raw |
Logs Elasticsearch | log-es-1, log-es-backup, log-es | ||
\