{"id":23591473,"url":"https://github.com/dvob/image-ca-injector","last_synced_at":"2025-05-07T17:13:38.107Z","repository":{"id":197676874,"uuid":"693177399","full_name":"dvob/image-ca-injector","owner":"dvob","description":"Inject CAs into a docker images.","archived":false,"fork":false,"pushed_at":"2023-11-20T12:52:25.000Z","size":1421,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-07T17:13:32.531Z","etag":null,"topics":["ca","certificate","docker","image","pki","x509"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dvob.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-09-18T13:58:38.000Z","updated_at":"2025-01-29T21:56:24.000Z","dependencies_parsed_at":"2023-11-19T15:24:18.110Z","dependency_job_id":null,"html_url":"https://github.com/dvob/image-ca-injector","commit_stats":null,"previous_names":["dvob/image-ca-injector"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvob%2Fimage-ca-injector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvob%2Fimage-ca-injector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvob%2Fimage-ca-injector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvob%2Fimage-ca-injector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dvob","download_url":"https://codeload.github.com/dvob/image-ca-injector/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252922336,"owners_count":21825639,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ca","certificate","docker","image","pki","x509"],"created_at":"2024-12-27T07:39:09.394Z","updated_at":"2025-05-07T17:13:38.088Z","avatar_url":"https://github.com/dvob.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# image-ca-injector\n\nThe image-ca-injector copies a image from a source registry into a destination registry and adds a CA to the system truststore.\n```\nimage-ca-injector alpine registry.mycompany.com/alpine your_company_ca.crt\n```\n\nFor this it performs the follwing steps:\n* Download the image into a local temporary tar file\n* Find PEM truststore files (based on [root_linux.go](https://github.com/golang/go/blob/c05fceb73cafd642d26660148357a4f60172aa1a/src/crypto/x509/root_linux.go)) and add the specified CA to it.\n  * Debian/Ubuntu/Gentoo etc.: `/etc/ssl/certs/ca-certificates.crt`\n  * Fedora/RHEL 6: `/etc/pki/tls/certs/ca-bundle.crt`\n  * OpenSUSE: `/etc/ssl/ca-bundle.pem`\n  * OpenELEC: `/etc/pki/tls/cacert.pem`\n  * CentOS/RHEL 7: `/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem`\n  * Alpine Linux: `/etc/ssl/cert.pem`\n* Look for common places for custom CAs and put the CA there:\n  * `/usr/local/share/ca-certificates/`\n  * `/etc/pki/ca-trust/source/anchors/`\n  * `/etc/ca-certificates/trust-source/anchors/`\n  * `/usr/share/pki/trust/anchors/`\n* Find JKS truststore files (`*/lib/security/cacerts`) and add the specified CA to it.\n* Upload the image to destination\n\n## Install\n```\ngo install github.com/dvob/image-ca-injector@latest\n```\n\n## Usage\n```\nimage-ca-injector SOURCE DESTINATION CA-FILE\n```\n\n## Examples\n```\nimage-ca-injector docker.index.io/alpine registry.mycompany.com/alpine ca.crt\n```\n\nWhere `ca.crt` is a PEM encoded certificate like this:\n```\n-----BEGIN CERTIFICATE-----\nMIIBWjCCAQGgAwIBAgIRAMu4py77kY5FVUdasZ+9tJYwCgYIKoZIzj0EAwIwDTEL\nMAkGA1UEAxMCY2EwHhcNMjMwOTE4MTQwMjAwWhcNMjQwOTE3MTQwMjAwWjANMQsw\nCQYDVQQDEwJjYTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABH3oPQNdbQwloD0u\nNylspowYas1GQde2zQOtjYEhyBPVSC09uQE64P7XH5SiH/8JuJZk2sR3l7AMGodP\nDf1Zm/qjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud\nDgQWBBSmC21mUOJYl/ola0zeP8B837UnrjAKBggqhkjOPQQDAgNHADBEAiBNQJ+f\nsX9bA4D6j7clcKIZnH3UZT7EZ6bzLYEHinnncgIgTVdSzkDeRPbTDF/EyTTVg/tS\neNR2QnBwV13+5KYhcyQ=\n-----END CERTIFICATE-----\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdvob%2Fimage-ca-injector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdvob%2Fimage-ca-injector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdvob%2Fimage-ca-injector/lists"}