āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ˛āĻŽāĻžāĻ¨ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĒ-āĻā§-āĻĄā§āĻ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ¤ā§ āĻāĻŦāĻ āĻ¨ā§āĻ¯ā§āĻ¨āĻ¤āĻŽ āĻĒā§āĻ°āĻā§āĻˇā§āĻāĻžāĻ¯āĻŧ āĻāĻāĻŋ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻĄā§āĻ¯āĻžāĻļāĻŦā§āĻ°ā§āĻĄ āĻāĻāĻāĻŋ āĻ¸āĻšāĻ-āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ¯ā§āĻā§āĻ¯ āĻā§āĻ˛āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋāĻā§ āĻāĻ°āĻ āĻŦā§āĻļāĻŋ āĻāĻĒāĻ˛āĻŦā§āĻ§āĻŋ āĻāĻ°āĻ¤ā§ āĻļā§āĻ°ā§ āĻāĻ°ā§āĻ¨ āĻ¯āĻāĻ¨ āĻāĻ āĻā§āĻˇāĻŽāĻ¤āĻžāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ
ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨āĻŋāĻ¸ā§āĻā§āĻ°ā§āĻāĻ°/DevOps āĻāĻā§āĻāĻŋāĻ¨āĻŋāĻ¯āĻŧāĻžāĻ°āĻĻā§āĻ°āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧ āĻ¨āĻž, āĻ¤āĻŦā§ āĻ¯āĻžāĻ°āĻž āĻāĻ¨āĻ¸ā§āĻ˛ā§ āĻāĻŽ āĻ
āĻā§āĻ¯āĻ¸ā§āĻ¤ āĻāĻŦāĻ/āĻ
āĻĨāĻŦāĻž kubectl-āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻ¨ā§āĻāĻžāĻ°āĻ
ā§āĻ¯āĻžāĻā§āĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻāĻŋāĻ˛āĻ¤āĻž āĻŽā§āĻāĻžāĻŦā§āĻ˛āĻž āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻ¨āĻž āĻ¤āĻžāĻĻā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻžāĻ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋāĨ¤ āĻāĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻā§āĻā§: āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§āĻ°āĻž āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻāĻ¯āĻŧā§āĻŦ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ā§ āĻĻā§āĻ°ā§āĻ¤ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻā§āĻ¯āĻŧā§āĻāĻŋāĻ˛ā§āĻ¨ āĻāĻŦāĻ āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ, āĻ¤āĻžāĻ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨āĻāĻŋ āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻāĻāĻžāĻŦā§āĻ āĻāĻ¸ā§āĻā§āĨ¤
āĻā§āĻ¨?
āĻĄāĻŋāĻŦāĻžāĻāĻŋāĻ āĻāĻžāĻ¸ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĄā§āĻā§āĻ˛āĻĒāĻžāĻ°āĻ°āĻž K8s āĻĄā§āĻ¯āĻžāĻļāĻŦā§āĻ°ā§āĻĄā§āĻ° āĻŽāĻ¤ā§ āĻāĻāĻāĻŋ āĻā§āĻ˛ā§ āĻāĻā§āĻ°āĻšā§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻāĻĒāĻ¨āĻŋ āĻ˛āĻ āĻāĻŦāĻ āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻĻā§āĻāĻ¤ā§ āĻāĻžāĻ¨, āĻāĻŦāĻ āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻĒāĻĄāĻā§āĻ˛āĻŋāĻā§ āĻšāĻ¤ā§āĻ¯āĻž āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨, āĻĄāĻŋāĻĒā§āĻ˛ā§āĻ¯āĻŧāĻŽā§āĻ¨ā§āĻ/āĻ¸ā§āĻā§āĻāĻĢā§āĻ˛āĻ¸ā§āĻāĻā§āĻ˛āĻŋ āĻ¸ā§āĻā§āĻ˛ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻāĻŦāĻ āĻāĻŽāĻ¨āĻāĻŋ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻāĻ¨āĻ¸ā§āĻ˛ā§ āĻ¯ā§āĻ¤ā§ āĻāĻžāĻ¨ (āĻāĻŽāĻ¨āĻāĻŋ āĻ
āĻ¨ā§āĻ°ā§āĻ§āĻ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ
āĻ¨ā§āĻ¯ āĻāĻĒāĻžāĻ¯āĻŧ āĻ°āĻ¯āĻŧā§āĻā§ - āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§
āĻāĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻŽā§āĻ¯āĻžāĻ¨ā§āĻāĻžāĻ°āĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻŽāĻ¨āĻ¸ā§āĻ¤āĻžāĻ¤ā§āĻ¤ā§āĻŦāĻŋāĻ āĻŽā§āĻšā§āĻ°ā§āĻ¤ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻāĻ¨ āĻ¤āĻžāĻ°āĻž āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°āĻāĻŋ āĻĻā§āĻāĻ¤ā§ āĻāĻžāĻ¯āĻŧ - āĻĻā§āĻāĻ¤ā§ āĻ¯ā§ "āĻ¸āĻŦāĻāĻŋāĻā§ āĻ¸āĻŦā§āĻ", āĻāĻŦāĻ āĻāĻāĻāĻžāĻŦā§ āĻ¨āĻŋāĻā§āĻĻā§āĻ°āĻā§ āĻāĻļā§āĻŦāĻ¸ā§āĻ¤ āĻāĻ°ā§ āĻ¯ā§ "āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻžāĻ āĻāĻ°āĻā§" (āĻ¯āĻž, āĻ āĻŦāĻļā§āĻ¯āĻ, āĻā§āĻŦ āĻāĻĒā§āĻā§āĻˇāĻŋāĻ... āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻŋ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§āĻ° āĻ¸ā§āĻ¯ā§āĻā§āĻ° āĻŦāĻžāĻāĻ°ā§)āĨ¤
āĻāĻāĻāĻŋ āĻāĻĻāĻ°ā§āĻļ āĻ¸āĻŋāĻāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻā§
āĻāĻŽāĻŋ āĻāĻ°āĻ āĻ¨ā§āĻ āĻāĻ°āĻŦ āĻ¯ā§ āĻāĻŽāĻ°āĻž NGINX Ingress āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ
āĻ¨ā§āĻ¯āĻĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°ā§āĻ¨
āĻāĻ¨ā§āĻāĻŋāĻā§āĻ°ā§āĻļāĻ¨ā§āĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻā§
āĻĄā§āĻ¯āĻžāĻļāĻŦā§āĻ°ā§āĻĄ āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨
āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž: āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¨ā§āĻā§āĻ° āĻĒāĻĻāĻā§āĻˇā§āĻĒāĻā§āĻ˛āĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻāĻ°āĻ¤ā§ āĻ¯āĻžāĻā§āĻā§āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§ - āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻāĻĄāĻŧāĻžāĻ¤ā§ - āĻĒā§āĻ°āĻĨāĻŽā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻāĻĒāĻļāĻŋāĻ°ā§āĻ¨āĻžāĻŽāĻāĻŋ āĻĒāĻĄāĻŧā§āĻ¨āĨ¤
āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻ
āĻ¨ā§āĻ āĻāĻ¨ā§āĻ¸āĻāĻ˛ā§āĻļāĻ¨ā§ āĻāĻ āĻāĻ¨ā§āĻāĻŋāĻā§āĻ°ā§āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ, āĻ¤āĻžāĻ āĻāĻŽāĻ°āĻž āĻāĻ° āĻāĻ¨ā§āĻ¸āĻāĻ˛ā§āĻļāĻ¨ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°ā§āĻāĻŋāĨ¤ āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¸ā§āĻ¤ā§āĻ°āĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻāĻžāĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§
āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§ āĻĄā§āĻ¯āĻžāĻļāĻŦā§āĻ°ā§āĻĄ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻā§āĻāĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°ā§:
$ ./ctl.sh
Usage: ctl.sh [OPTION]... --gitlab-url GITLAB_URL --oauth2-id ID --oauth2-secret SECRET --dashboard-url DASHBOARD_URL
Install kubernetes-dashboard to Kubernetes cluster.
Mandatory arguments:
-i, --install install into 'kube-system' namespace
-u, --upgrade upgrade existing installation, will reuse password and host names
-d, --delete remove everything, including the namespace
--gitlab-url set gitlab url with schema (https://gitlab.example.com)
--oauth2-id set OAUTH2_PROXY_CLIENT_ID from gitlab
--oauth2-secret set OAUTH2_PROXY_CLIENT_SECRET from gitlab
--dashboard-url set dashboard url without schema (dashboard.example.com)
Optional arguments:
-h, --help output this message
āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦā§ āĻ¯ā§āĻ¤ā§ āĻšāĻŦā§: āĻ ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨ āĻāĻ˛āĻžāĻāĻž â āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ - āĻāĻŦāĻ āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§āĻ° āĻĒā§āĻ¯āĻžāĻ¨ā§āĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻ¸ā§āĻ¨ āĻāĻāĻŋāĻā§ "āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻā§āĻ¸ āĻĄā§āĻ¯āĻžāĻļāĻŦā§āĻ°ā§āĻĄ" āĻŦāĻ˛āĻŋ:
āĻāĻāĻŋ āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻĢāĻ˛ā§, GitLab āĻšā§āĻ¯āĻžāĻļ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻŦā§:
āĻ¸ā§āĻā§āĻ˛āĻŋāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ° āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ āĻāĻ āĻŽāĻ¤ āĻĻā§āĻāĻžāĻ¯āĻŧ:
$ ./ctl.sh -i --gitlab-url https://gitlab.example.com --oauth2-id 6a52769eâĻ --oauth2-secret 6b79168fâĻ --dashboard-url dashboard.example.com
āĻāĻ° āĻĒāĻ°ā§, āĻāĻ¸ā§āĻ¨ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§ āĻĻā§āĻāĻŋ āĻ¯ā§ āĻ¸āĻŦāĻāĻŋāĻā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧā§āĻā§:
$ kubectl -n kube-system get pod | egrep '(dash|oauth)'
kubernetes-dashboard-76b55bc9f8-xpncp 1/1 Running 0 14s
oauth2-proxy-5586ccf95c-czp2v 1/1 Running 0 14s
āĻ¤āĻŦā§ āĻļā§āĻā§āĻ°āĻ āĻŦāĻž āĻĒāĻ°ā§ āĻ¸āĻŦāĻāĻŋāĻā§ āĻļā§āĻ°ā§ āĻšāĻŦā§ āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ āĻ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§ āĻāĻžāĻ āĻāĻ°āĻŦā§ āĻ¨āĻž! āĻāĻ¸āĻ˛ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻāĻŋ āĻšāĻ˛ āĻ¯ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻāĻŋāĻ¤ā§āĻ°āĻāĻŋāĻ¤ā§ (āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻŋāĻ¤ā§āĻ°āĻā§āĻ˛āĻŋāĻ° āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻāĻāĻ āĻ°āĻāĻŽ) āĻāĻ˛āĻŦā§āĻ¯āĻžāĻā§ āĻāĻāĻāĻŋ āĻĒā§āĻ¨āĻāĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻ§āĻ°āĻžāĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ āĻā§āĻ˛āĻāĻžāĻŦā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻāĻŋ āĻāĻ āĻ¸āĻ¤ā§āĻ¯ā§āĻ° āĻĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻŋāĻ¤ āĻāĻ°ā§ āĻ¯ā§ āĻāĻāĻĨ āĻ¸ā§āĻ āĻā§āĻāĻŋ āĻŽā§āĻā§ āĻĻā§āĻ¯āĻŧ āĻ¯āĻž āĻļāĻĒāĻĨ āĻ¨āĻŋāĻā§āĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻāĻ°ā§...
āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻā§āĻ° āĻļāĻĒāĻĨ āĻāĻŋāĻ¤ā§āĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻĒā§āĻ¯āĻžāĻ āĻļāĻĒāĻĨ āĻāĻŦāĻ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨
āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĄāĻāĻžāĻ°āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦ:
FROM golang:1.9-alpine3.7
WORKDIR /go/src/github.com/bitly/oauth2_proxy
RUN apk --update add make git build-base curl bash ca-certificates wget
&& update-ca-certificates
&& curl -sSO https://raw.githubusercontent.com/pote/gpm/v1.4.0/bin/gpm
&& chmod +x gpm
&& mv gpm /usr/local/bin
RUN git clone https://github.com/bitly/oauth2_proxy.git .
&& git checkout bfda078caa55958cc37dcba39e57fc37f6a3c842
ADD rd.patch .
RUN patch -p1 < rd.patch
&& ./dist.sh
FROM alpine:3.7
RUN apk --update add curl bash ca-certificates && update-ca-certificates
COPY --from=0 /go/src/github.com/bitly/oauth2_proxy/dist/ /bin/
EXPOSE 8080 4180
ENTRYPOINT [ "/bin/oauth2_proxy" ]
CMD [ "--upstream=http://0.0.0.0:8080/", "--http-address=0.0.0.0:4180" ]
āĻāĻŦāĻ āĻāĻāĻžāĻ¨ā§ rd.patch āĻĒā§āĻ¯āĻžāĻ āĻ¨āĻŋāĻā§āĻ āĻĻā§āĻāĻ¤ā§ āĻā§āĻŽāĻ¨
diff --git a/dist.sh b/dist.sh
index a00318b..92990d4 100755
--- a/dist.sh
+++ b/dist.sh
@@ -14,25 +14,13 @@ goversion=$(go version | awk '{print $3}')
sha256sum=()
echo "... running tests"
-./test.sh
+#./test.sh
-for os in windows linux darwin; do
- echo "... building v$version for $os/$arch"
- EXT=
- if [ $os = windows ]; then
- EXT=".exe"
- fi
- BUILD=$(mktemp -d ${TMPDIR:-/tmp}/oauth2_proxy.XXXXXX)
- TARGET="oauth2_proxy-$version.$os-$arch.$goversion"
- FILENAME="oauth2_proxy-$version.$os-$arch$EXT"
- GOOS=$os GOARCH=$arch CGO_ENABLED=0
- go build -ldflags="-s -w" -o $BUILD/$TARGET/$FILENAME || exit 1
- pushd $BUILD/$TARGET
- sha256sum+=("$(shasum -a 256 $FILENAME || exit 1)")
- cd .. && tar czvf $TARGET.tar.gz $TARGET
- mv $TARGET.tar.gz $DIR/dist
- popd
-done
+os='linux'
+echo "... building v$version for $os/$arch"
+TARGET="oauth2_proxy-$version.$os-$arch.$goversion"
+GOOS=$os GOARCH=$arch CGO_ENABLED=0
+ go build -ldflags="-s -w" -o ./dist/oauth2_proxy || exit 1
checksum_file="sha256sum.txt"
cd $DIR/dists
diff --git a/oauthproxy.go b/oauthproxy.go
index 21e5dfc..df9101a 100644
--- a/oauthproxy.go
+++ b/oauthproxy.go
@@ -381,7 +381,9 @@ func (p *OAuthProxy) SignInPage(rw http.ResponseWriter, req *http.Request, code
if redirect_url == p.SignInPath {
redirect_url = "/"
}
-
+ if req.FormValue("rd") != "" {
+ redirect_url = req.FormValue("rd")
+ }
t := struct {
ProviderName string
SignInMessage string
āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻŦāĻŋāĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻāĻŋāĻā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦā§ āĻĒā§āĻļ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§āĻ¤ā§ manifests/kube-dashboard-oauth2-proxy.yaml
āĻĒāĻāĻ¨ā§āĻĻāĻ¸āĻ āĻāĻŋāĻ¤ā§āĻ°ā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°ā§āĻ¨ (āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĻ¨):
image: docker.io/colemickens/oauth2_proxy:latest
āĻāĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻ°ā§āĻāĻŋāĻ¸ā§āĻā§āĻ°āĻŋ āĻĨāĻžāĻā§ āĻ¯āĻž āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻ¨ā§āĻ§ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻĒā§āĻ˛ āĻāĻŋāĻ¤ā§āĻ°āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻā§āĻĒāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻā§āĻ˛āĻŦā§āĻ¨ āĻ¨āĻž:
imagePullSecrets:
- name: gitlab-registry
... āĻāĻŦāĻ āĻ°ā§āĻāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻĒāĻ¨ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨:
---
apiVersion: v1
data:
.dockercfg: eyJyZWdpc3RyeS5jb21wYW55LmNvbSI6IHsKICJ1c2VybmFtZSI6ICJvYXV0aDIiLAogInBhc3N3b3JkIjogIlBBU1NXT1JEIiwKICJhdXRoIjogIkFVVEhfVE9LRU4iLAogImVtYWlsIjogIm1haWxAY29tcGFueS5jb20iCn0KfQoK
=
kind: Secret
metadata:
annotations:
name: gitlab-registry
namespace: kube-system
type: kubernetes.io/dockercfg
āĻŽāĻ¨ā§āĻ¯ā§āĻā§ āĻĒāĻžāĻ āĻ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦā§āĻ¨ āĻ¯ā§ āĻāĻĒāĻ°ā§āĻ° āĻĻā§āĻ°ā§āĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻāĻāĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĨā§āĻā§ āĻŦā§āĻ¸64:
{"registry.company.com": {
"username": "oauth2",
"password": "PASSWORD",
"auth": "AUTH_TOKEN",
"email": "[email protected]"
}
}
āĻāĻāĻŋ āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻĄā§āĻāĻž, āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻā§āĻĄāĻāĻŋ āĻ°ā§āĻāĻŋāĻ¸ā§āĻā§āĻ°āĻŋ āĻĨā§āĻā§ āĻāĻŦāĻŋāĻāĻŋ āĻā§āĻ¨ā§ āĻāĻ¨āĻŦā§āĨ¤
āĻ¸āĻŦāĻāĻŋāĻā§ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ (āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°āĻā§ āĻ¨āĻž) āĻĄā§āĻ¯āĻžāĻļāĻŦā§āĻ°ā§āĻĄ āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨āĻāĻŋ āĻ¸āĻ°āĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
$ ./ctl.sh -d
... āĻāĻŦāĻ āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻŦāĻžāĻ° āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨:
$ ./ctl.sh -i --gitlab-url https://gitlab.example.com --oauth2-id 6a52769eâĻ --oauth2-secret 6b79168fâĻ --dashboard-url dashboard.example.com
āĻĄā§āĻ¯āĻžāĻļāĻŦā§āĻ°ā§āĻĄā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻžāĻ° āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻžāĻ¤āĻ¨ āĻ˛āĻāĻāĻ¨ āĻŦā§āĻ¤āĻžāĻŽ āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ¸ā§āĻā§:
āĻāĻāĻŋāĻ¤ā§ āĻā§āĻ˛āĻŋāĻ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸ā§āĻŦāĻžāĻāĻ¤ āĻāĻžāĻ¨āĻžāĻŦā§, āĻ¤āĻžāĻ° āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻĒā§āĻˇā§āĻ āĻžāĻ¯āĻŧ āĻ˛āĻ āĻāĻ¨ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦ āĻĻā§āĻŦā§ (āĻ
āĻŦāĻļā§āĻ¯āĻ, āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻāĻā§ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻ˛āĻ āĻāĻ¨ āĻ¨āĻž āĻāĻ°ā§ āĻĨāĻžāĻāĻŋ):
āĻāĻŽāĻ°āĻž āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦ āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ˛āĻ āĻāĻ¨ āĻāĻ°āĻŋ - āĻāĻŦāĻ āĻ¸āĻŦāĻāĻŋāĻā§ āĻšāĻ¯āĻŧā§ āĻā§āĻā§:
āĻĄā§āĻ¯āĻžāĻļāĻŦā§āĻ°ā§āĻĄ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻ¨ āĻĄā§āĻā§āĻ˛āĻĒāĻžāĻ° āĻšāĻ¨ āĻ¯āĻŋāĻ¨āĻŋ āĻāĻā§ Kubernetes-āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°ā§āĻ¨āĻ¨āĻŋ, āĻ āĻĨāĻŦāĻž āĻā§āĻ¨ā§ āĻāĻžāĻ°āĻŖā§ āĻāĻā§ āĻĄā§āĻ¯āĻžāĻļāĻŦā§āĻ°ā§āĻĄā§āĻ° āĻ¸āĻŽā§āĻŽā§āĻā§āĻ¨ āĻ¨āĻž āĻšāĻ¨, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻŋ āĻāĻ° āĻāĻŋāĻā§ āĻā§āĻˇāĻŽāĻ¤āĻž āĻ¤ā§āĻ˛ā§ āĻ§āĻ°āĻŦāĨ¤
āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¯ā§ "āĻ¸āĻŦāĻāĻŋāĻā§ āĻ¸āĻŦā§āĻ":
āĻĒāĻĄā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ°āĻ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ¤āĻĨā§āĻ¯ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ, āĻ¯ā§āĻŽāĻ¨ āĻĒāĻ°āĻŋāĻŦā§āĻļā§āĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛, āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻāĻŦāĻŋ, āĻ˛āĻā§āĻ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻāĻŦāĻ āĻ¤āĻžāĻĻā§āĻ° āĻ
āĻŦāĻ¸ā§āĻĨāĻž:
āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻĻā§āĻļā§āĻ¯āĻŽāĻžāĻ¨ āĻ
āĻŦāĻ¸ā§āĻĨāĻž āĻāĻā§:
...āĻāĻŦāĻ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŦāĻŋāĻŦāĻ°āĻŖ:
... āĻāĻŦāĻ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻā§āĻ˛ āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻžāĻ āĻ°āĻ¯āĻŧā§āĻā§:
āĻāĻ āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛:
āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§āĻ° āĻļā§āĻ°ā§āĻ¤ā§ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻāĻ˛ā§āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ˛āĻ āĻĻā§āĻāĻž āĻšāĻ˛:
... āĻāĻŦāĻ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻŋāĻ¤ āĻĒāĻĄā§āĻ° āĻāĻ¨āĻā§āĻāĻ¨āĻžāĻ° āĻāĻ¨āĻ¸ā§āĻ˛ā§ āĻ˛āĻ āĻāĻ¨ āĻāĻ°āĻžāĻ° āĻĢāĻžāĻāĻļāĻ¨:
āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻĒāĻ¨āĻŋ āĻ¨ā§āĻĄā§āĻ° āĻ¸ā§āĻŽāĻž/āĻ
āĻ¨ā§āĻ°ā§āĻ§āĻā§āĻ˛āĻŋāĻ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
āĻ
āĻŦāĻļā§āĻ¯āĻ, āĻāĻā§āĻ˛āĻŋ āĻĒā§āĻ¯āĻžāĻ¨ā§āĻ˛ā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§āĻˇāĻŽāĻ¤āĻž āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻŽāĻŋ āĻāĻļāĻž āĻāĻ°āĻŋ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ§āĻžāĻ°āĻŖāĻž āĻĒāĻžāĻŦā§āĻ¨āĨ¤
āĻāĻ¨ā§āĻāĻŋāĻā§āĻ°ā§āĻļāĻ¨ āĻāĻŦāĻ āĻĄā§āĻ¯āĻžāĻļāĻŦā§āĻ°ā§āĻĄā§āĻ° āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻž
āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻāĻ¨ā§āĻāĻŋāĻā§āĻ°ā§āĻļāĻ¨ā§ āĻ¨ā§āĻ āĻĒā§āĻ°āĻŦā§āĻļāĻžāĻ§āĻŋāĻāĻžāĻ° āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ. āĻāĻāĻŋāĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§, āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦā§ āĻ¯ā§āĻā§āĻ¨ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ¸āĻš āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻĄā§āĻ¯āĻžāĻļāĻŦā§āĻ°ā§āĻĄā§ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ˛āĻžāĻ āĻāĻ°ā§āĨ¤ āĻĄā§āĻ¯āĻžāĻļāĻŦā§āĻ°ā§āĻĄā§ āĻ¤āĻžāĻĻā§āĻ° āĻāĻāĻ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ°āĻ¯āĻŧā§āĻā§, āĻĄā§āĻ¯āĻžāĻļāĻŦā§āĻ°ā§āĻĄā§āĻ° āĻ
āĻ§āĻŋāĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻļā§āĻ˛āĻŋāĻˇā§āĻ, āĻ¯āĻž
āĻĄā§āĻ¯āĻžāĻļāĻŦā§āĻ°ā§āĻĄā§ āĻ˛āĻā§āĻˇāĻŖā§āĻ¯āĻŧ āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§, āĻāĻŽāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤āĻā§āĻ˛āĻŋ āĻ¨ā§āĻ āĻāĻ°āĻŋ:
- init āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°ā§āĻ° āĻāĻ¨āĻ¸ā§āĻ˛ā§ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°āĻž āĻ āĻ¸āĻŽā§āĻāĻŦ;
- āĻĄāĻŋāĻĒā§āĻ˛āĻ¯āĻŧāĻŽā§āĻ¨ā§āĻ āĻāĻŦāĻ āĻ¸ā§āĻā§āĻāĻĢā§āĻ˛āĻ¸ā§āĻ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻ°āĻž āĻ āĻ¸āĻŽā§āĻāĻŦ, āĻ¯āĻĻāĻŋāĻ āĻāĻāĻŋ ClusterRole-āĻ āĻ āĻŋāĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§;
- Kubernetes āĻāĻ° āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§āĻ° āĻ¸āĻžāĻĨā§ āĻĄā§āĻ¯āĻžāĻļāĻŦā§āĻ°ā§āĻĄā§āĻ° āĻ¸āĻžāĻŽāĻā§āĻāĻ¸ā§āĻ¯ āĻāĻŦāĻ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ āĻĒā§āĻ°āĻļā§āĻ¨ āĻāĻ¤ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĨ¤
āĻļā§āĻˇ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻŦāĻŋāĻļā§āĻˇ āĻŽāĻ¨ā§āĻ¯ā§āĻā§āĻ° āĻĻāĻžāĻŦāĻŋ āĻ°āĻžāĻā§āĨ¤
āĻĄā§āĻ¯āĻžāĻļāĻŦā§āĻ°ā§āĻĄ āĻ āĻŦāĻ¸ā§āĻĨāĻž āĻāĻŦāĻ āĻŦāĻŋāĻāĻ˛ā§āĻĒ
Kubernetes āĻ°āĻŋāĻ˛āĻŋāĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻĄā§āĻ¯āĻžāĻļāĻŦā§āĻ°ā§āĻĄ āĻ¸āĻžāĻŽāĻā§āĻāĻ¸ā§āĻ¯ āĻā§āĻŦāĻŋāĻ˛, āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ (
āĻāĻ āĻ¸āĻ¤ā§āĻ¤ā§āĻŦā§āĻ, āĻāĻā§ (āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻāĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ°āĻŋāĻ¤ā§ āĻā§āĻšā§āĻ¤)
āĻ āĻŦāĻļā§āĻˇā§, āĻĄā§āĻ¯āĻžāĻļāĻŦā§āĻ°ā§āĻĄā§āĻ° āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻāĻā§āĨ¤ āĻ¤āĻžāĻĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§:
-
K8Dash â āĻāĻāĻāĻŋ āĻ āĻ˛ā§āĻĒ āĻŦāĻ¯āĻŧāĻ¸ā§āĻ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ (āĻĒā§āĻ°āĻĨāĻŽāĻāĻŋ āĻāĻ āĻŦāĻāĻ°ā§āĻ° āĻŽāĻžāĻ°ā§āĻā§āĻ° āĻ¤āĻžāĻ°āĻŋāĻā§ āĻšāĻ¯āĻŧ), āĻ¯āĻž āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻāĻžāĻ˛ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋ āĻ āĻĢāĻžāĻ° āĻāĻ°ā§, āĻ¯ā§āĻŽāĻ¨ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§āĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ° āĻāĻāĻāĻŋ āĻāĻŋāĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ˛ āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻāĻŦāĻ āĻāĻ° āĻ āĻŦāĻā§āĻā§āĻāĻā§āĻ˛āĻŋāĻ° āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻžāĨ¤ āĻāĻāĻāĻŋ "āĻ°āĻŋāĻ¯āĻŧā§āĻ˛-āĻāĻžāĻāĻŽ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸" āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¨, āĻāĻžāĻ°āĻŖ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§ āĻĒā§āĻˇā§āĻ āĻžāĻāĻŋ āĻ°āĻŋāĻĢā§āĻ°ā§āĻļ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻžāĻĄāĻŧāĻžāĻ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻĄā§āĻāĻž āĻāĻĒāĻĄā§āĻ āĻāĻ°ā§āĨ¤ -
OpenShift āĻāĻ¨āĻ¸ā§āĻ˛ - Red Hat OpenShift āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻāĻ¯āĻŧā§āĻŦ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸, āĻ¯āĻž āĻ¯āĻžāĻāĻšā§āĻ, āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ¸āĻŦā§, āĻ¯āĻž āĻ¸āĻŦāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻ¨āĻ¯āĻŧāĨ¤ -
āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ° āĻāĻāĻāĻŋ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ, āĻāĻāĻāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§āĻ° (āĻĄā§āĻ¯āĻžāĻļāĻŦā§āĻ°ā§āĻĄā§āĻ° āĻā§āĻ¯āĻŧā§) āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻ āĻŦāĻā§āĻā§āĻ āĻĻā§āĻāĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻ¸āĻšāĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻĻā§āĻā§ āĻŽāĻ¨ā§ āĻšāĻā§āĻā§ āĻāĻ° āĻŦāĻŋāĻāĻžāĻļ āĻŦāĻ¨ā§āĻ§ āĻšāĻ¯āĻŧā§ āĻā§āĻā§āĨ¤ -
āĻ§ā§āĻ°ā§āĻŦāĻ¤āĻžāĻ°āĻž - āĻ āĻŋāĻ āĻ āĻ¨ā§āĻ¯ āĻĻāĻŋāĻ¨āĻā§āĻˇāĻŖāĻž āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻ¯āĻž āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻ¨ā§āĻ˛ā§āĻ° āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°ā§ (āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§āĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ āĻŦāĻ¸ā§āĻĨāĻž āĻĻā§āĻāĻžāĻ¯āĻŧ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻŋāĻ° āĻ āĻŦāĻā§āĻā§āĻāĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°ā§ āĻ¨āĻž) āĻāĻŦāĻ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ "āĻ¸āĻ°ā§āĻŦā§āĻ¤ā§āĻ¤āĻŽ āĻ āĻ¨ā§āĻļā§āĻ˛āĻ¨ā§āĻ° āĻŦā§āĻ§āĻ¤āĻž" (āĻāĻ¤ā§ āĻāĻ˛āĻŽāĻžāĻ¨ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻ āĻŋāĻāĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°āĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§)āĨ¤
āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§
āĻĄā§āĻ¯āĻžāĻļāĻŦā§āĻ°ā§āĻĄ āĻšāĻ˛ Kubernetes āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻĻāĻ°ā§āĻļ āĻā§āĻ˛ āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻĒāĻ°āĻŋāĻŦā§āĻļāĻ¨ āĻāĻ°āĻŋāĨ¤ āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻŋāĻ° āĻāĻā§āĻāĻ°āĻŖāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ā§āĻ° āĻ āĻāĻļ āĻšāĻ¯āĻŧā§ āĻāĻ ā§āĻā§, āĻāĻžāĻ°āĻŖ āĻ āĻ¨ā§āĻ āĻĄā§āĻā§āĻ˛āĻĒāĻžāĻ° āĻāĻ āĻĒā§āĻ¯āĻžāĻ¨ā§āĻ˛ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¤āĻžāĻĻā§āĻ° āĻ¯ā§ āĻā§āĻˇāĻŽāĻ¤āĻž āĻ°āĻ¯āĻŧā§āĻā§ āĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ¤ā§āĻ¤ā§āĻāĻŋāĻ¤āĨ¤
Kubernetes āĻĄā§āĻ¯āĻžāĻļāĻŦā§āĻ°ā§āĻĄā§ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧāĻā§āĻ°āĻŽā§ āĻāĻĒā§āĻ¨ āĻ¸ā§āĻ°ā§āĻ¸ āĻ¸āĻŽā§āĻĒā§āĻ°āĻĻāĻžāĻ¯āĻŧā§āĻ° āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻ°āĻ¯āĻŧā§āĻā§ (āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻ¸ā§āĻā§āĻ˛āĻŋ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻĒā§āĻ°ā§ āĻā§āĻļāĻŋ), āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻāĻŽāĻ°āĻž āĻāĻ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨āĻāĻŋāĻ° āĻ¸āĻžāĻĨā§āĻ āĻāĻāĻŋāĨ¤
āĻĻā§āĻ°āĻˇā§āĻāĻŦā§āĻ¯
āĻāĻŽāĻžāĻĻā§āĻ° āĻŦā§āĻ˛āĻā§āĻ āĻĒāĻĄāĻŧā§āĻ¨:
- ÂĢ
kubebox āĻāĻŦāĻ Kubernetes āĻāĻ¨ā§āĻ¯ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻļā§āĻ˛ "; - ÂĢ
āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻāĻŦāĻ āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸ā§āĻ°āĻž āĻ¸āĻŋāĻāĻ/āĻ¸āĻŋāĻĄāĻŋ āĻ āĻ¨ā§āĻļā§āĻ˛āĻ¨ (āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§āĻāĻ¨āĻž āĻāĻŦāĻ āĻāĻŋāĻĄāĻŋāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§āĻĻāĻ¨) "; - ÂĢ
Dapp āĻāĻŦāĻ GitLab CI āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ Kubernetes-āĻ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻŦāĻ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĻ¨ "; - ÂĢ
āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦ āĻ¸āĻŋāĻāĻ āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻāĻā§āĻāĻ°āĻŖ āĻāĻŦāĻ āĻāĻ¤ā§āĻĒāĻžāĻĻāĻ¨ā§ āĻŦāĻŋāĻ¤āĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯āĨ¤ āĻĒāĻžāĻ°ā§āĻ 1: āĻāĻŽāĻžāĻĻā§āĻ° āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨ Âģ.
āĻāĻ¤ā§āĻ¸: www.habr.com