mirror of
https://github.com/eiblog/eiblog.git
synced 2026-03-01 00:34:58 +08:00
add vendor
This commit is contained in:
+20
@@ -0,0 +1,20 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDLjCCAhYCAQcwDQYJKoZIhvcNAQELBQAwXDELMAkGA1UEBhMCR08xDDAKBgNV
|
||||
BAgMA01HTzEMMAoGA1UEBwwDTUdPMQwwCgYDVQQKDANNR08xDzANBgNVBAsMBlNl
|
||||
cnZlcjESMBAGA1UEAwwJbG9jYWxob3N0MCAXDTE1MDkyOTA4NDAzMFoYDzIxMTUw
|
||||
OTA1MDg0MDMwWjBcMQswCQYDVQQGEwJHTzEMMAoGA1UECAwDTUdPMQwwCgYDVQQH
|
||||
DANNR08xDDAKBgNVBAoMA01HTzEPMA0GA1UECwwGQ2xpZW50MRIwEAYDVQQDDAls
|
||||
b2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC0UiQhmT+H
|
||||
4IIqrn8SMESDzvcl3rwImwUoRIHlmXkovCIZCbvBCJ1nAu6X5zIN89EPPOjfNrgZ
|
||||
616wPgVV/YEQXp+D7+jTAsE5s8JepRXFdecResmvh/+0i2DSuI4QFsuyVAPM1O0I
|
||||
AQ5EKgr0weZZmsX6lhPD4uYehV4DxDE0i/8aTAlDoNgRCAJrYFMharRTDdY7bQzd
|
||||
7ZYab/pK/3DSmOKxl/AFJ8Enmcj9w1bsvy0fgAgoGEBnBru80PRFpFiqk72TJkXO
|
||||
Hx7zcYFpegtKPbAreTCModaCnjP//fskCp4XJrkfH5+01NeeX/r1OfEbjgE/wzzx
|
||||
l8NaWnPCmxNfAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAFwYpje3dCLDOIHYjd+5
|
||||
CpFOEb+bJsS4ryqm/NblTjIhCLo58hNpMsBqdJHRbHAFRCOE8fvY8yiWtdHeFZcW
|
||||
DgVRAXfHONLtN7faZaZQnhy/YzOhLfC/8dUMB0gQA8KXhBCPZqQmexE28AfkEO47
|
||||
PwICAxIWINfjm5VnFMkA3b7bDNLHon/pev2m7HqVQ3pRUJQNK3XgFOdDgRrnuXpR
|
||||
OKAfHORHVGTh1gf1DVwc0oM+0gnkSiJ1VG0n5pE3zhZ24fmZxu6JQ6X515W7APQI
|
||||
/nKVH+f1Fo+ustyTNLt8Bwxi1XmwT7IXwnkVSE9Ff6VejppXRF01V0aaWsa3kU3r
|
||||
z3A=
|
||||
-----END CERTIFICATE-----
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIIEogIBAAKCAQEAtFIkIZk/h+CCKq5/EjBEg873Jd68CJsFKESB5Zl5KLwiGQm7
|
||||
wQidZwLul+cyDfPRDzzo3za4GetesD4FVf2BEF6fg+/o0wLBObPCXqUVxXXnEXrJ
|
||||
r4f/tItg0riOEBbLslQDzNTtCAEORCoK9MHmWZrF+pYTw+LmHoVeA8QxNIv/GkwJ
|
||||
Q6DYEQgCa2BTIWq0Uw3WO20M3e2WGm/6Sv9w0pjisZfwBSfBJ5nI/cNW7L8tH4AI
|
||||
KBhAZwa7vND0RaRYqpO9kyZFzh8e83GBaXoLSj2wK3kwjKHWgp4z//37JAqeFya5
|
||||
Hx+ftNTXnl/69TnxG44BP8M88ZfDWlpzwpsTXwIDAQABAoIBADzCjOAxZkHfuZyu
|
||||
La0wTHXpkEfXdJ6ltagq5WY7P6MlOYwcRoK152vlhgXzZl9jL6ely4YjRwec0swq
|
||||
KdwezpV4fOGVPmuTuw45bx47HEnr/49ZQ4p9FgF9EYQPofbz53FQc/NaMACJcogv
|
||||
bn+osniw+VMFrOVNmGLiZ5p3Smk8zfXE7GRHO8CL5hpWLWO/aK236yytbfWOjM2f
|
||||
Pr76ICb26TPRNzYaYUEThU6DtgdLU8pLnJ6QKKaDsjn+zqQzRa+Nvc0c0K8gvWwA
|
||||
Afq7t0325+uMSwfpLgCOFldcaZQ5uvteJ0CAVRq1MvStnSHBmMzPlgS+NzsDm6lp
|
||||
QH5+rIkCgYEA5j3jrWsv7TueTNbk8Hr/Zwywc+fA2Ex0pBURBHlHyc6ahSXWSCqo
|
||||
DtvRGX0GDoK1lCfaIf1qb/DLlGaoHpkEeqcNhXQ+hHs+bZAxfbfBY9+ikit5ZTtl
|
||||
QN1tIlhaiyLDnwhkpi/hMw1tiouxJUf84Io61z0sCL4hyZSPCpjn0H0CgYEAyH6F
|
||||
Mwl+bCD3VDL/Dr5WSoOr2B/M3bF5SfvdStwy2IPcDJ716je1Ud/2qFCnKGgqvWhJ
|
||||
+HU15c7CjAWo7/pXq2/pEMD8fDKTYww4Hr4p6duEA7DpbOGkwcUX8u3eknxUWT9F
|
||||
jOSbTCvAxuDOC1K3AElyMxVVTNUrFFe8M84R9gsCgYBXmb6RkdG3WlKde7m5gaLB
|
||||
K4PLZabq5RQQBe/mmtpkfxYtiLrh1FEC7kG9h+MRDExX5V3KRugDVUOv3+shUSjy
|
||||
HbM4ToUm1NloyE78PTj4bfMl2CKlEJcyucy3H5S7kWuKi5/31wnA6d/+sa2huKUP
|
||||
Lai7kgu5+9VRJBPUfV7d5QKBgCnhk/13TDtWH5QtGu5/gBMMskbxTaA5xHZZ8H4E
|
||||
xXJJCRxx0Dje7jduK145itF8AQGT2W/XPC0HJciOHh4TE2EyfWMMjTF8dyFHmimB
|
||||
28uIGWmT+Q7Pi9UWUMxkOAwtgIksGGE4F+CvexOQPjpLSwL6VKqrGCh2lwsm0J+Z
|
||||
ulLFAoGAKlC93c6XEj1A31c1+usdEhUe9BrmTqtSYLYpDNpeMLdZ3VctrAZuOQPZ
|
||||
4A4gkkQkqqwZGBYYSEqwqiLU6MsBdHPPZ9u3JXLLOQuh1xGeaKylvHj7qx6iT0Xo
|
||||
I+FkJ6/3JeMgOina/+wlzD4oyQpqR4Mnh+TuLkDfQTgY+Lg0WPk=
|
||||
-----END RSA PRIVATE KEY-----
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
To regenerate the key:
|
||||
|
||||
openssl req -newkey rsa:2048 -new -x509 -days 36500 -nodes -out server.crt -keyout server.key
|
||||
cat server.key server.crt > server.pem
|
||||
openssl genrsa -out client.key 2048
|
||||
openssl req -key client.key -new -out client.req
|
||||
openssl x509 -req -in client.req -CA server.crt -CAkey server.key -days 36500 -CAserial file.srl -out client.crt
|
||||
cat client.key client.crt > client.pem
|
||||
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIIEogIBAAKCAQEAtFIkIZk/h+CCKq5/EjBEg873Jd68CJsFKESB5Zl5KLwiGQm7
|
||||
wQidZwLul+cyDfPRDzzo3za4GetesD4FVf2BEF6fg+/o0wLBObPCXqUVxXXnEXrJ
|
||||
r4f/tItg0riOEBbLslQDzNTtCAEORCoK9MHmWZrF+pYTw+LmHoVeA8QxNIv/GkwJ
|
||||
Q6DYEQgCa2BTIWq0Uw3WO20M3e2WGm/6Sv9w0pjisZfwBSfBJ5nI/cNW7L8tH4AI
|
||||
KBhAZwa7vND0RaRYqpO9kyZFzh8e83GBaXoLSj2wK3kwjKHWgp4z//37JAqeFya5
|
||||
Hx+ftNTXnl/69TnxG44BP8M88ZfDWlpzwpsTXwIDAQABAoIBADzCjOAxZkHfuZyu
|
||||
La0wTHXpkEfXdJ6ltagq5WY7P6MlOYwcRoK152vlhgXzZl9jL6ely4YjRwec0swq
|
||||
KdwezpV4fOGVPmuTuw45bx47HEnr/49ZQ4p9FgF9EYQPofbz53FQc/NaMACJcogv
|
||||
bn+osniw+VMFrOVNmGLiZ5p3Smk8zfXE7GRHO8CL5hpWLWO/aK236yytbfWOjM2f
|
||||
Pr76ICb26TPRNzYaYUEThU6DtgdLU8pLnJ6QKKaDsjn+zqQzRa+Nvc0c0K8gvWwA
|
||||
Afq7t0325+uMSwfpLgCOFldcaZQ5uvteJ0CAVRq1MvStnSHBmMzPlgS+NzsDm6lp
|
||||
QH5+rIkCgYEA5j3jrWsv7TueTNbk8Hr/Zwywc+fA2Ex0pBURBHlHyc6ahSXWSCqo
|
||||
DtvRGX0GDoK1lCfaIf1qb/DLlGaoHpkEeqcNhXQ+hHs+bZAxfbfBY9+ikit5ZTtl
|
||||
QN1tIlhaiyLDnwhkpi/hMw1tiouxJUf84Io61z0sCL4hyZSPCpjn0H0CgYEAyH6F
|
||||
Mwl+bCD3VDL/Dr5WSoOr2B/M3bF5SfvdStwy2IPcDJ716je1Ud/2qFCnKGgqvWhJ
|
||||
+HU15c7CjAWo7/pXq2/pEMD8fDKTYww4Hr4p6duEA7DpbOGkwcUX8u3eknxUWT9F
|
||||
jOSbTCvAxuDOC1K3AElyMxVVTNUrFFe8M84R9gsCgYBXmb6RkdG3WlKde7m5gaLB
|
||||
K4PLZabq5RQQBe/mmtpkfxYtiLrh1FEC7kG9h+MRDExX5V3KRugDVUOv3+shUSjy
|
||||
HbM4ToUm1NloyE78PTj4bfMl2CKlEJcyucy3H5S7kWuKi5/31wnA6d/+sa2huKUP
|
||||
Lai7kgu5+9VRJBPUfV7d5QKBgCnhk/13TDtWH5QtGu5/gBMMskbxTaA5xHZZ8H4E
|
||||
xXJJCRxx0Dje7jduK145itF8AQGT2W/XPC0HJciOHh4TE2EyfWMMjTF8dyFHmimB
|
||||
28uIGWmT+Q7Pi9UWUMxkOAwtgIksGGE4F+CvexOQPjpLSwL6VKqrGCh2lwsm0J+Z
|
||||
ulLFAoGAKlC93c6XEj1A31c1+usdEhUe9BrmTqtSYLYpDNpeMLdZ3VctrAZuOQPZ
|
||||
4A4gkkQkqqwZGBYYSEqwqiLU6MsBdHPPZ9u3JXLLOQuh1xGeaKylvHj7qx6iT0Xo
|
||||
I+FkJ6/3JeMgOina/+wlzD4oyQpqR4Mnh+TuLkDfQTgY+Lg0WPk=
|
||||
-----END RSA PRIVATE KEY-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDLjCCAhYCAQcwDQYJKoZIhvcNAQELBQAwXDELMAkGA1UEBhMCR08xDDAKBgNV
|
||||
BAgMA01HTzEMMAoGA1UEBwwDTUdPMQwwCgYDVQQKDANNR08xDzANBgNVBAsMBlNl
|
||||
cnZlcjESMBAGA1UEAwwJbG9jYWxob3N0MCAXDTE1MDkyOTA4NDAzMFoYDzIxMTUw
|
||||
OTA1MDg0MDMwWjBcMQswCQYDVQQGEwJHTzEMMAoGA1UECAwDTUdPMQwwCgYDVQQH
|
||||
DANNR08xDDAKBgNVBAoMA01HTzEPMA0GA1UECwwGQ2xpZW50MRIwEAYDVQQDDAls
|
||||
b2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC0UiQhmT+H
|
||||
4IIqrn8SMESDzvcl3rwImwUoRIHlmXkovCIZCbvBCJ1nAu6X5zIN89EPPOjfNrgZ
|
||||
616wPgVV/YEQXp+D7+jTAsE5s8JepRXFdecResmvh/+0i2DSuI4QFsuyVAPM1O0I
|
||||
AQ5EKgr0weZZmsX6lhPD4uYehV4DxDE0i/8aTAlDoNgRCAJrYFMharRTDdY7bQzd
|
||||
7ZYab/pK/3DSmOKxl/AFJ8Enmcj9w1bsvy0fgAgoGEBnBru80PRFpFiqk72TJkXO
|
||||
Hx7zcYFpegtKPbAreTCModaCnjP//fskCp4XJrkfH5+01NeeX/r1OfEbjgE/wzzx
|
||||
l8NaWnPCmxNfAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAFwYpje3dCLDOIHYjd+5
|
||||
CpFOEb+bJsS4ryqm/NblTjIhCLo58hNpMsBqdJHRbHAFRCOE8fvY8yiWtdHeFZcW
|
||||
DgVRAXfHONLtN7faZaZQnhy/YzOhLfC/8dUMB0gQA8KXhBCPZqQmexE28AfkEO47
|
||||
PwICAxIWINfjm5VnFMkA3b7bDNLHon/pev2m7HqVQ3pRUJQNK3XgFOdDgRrnuXpR
|
||||
OKAfHORHVGTh1gf1DVwc0oM+0gnkSiJ1VG0n5pE3zhZ24fmZxu6JQ6X515W7APQI
|
||||
/nKVH+f1Fo+ustyTNLt8Bwxi1XmwT7IXwnkVSE9Ff6VejppXRF01V0aaWsa3kU3r
|
||||
z3A=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
-----BEGIN CERTIFICATE REQUEST-----
|
||||
MIICoTCCAYkCAQAwXDELMAkGA1UEBhMCR08xDDAKBgNVBAgMA01HTzEMMAoGA1UE
|
||||
BwwDTUdPMQwwCgYDVQQKDANNR08xDzANBgNVBAsMBkNsaWVudDESMBAGA1UEAwwJ
|
||||
bG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtFIkIZk/
|
||||
h+CCKq5/EjBEg873Jd68CJsFKESB5Zl5KLwiGQm7wQidZwLul+cyDfPRDzzo3za4
|
||||
GetesD4FVf2BEF6fg+/o0wLBObPCXqUVxXXnEXrJr4f/tItg0riOEBbLslQDzNTt
|
||||
CAEORCoK9MHmWZrF+pYTw+LmHoVeA8QxNIv/GkwJQ6DYEQgCa2BTIWq0Uw3WO20M
|
||||
3e2WGm/6Sv9w0pjisZfwBSfBJ5nI/cNW7L8tH4AIKBhAZwa7vND0RaRYqpO9kyZF
|
||||
zh8e83GBaXoLSj2wK3kwjKHWgp4z//37JAqeFya5Hx+ftNTXnl/69TnxG44BP8M8
|
||||
8ZfDWlpzwpsTXwIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAKbOFblIscxlXalV
|
||||
sEGNm2oz380RN2QoLhN6nKtAiv0jWm6iKhdAhOIQIeaRPhUP3cyi8bcBvLdMeQ3d
|
||||
ZYIByB55/R0VSP1vs4qkXJCQegHcpMpyuIzsMV8p3Q4lxzGKyKtPA6Bb5c49p8Sk
|
||||
ncD+LL4ymrMEia4cBPsHL9hhFOm4gqDacbU8+ETLTpuoSvUZiw7OwngqhE2r+kMv
|
||||
KDweq5TOPeb+ftKzQKrrfB+XVdBoTKYw6CwARpogbc0/7mvottVcJ/0yAgC1fBbM
|
||||
vupkohkXwKfjxKl6nKNL3R2GkzHQOh91hglAx5zyybKQn2YMM328Vk4X6csBg+pg
|
||||
tb1s0MA=
|
||||
-----END CERTIFICATE REQUEST-----
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDjTCCAnWgAwIBAgIJAMW+wDfcdzC+MA0GCSqGSIb3DQEBCwUAMFwxCzAJBgNV
|
||||
BAYTAkdPMQwwCgYDVQQIDANNR08xDDAKBgNVBAcMA01HTzEMMAoGA1UECgwDTUdP
|
||||
MQ8wDQYDVQQLDAZTZXJ2ZXIxEjAQBgNVBAMMCWxvY2FsaG9zdDAgFw0xNTA5Mjkw
|
||||
ODM0MTBaGA8yMTE1MDkwNTA4MzQxMFowXDELMAkGA1UEBhMCR08xDDAKBgNVBAgM
|
||||
A01HTzEMMAoGA1UEBwwDTUdPMQwwCgYDVQQKDANNR08xDzANBgNVBAsMBlNlcnZl
|
||||
cjESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
|
||||
CgKCAQEA/T5W1vTsAF+2gTXP1JKygjM7T/2BXHiJc6DRKVjlshTtPYuC3rpTddDm
|
||||
6d86d17LWEo+T2bCT4MzZJhSGAun9peFvehdElRMr57xs7j5V1QYjwadMTBkLQuK
|
||||
IAg6cISN1KPUzpUTUKsWIsbx97sA0t0wiEPifROb7nfSMIVQsdz/c9LlY2UNYI+5
|
||||
GiU88iDGg2wrdsa3U+l2G2KSx/9uE3c5iFki6bdequLiWmBZ6rxfoaLe4gk1INji
|
||||
fKssNsn2i3uJ4i4Tmr3PUc4kxx0mMKuWK3HdlQsMqtpq++HQmHSvsPrbgcjl9HyP
|
||||
JiHDsoJ+4O5bbtcE51oQbLh1bZAhYwIDAQABo1AwTjAdBgNVHQ4EFgQUhku/u9Kd
|
||||
OAc1L0OR649vCCuQT+0wHwYDVR0jBBgwFoAUhku/u9KdOAc1L0OR649vCCuQT+0w
|
||||
DAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAw7Bgw3hlWXWSZjLhnSOu
|
||||
2mW/UJ2Sj31unHngmgtXwW/04cyzoULb+qmzPe/Z06QMgGIsku1jFBcu0JabQtUG
|
||||
TyalpfW77tfnvz238CYdImYwE9ZcIGuZGfhs6ySFN9XpW43B8YM7R8wTNPvOcSPw
|
||||
nfjqU6kueN4TTspQg9cKhDss5DcMTIdgJgLbITXhIsrCu6GlKOgtX3HrdMGpQX7s
|
||||
UoMXtZVG8pK32vxKWGTZ6DPqESeKjjq74NbYnB3H5U/kDU2dt7LF90C/Umdr9y+C
|
||||
W2OJb1WBrf6RTcbt8D6d7P9kOfLPOtyn/cbaA/pfXBMQMHqr7XNXzjnaNU+jB7hL
|
||||
yQ==
|
||||
-----END CERTIFICATE-----
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQD9PlbW9OwAX7aB
|
||||
Nc/UkrKCMztP/YFceIlzoNEpWOWyFO09i4LeulN10Obp3zp3XstYSj5PZsJPgzNk
|
||||
mFIYC6f2l4W96F0SVEyvnvGzuPlXVBiPBp0xMGQtC4ogCDpwhI3Uo9TOlRNQqxYi
|
||||
xvH3uwDS3TCIQ+J9E5vud9IwhVCx3P9z0uVjZQ1gj7kaJTzyIMaDbCt2xrdT6XYb
|
||||
YpLH/24TdzmIWSLpt16q4uJaYFnqvF+hot7iCTUg2OJ8qyw2yfaLe4niLhOavc9R
|
||||
ziTHHSYwq5Yrcd2VCwyq2mr74dCYdK+w+tuByOX0fI8mIcOygn7g7ltu1wTnWhBs
|
||||
uHVtkCFjAgMBAAECggEASRAfRc1L+Z+jrAu2doIMdnwJdL6S//bW0UFolyFKw+I9
|
||||
wC/sBg6D3c3zkS4SVDZJPKPO7mGbVg1oWnGH3eAfCYoV0ACmOY+QwGp/GXcYmRVu
|
||||
MHWcDIEFpelaZHt7QNM9iEfsMd3YwMFblZUIYozVZADk66uKQMPTjS2Muur7qRSi
|
||||
wuVfSmsVZ5afH3B1Tr96BbmPsHrXLjvNpjO44k2wrnnSPQjUL7+YiZPvtnNW8Fby
|
||||
yuo2uoAyjg3+68PYZftOvvNneMsv1uyGlUs6Bk+DVWaqofIztWFdFZyXbHnK2PTk
|
||||
eGQt5EsL+RwIck5eoqd5vSE+KyzhhydL0zcpngVQoQKBgQD/Yelvholbz5NQtSy3
|
||||
ZoiW1y7hL1BKzvVNHuAMKJ5WOnj5szhjhKxt/wZ+hk0qcAmlV9WAPbf4izbEwPRC
|
||||
tnMBQzf1uBxqqbLL6WZ4YAyGrcX3UrT7GXsGfVT4zJjz7oYSw8aPircecw5V4exB
|
||||
xa4NF+ki8IycXSkHwvW2R56fRwKBgQD92xpxXtte/rUnmENbQmr0aKg7JEfMoih6
|
||||
MdX+f6mfgjMmqj+L4jPTI8/ql8HEy13SQS1534aDSHO+nBqBK5aHUCRMIgSLnTP9
|
||||
Xyx9Ngg03SZIkPfykqxQmnZgWkTPMhYS+K1Ao9FGVs8W5jVi7veyAdhHptAcxhP3
|
||||
IuxvrxVTBQKBgQCluMPiu0snaOwP04HRAZhhSgIB3tIbuXE1OnPpb/JPwmH+p25Q
|
||||
Jig+uN9d+4jXoRyhTv4c2fAoOS6xPwVCxWKbzyLhMTg/fx+ncy4rryhxvRJaDDGl
|
||||
QEO1Ul9xlFMs9/vI8YJIY5uxBrimwpStmbn4hSukoLSeQ1X802bfglpMwQKBgD8z
|
||||
GTY4Y20XBIrDAaHquy32EEwJEEcF6AXj+l7N8bDgfVOW9xMgUb6zH8RL29Xeu5Do
|
||||
4SWCXL66fvZpbr/R1jwB28eIgJExpgvicfUKSqi+lhVi4hfmJDg8/FOopZDf61b1
|
||||
ykxZfHSCkDQnRAtJaylKBEpyYUWImtfgPfTgJfLxAoGAc8A/Tl2h/DsdTA+cA5d7
|
||||
1e0l64m13ObruSWRczyru4hy8Yq6E/K2rOFw8cYCcFpy24NqNlk+2iXPLRpWm2zt
|
||||
9R497zAPvhK/bfPXjvm0j/VjB44lvRTC9hby/RRMHy9UJk4o/UQaD+1IodxZovvk
|
||||
SruEA1+5bfBRMW0P+h7Qfe4=
|
||||
-----END PRIVATE KEY-----
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQD9PlbW9OwAX7aB
|
||||
Nc/UkrKCMztP/YFceIlzoNEpWOWyFO09i4LeulN10Obp3zp3XstYSj5PZsJPgzNk
|
||||
mFIYC6f2l4W96F0SVEyvnvGzuPlXVBiPBp0xMGQtC4ogCDpwhI3Uo9TOlRNQqxYi
|
||||
xvH3uwDS3TCIQ+J9E5vud9IwhVCx3P9z0uVjZQ1gj7kaJTzyIMaDbCt2xrdT6XYb
|
||||
YpLH/24TdzmIWSLpt16q4uJaYFnqvF+hot7iCTUg2OJ8qyw2yfaLe4niLhOavc9R
|
||||
ziTHHSYwq5Yrcd2VCwyq2mr74dCYdK+w+tuByOX0fI8mIcOygn7g7ltu1wTnWhBs
|
||||
uHVtkCFjAgMBAAECggEASRAfRc1L+Z+jrAu2doIMdnwJdL6S//bW0UFolyFKw+I9
|
||||
wC/sBg6D3c3zkS4SVDZJPKPO7mGbVg1oWnGH3eAfCYoV0ACmOY+QwGp/GXcYmRVu
|
||||
MHWcDIEFpelaZHt7QNM9iEfsMd3YwMFblZUIYozVZADk66uKQMPTjS2Muur7qRSi
|
||||
wuVfSmsVZ5afH3B1Tr96BbmPsHrXLjvNpjO44k2wrnnSPQjUL7+YiZPvtnNW8Fby
|
||||
yuo2uoAyjg3+68PYZftOvvNneMsv1uyGlUs6Bk+DVWaqofIztWFdFZyXbHnK2PTk
|
||||
eGQt5EsL+RwIck5eoqd5vSE+KyzhhydL0zcpngVQoQKBgQD/Yelvholbz5NQtSy3
|
||||
ZoiW1y7hL1BKzvVNHuAMKJ5WOnj5szhjhKxt/wZ+hk0qcAmlV9WAPbf4izbEwPRC
|
||||
tnMBQzf1uBxqqbLL6WZ4YAyGrcX3UrT7GXsGfVT4zJjz7oYSw8aPircecw5V4exB
|
||||
xa4NF+ki8IycXSkHwvW2R56fRwKBgQD92xpxXtte/rUnmENbQmr0aKg7JEfMoih6
|
||||
MdX+f6mfgjMmqj+L4jPTI8/ql8HEy13SQS1534aDSHO+nBqBK5aHUCRMIgSLnTP9
|
||||
Xyx9Ngg03SZIkPfykqxQmnZgWkTPMhYS+K1Ao9FGVs8W5jVi7veyAdhHptAcxhP3
|
||||
IuxvrxVTBQKBgQCluMPiu0snaOwP04HRAZhhSgIB3tIbuXE1OnPpb/JPwmH+p25Q
|
||||
Jig+uN9d+4jXoRyhTv4c2fAoOS6xPwVCxWKbzyLhMTg/fx+ncy4rryhxvRJaDDGl
|
||||
QEO1Ul9xlFMs9/vI8YJIY5uxBrimwpStmbn4hSukoLSeQ1X802bfglpMwQKBgD8z
|
||||
GTY4Y20XBIrDAaHquy32EEwJEEcF6AXj+l7N8bDgfVOW9xMgUb6zH8RL29Xeu5Do
|
||||
4SWCXL66fvZpbr/R1jwB28eIgJExpgvicfUKSqi+lhVi4hfmJDg8/FOopZDf61b1
|
||||
ykxZfHSCkDQnRAtJaylKBEpyYUWImtfgPfTgJfLxAoGAc8A/Tl2h/DsdTA+cA5d7
|
||||
1e0l64m13ObruSWRczyru4hy8Yq6E/K2rOFw8cYCcFpy24NqNlk+2iXPLRpWm2zt
|
||||
9R497zAPvhK/bfPXjvm0j/VjB44lvRTC9hby/RRMHy9UJk4o/UQaD+1IodxZovvk
|
||||
SruEA1+5bfBRMW0P+h7Qfe4=
|
||||
-----END PRIVATE KEY-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDjTCCAnWgAwIBAgIJAMW+wDfcdzC+MA0GCSqGSIb3DQEBCwUAMFwxCzAJBgNV
|
||||
BAYTAkdPMQwwCgYDVQQIDANNR08xDDAKBgNVBAcMA01HTzEMMAoGA1UECgwDTUdP
|
||||
MQ8wDQYDVQQLDAZTZXJ2ZXIxEjAQBgNVBAMMCWxvY2FsaG9zdDAgFw0xNTA5Mjkw
|
||||
ODM0MTBaGA8yMTE1MDkwNTA4MzQxMFowXDELMAkGA1UEBhMCR08xDDAKBgNVBAgM
|
||||
A01HTzEMMAoGA1UEBwwDTUdPMQwwCgYDVQQKDANNR08xDzANBgNVBAsMBlNlcnZl
|
||||
cjESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
|
||||
CgKCAQEA/T5W1vTsAF+2gTXP1JKygjM7T/2BXHiJc6DRKVjlshTtPYuC3rpTddDm
|
||||
6d86d17LWEo+T2bCT4MzZJhSGAun9peFvehdElRMr57xs7j5V1QYjwadMTBkLQuK
|
||||
IAg6cISN1KPUzpUTUKsWIsbx97sA0t0wiEPifROb7nfSMIVQsdz/c9LlY2UNYI+5
|
||||
GiU88iDGg2wrdsa3U+l2G2KSx/9uE3c5iFki6bdequLiWmBZ6rxfoaLe4gk1INji
|
||||
fKssNsn2i3uJ4i4Tmr3PUc4kxx0mMKuWK3HdlQsMqtpq++HQmHSvsPrbgcjl9HyP
|
||||
JiHDsoJ+4O5bbtcE51oQbLh1bZAhYwIDAQABo1AwTjAdBgNVHQ4EFgQUhku/u9Kd
|
||||
OAc1L0OR649vCCuQT+0wHwYDVR0jBBgwFoAUhku/u9KdOAc1L0OR649vCCuQT+0w
|
||||
DAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAw7Bgw3hlWXWSZjLhnSOu
|
||||
2mW/UJ2Sj31unHngmgtXwW/04cyzoULb+qmzPe/Z06QMgGIsku1jFBcu0JabQtUG
|
||||
TyalpfW77tfnvz238CYdImYwE9ZcIGuZGfhs6ySFN9XpW43B8YM7R8wTNPvOcSPw
|
||||
nfjqU6kueN4TTspQg9cKhDss5DcMTIdgJgLbITXhIsrCu6GlKOgtX3HrdMGpQX7s
|
||||
UoMXtZVG8pK32vxKWGTZ6DPqESeKjjq74NbYnB3H5U/kDU2dt7LF90C/Umdr9y+C
|
||||
W2OJb1WBrf6RTcbt8D6d7P9kOfLPOtyn/cbaA/pfXBMQMHqr7XNXzjnaNU+jB7hL
|
||||
yQ==
|
||||
-----END CERTIFICATE-----
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
|
||||
set -e
|
||||
|
||||
MONGOVERSION=$(mongod --version | sed -n 's/.*v\([0-9]\+\.[0-9]\+\)\..*/\1/p')
|
||||
MONGOMAJOR=$(echo $MONGOVERSION | sed 's/\([0-9]\+\)\..*/\1/')
|
||||
MONGOMINOR=$(echo $MONGOVERSION | sed 's/[0-9]\+\.\([0-9]\+\)/\1/')
|
||||
|
||||
versionAtLeast() {
|
||||
TESTMAJOR="$1"
|
||||
TESTMINOR="$2"
|
||||
if [ "$MONGOMAJOR" -gt "$TESTMAJOR" ]; then
|
||||
return 0
|
||||
fi
|
||||
if [ "$MONGOMAJOR" -lt "$TESTMAJOR" ]; then
|
||||
return 100
|
||||
fi
|
||||
if [ "$MONGOMINOR" -ge "$TESTMINOR" ]; then
|
||||
return 0
|
||||
fi
|
||||
return 100
|
||||
}
|
||||
|
||||
COMMONDOPTSNOIP="
|
||||
--nohttpinterface
|
||||
--noprealloc
|
||||
--nojournal
|
||||
--smallfiles
|
||||
--nssize=1
|
||||
--oplogSize=1
|
||||
--dbpath ./db
|
||||
"
|
||||
COMMONDOPTS="
|
||||
$COMMONDOPTSNOIP
|
||||
--bind_ip=127.0.0.1
|
||||
"
|
||||
COMMONCOPTS="
|
||||
$COMMONDOPTS
|
||||
"
|
||||
COMMONSOPTS="
|
||||
--chunkSize 1
|
||||
--bind_ip=127.0.0.1
|
||||
"
|
||||
|
||||
if versionAtLeast 3 2; then
|
||||
# 3.2 doesn't like --nojournal on config servers.
|
||||
#COMMONCOPTS="$(echo "$COMMONCOPTS" | sed '/--nojournal/d')"
|
||||
# Using a hacked version of MongoDB 3.2 for now.
|
||||
|
||||
# Go back to MMAPv1 so it's not super sluggish. :-(
|
||||
COMMONDOPTSNOIP="--storageEngine=mmapv1 $COMMONDOPTSNOIP"
|
||||
COMMONDOPTS="--storageEngine=mmapv1 $COMMONDOPTS"
|
||||
COMMONCOPTS="--storageEngine=mmapv1 $COMMONCOPTS"
|
||||
fi
|
||||
|
||||
if [ "$TRAVIS" = true ]; then
|
||||
set -x
|
||||
fi
|
||||
BIN
Binary file not shown.
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec cat - > log.txt
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../.env
|
||||
|
||||
exec mongod $COMMONCOPTS \
|
||||
--port 40101 \
|
||||
--configsvr
|
||||
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec cat - > log.txt
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../.env
|
||||
|
||||
exec mongod $COMMONCOPTS \
|
||||
--port 40102 \
|
||||
--configsvr
|
||||
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec cat - > log.txt
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../.env
|
||||
|
||||
exec mongod $COMMONCOPTS \
|
||||
--port 40103 \
|
||||
--configsvr \
|
||||
--auth \
|
||||
--keyFile=../../certs/keyfile
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec cat - > log.txt
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../.env
|
||||
|
||||
if [ x$NOIPV6 = x1 ]; then
|
||||
BINDIP="127.0.0.1"
|
||||
else
|
||||
BINDIP="127.0.0.1,::1"
|
||||
fi
|
||||
|
||||
exec mongod $COMMONDOPTSNOIP \
|
||||
--shardsvr \
|
||||
--bind_ip=$BINDIP \
|
||||
--port 40001 \
|
||||
--ipv6
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec cat - > log.txt
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../.env
|
||||
|
||||
exec mongod $COMMONDOPTS \
|
||||
--shardsvr \
|
||||
--port 40002 \
|
||||
--auth
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec cat - > log.txt
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../.env
|
||||
|
||||
exec mongod $COMMONDOPTS \
|
||||
--shardsvr \
|
||||
--port 40003 \
|
||||
--auth \
|
||||
--sslMode preferSSL \
|
||||
--sslCAFile ../../certs/server.pem \
|
||||
--sslPEMKeyFile ../../certs/server.pem
|
||||
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec cat - > log.txt
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../.env
|
||||
|
||||
exec mongod $COMMONDOPTS \
|
||||
--shardsvr \
|
||||
--replSet rs1 \
|
||||
--port 40011
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec cat - > log.txt
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../.env
|
||||
|
||||
exec mongod $COMMONDOPTS \
|
||||
--shardsvr \
|
||||
--replSet rs1 \
|
||||
--port 40012
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec cat - > log.txt
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../.env
|
||||
|
||||
exec mongod $COMMONDOPTS \
|
||||
--shardsvr \
|
||||
--replSet rs1 \
|
||||
--port 40013
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec cat - > log.txt
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../.env
|
||||
|
||||
exec mongod $COMMONDOPTS \
|
||||
--shardsvr \
|
||||
--replSet rs2 \
|
||||
--port 40021
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec cat - > log.txt
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../.env
|
||||
|
||||
exec mongod $COMMONDOPTS \
|
||||
--shardsvr \
|
||||
--replSet rs2 \
|
||||
--port 40022
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec cat - > log.txt
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../.env
|
||||
|
||||
exec mongod $COMMONDOPTS \
|
||||
--shardsvr \
|
||||
--replSet rs2 \
|
||||
--port 40023
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec cat - > log.txt
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../.env
|
||||
|
||||
exec mongod $COMMONDOPTS \
|
||||
--shardsvr \
|
||||
--replSet rs3 \
|
||||
--port 40031 \
|
||||
--keyFile=../../certs/keyfile
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec cat - > log.txt
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../.env
|
||||
|
||||
exec mongod $COMMONDOPTS \
|
||||
--shardsvr \
|
||||
--replSet rs3 \
|
||||
--port 40032 \
|
||||
--keyFile=../../certs/keyfile
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec cat - > log.txt
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../.env
|
||||
|
||||
exec mongod $COMMONDOPTS \
|
||||
--shardsvr \
|
||||
--replSet rs3 \
|
||||
--port 40033 \
|
||||
--keyFile=../../certs/keyfile
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec cat - > log.txt
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../.env
|
||||
|
||||
exec mongod $COMMONDOPTS \
|
||||
--shardsvr \
|
||||
--replSet rs4 \
|
||||
--port 40041
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec cat - > log.txt
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../.env
|
||||
|
||||
exec mongos $COMMONSOPTS \
|
||||
--port 40201 \
|
||||
--configdb 127.0.0.1:40101
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec cat - > log.txt
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../.env
|
||||
|
||||
exec mongos $COMMONSOPTS \
|
||||
--port 40202 \
|
||||
--configdb 127.0.0.1:40102
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec cat - > log.txt
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ../.env
|
||||
|
||||
exec mongos $COMMONSOPTS \
|
||||
--port 40203 \
|
||||
--configdb 127.0.0.1:40103 \
|
||||
--keyFile=../../certs/keyfile
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
|
||||
var ports = [40001, 40002, 40011, 40012, 40013, 40021, 40022, 40023, 40041, 40101, 40102, 40103, 40201, 40202, 40203]
|
||||
var auth = [40002, 40103, 40203, 40031]
|
||||
var db1 = new Mongo("localhost:40001")
|
||||
|
||||
if (db1.getDB("admin").serverBuildInfo().OpenSSLVersion) {
|
||||
ports.push(40003)
|
||||
auth.push(40003)
|
||||
}
|
||||
|
||||
for (var i in ports) {
|
||||
var port = ports[i]
|
||||
var server = "localhost:" + port
|
||||
var mongo = new Mongo("localhost:" + port)
|
||||
var admin = mongo.getDB("admin")
|
||||
|
||||
for (var j in auth) {
|
||||
if (auth[j] == port) {
|
||||
admin.auth("root", "rapadura")
|
||||
admin.system.users.find().forEach(function(u) {
|
||||
if (u.user == "root" || u.user == "reader") {
|
||||
return;
|
||||
}
|
||||
if (typeof admin.dropUser == "function") {
|
||||
mongo.getDB(u.db).dropUser(u.user);
|
||||
} else {
|
||||
admin.removeUser(u.user);
|
||||
}
|
||||
})
|
||||
break
|
||||
}
|
||||
}
|
||||
var result = admin.runCommand({"listDatabases": 1})
|
||||
for (var j = 0; j != 100; j++) {
|
||||
if (typeof result.databases != "undefined" || notMaster(result)) {
|
||||
break
|
||||
}
|
||||
result = admin.runCommand({"listDatabases": 1})
|
||||
}
|
||||
if (notMaster(result)) {
|
||||
continue
|
||||
}
|
||||
if (typeof result.databases == "undefined") {
|
||||
print("Could not list databases. Command result:")
|
||||
print(JSON.stringify(result))
|
||||
quit(12)
|
||||
}
|
||||
var dbs = result.databases
|
||||
for (var j = 0; j != dbs.length; j++) {
|
||||
var db = dbs[j]
|
||||
switch (db.name) {
|
||||
case "admin":
|
||||
case "local":
|
||||
case "config":
|
||||
break
|
||||
default:
|
||||
mongo.getDB(db.name).dropDatabase()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function notMaster(result) {
|
||||
return typeof result.errmsg != "undefined" && (result.errmsg.indexOf("not master") >= 0 || result.errmsg.indexOf("no master found"))
|
||||
}
|
||||
|
||||
// vim:ts=4:sw=4:et
|
||||
+132
@@ -0,0 +1,132 @@
|
||||
//var settings = {heartbeatSleep: 0.05, heartbeatTimeout: 0.5}
|
||||
var settings = {};
|
||||
|
||||
// We know the master of the first set (pri=1), but not of the second.
|
||||
var rs1cfg = {_id: "rs1",
|
||||
members: [{_id: 1, host: "127.0.0.1:40011", priority: 1, tags: {rs1: "a"}},
|
||||
{_id: 2, host: "127.0.0.1:40012", priority: 0, tags: {rs1: "b"}},
|
||||
{_id: 3, host: "127.0.0.1:40013", priority: 0, tags: {rs1: "c"}}],
|
||||
settings: settings}
|
||||
var rs2cfg = {_id: "rs2",
|
||||
members: [{_id: 1, host: "127.0.0.1:40021", priority: 1, tags: {rs2: "a"}},
|
||||
{_id: 2, host: "127.0.0.1:40022", priority: 1, tags: {rs2: "b"}},
|
||||
{_id: 3, host: "127.0.0.1:40023", priority: 1, tags: {rs2: "c"}}],
|
||||
settings: settings}
|
||||
var rs3cfg = {_id: "rs3",
|
||||
members: [{_id: 1, host: "127.0.0.1:40031", priority: 1, tags: {rs3: "a"}},
|
||||
{_id: 2, host: "127.0.0.1:40032", priority: 1, tags: {rs3: "b"}},
|
||||
{_id: 3, host: "127.0.0.1:40033", priority: 1, tags: {rs3: "c"}}],
|
||||
settings: settings}
|
||||
|
||||
for (var i = 0; i != 60; i++) {
|
||||
try {
|
||||
db1 = new Mongo("127.0.0.1:40001").getDB("admin")
|
||||
db2 = new Mongo("127.0.0.1:40002").getDB("admin")
|
||||
rs1a = new Mongo("127.0.0.1:40011").getDB("admin")
|
||||
rs2a = new Mongo("127.0.0.1:40021").getDB("admin")
|
||||
rs3a = new Mongo("127.0.0.1:40031").getDB("admin")
|
||||
break
|
||||
} catch(err) {
|
||||
print("Can't connect yet...")
|
||||
}
|
||||
sleep(1000)
|
||||
}
|
||||
|
||||
function hasSSL() {
|
||||
return Boolean(db1.serverBuildInfo().OpenSSLVersion)
|
||||
}
|
||||
|
||||
rs1a.runCommand({replSetInitiate: rs1cfg})
|
||||
rs2a.runCommand({replSetInitiate: rs2cfg})
|
||||
rs3a.runCommand({replSetInitiate: rs3cfg})
|
||||
|
||||
function configShards() {
|
||||
cfg1 = new Mongo("127.0.0.1:40201").getDB("admin")
|
||||
cfg1.runCommand({addshard: "127.0.0.1:40001"})
|
||||
cfg1.runCommand({addshard: "rs1/127.0.0.1:40011"})
|
||||
|
||||
cfg2 = new Mongo("127.0.0.1:40202").getDB("admin")
|
||||
cfg2.runCommand({addshard: "rs2/127.0.0.1:40021"})
|
||||
|
||||
cfg3 = new Mongo("127.0.0.1:40203").getDB("admin")
|
||||
cfg3.runCommand({addshard: "rs3/127.0.0.1:40031"})
|
||||
}
|
||||
|
||||
function configAuth() {
|
||||
var addrs = ["127.0.0.1:40002", "127.0.0.1:40203", "127.0.0.1:40031"]
|
||||
if (hasSSL()) {
|
||||
addrs.push("127.0.0.1:40003")
|
||||
}
|
||||
for (var i in addrs) {
|
||||
print("Configuring auth for", addrs[i])
|
||||
var db = new Mongo(addrs[i]).getDB("admin")
|
||||
var v = db.serverBuildInfo().versionArray
|
||||
var timedOut = false
|
||||
if (v < [2, 5]) {
|
||||
db.addUser("root", "rapadura")
|
||||
} else {
|
||||
try {
|
||||
db.createUser({user: "root", pwd: "rapadura", roles: ["root"]})
|
||||
} catch (err) {
|
||||
// 3.2 consistently fails replication of creds on 40031 (config server)
|
||||
print("createUser command returned an error: " + err)
|
||||
if (String(err).indexOf("timed out") >= 0) {
|
||||
timedOut = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
for (var i = 0; i < 60; i++) {
|
||||
var ok = db.auth("root", "rapadura")
|
||||
if (ok || !timedOut) {
|
||||
break
|
||||
}
|
||||
sleep(1000);
|
||||
}
|
||||
if (v >= [2, 6]) {
|
||||
db.createUser({user: "reader", pwd: "rapadura", roles: ["readAnyDatabase"]})
|
||||
} else if (v >= [2, 4]) {
|
||||
db.addUser({user: "reader", pwd: "rapadura", roles: ["readAnyDatabase"]})
|
||||
} else {
|
||||
db.addUser("reader", "rapadura", true)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function countHealthy(rs) {
|
||||
var status = rs.runCommand({replSetGetStatus: 1})
|
||||
var count = 0
|
||||
var primary = 0
|
||||
if (typeof status.members != "undefined") {
|
||||
for (var i = 0; i != status.members.length; i++) {
|
||||
var m = status.members[i]
|
||||
if (m.health == 1 && (m.state == 1 || m.state == 2)) {
|
||||
count += 1
|
||||
if (m.state == 1) {
|
||||
primary = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (primary == 0) {
|
||||
count = 0
|
||||
}
|
||||
return count
|
||||
}
|
||||
|
||||
var totalRSMembers = rs1cfg.members.length + rs2cfg.members.length + rs3cfg.members.length
|
||||
|
||||
for (var i = 0; i != 60; i++) {
|
||||
var count = countHealthy(rs1a) + countHealthy(rs2a) + countHealthy(rs3a)
|
||||
print("Replica sets have", count, "healthy nodes.")
|
||||
if (count == totalRSMembers) {
|
||||
configShards()
|
||||
configAuth()
|
||||
quit(0)
|
||||
}
|
||||
sleep(1000)
|
||||
}
|
||||
|
||||
print("Replica sets didn't sync up properly.")
|
||||
quit(12)
|
||||
|
||||
// vim:ts=4:sw=4:et
|
||||
+67
@@ -0,0 +1,67 @@
|
||||
// We know the master of the first set (pri=1), but not of the second.
|
||||
var settings = {}
|
||||
var rs1cfg = {_id: "rs1",
|
||||
members: [{_id: 1, host: "127.0.0.1:40011", priority: 1},
|
||||
{_id: 2, host: "127.0.0.1:40012", priority: 0},
|
||||
{_id: 3, host: "127.0.0.1:40013", priority: 0}]}
|
||||
var rs2cfg = {_id: "rs2",
|
||||
members: [{_id: 1, host: "127.0.0.1:40021", priority: 1},
|
||||
{_id: 2, host: "127.0.0.1:40022", priority: 1},
|
||||
{_id: 3, host: "127.0.0.1:40023", priority: 0}]}
|
||||
var rs3cfg = {_id: "rs3",
|
||||
members: [{_id: 1, host: "127.0.0.1:40031", priority: 1},
|
||||
{_id: 2, host: "127.0.0.1:40032", priority: 1},
|
||||
{_id: 3, host: "127.0.0.1:40033", priority: 1}],
|
||||
settings: settings}
|
||||
|
||||
for (var i = 0; i != 60; i++) {
|
||||
try {
|
||||
rs1a = new Mongo("127.0.0.1:40011").getDB("admin")
|
||||
rs2a = new Mongo("127.0.0.1:40021").getDB("admin")
|
||||
rs3a = new Mongo("127.0.0.1:40031").getDB("admin")
|
||||
rs3a.auth("root", "rapadura")
|
||||
db1 = new Mongo("127.0.0.1:40001").getDB("admin")
|
||||
db2 = new Mongo("127.0.0.1:40002").getDB("admin")
|
||||
break
|
||||
} catch(err) {
|
||||
print("Can't connect yet...")
|
||||
}
|
||||
sleep(1000)
|
||||
}
|
||||
|
||||
function countHealthy(rs) {
|
||||
var status = rs.runCommand({replSetGetStatus: 1})
|
||||
var count = 0
|
||||
var primary = 0
|
||||
if (typeof status.members != "undefined") {
|
||||
for (var i = 0; i != status.members.length; i++) {
|
||||
var m = status.members[i]
|
||||
if (m.health == 1 && (m.state == 1 || m.state == 2)) {
|
||||
count += 1
|
||||
if (m.state == 1) {
|
||||
primary = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (primary == 0) {
|
||||
count = 0
|
||||
}
|
||||
return count
|
||||
}
|
||||
|
||||
var totalRSMembers = rs1cfg.members.length + rs2cfg.members.length + rs3cfg.members.length
|
||||
|
||||
for (var i = 0; i != 90; i++) {
|
||||
var count = countHealthy(rs1a) + countHealthy(rs2a) + countHealthy(rs3a)
|
||||
print("Replica sets have", count, "healthy nodes.")
|
||||
if (count == totalRSMembers) {
|
||||
quit(0)
|
||||
}
|
||||
sleep(1000)
|
||||
}
|
||||
|
||||
print("Replica sets didn't sync up properly.")
|
||||
quit(12)
|
||||
|
||||
// vim:ts=4:sw=4:et
|
||||
+96
@@ -0,0 +1,96 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
LINE="---------------"
|
||||
|
||||
start() {
|
||||
if [ -d _harness ]; then
|
||||
echo "Daemon setup already in place, stop it first."
|
||||
exit 1
|
||||
fi
|
||||
mkdir -p _harness
|
||||
cd _harness
|
||||
cp -a ../harness/daemons .
|
||||
cp -a ../harness/certs .
|
||||
echo keyfile > certs/keyfile
|
||||
chmod 600 certs/keyfile
|
||||
if ! mongod --help | grep -q -- --ssl; then
|
||||
rm -rf daemons/db3
|
||||
fi
|
||||
COUNT=$(ls daemons | wc -l)
|
||||
echo "Running daemons..."
|
||||
svscan daemons &
|
||||
SVSCANPID=$!
|
||||
echo $SVSCANPID > svscan.pid
|
||||
if ! kill -0 $SVSCANPID; then
|
||||
echo "Cannot execute svscan."
|
||||
exit 1
|
||||
fi
|
||||
echo "Starting $COUNT processes..."
|
||||
for i in $(seq 30); do
|
||||
UP=$(svstat daemons/* | grep ' up ' | grep -v ' [0-3] seconds' | wc -l)
|
||||
echo "$UP processes up..."
|
||||
if [ x$COUNT = x$UP ]; then
|
||||
echo "Running setup.js with mongo..."
|
||||
mongo --nodb ../harness/mongojs/init.js
|
||||
exit 0
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
echo "Failed to start processes. svstat _harness/daemons/* output:"
|
||||
echo $LINE
|
||||
svstat daemons/*
|
||||
echo $LINE
|
||||
for DAEMON in daemons/*; do
|
||||
if $(svstat $DAEMON | grep ' up ' | grep ' [0-3] seconds' > /dev/null); then
|
||||
echo "Logs for _harness/$DAEMON:"
|
||||
echo $LINE
|
||||
cat $DAEMON/log/log.txt
|
||||
echo $LINE
|
||||
fi
|
||||
done
|
||||
exit 1
|
||||
}
|
||||
|
||||
stop() {
|
||||
if [ -d _harness ]; then
|
||||
cd _harness
|
||||
if [ -f svscan.pid ]; then
|
||||
kill -9 $(cat svscan.pid) 2> /dev/null || true
|
||||
svc -dx daemons/* daemons/*/log > /dev/null 2>&1 || true
|
||||
COUNT=$(ls daemons | wc -l)
|
||||
echo "Shutting down $COUNT processes..."
|
||||
while true; do
|
||||
DOWN=$(svstat daemons/* | grep 'supervise not running' | wc -l)
|
||||
echo "$DOWN processes down..."
|
||||
if [ x$DOWN = x$COUNT ]; then
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
rm svscan.pid
|
||||
echo "Done."
|
||||
fi
|
||||
cd ..
|
||||
rm -rf _harness
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
if [ ! -f suite_test.go ]; then
|
||||
echo "This script must be run from within the source directory."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
|
||||
start)
|
||||
start $2
|
||||
;;
|
||||
|
||||
stop)
|
||||
stop $2
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
# vim:ts=4:sw=4:et
|
||||
Reference in New Issue
Block a user