microcks / microcks/microcks-cli
Persisted context TLS settings are inconsistent for different HTTPS servers
まだ誰も着手していません。
- 主要言語
- Go
- スター
- 52
- フォーク
- 68
- 平均マージ
- 6時間 54分
- マージ済み PR(30日)
- 10
説明
Describe the bug
The CLI stores TLS settings in the local server context, but the current behavior is inconsistent:
microcks loginalways persistsinsecureTLS: true, even when the user did not pass--insecure-tls.- Later commands that load the saved context do not honor the persisted
insecureTLSvalue when building the HTTP client.
This makes saved HTTPS contexts misleading. A context can contain insecureTLS: true, but commands such as import, import-url, import-dir, and test still fail unless --insecure-tls is repeated.
This affects Microcks instances exposed over HTTPS with self-signed certificates, private CA certificates, local ingress TLS, or internal reverse proxies.
Common examples:
- Microcks behind local
k3s/ ingress TLS - Microcks behind Caddy, nginx, Traefik, or an internal gateway
- Instances using private PKI
Expected behavior
If the user logs in with --insecure-tls, later commands using that saved context should honor the persisted TLS setting.
If the user logs in without --insecure-tls, the saved context should not be marked insecure.
Actual behavior
No response
How to Reproduce?
Given a Microcks server available at an HTTPS endpoint with a self-signed or private certificate:
microcks login https://microcks.example.local --insecure-tls
This succeeds and stores:
server: https://microcks.example.local
insecureTLS: true
But a later command using the saved context can fail:
microcks import openapi.yaml
with an error like:
tls: failed to verify certificate: x509: certificate signed by unknown authority
Repeating the flag makes the same command work:
microcks import openapi.yaml --insecure-tls
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、login コマンドがローカルサーバーのコンテキストをどのように永続化しているか、また import、import-url、import-dir、test がどのように HTTP クライアントを構築しているかを追跡します。両方の login パスと保存されたコンテキストの読み込みを確認してください。--insecure-tls は永続化され、後で適用されるべきです。一方、このオプションなしで login した場合は、コンテキストを insecure としてマークすべきではありません。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- go
- 領域
- cli
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 68/100