diff --git a/backup/20251012_100706/consul_kv_backup.json b/backup/20251012_100706/consul_kv_backup.json new file mode 100644 index 0000000..62440fe --- /dev/null +++ b/backup/20251012_100706/consul_kv_backup.json @@ -0,0 +1,252 @@ +[ + { + "key": "config/oracle-cloud-kr-chuncheon/fingerprint", + "flags": 0, + "value": "YjE6NmU6NGU6NWE6YjY6MWM6MzQ6YmY6YjE6NzM6NzY6ZjY6OWY6Mjc6NmQ6OTk=" + }, + { + "key": "config/oracle-cloud-kr-chuncheon/key_file", + "flags": 0, + "value": "LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2Z0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktnd2dnU2tBZ0VBQW9JQkFRQ1hwUmFkZHExUnpTMEoKY0JBR0hoOTRESnlxT0J0aStBU3M2QWJ2MXYzZ3lYdTBzc05TZS9nL1pCZSthRElJQmlzTC81blJMRFpmZU5aZwpTNWF6S2dQRlBQbHVrVEtWQWZhdFFyZ3NhQ0MzdU5tNEQwTmZHU0lOWTkwSGNwWndYNUdDWmJVSUZadUJaQmFjCjMzemUrUlhvRW8vUUpGcW5paVVoLzE5QTFSNm1PMm9KY2hnY1hZdjMrRmU4ZGIzNUZiOUhEdDZ0ZzgrbWFPNVIKOFcxNDlTcFFVbFU5SldDV3VSVjJjZEtTWFAxL3ozSkgzYnE3aGV6RDVxa1pyY3d0KzRlK1BqOW1vWXlBK084aQpuOVo5eVFVZWlwcCtIUjNTZE0rK3B6VWhjMUUvTk5yZ05US1FKaTNPdnJVeDQxamMwMC81S3daVVl5T3R2SmEzCi9HQnp5Y0tOQWdNQkFBRUNnZ0VBRmlvb0d3M2NtV2MrM1BGSE5rMnkxYzRxRytzbGZacTR2RGtSd242UER3c0UKRE01UUpEOUFjcXVEbU80TDJnWmt4bFV1dTFjVi8zQmZEU1lmT2NLN1dGbm9MMVFEcTZua3owQkFRU1ZiR3Q5bQoyek5INnA5MnpiUTUrenV4WjIxZ2pFbW5ZeTRkVTVVNGhPZFpqaEdrTlE1NWZMZkRsRmRweEFWYWU5UnFyV3NwCjgvOVNpdUQxRytmZ05LYmU4eCtBU2Q4WTRyUDlnakl0RFVDcW1pMnJuSkpzUjhpMVBITVppTEMwUzNGYmNVbzYKUjdrd08wZEdhWFlGV3RQVWxNQi9PUHgxNzJITTZ5ZkUrbERtVDZnS2ZXSjJkT0t2dTdtT3RYVEdTQklHTVJFVgpNcEM5WmhZQnNrM2p2WktsRWp1MHNFQVRnM3RkREJlWDN4Uk5Pa1BGRlFLQmdRRFZybXVBT1MvWHJ6NVpHendsCm5Semd0UjAyRWpkUSt3SnJmeUpvdWZtSldaUWxDNmNBZTNSeUNCczhjN1lpU3l2VEw3NzNaVy92OVJvVmxuMFIKV0RhRWR3N0wrWUxqZHY1MUR6eTNLVlk5QTRIWDFzK3hoUDV6RzJDMjRScDVBTHdmUzZRZjJKREd0QWxtODIxSgp6NWt3RWNZMnNTT3hHcUw4TVRBOWd5c21xd0tCZ1FDMXJYQk5zVzRCVmhicU9YTUM2WnB3US9uNkJFZEhHbDhnCjFuTm9uem5uWjZFQ0kvRy9UQllBNVBiMjNGc2xwUUFhRmFZZ2c2cFkxRmlzbklWVXBqazIzeEtkMTkzelk3UDQKOEFoN0QvZ2NBdGxvWGVKNnNrbmFXamtCQllSUnlaaGxHM000MjhrS29JZ3hRdmVva0daaUx2RjR4QjkvTkJNMwpvQ2VwYnE2YnB3S0JnUUM4S1dGRWdoY2RDSllRaFNrTHZqUWxzNWJMZkhMMWZuTjlFWEROWTZiWFNlaG9Uc0I2CmJqdjJCaWxsckVjZ0g2Mnh4QU9YZXQxOUlnb2NKRzV4allwRVQwcmFWeGJwRW1tenp2MGFGTzU1djlMZ3E2b3MKbWY0dWdsZEI4eXNLanBrWnZkUUNyd09kMWYvSmhtWWdid3hvQmQ3VFhsMGRvV1VRU29nK1Fua0hEUUtCZ0RNZApqRFpmMEdxUjFUcXJWVCtoaURGRC91WW9KQUhPV3F0N2l0Y0p6Wm5jMzBFaDZkZC95Y1VRcHFlSUVpRUNUb2dJClJVaHFveGdCRHIzcC85MTBNeTdNRG9uWWZYc0lOMCs0QVRyV29HRUpNREFjRWllaFdBUVdWR21FS3RsMEZldUUKa0tPVHV2bkJkdkFkUGw3djJjNlFGS0o4MDd2UFpBVEhpOEV4QWZHTEFvR0JBTHVGQ3ovOVhsdzVsZWdtR0p4UApJZ2JoY21TRkN3OU9tR1JBNktkUlpVTitac2I2RlZqOWVDY0YxTXkxM2l3MzU5eEZhWWRoQkQ2aG5iUEllM1hTCmJ6Vk1jemRpdVJBSTlMaWpYaHpHV213NWhsa3VtYVZEcVpJMytTeTVsb2hMaE9zVjRFcnNzMXZxTDNSNDB6amsKZmsydG5ia3RPUllkNi9RMGkwRkpkTy9ICi0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0=" + }, + { + "key": "config/oracle-cloud-kr-chuncheon/region", + "flags": 0, + "value": "YXAtY2h1bmNoZW9uLTE=" + }, + { + "key": "config/oracle-cloud-kr-chuncheon/tenancy", + "flags": 0, + "value": "b2NpZDEudGVuYW5jeS5vYzEuLmFhYWFhYWFhd2Z2MndkNTRseTc1cHBmamdkZ2FwN3J0ZDN2aHR6aXoyNWR3eDIzeG80cmJreG54bGFwcQ==" + }, + { + "key": "config/oracle-cloud-kr-chuncheon/user", + "flags": 0, + "value": "b2NpZDEudXNlci5vYzEuLmFhYWFhYWFhcW9hMm15M2Z3aDNqYmF5YWNoeXlscXluZWl2ZXlkcmpsaXUycXo2NWlqbGM1N2VocGxoYQ==" + }, + { + "key": "config/oracle-cloud/fingerprint", + "flags": 0, + "value": "NzM6ODA6NTA6MzU6YjY6MWQ6ZTM6ZmM6Njg6Zjg6ZTM6ZTg6MGI6ZGY6Nzk6ZTM=" + }, + { + "key": "config/oracle-cloud/key_file", + "flags": 0, + "value": "LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2Z0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktnd2dnU2tBZ0VBQW9JQkFRRGlEd0NPNTY5NDNHTnYKcmcyV1lRQ1pUcGRnQTFZZmREY002QVh1Z3p3R202elF3dWh1RGRUQUJ3SmowUGZCN3E1czBNWkZxd3BWVytNUwpJa1RRc2s4cis4Z0JvOUZCdEg0bm5lQmZYZ3FqaUtobEhoY2dxSFdBTFhtOEF6RHE2TUorbENEd2pnaTVQc0lECjVqYm5CVUJYUnBWWGxrRURNWmo1eVROaVJmTE1sRlppcWM0bXYxajFSU0lRZXVwdHQ3bDJBblhoS1N1VzJGTDMKYVFOV3NwVXlsSXM5SURYdUM0OTByMDQvZlptWDBJdzdDcmI0eVdXRmVtMWUxeDBnNnFEaUFpendwRTNGRjBObwpBcWtIK3AreTNRZTdQZXcyL1VVUzRWTlJ5b0dCc3RwYkJKTVE4ZFhSRVI5TTRLVEVkTG5TRzJFemRNNUlHdXBqCkd3bzlQblBQQWdNQkFBRUNnZ0VBQ2hhUCtIdFB2TE1KSDZOdGZuZlhFUUJpM1A2enlkK09mVjJnQzNtQkpPMEUKUDA5b3ZxWG1CLzV5d0RCRDA1Ry82RXlXTEpHL2VrNWV5Y3UzQ25hS29KOHgyUnVOd1JnNW03R29vUU9QWEtaQwptRHRKaU83bVNpYTlZZ002Y2FGRmgyU1E1bXRRUHdRVlN4dEErVSttQkJSbG9jSldKYnNCai83SFNPd2FNOEJDCndsMTlrWmlXMGFPa29HaWR4dmpsSmZrUGlOZXIvalR5NVJNTktydURwYUY4UHNGN3hJTUx3dXhUNVZRL2d5WUEKZnJYc1dmUXArc3ZlL1hmVWc5L1JHUDlqSlFITnBwTDU2WVdZUGE4WHVzQzJuSkN5bTlSTERsSzU2akY5amhZTQppUVRoa3NHM1R6T1hqZEdNN01QNVEvU2ZOY2tRV3kwS1RPdTdoK045OFFLQmdRRDlsN1NGeXBYNU1nbjJQQzFBClUzbHdpTEN2dmlhS1NOYnpOWGM2cG5pamJHRUV2TnBVR1J5R3dtalhJdEdMaUVvQWt5MGV1NDJJcHVsdDZQQisKV3NqQ0lHVEdJMFVCT2JyamJXZmFqK3Z0NnpDY0k2NTN0Z3ZyUU85N3QrRjZ4VEhpUXlHUkRxSWxGUWNFOVpLTwpFSit3dUMrTWJCRkdQU2MvWnc0My90d3B6UUtCZ1FEa05HSGl1b0d2b1N1UlBwTUlCODJJc01tdE9senltazhCClpaTU56SGZ4RnlmN2EvMU5VaGMzVXZtWmRFNjdNUzRjbW9ZMExDWTRIQlcyenh4c25YMGNBK3ZSTkxGbmVKTUMKb0gyWGdRcyttaTFEZ2VtK042RVlPLzVQSlpxZXlVSjV4NVdGR3JVTHZzTDJHS2NTZVNwMm8ybmtGeUtTSGZoRAo3eldTUXlOSUN3S0JnUUQxbERaRDRuMytCeEZTbmRBTW5VbmJTdVFnTFByUnE5eE5ScGVoK3BpVldsMVI0emxqCmU3WCtZc0o0cE1WY1pLMlZoUEdLODRJS3Rla1VnU0owbXFJVUxKNnFxbmtteUt0Tmx5T2Rxd2FGTHQreU5YTzkKaGxSZ2pFL2U5YUdyN005MEdDS25nUTVRN3Q0UFZXbUpubHVuSFpjZVc0RVhEaDIxN3F6OFdSa0llUUtCZ0dWMApKRkI0T2srcWg0UDdIY0xrTlN3ZjdJbG0rUXVpTHAyZ1d0QTNwdHM0UUQ0MnRGWTd1TGFQM1Flci9aU2JPTFRlCnZldFQ5V25ja29yRGFRK2d0STVQNy9jQ1JoeUtMbEZzcUdsQ3BZMGZYaUExRVlYUGxYOEFyUDdpNk9yTzd3N1UKL0ZSQW0xeXRZbCttZGlCd1hjQ0F4Z0x4aGgwUDFkL2Q2U010VmZJaEFvR0JBTGRROXRQU2tGc0ppREppK2QxdQpTd1BhdXptcjhPMGdlYUx1ZXk5V3hWQXhtNURSN2VUSlRVc3daSkdxYWRBWmxuRHIvSCs3WVU2bEVCUkkyMjRRCjBBcGdJSWVHcE1zVFpGZXRSc09xK1RVb05RY0dWQ3RzcE9ja0NiRWxXNk5NU3p1QWxmN2FJK1ZxS00zdXdsQW4KRmlURFljbVpJRTF5TmpZaSt1YUQ4dmtVCi0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0=" + }, + { + "key": "config/oracle-cloud/region", + "flags": 0, + "value": "dXMtYXNoYnVybi0x" + }, + { + "key": "config/oracle-cloud/tenancy", + "flags": 0, + "value": "b2NpZDEudGVuYW5jeS5vYzEuLmFhYWFhYWFheXlodWY2c3dmMmhvNHM1YWNkcGVlNnpzc3N0Nmo3bmtpcmk0a3lmZHVzeHpuM2U3cDMycQ==" + }, + { + "key": "config/oracle-cloud/user", + "flags": 0, + "value": "b2NpZDEudXNlci5vYzEuLmFhYWFhYWFhcHBjN3p4dWU0ZGxyc2psamc0ZndsNndjYzVzbWV0cmV1dnBxbjcyaGVpeXZqZWVxYW5xcQ==" + }, + { + "key": "vault/core/audit", + "flags": 0, + "value": "AAAAAQKM+wrVW/dD7B7N2/B+2ylm5NAhJV3FwkuN+4wtUv/J85ddmPIWllWrMzCngEcIZHAfEs8hgu84ykqm9FoVPcmm+XXe9bBLnxqDqx4xp3LeFB+tpiRw" + }, + { + "key": "vault/core/auth", + "flags": 0, + "value": "AAAAAQJY1own/lA1Vu7McAcRae77DkD/9xjdgz2N0vYOaEXu6RJWy46Nrl/vnLMWKt7nAt9EJ9sfM0jSD24heo7AYXINiG8jGrD5c2d966Zb7SdyIafn+TQ6OMP2fkrhthRrldnUrNmkeQSJR0t2M1+kAu0zP9NSJqnDMxqVC5vgw0xeDORREtvB4vjKZjQxpqsR1dnIfPkpuydsg90kcnPgbX2mjLcER6nePrzhVg2z/6oS8C8u0yb26cby4GuU0ztdjejjbbZE853Fkk785pu6F9sjZkLgSe4bE5HzJ+Yv3WUU4IEVuQSW1g9AE9tQpo8zsoxi3k4dyyabTM2u78RNuJU0Bbe4fIhW5O4ApdzVb/IYss4sHeV6a+Q=" + }, + { + "key": "vault/core/cluster/feature-flags", + "flags": 0, + "value": "AAAAAQLNd3batKtGjgQ3ZjNlzgdpgRHSmO3wMrd1Auk2+PrLV3Jcecbx/xys8/+FZH1JZT5S+Y/PuhEgPnW26APEINnk" + }, + { + "key": "vault/core/cluster/local/info", + "flags": 0, + "value": "AAAAAQK0sEN3j+0JkdpQkJy/X2f5LLF5UGWIZqsjRguWAR1UW1oXmjYnxusdiH6MXx6DwfrEhnxoKH6pc32NDqfRAGSe+YacmEWhVEC0wnVgL1eQN4d5RTHtufMkuyFvGJaxv8M=" + }, + { + "key": "vault/core/hsm/barrier-unseal-keys", + "flags": 0, + "value": "CkzxzcFkUevG2qphQduiZQt+KLtjGdJtPFO91lUTThM8bZdu6MfLw/VdCgqx5YFDymDtBzHwWU2TGQxtxJvSue6dK9e6fQnQh2G8qWv0KgA=" + }, + { + "key": "vault/core/index-header-hmac-key", + "flags": 0, + "value": "AAAAAQJwhGkoeLyyp9EgcCZhoQjKTdPv85q7SVIKfwM83otV7wenBmQYA6aBGzRElHpkN1/fiSVCVbLMsMJP4YUNMTLj" + }, + { + "key": "vault/core/keyring", + "flags": 0, + "value": "AAAAAQK6qxbofg2/PSFYyh2JPL60+TNc56+s4tqkyH8KOas6PZsVIMYG+Rco3+AOKzK/1XuWUTbj948mVcbK611iYn4q+FGJ7jlEJj/3jr8/cHsYHbAAw2bmUih4NPu9ttV4K1NLG5lXM0Rb/kvb1fhwJT/rn74wuhmkXnIhY9LsezVKtJBctVOqpUpkYDiCCJGumemapR5mB34YMpTk5sfTAxVwiyV6WijTDZGcWYMbkVYw+uwk3/ONPKZOGbiHUV2Y0LRMKQ389jA0QUiCCeeoYh0SarEN7JPonels0yuhrWstqJCSLKhPILHyUkFnYaSnFkCsUBv88AE8/ukCbrPOmyTjg08H0LB6oacdlEHoSVkayodSwsu1QXSnu41qKFHp/KVoA1zIpEWNgpB+b3fWawMoI0nEYWQ8d2ZE+2s=" + }, + { + "key": "vault/core/leader/d997f19b-06d7-2148-38f4-df94d3beb31a", + "flags": 0, + "value": "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" + }, + { + "key": "vault/core/local-audit", + "flags": 0, + "value": "AAAAAQKizhmo2fLj4O+79aHMSysUxAHi/xalfxbTc6L0LTyxgJEwqMnTK/hUamwvyNNqsSN8fAsd+7WhHE8eHmVoMckd4R61Z0B6L0RPD1eqL/gTob5EoKl9" + }, + { + "key": "vault/core/local-auth", + "flags": 0, + "value": "AAAAAQKbdpOZDQvpdhYn8kIWYhV+YWAH5S6NLw8dGOy2Hm/M5AF60zNcCpQgxvyuLWDIWgQAI1vu1T2pAB452pTuD3H88arkbZJkWMA5luqZew3THxKkVWg=" + }, + { + "key": "vault/core/local-mounts", + "flags": 0, + "value": "AAAAAQLdDNlna0Ovd5aftM7yR1kmpsO6GfQwBq3/RQw4mBaq5pC2TV/zvGaH1pNN4/El4Bqysp9FBQfEV7GfFUMlJKhRRUMeB1SfvEzCkd3SP4ldrBc4qxsQYIhwY3VJh+jCdRAVDcu3uDFzgAX0BauUg2BPLbC7JI1KEaOp5KoidTohsufE3theJiZXA3J1YmRuq4qKkPpTsuAlFZ9hwAKxqKD3VNFQSQ9HDz/2juLEq+2zGIQzb8qs+/zsRDa5Ei/gKdsnhKTzRFfh0954KjMXUB74fVlwaQZs+27Ob62+cQkrL9oOqP0urRc8lf5984mahLLOoM3CO0kNUeGPJFjoqd8kFMDnFhVTBtAr2Pk1waW/m3wpx8BQAYBXyUn8xnfRtQOeGlRtWSKhyQEdoZpMuChvB3YSrgORf/kpumo82nT24Cyw6W33I1w=" + }, + { + "key": "vault/core/lock", + "flags": 3304740253564472344, + "value": "ZDk5N2YxOWItMDZkNy0yMTQ4LTM4ZjQtZGY5NGQzYmViMzFh" + }, + { + "key": "vault/core/master", + "flags": 0, + "value": "AAAAAQK6/U0M3nVCYPTV5vfkkhgsGXa5yVHw2ZaKKGEfT5kvwJGjAujRAfyJ6KmeUwvccc02yDnt4n+LrQP1TlGijRWby8RNkR38JPXULVH38AyTLRiBP2q164qOBf6GKh8K4DL5Uxwy3JkRHX+xZyQCirz0TDcjJ5b5ZJ+xbCL8Au5q/jnlMU98PQcKTtXewj42" + }, + { + "key": "vault/core/mounts", + "flags": 0, + "value": "AAAAAQKhJQqD5gPdswyHw7i7wsM7qgKESSUB88pLZ+hyKl9uMlwz3Aac17BDc1wkLBtqvuSWk94APbX1Mmcv++occjS5iDAEDNlQKP/lrpWg01nUozH8qVhVz0gv5e+yYI2bWmumXp+SjluLjtPvX5ncgGRiz48ODkiO4lSZ2VHyaL6cyN6n0TQKgYXkDMQ+BCBDL9QOvJuXKiTb35saYTwgzUBT3yGiwTtlZYSCoZ8ZLvdkFFKg+0/hlx+Ixwpu9ZUil6rNu1n14nnfOB+0yWsNqx1IF8I6oBCF5Q75EW9Tc+A8gClIEZi/FyhJwtDyZOnx3/dQzDgY0evNcw4cSa5uxaWzEc5aO5eQwykVIWVMzVo8JEcCq7aesTjypxuCKWkulKPbJwHMXTUbWRQppOLRnzDnboSsmrYYiZmBJjtkCKlrGDvBAqVPqud2Syz2DnDhhWIVqYMCJaFVduNTUUFtPCf+dhl/7QqIYeui0QbekIbrNCxjShLgHIJlY4sG0Yt0/hia6PasnIsKyhrFNqc0ayxCz3H9ai4PeK2F13TFijHNyGP3U4oyrsU+u9QumXVOhARORfOTmYKatOLfR2mEE0Vb1Ol1dWsVKaozaQzzB4TuUe4o3P7DSrCRYmGqV63uq+BGdOFNU2YkrfOuzlOIrTgel51i57Ck2V7xuaJ6p2V0pmol9hXncSSPLmdZ1UulP7Csl/Ud0SPojv7Pm8F1DD7MgkblGu/OyjuZ9NKSIdVhaP1Mwt7NA/MSwC5e" + }, + { + "key": "vault/core/seal-config", + "flags": 0, + "value": "eyJ0eXBlIjoic2hhbWlyIiwic2VjcmV0X3NoYXJlcyI6NSwic2VjcmV0X3RocmVzaG9sZCI6MywicGdwX2tleXMiOm51bGwsIm5vbmNlIjoiIiwiYmFja3VwIjpmYWxzZSwic3RvcmVkX3NoYXJlcyI6MSwibmFtZSI6IiJ9" + }, + { + "key": "vault/core/shamir-kek", + "flags": 0, + "value": "AAAAAQK1VSy4YLnj2+0tzqTe4pA/hAAgjYj0LlGNDUk5y0XXgxC/P34th8HtSnyyu2J6uPcR5VfKSShW1n/Z7Yg=" + }, + { + "key": "vault/core/versions/1.20.4", + "flags": 0, + "value": "AAAAAQJBGs6bjo41ZGeXkKO7k+CaCDG/MckxtQDF3l5UqUg+JtUSTU6Sl2BZNAB+z5K05Mrkvqae3ZQiN+wk4oyNrlLidkV5h3ReyzskRYhePRnib88J4XcaeNvAW2BDsaBsmuu6JK+5etLW5lW1GXaB6qfp/lz9QbRpZS/UiK3VAdOXnZPYKYO+vCR++Q==" + }, + { + "key": "vault/core/wrapping/jwtkey", + "flags": 0, + "value": "AAAAAQJdfWZYstlvrBDnGPPiNFFcvemJbWrU1OLCrL1F8eDu4Tr7psDtjawbuc9YXg7fH2WpK2j2zgbS98M41evvf3G9zUkRzNWZ02b+YbtnS1Iab2bYDmg+lcTqgdW+PE2JmPsvErGjk4tgvY4DTGpTfQaE2w6f2o+ZGR7JJdGDg0jmg8dY32QEu4ibsLlhlUw+djo099yJ5KTVmRotPacDsKzhuzHzwgj713vcGKY81r1y4PGNLc+28VfIxZcYsUUaU0j/BCwN3Hdq4sguZLsGpHI7ghGxd7I/1rdUCwYtflmCjBNfUK32cVDqYYvdesocFigPZRLAIDb4ij+l5AnT8qDQL3CVwze9RXASIqxJqrFolUIbFCMegNNOBm52MTMH5fzo4poW+vndef/KtOFdLp1XVXbA2lCdN7BCD0WRMXvKGBV5c3IzxDFo555NiANbyBldq4RFHzq0kzVwwskchUBoAXrefsrXaRN3LXp5Q/Azx1xkcpMyn8Nr6t4iSnsXOzRST7+K3JyK6jghTbow2OIOe+ufiv01SNIJbvcK03XRmdfHKHc7MmXb4iJf1IUlHH6KRqefFZgtOraP8GZBnaDJPws5zn/9/OXp6RoYG/b15iU2tPE+kqmi68uuiLFCLIWZkhhFSkKsXBxpGeax7KDiiCCLSaRSHjLZuBCNNsqCceyq04fk58VETHYm/HRVSmnjlg==" + }, + { + "key": "vault/logical/0064bc4c-61bf-b0b4-4985-a7473776d6d1/f7959480-c5dd-088b-ed56-39f9101fe532/archive/metadata", + "flags": 0, + "value": "AAAAAQJ8WWFm3Ejbk624ZTNdmGjtvVOaMVFz1hi5KSFwSFW+mc4QjX1zgKlYxuyhteOmdra2bwKyX6KXus1JpL63SFRbFJ/3r3WCmKt8eDvMRw0f0Ab9rYfX74A0TJyehDfQHcMPTdHhzaOTFRw5zgWWC5Fxw9V7DKW1a0HcnnqytN3N1KmwHa+g5vOwQuDcNq2Z1v8Eu36cdeNXoy+F8BdciZ2zMYtftiSpUscC7yFPt1JlhXN5rcweiQDRcHOvqWlt8EXkbXUbcPOGmgcISKzuH6AuzyKfZtM7cwTBpjchBueDmHz5NIioH7O0TxyQkvEVeCTtOqPmZtK6aH0O/NRcp06j3u1a/zyIy6hJVcx3KRt70QTvEpYv52M3/T67DRbqmEbalhCBilcsX/xBoo+bvZsydnsw5HyQnc3UZ+ST0X4=" + }, + { + "key": "vault/logical/0064bc4c-61bf-b0b4-4985-a7473776d6d1/f7959480-c5dd-088b-ed56-39f9101fe532/metadata/1Tfwhc1fYg4XkfhpbxZNGkNI6DlmzsiSkCt2FGTF1Y0IhaYH6RTwy1d7wzQMFdjBgD6ppmsNL", + "flags": 0, + "value": "AAAAAQLIH58EAwXZXA4G6elSp2WEDT9t4kHH10qzLTpN413DatzVdVbUGHraozpFVzM2JZG7JuiUuwrEw4pLC736Hnd/FvSAzi446ygoPsRFJln+O+vP5FYVoj/wR58=" + }, + { + "key": "vault/logical/0064bc4c-61bf-b0b4-4985-a7473776d6d1/f7959480-c5dd-088b-ed56-39f9101fe532/metadata/8RGAV935YDJpVINZyKtbKnZRSs94t9ECr9WjCQHHEm6smbRUAxEdNLS17VSdTSVS5Go8BtYme8P7Ln", + "flags": 0, + "value": "AAAAAQI2nnyYLI1dIdRz1BHmUSJbmSp7L61V2AJMtG/FKXglgtbCv48m6vR1CvWuDOARyssBoQu/98qxFAnDiPoZumXiFutmlsSxRFjmJrsKAlDWE7NWn1ePdVUmrQ==" + }, + { + "key": "vault/logical/0064bc4c-61bf-b0b4-4985-a7473776d6d1/f7959480-c5dd-088b-ed56-39f9101fe532/metadata/8RGAV935YDJpVINZyKtbKnZRSs94t9ECr9WjCQHHEm6smbRUAxEdNLS17VSdTSVS5Go8BtYme8P7Ln/1TfGv9Q4heVXV8KDMo4mIS2JKOhx2QU42E9uQXUXNelCMxRiQsSfhDXczJBJbR8qcmzL4q9x3", + "flags": 0, + "value": "AAAAAQI6Q3ynaWOUCVhx+8fn4zi/upmrcMkZZvfk4B2A949q5sMSRwf41cOqjQnjrzL412fBw1uOx359uCHkN+PyTq8kTrB4A8GOO+yzWiQ+3f9oAyDQqXqfA2y8Wtf4sQiRMObMPQhazoJRcA==" + }, + { + "key": "vault/logical/0064bc4c-61bf-b0b4-4985-a7473776d6d1/f7959480-c5dd-088b-ed56-39f9101fe532/metadata/p0DperaoMddbafJC4177HZ6rfYxk13FOamfD0NyzyXCHqySQn9ubJ7Wle6qqBWYqkcl", + "flags": 0, + "value": "AAAAAQJ0Wt5qC0722QxOeZxMhWl4iRkmbQA7Abe1VvWpToS/tbSPhoJEdb8x6oygvGb4uLHGp7VstKTo2oBfbojYt4jRsCiBaCIA9eDnageaRUKxChnp2Y971W0=" + }, + { + "key": "vault/logical/0064bc4c-61bf-b0b4-4985-a7473776d6d1/f7959480-c5dd-088b-ed56-39f9101fe532/policy/metadata", + "flags": 0, + "value": "AAAAAQJHTElBVxLHzFcWH0DKfdEl8iVIOCjjcbUKsabdoIYAUKoQXCV5VElYzs7mf6a2ANDIDb1w3+0DCQ/kdEFQsFARyIMDDUYQ+o3EGDpTYg4bUsCRlErXTSbh9fWifNX22aIV8rGEIMrH4OTPDlZkHxiqcVYnj8vD+Z/MhtI1lyBTHCBFugCpV3UsCrL8NdraktGuPqYemCFpPP15fvPLfq4fRmr5953n89hhqouOaK9ly86l0V/I/1OzsN7W4CTKSEpz7D/Kx05pe6K1A62N6hksn9mBOr/DaoXr+s1rcnvhyD9ls5sFj4rwAD6mfHYsCxrxBUKoBIkMbPgis+xJXfHITckG2Pp+NUZx0o3Q0lwaTKZ4+q7LzIyOkWpfHyil6A+WiTl2enIYZr2cS6c3qXfmboFOCnYvoWf87EFatGihp/xYYAo3vTki0f0ScQz/qji1Xctu5E3pFD+RPBdx5RSc+eEE006BCXZe68oSc3Vgzj6P6YGICAj3g7EK0u5v3C34LGinwoHWWEKXm1RiEeqGWl0j24TmcIy+AQHr7mS1UZThNQV0qJOw/9xN1VH90kJmCQZB4N6/KuItjk+DGamSMsMSBp16oBFLNwPUD6b6MhGvgHXiDi614F6uR1FyfJO66fvAz8s329OfQbS/yiDl2ZTKZ5m2hRnf13xHPsCRGrjNxBWcGYwHXDLGNh7eRpwUx7HocjMvCnTdeJ68klxxYSGGzHaadubP2svi4UpDAWqroPBhPBqsYi3yvh+rVBBFmxiTM/cLQkk8lP8S4Qw+1USv7z84bSoOMfFnjn6mDlXgnP8MsM1QSeGcIMGwgE/1lQPnkQKw3vFTlfcJPmUwu7XOvhIR/diN5npDChkuqm5dAQV5DfCpAazaCNCrDVDQp2TZm0mwd8Q9opNkZQf2ROsL4c5iGuNbNyKHZDtbgpSvHRX3xZLGmO2rWN97YRSCKvXryFMD1HsYecsjGJqNR5nYou5e0Wh1vXY9t6KaoGC7GwpVORtqS8vVvCNntXMr27KBKvFMifQ1BTVv3LcwP2iDbf6WiPmlP/ueSnWAtgBYsrjSCBN8v0lA/QchAKTMU8jKZfAkG7lhV2o6iZq5" + }, + { + "key": "vault/logical/0064bc4c-61bf-b0b4-4985-a7473776d6d1/f7959480-c5dd-088b-ed56-39f9101fe532/salt", + "flags": 0, + "value": "AAAAAQI7mczeSL5YTT6eoFpRiYVbAx060UrEHgB8HHU++EN2ra+4qg0oQWaqcsrcRDUhkbn3Hzl7RgynzwgNl/PSMakq" + }, + { + "key": "vault/logical/0064bc4c-61bf-b0b4-4985-a7473776d6d1/f7959480-c5dd-088b-ed56-39f9101fe532/upgrading", + "flags": 0, + "value": "AAAAAQJBYv1CvjkoNyaMak1GLjrjARIryhIyaiU6JsCWhK5nUyLOEdW/YuZiIzBx" + }, + { + "key": "vault/logical/0064bc4c-61bf-b0b4-4985-a7473776d6d1/f7959480-c5dd-088b-ed56-39f9101fe532/versions/3f4/6282ff2174bd350087957e5ba8435eb436b2053a872cb422e46a8477a5131", + "flags": 0, + "value": "AAAAAQIwiQ63fHDmwXG6+M/Ggbojt+873bqKIhb+DBr3xsVjKotlbL6nG3cCD188C2X/3F39i2sbp3RmyrPWyVBP0/LWVIgNFVgzuQzrJ6I6G7TaLD+ATsaPzXDn6ICXkeGx2AuwUAT77DFuJvJvDc9WkucZu5HV59LsQvhxMMJPcrIXfH5AWm4hdlPxRMqNbAGZv2D2Xdgt3WJyCaI0ZXh8+bSacWTyPN8ZCkz9/NI4zXVGF0BKYrBOt78sp0+VirH/G8+dVwi4fSxdgULdau3tQB47/+cSfhRh/qGrelZpruYoeRZtj6SpyBH50z6w65DJalZR2UlCqF69vs9WbsgAeeTGKa85jsONeDMifufc+dhDxtU1iecvE06abVW7Np+3PlM7fDdFKEB2zZFdXIWu97MEAoOf+YzWrQ==" + }, + { + "key": "vault/logical/0064bc4c-61bf-b0b4-4985-a7473776d6d1/f7959480-c5dd-088b-ed56-39f9101fe532/versions/6ab/cd05360448a455bddb46e0ab8435dbfc0be9159435e350328f2d5049b709b", + "flags": 0, + "value": "AAAAAQKaAKjZB6v1/nYogCSNtbcuZvTtnzXmiCCG7+hhAENKAT7I3tk3OQYAbTkueHG39EFJaTD/tvC97izCaKNHBp2XqhvD+YBLTmF8BW/SObVfUpboqhIlhtFPHHoAdtnUP9EV7L/3rMwaWpgGQcntHQ2zYdMenesiEYTTWL7H0C3fWRlZTcXbd0PakRIKJudDePi2ShcPSTSRai/wAUCgMI1aThK3n5XHIhes8aiJgGm72yDB9Jnpg+oNOunQxwc2quN4uxGDVoKT1Uo=" + }, + { + "key": "vault/logical/0064bc4c-61bf-b0b4-4985-a7473776d6d1/f7959480-c5dd-088b-ed56-39f9101fe532/versions/d2b/9d8296e1164a62b42bfce6ca684d2a60578d47001c4a50b9d5c009a74d772", + "flags": 0, + "value": "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" + }, + { + "key": "vault/logical/0064bc4c-61bf-b0b4-4985-a7473776d6d1/f7959480-c5dd-088b-ed56-39f9101fe532/versions/f1e/450b1450d0ce498b88db5076c02f4b1ccfc402da0dfed5034add8b9b0d7f5", + "flags": 0, + "value": "AAAAAQIAE4eSsnqx0kuwy8SO9gKF0qvtryrjmyOsy/WnT8+6rvLpaG+FJ8eTk3CRrAM6YoXKZ9jsLGtMlUuBedcJ/mGSS+MsEimOQEz4AAq2/umUa5NEdjOsJQQ6Yj/tu7s+uWkdEWDnTqdeqf6bMuW2AGxnJeaVbXzqVWrqcLYdMN6NdmeYge09BUbiNFePH6fUMhzu3oJ3fCxvlMYqmGsOgghn/g8S9/eY5M9tRx8lCcVPSxc5PeROG3scRzY6msoIv3Gnf2ymYJoFUS8=" + }, + { + "key": "vault/logical/a93a4d60-1697-6567-3517-b62b14efbd72/oidc_provider/assignment/allow_all", + "flags": 0, + "value": "AAAAAQIKNtgPkhix9LUoTjZLBDtIOUQZViFrlt0yCoW/FO7+xxVCt0iZcJnRKlC7MfJNKHySdeJPZg7qAcrS5cLZhswEMsQx" + }, + { + "key": "vault/logical/a93a4d60-1697-6567-3517-b62b14efbd72/oidc_provider/provider/default", + "flags": 0, + "value": "AAAAAQI+mCva7aw5abNmESGbJcNzJmA4cILeYzrXSoLCAbohaT20Xm/kAtPsbEcPiTcK0qncwp8eMtOqx6E19gAVxlIb5BH7y1t8Nu8khc+0VZRptHy+QV/Lrp0uUUQq" + }, + { + "key": "vault/logical/a93a4d60-1697-6567-3517-b62b14efbd72/oidc_tokens/named_keys/default", + "flags": 0, + "value": "AAAAAQLJi+KzODOfRrlnAeRnuNH4i9VRpM/EE41zmbOtRxA7rQQqn1t4Fh+uVvfxhuXmG41v4Tuxz4Nr+RuectQuRxUSzeG16ak++KI71zAU3+xN6fQbsYwwUzZPpvHytuQ+dtau25Wp0RunLYO0IFIa7hrZ5Uqv+38dAaHbWKi+Jc7zmeMsF9nWwMbSL1JQCKXZjrlr1VLPgyRJmKbydNiaHDrb5Ap1YDM80jI3KrJG1jqZsucnPRBXACOWnUN5PrMT2rj7twsCcTFcLsMt7rZvBfN2hnvvRMJ/jtcr6HikQnaUlhjjFZtbtnL7nPGmbOvxoeQa3kkHE0bYIXHl6Bhj1YmoIP7fcw==" + }, + { + "key": "vault/sys/counters/activity/acme-regeneration", + "flags": 0, + "value": "AAAAAQJ0cEV0bT89eCypCrH9HpPmlgBBJdmPpmSe2VsgZIPn5MA=" + }, + { + "key": "vault/sys/policy/control-group", + "flags": 0, + "value": "AAAAAQIhRUnbzlqqE99Y97zuuWZEnAdTZ6lOAvup+zI3+A98zVQvBUexTwVJSoC0jfvJnXE4JANx/TXE2S9pRpQLd4WmFLSz1QM2uADATXcTFNVgowyLuQFM0KOvmjn4F/wC43u3qtjqm2gldrEgyOuDXJ5hzfYVa5TAN09Nvhq1aCnebNSJMu3Rcow3aVuvVMM3Yl474thuqwCBVt/InzA0UGB2Eh8iBaTwFoq1pNdt4shM8QaKDnWjh3UF6O81MkFpaQFefQ7pkj4sQWfKe+abz7CvdBOAOlTqV1E2cmSJ0ESD8BNishTCQ7GR0EUFyXrx3DVGeDFO" + }, + { + "key": "vault/sys/policy/default", + "flags": 0, + "value": "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" + }, + { + "key": "vault/sys/policy/response-wrapping", + "flags": 0, + "value": "AAAAAQLP4e0oxOiXhUO0riWAJH814+pniJZ8Ztg3fgjz9JrJsC1FWktXHw2hnEtq77u9Q/spvy+hvnCTNCeig1l7Fo/JzdgJJURhf23lIi5VZ+0JoFiao8WvBwle0RXni2KFQA9PyugbJnkr347vo+3eUdsnObLrxyDmcezwI8PsvArqTNF+bcVHk9YZ8yUEqbUKmfB9TRdTcLcC0e+VYmuVVYY76ADt3TDlTD0vlRscWjeIUiKC4NnUUbyyylpAG5L5kzRXRQA3gp9jON73jKhFWWx0dYiyA+on3YGY0Lzy/3YxjAXsAQ==" + }, + { + "key": "vault/sys/token/accessor/1f608c36437cb5bf5393f06cf67f9d2d3ef62daf", + "flags": 0, + "value": "AAAAAQLWQVYcLsqL8FipJ52DZzqa9JFnhKUDWQ3dsNgSc3xPSZ6ox4UJQTL7g9mEgqfs4tM0k4WEnxaAD4w+KiTbxRjEqinSNHW5f+MYVqYhjUHFz56lGMtLCZ8nRSbvpFoN1SIsJ8DiQyJo6b3MVGgVx7aWhCoKilEhCeO3AOn6VzWZOgm4aqmi9FE=" + }, + { + "key": "vault/sys/token/id/h4eb8ceaf41a4bec960f61a7eb55df347f329e966d560e50d005af162678ff8e1", + "flags": 0, + "value": "AAAAAQJ3pHsuNwCFhpDW7wpG7jdTVXHdaaOTj1xaQ9OA3bUQVi2NFV/pseSe0dnA3KbfHd+uO1ur4Kl7wMiTC8ajMH9ppeFwmrJwjDtUpPwDqWXsq0VmlyGjbJSDR0YQ5ueT97rrwFnToxFa6Oho3Mi78xUX3ANYL+JZzHOtnxkH86FJE6z3Ck74N2vgcgWrC3suJQ4iYQpiis5chr9vulVIx0LAgAjGZqoG5grAu/wrOQ6vr2c+ZjSPUfstRLso00dqE/hdQrlui6pkN0rknYQNKUXGFjFemTAOkRA82bPTrOnAv8BZfrd4P8t09urJw6pczLl8x32c/p3Qais1xkwhEMf3UFKSfduatmSYQQmsYO60IcBOL1COBR1OszJtTaeBvsaEzRO3iCJVKGKMXq3lIsCAbMhT5MznxMtgCa9uwwQl7gs+4UV34CCYwJvFeugm6MroKHevFnA7+MGE9gtdgGFqh55uxIir0pmRNe8khqmTnVfvXxFPLHjEUYCspLqz5lQlu4CACZBSxp1cgRdSgq5EUCjsN0zXMpCXmw2g1gi0EdyTzgM5e9qHft/MH6kNRuWog1OOMX/Ri6dMaf1RhSrH6fscVx4Kh5vlaqarYaB5lSua6yBalOAxiFJnPDjcbZ+xtZLDDC2rS5PQuo2sEwnxUbGF1lz9Z/0gNb4jUYURCJA5UNAqEzETTUFfmAc=" + }, + { + "key": "vault/sys/token/salt", + "flags": 0, + "value": "AAAAAQI3tSR1Bly0PRVWsWDKlRwsomgdc5tzHcu7IbZch4vbY+Br2rtQb203x0/DxmXNbvhQUjXezMgWG8h9O7xE1iSQ" + } +] diff --git a/backup/20251012_100706/security/README.md b/backup/20251012_100706/security/README.md new file mode 100644 index 0000000..241a1de --- /dev/null +++ b/backup/20251012_100706/security/README.md @@ -0,0 +1,91 @@ +# Security 目录说明 + +## 目录结构 +``` +security/ +├── secrets/ # 敏感配置文件 +│ ├── vault-unseal-keys.txt # Vault解封密钥 +│ ├── vault-root-token.txt # Vault根令牌 +│ ├── vault-cluster-info.txt # Vault集群信息 +│ └── *.hcl # 其他配置文件 +├── scripts/ # 批量部署脚本 +├── templates/ # 配置模板 +└── README.md # 本文件 +``` + +## Vault密钥管理 + +### 密钥文件说明 +- `vault-unseal-keys.txt`: 包含5个Vault解封密钥,需要至少3个才能解封Vault +- `vault-root-token.txt`: Vault根令牌,拥有完全管理权限 +- `vault-cluster-info.txt`: Vault集群的基本信息和配置 + +### 使用Vault密钥 +```bash +# 解封Vault(需要3个密钥) +vault operator unseal -address=http://warden.tailnet-68f9.ts.net:8200 +vault operator unseal -address=http://warden.tailnet-68f9.ts.net:8200 +vault operator unseal -address=http://warden.tailnet-68f9.ts.net:8200 + +# 使用根令牌认证 +export VAULT_TOKEN=hvs.TftK5zfANuPWOc7EQEvjipCE +vault auth -address=http://warden.tailnet-68f9.ts.net:8200 +``` + +### 安全注意事项 +1. **密钥保护**: 所有Vault密钥文件权限设置为600,仅所有者可读写 +2. **备份策略**: 定期备份密钥文件到安全位置 +3. **访问控制**: 限制对security目录的访问权限 +4. **版本控制**: 不要将密钥文件提交到Git仓库 + +## 使用说明 + +### 1. 配置文件管理 +- 将需要上传的敏感配置文件放在 `secrets/` 目录下 +- 文件名格式:`{节点名}-{配置类型}.{扩展名}` +- 例如:`ch4-nomad.hcl`、`ash3c-consul.json` + +### 2. 批量部署脚本 +使用 `scripts/deploy-security-configs.sh` 脚本批量部署: + +```bash +# 部署所有配置 +./scripts/deploy-security-configs.sh + +# 部署特定节点 +./scripts/deploy-security-configs.sh ch4 + +# 部署特定类型 +./scripts/deploy-security-configs.sh all nomad +``` + +### 3. 配置模板 +- `templates/` 目录存放配置模板 +- 支持变量替换 +- 使用 Jinja2 语法 + +## 安全注意事项 + +1. **本地备份**:所有配置文件在上传前都会在本地保存备份 +2. **权限控制**:确保配置文件权限正确(600 或 644) +3. **敏感信息**:不要在配置文件中硬编码密码或密钥 +4. **版本控制**:使用 Git 跟踪配置变更,但排除密钥文件 + +## 部署流程 + +1. 将配置文件放入 `secrets/` 目录 +2. 检查配置文件格式和内容 +3. 运行批量部署脚本 +4. 验证部署结果 +5. 清理临时文件 + +## 故障恢复 + +如果部署失败: +1. 检查 `logs/` 目录下的错误日志 +2. 使用备份文件恢复 +3. 重新运行部署脚本 + +## 联系方式 + +如有问题,请联系系统管理员。 diff --git a/backup/20251012_100706/security/cf-tokens.txt b/backup/20251012_100706/security/cf-tokens.txt new file mode 100644 index 0000000..15402a9 --- /dev/null +++ b/backup/20251012_100706/security/cf-tokens.txt @@ -0,0 +1 @@ +CF Token: 0aPWoLaQ59l0nyL1jIVzZaEx2e41Gjgcfhn3ztJr diff --git a/backup/20251012_100706/security/grafana-api-credentials.md b/backup/20251012_100706/security/grafana-api-credentials.md new file mode 100644 index 0000000..0cde07a --- /dev/null +++ b/backup/20251012_100706/security/grafana-api-credentials.md @@ -0,0 +1,69 @@ +# Grafana API 凭证备忘录 + +## 基本信息 +- **Grafana URL**: http://influxdb.tailnet-68f9.ts.net:3000 +- **用户名**: admin +- **密码**: admin123 +- **认证方式**: Basic Auth + +## API 使用示例 + +### 1. 使用 API Token (推荐) +```bash +# 创建 Dashboard +curl -X POST "http://influxdb.tailnet-68f9.ts.net:3000/api/dashboards/db" \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer glsa_Lu2RW7yPMmCtYrvbZLNJyOI3yE1LOH5S_629de57b" \ + -d @dashboard.json + +# 获取组织信息 +curl -X GET "http://influxdb.tailnet-68f9.ts.net:3000/api/org" \ + -H "Authorization: Bearer glsa_Lu2RW7yPMmCtYrvbZLNJyOI3yE1LOH5S_629de57b" +``` + +### 2. 使用 Basic Auth (备用) +```bash +# 创建 Dashboard +curl -X POST "http://influxdb.tailnet-68f9.ts.net:3000/api/dashboards/db" \ + -H "Content-Type: application/json" \ + -u "admin:admin" \ + -d @dashboard.json + +# 获取组织信息 +curl -X GET "http://influxdb.tailnet-68f9.ts.net:3000/api/org" \ + -u "admin:admin" +``` + +### 3. 健康检查 (无需认证) +```bash +curl -X GET "http://influxdb.tailnet-68f9.ts.net:3000/api/health" +``` + +## 已创建的 Dashboard + +### Loki 热点图 Demo +- **Dashboard ID**: 18 +- **UID**: 5e81473e-f8e0-4f1e-a0c6-bbcc5c4b87f0 +- **URL**: http://influxdb.tailnet-68f9.ts.net:3000/d/5e81473e-f8e0-4f1e-a0c6-bbcc5c4b87f0/loki-e697a5-e5bf97-e783ad-e782b9-e59bbe-demo +- **功能**: 4个热点图面板,类似GitHub贡献图效果 + +## API Token (推荐使用) +- **Service Account ID**: 2 +- **Service Account UID**: df0t9r2rzqygwf +- **Token Name**: mgmt-api-token +- **API Token**: `glsa_Lu2RW7yPMmCtYrvbZLNJyOI3yE1LOH5S_629de57b` +- **权限**: Admin + +## API Keys 状态 +- **当前状态**: 传统API keys功能不可用 (返回404 Not Found) +- **原因**: Grafana 12.2.0使用Service Accounts替代传统API keys +- **解决方案**: 使用Service Account Token (推荐) + +## 注意事项 +- 此版本Grafana (12.2.0) 理论上支持API keys,但当前实例不可用 +- 密码已从默认admin改为admin123 +- 所有API调用都需要Basic Auth认证 +- 建议后续检查Grafana配置,启用API keys功能 + +## 创建时间 +2025-10-12 08:56 UTC diff --git a/backup/20251012_100706/security/vault/oracle-cloud-config.md b/backup/20251012_100706/security/vault/oracle-cloud-config.md new file mode 100644 index 0000000..edb4a27 --- /dev/null +++ b/backup/20251012_100706/security/vault/oracle-cloud-config.md @@ -0,0 +1,89 @@ +# Oracle Cloud Configuration + +## 🔑 配置信息 + +### 存储在Consul KV中 +```bash +# 查看所有Oracle Cloud配置 +consul kv get -recurse config/oracle-cloud/ +consul kv get -recurse config/oracle-cloud-kr-chuncheon/ + +# 获取美国节点配置 +consul kv get config/oracle-cloud/user +consul kv get config/oracle-cloud/fingerprint +consul kv get config/oracle-cloud/tenancy +consul kv get config/oracle-cloud/region +consul kv get config/oracle-cloud/key_file + +# 获取韩国节点配置 +consul kv get config/oracle-cloud-kr-chuncheon/user +consul kv get config/oracle-cloud-kr-chuncheon/fingerprint +consul kv get config/oracle-cloud-kr-chuncheon/tenancy +consul kv get config/oracle-cloud-kr-chuncheon/region +consul kv get config/oracle-cloud-kr-chuncheon/key_file +``` + +### 存储在Vault中 (更安全) +```bash +# 查看美国节点配置 +vault kv get secret/oracle-cloud +vault kv get secret/oracle-cloud/private-key + +# 查看韩国节点配置 +vault kv get secret/oracle-cloud-kr-chuncheon +vault kv get secret/oracle-cloud-kr-chuncheon/private-key +``` + +## 📝 配置内容 + +### 美国节点 (us-ashburn-1) +- **User OCID**: `ocid1.user.oc1..aaaaaaaappc7zxue4dlrsjljg4fwl6wcc5smetreuvpqn72heiyvjeeqanqq` +- **Fingerprint**: `73:80:50:35:b6:1d:e3:fc:68:f8:e3:e8:0b:df:79:e3` +- **Tenancy OCID**: `ocid1.tenancy.oc1..aaaaaaaayyhuf6swf2ho4s5acdpee6zssst6j7nkiri4kyfdusxzn3e7p32q` +- **Region**: `us-ashburn-1` + +### 韩国节点 (ap-chuncheon-1) +- **User OCID**: `ocid1.user.oc1..aaaaaaaaqoa2my3fwh3jbayachyylqyneiveydrjliu2qz65ijlc57ehplha` +- **Fingerprint**: `b1:6e:4e:5a:b6:1c:34:bf:b1:73:76:f6:9f:27:6d:99` +- **Tenancy OCID**: `ocid1.tenancy.oc1..aaaaaaaawfv2wd54ly75ppfjgdgap7rtd3vhtziz25dwx23xo4rbkxnxlapq` +- **Region**: `ap-chuncheon-1` + +### 私钥 +- **美国节点**: Vault `secret/oracle-cloud/private-key` +- **韩国节点**: Vault `secret/oracle-cloud-kr-chuncheon/private-key` +- **格式**: PEM格式私钥 +- **用途**: Oracle Cloud API认证 + +## 🚀 使用方式 + +### 从Consul读取配置 +```bash +# 在Nomad job中使用模板 +template { + data = < +# 需要提供至少3个不同的密钥才能完全解封Vault + +# 安全提醒: +# - 请妥善保管这些密钥,不要泄露给未授权人员 +# - 建议将密钥分发给不同的管理员 +# - 不要将这些密钥提交到版本控制系统 \ No newline at end of file diff --git a/backup/PERFECT_STATE/secrets-PERFECT/vault/dev/init_keys.json b/backup/PERFECT_STATE/secrets-PERFECT/vault/dev/init_keys.json new file mode 100644 index 0000000..8490a2c --- /dev/null +++ b/backup/PERFECT_STATE/secrets-PERFECT/vault/dev/init_keys.json @@ -0,0 +1,15 @@ +{ + "unseal_keys_b64": [ + "euXkiaLFbBhb4uSRbtdNQ18eIYRdSvhPmO/TVR4CCEY=" + ], + "unseal_keys_hex": [ + "7ae5e489a2c56c185be2e4916ed74d435f1e21845d4af84f98efd3551e020846" + ], + "unseal_shares": 1, + "unseal_threshold": 1, + "recovery_keys_b64": [], + "recovery_keys_hex": [], + "recovery_keys_shares": 0, + "recovery_keys_threshold": 0, + "root_token": "hvs.A5Fu4E1oHyezJapVllKPFsWg" +} diff --git a/backup/PERFECT_STATE/secrets-PERFECT/vault/dev/vault_env.sh b/backup/PERFECT_STATE/secrets-PERFECT/vault/dev/vault_env.sh new file mode 100644 index 0000000..0c19589 --- /dev/null +++ b/backup/PERFECT_STATE/secrets-PERFECT/vault/dev/vault_env.sh @@ -0,0 +1,2 @@ +export VAULT_ADDR='http://100.117.106.136:8200' +export VAULT_TOKEN='hvs.A5Fu4E1oHyezJapVllKPFsWg' diff --git a/backup/PERFECT_STATE/traefik-cloudflare-PERFECT.nomad b/backup/PERFECT_STATE/traefik-cloudflare-PERFECT.nomad new file mode 100644 index 0000000..381cea3 --- /dev/null +++ b/backup/PERFECT_STATE/traefik-cloudflare-PERFECT.nomad @@ -0,0 +1,131 @@ +job "traefik-cloudflare-v3" { + datacenters = ["dc1"] + type = "service" + + group "traefik" { + count = 1 + + constraint { + attribute = "${node.unique.name}" + value = "hcp1" + } + + volume "traefik-certs" { + type = "host" + read_only = false + source = "traefik-certs" + } + + volume "traefik-dynamic" { + type = "host" + read_only = true + source = "/root/mgmt/infrastructure/traefik/dynamic" + } + + network { + mode = "host" + port "http" { + static = 80 + } + port "https" { + static = 443 + } + port "traefik" { + static = 8080 + } + } + + task "traefik" { + driver = "exec" + + config { + command = "/usr/local/bin/traefik" + args = [ + "--configfile=/local/traefik.yml" + ] + } + + env { + CLOUDFLARE_EMAIL = "locksmithknight@gmail.com" + CLOUDFLARE_DNS_API_TOKEN = "0aPWoLaQ59l0nyL1jIVzZaEx2e41Gjgcfhn3ztJr" + CLOUDFLARE_ZONE_API_TOKEN = "0aPWoLaQ59l0nyL1jIVzZaEx2e41Gjgcfhn3ztJr" + } + + volume_mount { + volume = "traefik-certs" + destination = "/opt/traefik/certs" + read_only = false + } + + volume_mount { + volume = "traefik-dynamic" + destination = "/opt/traefik/dynamic" + read_only = true + } + + template { + data = < { + name = instance.db_instance_description + status = instance.db_instance_status + engine = instance.engine + engine_version = instance.engine_version + create_time = instance.create_time + expire_time = instance.expire_time + vpc_id = instance.vpc_id + vswitch_id = instance.vswitch_id + } + } + description = "所有数据库实例状态" +} + +# 检查是否有正在创建的实例 +output "creating_instances" { + value = [ + for instance in data.alicloud_db_instances.all.instances : { + id = instance.id + name = instance.db_instance_description + status = instance.db_instance_status + create_time = instance.create_time + } if contains(["Creating", "DBInstanceClassChanging", "Transing", "Pending"], instance.db_instance_status) + ] + description = "正在创建的数据库实例" +} + +# 输出所有实例状态(用于调试) +output "all_instances_debug" { + value = [ + for instance in data.alicloud_db_instances.all.instances : { + id = instance.id + name = instance.db_instance_description + status = instance.db_instance_status + create_time = instance.create_time + engine = instance.engine + } + ] + description = "所有数据库实例状态(调试用)" +} + +# 输出网络使用情况 +output "network_usage" { + value = { + vpcs = { + for vpc in data.alicloud_vpcs.all.vpcs : vpc.id => { + name = vpc.vpc_name + cidr = vpc.cidr_block + status = vpc.status + } + } + vswitches = { + for vswitch in data.alicloud_vswitches.all.vswitches : vswitch.id => { + name = vswitch.vswitch_name + vpc_id = vswitch.vpc_id + zone_id = vswitch.zone_id + status = vswitch.status + } + } + } + description = "网络资源使用情况" +} diff --git a/cloud_provider/terraform-alicloud-beijing/variables.tf b/cloud_provider/terraform-alicloud-beijing/variables.tf new file mode 100644 index 0000000..62cb185 --- /dev/null +++ b/cloud_provider/terraform-alicloud-beijing/variables.tf @@ -0,0 +1,50 @@ +# 阿里云北京区域变量定义 + +variable "access_key" { + description = "阿里云 AccessKey ID" + type = string + default = "LTAI5tBRm7PbNFdaGZpUaLUJ" + sensitive = true +} + +variable "secret_key" { + description = "阿里云 AccessKey Secret" + type = string + default = "cYRaxAoE9I3MILlHRgUbowfxQzhj1D" + sensitive = true +} + +variable "region" { + description = "阿里云区域" + type = string + default = "cn-beijing" +} + +variable "vpc_id" { + description = "VPC ID" + type = string + default = "vpc-2ze1d10frat58rkmugz2d" +} + +variable "project_name" { + description = "项目名称" + type = string + default = "mgmt" +} + +variable "environment" { + description = "环境名称" + type = string + default = "dev" +} + +variable "common_tags" { + description = "通用标签" + type = map(string) + default = { + Project = "mgmt" + Environment = "dev" + Owner = "ben" + ManagedBy = "terraform" + } +} diff --git a/cloud_provider/terraform-oci-kr-chuncheon/main.tf b/cloud_provider/terraform-oci-kr-chuncheon/main.tf new file mode 100644 index 0000000..8b74a52 --- /dev/null +++ b/cloud_provider/terraform-oci-kr-chuncheon/main.tf @@ -0,0 +1,57 @@ +# 韩国春川节点 Oracle Cloud 配置 +terraform { + required_providers { + oci = { + source = "oracle/oci" + version = "~> 7.20.0" + } + } +} + +# 韩国春川区域 OCI Provider +provider "oci" { + tenancy_ocid = "ocid1.tenancy.oc1..aaaaaaaawfv2wd54ly75ppfjgdgap7rtd3vhtziz25dwx23xo4rbkxnxlapq" + user_ocid = "ocid1.user.oc1..aaaaaaaaqoa2my3fwh3jbayachyylqyneiveydrjliu2qz65ijlc57ehplha" + fingerprint = "b1:6e:4e:5a:b6:1c:34:bf:b1:73:76:f6:9f:27:6d:99" + private_key_path = "./oci_api_key_kr.pem" + region = "ap-chuncheon-1" +} + +# 获取可用性域 +data "oci_identity_availability_domains" "kr_chuncheon_ads" { + compartment_id = var.tenancy_ocid +} + +# 获取实例列表 +data "oci_core_instances" "kr_instances" { + compartment_id = var.tenancy_ocid +} + +# 获取启动卷列表 +data "oci_core_boot_volumes" "kr_boot_volumes" { + compartment_id = var.tenancy_ocid + availability_domain = data.oci_identity_availability_domains.kr_chuncheon_ads.availability_domains[0].name +} + +# 获取存储卷列表 +data "oci_core_volumes" "kr_volumes" { + compartment_id = var.tenancy_ocid + availability_domain = data.oci_identity_availability_domains.kr_chuncheon_ads.availability_domains[0].name +} + +# 输出信息 +output "kr_chuncheon_availability_domains" { + value = data.oci_identity_availability_domains.kr_chuncheon_ads.availability_domains +} + +output "kr_instances" { + value = data.oci_core_instances.kr_instances.instances +} + +output "kr_boot_volumes" { + value = data.oci_core_boot_volumes.kr_boot_volumes.boot_volumes +} + +output "kr_volumes" { + value = data.oci_core_volumes.kr_volumes.volumes +} diff --git a/cloud_provider/terraform-oci-kr-chuncheon/oci_config b/cloud_provider/terraform-oci-kr-chuncheon/oci_config new file mode 100644 index 0000000..26c4c22 --- /dev/null +++ b/cloud_provider/terraform-oci-kr-chuncheon/oci_config @@ -0,0 +1,6 @@ +[DEFAULT] +user=ocid1.user.oc1..aaaaaaaaqoa2my3fwh3jbayachyylqyneiveydrjliu2qz65ijlc57ehplha +fingerprint=b1:6e:4e:5a:b6:1c:34:bf:b1:73:76:f6:9f:27:6d:99 +tenancy=ocid1.tenancy.oc1..aaaaaaaawfv2wd54ly75ppfjgdgap7rtd3vhtziz25dwx23xo4rbkxnxlapq +region=ap-chuncheon-1 +key_file=./oci_api_key_kr.pem diff --git a/cloud_provider/terraform-oci-kr-chuncheon/variables.tf b/cloud_provider/terraform-oci-kr-chuncheon/variables.tf new file mode 100644 index 0000000..ba8046c --- /dev/null +++ b/cloud_provider/terraform-oci-kr-chuncheon/variables.tf @@ -0,0 +1,31 @@ +# 韩国春川节点变量定义 + +variable "tenancy_ocid" { + description = "Tenancy OCID" + type = string + default = "ocid1.tenancy.oc1..aaaaaaaawfv2wd54ly75ppfjgdgap7rtd3vhtziz25dwx23xo4rbkxnxlapq" +} + +variable "user_ocid" { + description = "User OCID" + type = string + default = "ocid1.user.oc1..aaaaaaaaqoa2my3fwh3jbayachyylqyneiveydrjliu2qz65ijlc57ehplha" +} + +variable "fingerprint" { + description = "API Key Fingerprint" + type = string + default = "e6:c6:e7:a3:e5:62:37:1b:ad:bb:17:db:73:5c:eb:e0" +} + +variable "region" { + description = "Oracle Cloud Region" + type = string + default = "ap-chuncheon-1" +} + +variable "compartment_ocid" { + description = "Compartment OCID" + type = string + default = "ocid1.tenancy.oc1..aaaaaaaawfv2wd54ly75ppfjgdgap7rtd3vhtziz25dwx23xo4rbkxnxlapq" +} diff --git a/terraform-oci-us/ash1d-health.tf b/cloud_provider/terraform-oci-us-ashburn/ash1d-health.tf similarity index 100% rename from terraform-oci-us/ash1d-health.tf rename to cloud_provider/terraform-oci-us-ashburn/ash1d-health.tf diff --git a/terraform-oci-us/main.tf b/cloud_provider/terraform-oci-us-ashburn/main.tf similarity index 100% rename from terraform-oci-us/main.tf rename to cloud_provider/terraform-oci-us-ashburn/main.tf diff --git a/terraform-oci-us/oci_config b/cloud_provider/terraform-oci-us-ashburn/oci_config similarity index 100% rename from terraform-oci-us/oci_config rename to cloud_provider/terraform-oci-us-ashburn/oci_config diff --git a/terraform-oci-us/variables.tf b/cloud_provider/terraform-oci-us-ashburn/variables.tf similarity index 100% rename from terraform-oci-us/variables.tf rename to cloud_provider/terraform-oci-us-ashburn/variables.tf diff --git a/infrastructure/nomad/nomad-jobs/traefik-cloudflare/traefik-cloudflare-v3.nomad b/infrastructure/nomad/nomad-jobs/traefik-cloudflare/traefik-cloudflare-v3.nomad index 85e051d..b1fff62 100644 --- a/infrastructure/nomad/nomad-jobs/traefik-cloudflare/traefik-cloudflare-v3.nomad +++ b/infrastructure/nomad/nomad-jobs/traefik-cloudflare/traefik-cloudflare-v3.nomad @@ -16,6 +16,8 @@ job "traefik-cloudflare-v3" { source = "traefik-certs" } + + network { mode = "host" port "http" { @@ -51,12 +53,24 @@ job "traefik-cloudflare-v3" { read_only = false } + + template { data = <&2 -} - -success() { - echo -e "${GREEN}[SUCCESS]${NC} $1" -} - -warning() { - echo -e "${YELLOW}[WARNING]${NC} $1" -} - -# 创建必要目录 -create_dirs() { - mkdir -p "$LOGS_DIR" "$BACKUP_DIR" "$TEMP_DIR" -} - -# 检查节点是否存在 -check_node() { - local node=$1 - ping -c 1 "$node.tailnet-68f9.ts.net" >/dev/null 2>&1 -} - -# 备份现有配置 -backup_config() { - local node=$1 - local config_type=$2 - local config_path=$3 - - local backup_file="$BACKUP_DIR/${node}-${config_type}-$(date +%Y%m%d_%H%M%S).backup" - - log "备份 $node 的 $config_type 配置到 $backup_file" - - if sshpass -p '3131' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 ben@"$node.tailnet-68f9.ts.net" "test -f $config_path"; then - sshpass -p '3131' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 ben@"$node.tailnet-68f9.ts.net" "cat $config_path" > "$backup_file" - success "备份完成: $backup_file" - else - warning "配置文件不存在: $config_path" - fi -} - -# 部署配置文件 -deploy_config() { - local node=$1 - local config_type=$2 - local config_file=$3 - - log "部署 $config_file 到 $node" - - # 确定目标路径 - local target_path - case $config_type in - "nomad") - target_path="/etc/nomad.d/nomad.hcl" - ;; - "consul") - target_path="/etc/consul.d/consul.hcl" - ;; - "vault") - target_path="/etc/vault.d/vault.hcl" - ;; - "traefik") - target_path="/etc/traefik/traefik.yml" - ;; - *) - error "未知配置类型: $config_type" - return 1 - ;; - esac - - # 备份现有配置 - backup_config "$node" "$config_type" "$target_path" - - # 上传配置文件 - log "上传配置文件到 $node:$target_path" - sshpass -p '3131' scp -o StrictHostKeyChecking=no -o ConnectTimeout=10 "$config_file" ben@"$node.tailnet-68f9.ts.net":/tmp/new-config - - # 替换配置文件 - log "替换配置文件" - sshpass -p '3131' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 ben@"$node.tailnet-68f9.ts.net" " - echo '3131' | sudo -S cp /tmp/new-config $target_path - echo '3131' | sudo -S chown root:root $target_path - echo '3131' | sudo -S chmod 644 $target_path - rm -f /tmp/new-config - " - - success "配置文件部署完成: $node:$target_path" -} - -# 重启服务 -restart_service() { - local node=$1 - local config_type=$2 - - log "重启 $node 的 $config_type 服务" - - local service_name - case $config_type in - "nomad") - service_name="nomad" - ;; - "consul") - service_name="consul" - ;; - "vault") - service_name="vault" - ;; - "traefik") - service_name="traefik" - ;; - *) - error "未知服务类型: $config_type" - return 1 - ;; - esac - - sshpass -p '3131' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 ben@"$node.tailnet-68f9.ts.net" " - echo '3131' | sudo -S systemctl restart $service_name - sleep 3 - echo '3131' | sudo -S systemctl status $service_name --no-pager - " - - success "服务重启完成: $node:$service_name" -} - -# 验证部署 -verify_deployment() { - local node=$1 - local config_type=$2 - - log "验证 $node 的 $config_type 部署" - - case $config_type in - "nomad") - sshpass -p '3131' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 ben@"$node.tailnet-68f9.ts.net" " - echo '3131' | sudo -S systemctl is-active nomad - " - ;; - "consul") - sshpass -p '3131' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 ben@"$node.tailnet-68f9.ts.net" " - echo '3131' | sudo -S systemctl is-active consul - " - ;; - *) - warning "跳过验证: $config_type" - ;; - esac -} - -# 主函数 -main() { - local target_node=${1:-"all"} - local target_type=${2:-"all"} - - log "开始批量部署安全配置文件" - log "目标节点: $target_node" - log "配置类型: $target_type" - - create_dirs - - # 处理节点列表 - local nodes_to_process=() - if [ "$target_node" = "all" ]; then - nodes_to_process=("${NODES[@]}") - else - nodes_to_process=("$target_node") - fi - - # 处理配置类型 - local types_to_process=() - if [ "$target_type" = "all" ]; then - types_to_process=("${CONFIG_TYPES[@]}") - else - types_to_process=("$target_type") - fi - - # 遍历节点和配置类型 - for node in "${nodes_to_process[@]}"; do - if ! check_node "$node"; then - warning "节点 $node 不可达,跳过" - continue - fi - - log "处理节点: $node" - - for config_type in "${types_to_process[@]}"; do - local config_file="$SECRETS_DIR/${node}-${config_type}.hcl" - - if [ ! -f "$config_file" ]; then - config_file="$SECRETS_DIR/${node}-${config_type}.yml" - fi - - if [ ! -f "$config_file" ]; then - config_file="$SECRETS_DIR/${node}-${config_type}.json" - fi - - if [ -f "$config_file" ]; then - log "找到配置文件: $config_file" - deploy_config "$node" "$config_type" "$config_file" - restart_service "$node" "$config_type" - verify_deployment "$node" "$config_type" - else - warning "未找到配置文件: $node-$config_type" - fi - done - done - - # 清理临时文件 - rm -rf "$TEMP_DIR" - - success "批量部署完成!" - log "日志文件: $LOGS_DIR" - log "备份文件: $BACKUP_DIR" -} - -# 显示帮助信息 -show_help() { - echo "使用方法: $0 [节点名] [配置类型]" - echo "" - echo "参数:" - echo " 节点名 - 目标节点名称 (默认: all)" - echo " 配置类型 - 配置类型 (默认: all)" - echo "" - echo "示例:" - echo " $0 # 部署所有节点的所有配置" - echo " $0 ch4 # 部署 ch4 节点的所有配置" - echo " $0 all nomad # 部署所有节点的 nomad 配置" - echo " $0 ch4 consul # 部署 ch4 节点的 consul 配置" - echo "" - echo "支持的节点: ${NODES[*]}" - echo "支持的配置类型: ${CONFIG_TYPES[*]}" -} - -# 检查参数 -if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then - show_help - exit 0 -fi - -# 运行主函数 -main "$@" diff --git a/security/supabase-beijing-credentials.md b/security/supabase-beijing-credentials.md new file mode 100644 index 0000000..1a49608 --- /dev/null +++ b/security/supabase-beijing-credentials.md @@ -0,0 +1,51 @@ +# 阿里云北京区域 Supabase 连接信息 + +## 基本信息 +- **项目ID**: `sbp-1a6cxmdudvldi3yi` +- **项目名称**: `wtf` +- **区域**: 华北2(北京) - cn-beijing +- **状态**: ✅ 运行中 + +## 连接信息 +- **主机地址**: `sbp-1a6cxmdudvldi3yi.supabase.opentrust.net` +- **IP地址**: `8.160.232.108` (公网) / `10.0.0.95` (内网) +- **端口**: `5432` +- **数据库**: `postgres` +- **用户名**: `postgres` +- **密码**: `Ben19Do79` + +## 连接命令 +```bash +# 方法1: 使用环境变量 +export PGPASSWORD="Ben19Do79" +psql -h sbp-1a6cxmdudvldi3yi.supabase.opentrust.net -p 5432 -U postgres -d postgres + +# 方法2: 直接指定密码 +PGPASSWORD="Ben19Do79" psql -h sbp-1a6cxmdudvldi3yi.supabase.opentrust.net -p 5432 -U postgres -d postgres +``` + +## 数据库信息 +- **PostgreSQL 版本**: 15.8 +- **编码**: UTF8 +- **可用数据库**: postgres, template0, template1 +- **特殊用户**: supabase_admin, dashboard_user + +## 网络测试结果 +- **Ping 延迟**: 平均 5.4ms +- **丢包率**: 0% +- **连接状态**: ✅ 完全正常 + +## 创建时间 +- **创建日期**: 2025-10-12 +- **创建区域**: 北京可用区I (cn-beijing-i) +- **VPC**: vpc-2ze1d10frat58rkmugz2d (bj_ipam) +- **交换机**: vsw-2zeesdjaeflerzspoax2r + +## 安全注意事项 +- 此文件包含敏感信息,请勿提交到版本控制系统 +- 建议定期轮换密码 +- 在生产环境中使用环境变量或密钥管理系统 + +--- +*创建时间: 2025-10-12* +*测试状态: ✅ 连接正常* diff --git a/security/vault/oracle-cloud-config.md b/security/vault/oracle-cloud-config.md index f78bdd1..edb4a27 100644 --- a/security/vault/oracle-cloud-config.md +++ b/security/vault/oracle-cloud-config.md @@ -6,34 +6,51 @@ ```bash # 查看所有Oracle Cloud配置 consul kv get -recurse config/oracle-cloud/ +consul kv get -recurse config/oracle-cloud-kr-chuncheon/ -# 获取具体配置 +# 获取美国节点配置 consul kv get config/oracle-cloud/user consul kv get config/oracle-cloud/fingerprint consul kv get config/oracle-cloud/tenancy consul kv get config/oracle-cloud/region consul kv get config/oracle-cloud/key_file + +# 获取韩国节点配置 +consul kv get config/oracle-cloud-kr-chuncheon/user +consul kv get config/oracle-cloud-kr-chuncheon/fingerprint +consul kv get config/oracle-cloud-kr-chuncheon/tenancy +consul kv get config/oracle-cloud-kr-chuncheon/region +consul kv get config/oracle-cloud-kr-chuncheon/key_file ``` ### 存储在Vault中 (更安全) ```bash -# 查看Oracle Cloud配置 +# 查看美国节点配置 vault kv get secret/oracle-cloud - -# 查看私钥 vault kv get secret/oracle-cloud/private-key + +# 查看韩国节点配置 +vault kv get secret/oracle-cloud-kr-chuncheon +vault kv get secret/oracle-cloud-kr-chuncheon/private-key ``` ## 📝 配置内容 -### 基本信息 +### 美国节点 (us-ashburn-1) - **User OCID**: `ocid1.user.oc1..aaaaaaaappc7zxue4dlrsjljg4fwl6wcc5smetreuvpqn72heiyvjeeqanqq` - **Fingerprint**: `73:80:50:35:b6:1d:e3:fc:68:f8:e3:e8:0b:df:79:e3` - **Tenancy OCID**: `ocid1.tenancy.oc1..aaaaaaaayyhuf6swf2ho4s5acdpee6zssst6j7nkiri4kyfdusxzn3e7p32q` - **Region**: `us-ashburn-1` +### 韩国节点 (ap-chuncheon-1) +- **User OCID**: `ocid1.user.oc1..aaaaaaaaqoa2my3fwh3jbayachyylqyneiveydrjliu2qz65ijlc57ehplha` +- **Fingerprint**: `b1:6e:4e:5a:b6:1c:34:bf:b1:73:76:f6:9f:27:6d:99` +- **Tenancy OCID**: `ocid1.tenancy.oc1..aaaaaaaawfv2wd54ly75ppfjgdgap7rtd3vhtziz25dwx23xo4rbkxnxlapq` +- **Region**: `ap-chuncheon-1` + ### 私钥 -- **存储位置**: Vault `secret/oracle-cloud/private-key` +- **美国节点**: Vault `secret/oracle-cloud/private-key` +- **韩国节点**: Vault `secret/oracle-cloud-kr-chuncheon/private-key` - **格式**: PEM格式私钥 - **用途**: Oracle Cloud API认证 @@ -67,5 +84,6 @@ curl -H "X-Vault-Token: $VAULT_TOKEN" \ ## 🏷️ 标签 - 云提供商: Oracle Cloud Infrastructure -- 区域: us-ashburn-1 +- 区域: us-ashburn-1, ap-chuncheon-1 - 存储方式: Consul KV + Vault +- 节点数量: 2个区域 diff --git a/security/vault/vault-keys.md b/security/vault/vault-keys.md deleted file mode 100644 index b6279c3..0000000 --- a/security/vault/vault-keys.md +++ /dev/null @@ -1,46 +0,0 @@ -# Vault Keys and Tokens - -## 🔑 Unseal Keys (5个) - -``` -Unseal Key 1: AzvGBl4DKDVMlA4eaKCziB2vGsaRFR5lTel3MIO3H6Ym -Unseal Key 2: 9gi5x7pctTp84NZNQJNDK+XXwBze41UR4J8m9HMyV33c -Unseal Key 3: kKmNVr3UQ7v2TosOOQJmvvUs8r68wm+N4k7SoerZ5Xqp -Unseal Key 4: dopmiAQGjMvcPWtj4/89oMa0vt7YMHPiktspmLNfoR/R -Unseal Key 5: 9cf34x2neGESGAq8pSpmbiXUPbh2PXWn3J0OIDKy3Svl -``` - -## 🎫 Root Token - -``` -hvs.nLqetAjsC2xTXmY4WQyFmPWg -``` - -## 📝 使用说明 - -### 解封Vault (需要3个keys) -```bash -export VAULT_ADDR="https://vault.git-4ta.live" -vault operator unseal -vault operator unseal -vault operator unseal -``` - -### 登录Vault -```bash -vault login hvs.nLqetAjsC2xTXmY4WQyFmPWg -``` - -### 访问Vault UI -``` -https://vault.git-4ta.live/ui/ -``` - -## 📅 创建时间 -2025-10-12 09:22 UTC - -## 🏷️ 标签 -- Vault版本: 1.20.4 -- 存储类型: Consul -- HA模式: 启用 -- 集群名称: vault-cluster