From d6f22a2af48f83d63b5381118d2029797458194e Mon Sep 17 00:00:00 2001
From: Ludovic Pouzenc <ludovic@pouzenc.fr>
Date: Sat, 20 Sep 2014 09:17:18 +0200
Subject: Early development stages (before SCM) : WIP_1

Early development stages (before SCM) : WIP_2

Early development stages (before SCM) : WIP_3

Early development stages (before SCM) : WIP_4

Early development stages (before SCM) : WIP_6

Early development stages (before SCM) : WIP_7

Early development stages (before SCM) : WIP_8

Adds documentation folder as an Eclipse project.
Adds README for github.

Decent source tree by tuning Eclise project's location

One forgetten file while movign everything :)

Adding Copyright, licencing (GPL v3), correcting README
---
 src/main/conf/connections.yaml       | 18 ++++++++++++
 src/main/conf/log4j.properties       | 29 +++++++++++++++++++
 src/main/conf/queries/people.sql     |  5 ++++
 src/main/conf/queries/structures.sql |  5 ++++
 src/main/conf/sssync.yaml            | 56 ++++++++++++++++++++++++++++++++++++
 5 files changed, 113 insertions(+)
 create mode 100644 src/main/conf/connections.yaml
 create mode 100644 src/main/conf/log4j.properties
 create mode 100644 src/main/conf/queries/people.sql
 create mode 100644 src/main/conf/queries/structures.sql
 create mode 100644 src/main/conf/sssync.yaml

(limited to 'src/main/conf')

diff --git a/src/main/conf/connections.yaml b/src/main/conf/connections.yaml
new file mode 100644
index 0000000..1918d02
--- /dev/null
+++ b/src/main/conf/connections.yaml
@@ -0,0 +1,18 @@
+# This file contains credentials (should be readable only by SSSync)
+connections:
+  - id  : mysql_1
+    type: jdbc
+    dbms: mysql
+    host: localhost
+    port: 3306
+    user: root
+    pass: secret
+    db  : sssync
+
+  - id  : ldap_1
+    type: ldap
+    host: localhost
+    port: 389
+    bind: uid=ldapadmin,ou=specialUsers,dc=univ-jfc,dc=fr
+    pass: secret
+
diff --git a/src/main/conf/log4j.properties b/src/main/conf/log4j.properties
new file mode 100644
index 0000000..6dccde8
--- /dev/null
+++ b/src/main/conf/log4j.properties
@@ -0,0 +1,29 @@
+#
+# our log4j properties / configuration file
+#
+# STDOUT appender
+log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
+log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout
+log4j.appender.STDOUT.layout.ConversionPattern=%d %p [%t] %C{1} - %m\n
+
+
+# Normal operation mode
+log4j.category.SSSync=INFO, STDOUT
+# Configuration dump
+#log4j.category.SSSync=DEBUG, STDOUT
+
+# Normal operation mode (currently nothing more in DEBUG or TRACE modes)
+log4j.category.data.io.SafeDataReader=INFO, STDOUT
+
+# Normal operation mode
+#log4j.category.sync.BasicSyncTask=INFO, STDOUT
+# Trace insert/update/delete operation
+log4j.category.sync.BasicSyncTask=DEBUG, STDOUT
+# Trace every key comparison
+#log4j.category.sync.BasicSyncTask=TRACE, STDOUT
+
+# Keep silent about memory and GC
+log4j.category.utils.JVMStatsDumper=INFO, STDOUT
+# Trace memory usage/GC + dump configuration
+#log4j.category.utils.JVMStatsDumper=DEBUG, STDOUT
+
diff --git a/src/main/conf/queries/people.sql b/src/main/conf/queries/people.sql
new file mode 100644
index 0000000..ab66d5f
--- /dev/null
+++ b/src/main/conf/queries/people.sql
@@ -0,0 +1,5 @@
+SELECT
+	p.*,
+	"person;posixAccount;top" as objectClass
+FROM sssync.people p
+ORDER BY 1 ASC;
diff --git a/src/main/conf/queries/structures.sql b/src/main/conf/queries/structures.sql
new file mode 100644
index 0000000..626273c
--- /dev/null
+++ b/src/main/conf/queries/structures.sql
@@ -0,0 +1,5 @@
+SELECT
+	s.*,
+	"supannEntite;organizationalUnit;top" as objectClass
+FROM sssync.structures s
+ORDER BY 1 ASC;
diff --git a/src/main/conf/sssync.yaml b/src/main/conf/sssync.yaml
new file mode 100644
index 0000000..b285a37
--- /dev/null
+++ b/src/main/conf/sssync.yaml
@@ -0,0 +1,56 @@
+# This YAML file describe all synchronization tasks, with their readers and writers
+
+globals:
+    maxExecTime: 3 # minutes
+
+tasks:
+  - name: People sync
+    opLimits:
+        insert: 300
+        update: 300
+        delete: 300
+    sources:
+      - name: GHRUM, comptes et personnes
+        kind: sql
+        conn: mysql_1
+        mode: PRIMARY_SOURCE
+        query: conf/queries/people.sql
+
+      - name: CSV personnes additionnelles
+        kind: csv
+        mode: MERGE_APPEND
+        path: data/people_append.csv
+
+      - name: CSV correctifs personnes
+        kind: csv
+        mode: MERGE_REPLACE
+        path: data/people_replace.csv
+
+    destination:
+        name: LDAP de test, ou=people
+        kind: ldap
+        conn: ldap_1
+        attr: uid
+        base: ou=people,dc=univ-jfc,dc=fr
+
+  - name: Structure sync
+    opLimits:
+        insert: 10
+        update: 10
+        delete: 10
+    sources:
+      - name: GHRUM, structures
+        kind: sql
+        conn: mysql_1
+        mode: PRIMARY_SOURCE
+        query: conf/queries/structures.sql
+        
+    destination:
+        name: LDAP de test, ou=structures
+        kind: ldap
+        conn: ldap_1
+        attr: supannCodeEntite
+        base: ou=structures,dc=univ-jfc,dc=fr
+        
+    skipEntryDelete: true
+    skipReadErrors: true
\ No newline at end of file
-- 
cgit v1.2.3