microsoft / microsoft/pai

save HTTPS cert information in k8s configmap

Open
#5,146 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

pai-dev
Dominant language
JavaScript
Stars
2.7k
Forks
554
Avg merge
20h 42m
Merged PRs (30d)
14

Description

Currently, HTTPS cert files are not managed in k8s configmap. They only take effects in ./paictl.py service start. This causes problems like:

  • Every time the admin starts dev-box, he/she should manually copy certs into it.
  • If there are many admins, and one admin updates the cert, then other admins won't be noticed.

Proposal for this issue:

In services-configuration.yaml, save the crt_name and key_name in the cluster field:

cluster:
  crt_name:
  key_name:

Then:

  • When paictl.py config push:
    • If cluster.crt_name and cluster.key_name are available:
      • Find the files, and save the files in k8s configmap.
      • If the files are missing, throw an error
    • If cluster.crt_name and cluster.key_name are not available:
      • Do nothing but warn the user if he uses pylon.ssl field.
  • When ./paictl config pull:
    • If there are certs in configmap, pull them to <config folder>
  • When ./paictl.py service start:
    • Prefer certs in configmap. But certs in file system is also feasible.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with services-configuration.yaml and trace the paictl.py config push, config pull, and service start entry points. Check how the cluster fields, pylon.ssl, local certificate files, and Kubernetes ConfigMaps are currently handled. Done means push stores or warns correctly, pull restores available certificates, and service start prefers ConfigMap certificates while retaining filesystem support.

Written by the indexing model from the issue text.

Assessment

Tech stack
kubernetes, python
Domain
devops, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.