diff --git a/README.md b/README.md index 32d3839..c876e36 100644 --- a/README.md +++ b/README.md @@ -1,76 +1,200 @@ -# Worker +# Certmanager -Remote gRPC/jsonRPC for bootstrap deployments, control operation systems and etc. - -## Remote execution of command over gRPC/jsonRPC - -### +### Create root issuer certificate and key ``` - -$ ./workerd -daemon - -$ tail -f workerd.log -2023-10-03T21:10:27+02:00 info [Build server] -2023-10-03T21:10:28+02:00 debug [Build service] -2023-10-03T21:10:28+02:00 debug [Server configuration: -wservice: - port: 9101 -gservice: - port: 9202 -auth: - username: worker - password: worker -hostname: localhost -debug: false -build: 2023-10-03-1009 -logfile: workerd.log -runfile: workerd.pid -daemon: false - -] -2023-10-03T21:10:28+02:00 info [Running server as user ziggi] -2023-10-03T21:10:28+02:00 info [Service run] -2023-10-03T21:10:28+02:00 debug [The route is registered: POST /api/v1/status/get] -2023-10-03T21:10:28+02:00 debug [The route is registered: POST /api/v1/command/exec] -2023-10-03T21:10:28+02:00 info [Service listening at 9101 port] -2023-10-03T21:10:28+02:00 info [Service listening at [::]:9202] -2023-10-03T21:12:55+02:00 debug [Called unary interceptor with method: /workercontrol.Control/ExecCommand] -2023-10-03T21:12:55+02:00 debug [Reqest username: [worker]] -2023-10-03T21:12:55+02:00 debug [Reqest password: [worker]] -2023-10-03T21:12:55+02:00 debug [Request: {"command":"ls","args":["-l"],"workdir":"/var"}] -2023-10-03T21:12:55+02:00 debug [Handle execCommand request] -2023-10-03T21:12:55+02:00 debug [Exec command: [wd:/var] /bin/ls -l ] - -``` - -## Client side - -``` -$ ./workerctl -host 127.0.0.1 execCommand -workdir /var ls -l +$ ./certmanagerctl createIssuerPair -cn fooBar error: false result: - stdout: | - total 48 - drwxr-xr-x 2 root root 4096 Oct 3 09:19 backups - drwxr-xr-x 18 root root 4096 Apr 5 18:58 cache - drwxr-xr-x 3 root root 4096 Apr 25 13:31 db - drwxr-xr-x 82 root root 4096 Sep 7 13:12 lib - drwxrwsr-x 2 root staff 4096 Sep 19 2020 local - lrwxrwxrwx 1 root root 11 Feb 27 2021 lock -> ../run/lock - drwxr-xr-x 29 root root 4096 Oct 4 10:16 log - drwxrwsr-x 2 root mail 4096 Apr 5 19:00 mail - drwxr-xr-x 4 root root 4096 Aug 9 23:07 openebs - drwxr-xr-x 2 root root 4096 Sep 26 2020 opt - lrwxrwxrwx 1 root root 6 Feb 27 2021 run -> ../run - drwxr-xr-x 8 root root 4096 Apr 12 2021 spool - drwxrwxrwt 67 root root 4096 Oct 4 12:12 tmp - drwxr-xr-x 3 root root 4096 Mar 2 2021 www - stderr: "" - exitcode: 0 - success: true - command: /bin/ls -l - workdir: /var + certificate: | + -----BEGIN CERTIFICATE----- + MIIDATCCAemgAwIBAgIEZrJr3TANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZm + b29CYXIwHhcNMjQwODA2MTgzMDUzWhcNMzQwODA2MTgzMDUzWjARMQ8wDQYDVQQD + EwZmb29CYXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDJ3HDF8JKi + j/dlt8Z+adBUONEK55Y+Y8ZXMv1ncK3Mmzh/fliuWWrj0Qf0DuZN/BY8OrjHXH7l + Ri+c9NfrcRnGPXNV+yifQ/rZ0Aacmjtr7TgCK3qBi8m/92a/6nJ9l+GvT8x/sEQG + xWuPc4LYmrJiG8hJN6BJ7endmbRDVCw2tRmbR7qgBu1t2Of0VgybxvylyxzIJQaB + P0FWS9tZ2ehgu8H7Xbn2wktDunjgtvuo3qJUX4N9WeLbE0n0j6hXqfKOag7ogAUy + IAiljT11o3JabnbYxXyhhI3XE1pFLfrq9aZFXVMee+neX+cl9rwr2sfDEFrOCdOo + 2ywu5FhRQxXpAgMBAAGjYTBfMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggr + BgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUj551 + ejoKHDooZowISVm3kHHbLzYwDQYJKoZIhvcNAQELBQADggEBAAFzfqhkpYrn3WoZ + 5etQa8qvJPjatcWy/WbgEVJJ1TYHQJg8iJtJ2U1Vy6dCnqsXQt6Mvyhwb+Aym3rW + Ag53VIRFaRfp/VJiMu14H2NKW0H3xHA6CY5BR3T8Q6+gQxlhA/c3oQb7FT0arZsA + xAf3xUEKL/0yK9Uh7lwN6ZwOgZ9muqqFeQ/R+uhxGL9PR+xLZSZ72Xl85GC89FcH + kANrg8Lj22AeFenHJxh43Y4TnlB7TL3vtKnm4WSZ/d6Drs6MGBdik+h2R97OUihZ + nnbKPKbZ3dbzWk6KzwQXPB51OlGKqJJldVJrD3Xkda7y3jfXGdGb0alxMP+UQn0H + 24m0dQI= + -----END CERTIFICATE----- + issuerID: 1722969053932103 + issuerName: CN=fooBar + +## List issuers + +``` +$ certmanagerctl listIssuerPairs +error: false +result: + issuers: + - issuerID: 1722965245419643 + name: CN=fooBar +``` +### Create service certificate and key + +``` +$ ./certmanagerctl createServicePair -cn helmet.local -hostnames aa.local,bbb.local,ccc.local -issuerID 1722969053932103 +error: false +result: + certificate: | + -----BEGIN CERTIFICATE----- + MIIDITCCAgmgAwIBAgIEZrJsgjANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZm + b29CYXIwHhcNMjQwODA2MTgzMzM4WhcNMzQwODA2MTgzMzM4WjAAMIIBIjANBgkq + hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy4yAjg8NRD4viv2TKEUVO8mMpRoJzLta + JSL+jIpaGS7kfwupmbMab/3PBXLDqc7/Uy4BfBuY/ihBypSvvsDzYpVvUHECCRJv + gHmksASfV4mp1wz6jIcLMc6y206GtRNBKyn5ziLrvbhWY1ehQh3RoanwHwSKbg1/ + 1SAA97+/So1nXIuBsEw+WxxI/QrUHcqxWrwQn/4E8c/sPYiWUGffmersIUT2M128 + yn4dlNaFkJOur3jm37dHFIkysF5Ilds+1KYtJ6zsmQ/rBRlGFKMJw/UP0Ck/9CwQ + vF0BvK5Nl/71LHrjmblMZW9XGOH0P9M6R/HYKXGF5Ydn+8LsO33cRwIDAQABo4GR + MIGOMA4GA1UdDwEB/wQEAwIHgDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH + AwEwDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAWgBSPnnV6OgocOihmjAhJWbeQcdsv + NjAuBgNVHREBAf8EJDAigghhYS5sb2NhbIIJYmJiLmxvY2FsggljY2MubG9jYWyH + ADANBgkqhkiG9w0BAQsFAAOCAQEAFpmbgXwuol4rO9Hr3oDQlpumN7bqDEb3RQLv + cvMQER5yd9spaSRFEb2G1oPc6w5sDqD6G5q6DwOqXlhHBAVidLAaSQhhJTf3w3Q/ + UnQiy8wyKrzSnlaDD2dZb5b5zv2kKEV+idVDB2slCB2CbJMlxc+kw+S5qDNPUtzr + 35PSdkkpFH6nxuvA1FwBkdeVOlydccwuTM/6YXL7egbsNoULy0FmHxiU4uRlKnLR + 8e9F1USEduI/WAKWhX6WkzRKmH7gvnji3QC800/744dSfnm0KmLmL4RtRrW0nGum + nNWOQZUFwPgkLe7FcH7cauBVWxlT7T4zh2FKwQ0sxwl0mz6mZg== + -----END CERTIFICATE----- + issuerCertificate: | + -----BEGIN CERTIFICATE----- + MIIDATCCAemgAwIBAgIEZrJr3TANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZm + b29CYXIwHhcNMjQwODA2MTgzMDUzWhcNMzQwODA2MTgzMDUzWjARMQ8wDQYDVQQD + EwZmb29CYXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDJ3HDF8JKi + j/dlt8Z+adBUONEK55Y+Y8ZXMv1ncK3Mmzh/fliuWWrj0Qf0DuZN/BY8OrjHXH7l + Ri+c9NfrcRnGPXNV+yifQ/rZ0Aacmjtr7TgCK3qBi8m/92a/6nJ9l+GvT8x/sEQG + xWuPc4LYmrJiG8hJN6BJ7endmbRDVCw2tRmbR7qgBu1t2Of0VgybxvylyxzIJQaB + P0FWS9tZ2ehgu8H7Xbn2wktDunjgtvuo3qJUX4N9WeLbE0n0j6hXqfKOag7ogAUy + IAiljT11o3JabnbYxXyhhI3XE1pFLfrq9aZFXVMee+neX+cl9rwr2sfDEFrOCdOo + 2ywu5FhRQxXpAgMBAAGjYTBfMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggr + BgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUj551 + ejoKHDooZowISVm3kHHbLzYwDQYJKoZIhvcNAQELBQADggEBAAFzfqhkpYrn3WoZ + 5etQa8qvJPjatcWy/WbgEVJJ1TYHQJg8iJtJ2U1Vy6dCnqsXQt6Mvyhwb+Aym3rW + Ag53VIRFaRfp/VJiMu14H2NKW0H3xHA6CY5BR3T8Q6+gQxlhA/c3oQb7FT0arZsA + xAf3xUEKL/0yK9Uh7lwN6ZwOgZ9muqqFeQ/R+uhxGL9PR+xLZSZ72Xl85GC89FcH + kANrg8Lj22AeFenHJxh43Y4TnlB7TL3vtKnm4WSZ/d6Drs6MGBdik+h2R97OUihZ + nnbKPKbZ3dbzWk6KzwQXPB51OlGKqJJldVJrD3Xkda7y3jfXGdGb0alxMP+UQn0H + 24m0dQI= + -----END CERTIFICATE----- + issuerID: 1722969053932103 + issuerName: CN=fooBar + key: | + -----BEGIN RSA PRIVATE KEY----- + MIIEpAIBAAKCAQEAy4yAjg8NRD4viv2TKEUVO8mMpRoJzLtaJSL+jIpaGS7kfwup + mbMab/3PBXLDqc7/Uy4BfBuY/ihBypSvvsDzYpVvUHECCRJvgHmksASfV4mp1wz6 + jIcLMc6y206GtRNBKyn5ziLrvbhWY1ehQh3RoanwHwSKbg1/1SAA97+/So1nXIuB + sEw+WxxI/QrUHcqxWrwQn/4E8c/sPYiWUGffmersIUT2M128yn4dlNaFkJOur3jm + 37dHFIkysF5Ilds+1KYtJ6zsmQ/rBRlGFKMJw/UP0Ck/9CwQvF0BvK5Nl/71LHrj + mblMZW9XGOH0P9M6R/HYKXGF5Ydn+8LsO33cRwIDAQABAoIBAQCiwz4E2mpcWHGB + 7dSfTeZ1wWvSlaiiamnh6kKrtPHo00Nph7Tdr4cDaGwDSkrFXT1zkQUk7ZiAG0bI + q+6AVSAJg77YDxV2laRNknerPHcB85W43ar3dgDwmf0ROpCi+LuSvWUAfZIOSfni + RC8xhFCduhrFYsciy26dyJKdiVl4TX64vb3QJEnyflEtWkP2tkg+iJxTYDh+IWYf + oMx+inTpNvMNq+V7phout+zFIC6LZXYMd66ZyMn+Sht30r7F/GLBONVlQ05AiGtB + 86ZJ3cP8GA7aMo1H2PPfWYb497dppdUIDW+FEN7QJ6RRbatbKcV/YzhzNdMUpo41 + o70FCFQxAoGBAOzXkv4BIg+z3hi5NYfsrf1cRWdWYzALEDiMQSx/poxhapD8Ciww + Z5rSkIHhGgLkAN9Sb3okcE+FiXY7y5tXwDwvsGMXlm/GWBawIvSpvjggCamuEgv5 + rjrSoVShxL8sUxyUwTpyaW+9k5b3mOL1h5WcBF+SoH4dt/fQcN/1Y2SJAoGBANwD + gWPl3eltuGxhu3gLfIXvF05hzrYYOtZvSFdFLOpou2Krk/bugAX0JYjXOzIO+304 + 1I3AiBcnkpdTGEUFlH4WC7IWLlGy6ItBQaTe8nzqP8TBRHIjd05BFxQTAobY1fnj + vSkYTaFMLccSQRYh0UegKnThGNHCcETIyOmDWaZPAoGBAOPWGYSaCG88o6n6+WER + sOqrCeT3+KDt86PCYKvy/H/M8twYaZzKz8/jQbp/lisztRcgUTcZuKT3HB6ONTbx + +m6rna4lscVC89iXhnkAlYmeYE1Hs/qrLQ1PNH2axQ73D9jNzPhxubYRk9pFw2CJ + u+2TUa2y+wt3gVM2xG7du8ipAoGAPciuOUOAAeFR/P2lC50OJv5xaQ2GYxSC0V0G + z5sZdepbVOYh8yIeyY06TSdD9FbIwO2IoxYCIZ53SA+JrThX7uB6AFTCRSccrp5w + tL/3EKUnqzUq53KWOl+E/5onB38096vAnx24Dye5Y0H5DSIKBzcvNQtRUPZtWKOZ + 6Bl+v3kCgYBk8d3/B9nXjNh5epxdddY5BtLxTGL7idlXNrILc3P1qACDRe1vaLzr + WPS96H6RoBmIjzKULZ0etU1CnCVwfhZlKyCLOCAyaghIpjAaJJGgqGVVkknZzZ4V + AHu3OCKZhhcbbj29HkwYNKI1ms9Mh80z/k9H8EFQHfCNozF1EbIYxQ== + -----END RSA PRIVATE KEY----- + serviceID: 1722969218596436 + ``` +### Get service certificate and key + +``` +$ ./certmanagerctl getServicePair -serviceID 1722969311192643 +error: false +result: + certificate: | + -----BEGIN CERTIFICATE----- + MIIDITCCAgmgAwIBAgIEZrJs3zANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZm + b29CYXIwHhcNMjQwODA2MTgzNTExWhcNMzQwODA2MTgzNTExWjAAMIIBIjANBgkq + hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu0yzlGoTGujM5eSUxego9zlztiUe3tEx + nIo/nCGF5ih9/W7Ojs7gw/KLcv4Eu2un29P8BXWulRc/4hivWGyno6b+hjMOgHr7 + R/YsLiMghugJ/HPB27ZnZbqkronb1c5SvYHcS8yjslM1qzqTiRgCRYnkG2l8llah + IdhxkgNi7M4W3MlsHPgbV0bSJdVmeAYaZ4oVe2yQCgbc8JOnazQvYhNfPmjJ/VK6 + fl+RvIyjL2vQwz8TLiMk5ElKop7VELnSUUGc3E4w6okgxCcgJN488vFQmBroH5q9 + wYWUY6+sak5rrld8b6kI9/uY62NcNAW7qK7Cyvhj3glVdtrm+CP79wIDAQABo4GR + MIGOMA4GA1UdDwEB/wQEAwIHgDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH + AwEwDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAWgBSPnnV6OgocOihmjAhJWbeQcdsv + NjAuBgNVHREBAf8EJDAigghhYS5sb2NhbIIJYmJiLmxvY2FsggljY2MubG9jYWyH + ADANBgkqhkiG9w0BAQsFAAOCAQEAj8/OECgr/k5blcQ9mssrHo/ll026oMW5tTrv + nQA+AbWaP9zcxP1Lk8cPeMduKxk6rTXEDBQwSr7T4Ywd9ItMvxAW7/Njo5yNlVwE + 6o9+P7+FR6eAYy/S8uW+LaOxU9Viq7L28dNI+9a1wpRxdyn9nEc5RphlJUeudXuM + hvqKSi0HEA33PXBfv5avR/W8UNi6g2Xd2UfejBgRlmtdi/GWrRtE5WcykfyLabts + E8i98W9vKYZMwZOhnQtwIIcdLMJsSqINFDzcg8/GDajRiguX4sG1xVGpUxQeM8zb + +XEUBK7tNN4vM9OG3xmtysnU2PCzQaUj8we2KPJhjCF74e08yw== + -----END CERTIFICATE----- + issuerCertificate: | + -----BEGIN CERTIFICATE----- + MIIDATCCAemgAwIBAgIEZrJr3TANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDEwZm + b29CYXIwHhcNMjQwODA2MTgzMDUzWhcNMzQwODA2MTgzMDUzWjARMQ8wDQYDVQQD + EwZmb29CYXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDJ3HDF8JKi + j/dlt8Z+adBUONEK55Y+Y8ZXMv1ncK3Mmzh/fliuWWrj0Qf0DuZN/BY8OrjHXH7l + Ri+c9NfrcRnGPXNV+yifQ/rZ0Aacmjtr7TgCK3qBi8m/92a/6nJ9l+GvT8x/sEQG + xWuPc4LYmrJiG8hJN6BJ7endmbRDVCw2tRmbR7qgBu1t2Of0VgybxvylyxzIJQaB + P0FWS9tZ2ehgu8H7Xbn2wktDunjgtvuo3qJUX4N9WeLbE0n0j6hXqfKOag7ogAUy + IAiljT11o3JabnbYxXyhhI3XE1pFLfrq9aZFXVMee+neX+cl9rwr2sfDEFrOCdOo + 2ywu5FhRQxXpAgMBAAGjYTBfMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggr + BgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUj551 + ejoKHDooZowISVm3kHHbLzYwDQYJKoZIhvcNAQELBQADggEBAAFzfqhkpYrn3WoZ + 5etQa8qvJPjatcWy/WbgEVJJ1TYHQJg8iJtJ2U1Vy6dCnqsXQt6Mvyhwb+Aym3rW + Ag53VIRFaRfp/VJiMu14H2NKW0H3xHA6CY5BR3T8Q6+gQxlhA/c3oQb7FT0arZsA + xAf3xUEKL/0yK9Uh7lwN6ZwOgZ9muqqFeQ/R+uhxGL9PR+xLZSZ72Xl85GC89FcH + kANrg8Lj22AeFenHJxh43Y4TnlB7TL3vtKnm4WSZ/d6Drs6MGBdik+h2R97OUihZ + nnbKPKbZ3dbzWk6KzwQXPB51OlGKqJJldVJrD3Xkda7y3jfXGdGb0alxMP+UQn0H + 24m0dQI= + -----END CERTIFICATE----- + issuerID: 1722969053932103 + issuerName: CN=fooBar + key: | + -----BEGIN RSA PRIVATE KEY----- + MIIEowIBAAKCAQEAu0yzlGoTGujM5eSUxego9zlztiUe3tExnIo/nCGF5ih9/W7O + js7gw/KLcv4Eu2un29P8BXWulRc/4hivWGyno6b+hjMOgHr7R/YsLiMghugJ/HPB + 27ZnZbqkronb1c5SvYHcS8yjslM1qzqTiRgCRYnkG2l8llahIdhxkgNi7M4W3Mls + HPgbV0bSJdVmeAYaZ4oVe2yQCgbc8JOnazQvYhNfPmjJ/VK6fl+RvIyjL2vQwz8T + LiMk5ElKop7VELnSUUGc3E4w6okgxCcgJN488vFQmBroH5q9wYWUY6+sak5rrld8 + b6kI9/uY62NcNAW7qK7Cyvhj3glVdtrm+CP79wIDAQABAoIBAQCkyasF3P3KIyCC + 80Vhigzg1o9Tpf0vFOaNT6T/fQ8NnHqcyyy4wJNIUtEV7x/CtckNw8hsFUnwqm/u + QMGlDpO/jGFLOQh9SbZjbdcZEJbBms2Oa1oYMLdv7XKOjYP47HoneWWU2wr7DfKe + H/9GEvWMsPEcnQacTsOdv4zMZmZW6Mfiev4gXVtTEuRDGX3anfCclnGXaL8j3hIZ + mIvYA7XIimnddPj60c1z5L53wzFE4oPOf4wdLt3pdoDgv4DHRlcT1pO5rotNmyeF + eFPR7nDR9kpM1AZyGhxtRg7wIU/p0opNtUTEjjsYg6utmpQ0OILWiwxzLBaKE2mC + 1ZkkMT6BAoGBAPQuEL0GoDVn6VICbax7QdQQrxIbmwJ9a4dRKcg2UGapMjsGErOz + fa6W1bo0ug4yOarGBRJe3cIAAd4lgO4pjWltW0tsqS+W7kbRP1CNLxT4kBwrPxcI + sPB7kjDWy4sioHOdfEyEWMTL+nwmHU1/EBu14XcI15FDwIzht09CbZyHAoGBAMRd + wwjvL7pjKeUgYNl00gGQauOhVwU1YrWKw/ng6Ht33KNAtMA+4VEj7ZFKVSTEkADL + 9xelFFtgyZbCVz1p9OtXGMYvOLj09GyVnd+Q2sdLdGtOKQmN+BGvSamZ2rMa82hA + BtikWha2tbSkbT6AnqTfOQvDA4evNr3vTo1rU3ERAoGACw321gfxwtk0d/ECNBfU + cBxdQK2dQ+yXrKWhBZ5n323zhzaMLDSJERllDawLbE8byz5xxlYjJgBIFV2PS7j3 + 3PkFdBG0SyJDIVOh0SzDH+js5UmT7qAHGqwNf0aKKn9j0jgkA3bOagJuEabMFtEU + 0pxWW8Q7tijiE764RM9WFQsCgYBQJ/X1L63L566yWQUvvv/6o3j+cl2TQreIY5yb + 47MCs2rdOQyPbRuMg532MOGQoKwnpxq2DCzDID8pyyrRZu8TIfp668u7tEISEQDg + wcCMmcBsDPuzasBYd7UaBjO/6MBzTa99v5kGrI5/rp7pZJddtcETjAdk26D85zKp + h6YIAQKBgCb/TEBYuJQh8n4xobAAjF+26qmmpb1zHxN75/rN5JbqqUBC2Qr8QbBu + JNAwA8CRCLq+LDn7DF5jjkrRc24zEUOp0xHI/ejYetZlmPD5fYZkaFGccVDB23AP + +fodYO6zx7jUr33ZG/oxVUkOQs67b24oSOfgxsgNtaM/Ut1xDy/4 + -----END RSA PRIVATE KEY----- + +```