新着:プロジェクトの最新情報を以下で入手してくださいTwitterおよびMastodon

Goでのcert-managerのインポート

cert-managerはGoで記述されており、Goモジュールを使用します。Goモジュールとしてインポートすることもでき、場合によってはそれで問題ない、あるいは推奨される場合もありますが、原則としてcert-managerをインポートすることはお勧めしません。

一般的に言って、cert-managerをインポートする可能性のある場合で以下にリストされているケースを除き、cert-managerリポジトリのコードは、Goモジュールの互換性保証の対象です。cert-managerのマイナーリリースやパッチリリースであっても、公開されているGoコードであっても、破壊的な変更を行う可能性がありますし、実際に行います。過去にもこのような破壊的な変更を行ったことがあります。

これは、cert-managerの実行には影響しないことに注意してください。互換性に関する私たちのコミットメントは、cert-managerのランタイム機能を壊さないことであり、それを真剣に受け止めています。

もし、cert-managerをモジュールとしてインポートする必要があるという確信がある場合は、以下のモジュールインポートパスでその方法に関する注意点をご覧ください。

cert-managerをインポートする可能性のある場合

Goコードで以下のような場合、cert-managerをインポートする必要があるかもしれません。

  • cert-managerのカスタムリソースを使用しているため、pkg/apis以下をインポートしたい場合
  • webhook-exampleのように、外部DNSソルバーのwebhookを実装する場合
  • sample-external-issuerのように、外部イシューアーを実装する場合

もし、コードの他の部分を本当にインポートする必要があると思われる場合は、私たちに連絡してご相談ください。そうすれば、このニーズを認識することができます!可能な限り、破壊的な変更を避けるように努めます。

モジュールインポートパス

cert-managerのサポートされているすべてのバージョンでは、モジュールインポートパスはgithub.com/cert-manager/cert-managerです。

歴史的に、cert-managerリポジトリはGitHub上でhttps://github.com/jetstack/cert-managerとして作成され、後でhttps://github.com/cert-manager/cert-managerに移行されました。

つまり、古いバージョンのcert-managerを使用しようとしている場合、必要なGoモジュールインポートパスが異なる可能性があります。

cert-manager 1.8以降では、上記にリストされている新しいパスを使用してください。

cert-managerバージョン1.8より前の場合は、古いパスを使用してください:github.com/jetstack/cert-manager