āĻšā§‡āϞāĻŽā§‡ āĻ—ā§‹āĻĒāύ⧀āϝāĻŧāϤāĻžāϰ āĻ¸ā§āĻŦāϤāσ-āĻĒā§āϰāϜāĻ¨ā§āĻŽ

āĻšā§‡āϞāĻŽā§‡ āĻ—ā§‹āĻĒāύ⧀āϝāĻŧāϤāĻžāϰ āĻ¸ā§āĻŦāϤāσ-āĻĒā§āϰāϜāĻ¨ā§āĻŽ

āĻŸā§€āĻŽ Mail.ru āĻĨ⧇āϕ⧇ Kubernetes aaS āĻāĻ•āϟāĻŋ āϏāĻ‚āĻ•ā§āώāĻŋāĻĒā§āϤ āύ⧋āϟ āĻ…āύ⧁āĻŦāĻžāĻĻ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧāĻ­āĻžāĻŦ⧇ āĻšā§‡āϞāĻŽ āϏāĻŋāĻ•ā§āϰ⧇āϟ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āϝāĻžāϝāĻŧ āϏ⧇ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇āĨ¤ āύ⧀āĻšā§‡ āύāĻŋāĻŦāĻ¨ā§āϧāϟāĻŋāϰ āϞ⧇āĻ–āϕ⧇āϰ āĻāĻ•āϟāĻŋ āĻĒāĻžāĻ ā§āϝ - Intoware-āĻāϰ āĻĒā§āϰāϝ⧁āĻ•ā§āϤāĻŋāĻ—āϤ āĻĒāϰāĻŋāϚāĻžāϞāĻ•, SaaS āϏāĻŽāĻžāϧāĻžāύāϗ⧁āϞāĻŋ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāϰ⧀ āĻāĻ•āϟāĻŋ āϏāĻ‚āĻ¸ā§āĻĨāĻžāĨ¤

āĻĒāĻžāĻ¤ā§āϰ⧇ āĻ āĻžāĻ¨ā§āĻĄāĻž. āĻĒā§āϰāĻĨāĻŽā§‡ āφāĻŽāĻŋ āĻ…ā§āϝāĻžāĻ¨ā§āϟāĻŋ-āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰ āĻ›āĻŋāϞāĻžāĻŽ (āφāĻŽāĻŋ āĻāϟāĻž āĻ¸ā§āĻŦā§€āĻ•āĻžāϰ āĻ•āϰāϤ⧇ āĻŦāĻŋāĻŦā§āϰāϤ), āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻāĻ–āύ āφāĻŽāĻŋ āĻāχ āĻĒā§āϰāϝ⧁āĻ•ā§āϤāĻŋāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰāϕ⧇ āĻĒ⧁āϰ⧋āĻĒ⧁āϰāĻŋ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰāĻŋāĨ¤ āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāϟāĻŋ āĻĒāĻĄāĻŧ⧇ āĻĨāĻžāϕ⧇āύ, āφāĻĒāύāĻŋ āφāĻļāĻž āĻ•āϰāĻŋ āϏāĻĢāϞāĻ­āĻžāĻŦ⧇ āĻĄāĻ•āĻžāϰ āϏāĻŽā§āĻĻā§āϰ⧇ āύ⧇āĻ­āĻŋāϗ⧇āϟ āĻ•āϰ⧇āϛ⧇āύ, āϕ⧁āĻŦāĻžāϰāύ⧇āϟāϏ⧇āϰ āϏ⧁āĻŦāĻŋāϧāĻžāϗ⧁āϞāĻŋ āωāĻĒāϞāĻŦā§āϧāĻŋ āĻ•āϰ⧇āϛ⧇āύ āĻāĻŦāĻ‚ āĻšā§‡āϞāĻŽā§‡āϰ āϏāĻžāĻĨ⧇ āφāĻĒāύāĻžāϰ āĻœā§€āĻŦāύāϕ⧇ āĻ…āύ⧇āĻ• āϏāĻšāϜ āĻ•āϰ⧇ āϤ⧁āϞ⧇āϛ⧇āύāĨ¤

āϝāĻžāχāĻšā§‹āĻ•, āĻ•āĻŋāϛ⧁ āϜāĻŋāύāĻŋāϏ āĻ¸ā§āĻĒāĻˇā§āϟāϤāχ āϤāĻžāĻĻ⧇āϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧇āϰ āĻšā§‡āϝāĻŧ⧇ āĻŦ⧇āĻļāĻŋ āĻ•āĻ āĻŋāύāĨ¤

āφāĻĒāĻĄā§‡āϟ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧāĻ­āĻžāĻŦ⧇ āĻ—ā§‹āĻĒāύ⧀āϝāĻŧāϤāĻž āϤ⧈āϰāĻŋ āĻ•āϰāĻŦ⧇āύ?

āĻāĻ•āϟāĻŋ Kubernetes āĻ—ā§‹āĻĒāύ āĻāĻ•āϟāĻŋ āϏāĻŽā§āĻĒāĻĻ āϝāĻž āϕ⧀/āĻŽāĻžāύ āĻœā§‹āĻĄāĻŧāĻž āϰāϝāĻŧ⧇āϛ⧇ āϝāĻž āφāĻĒāύāĻŋ āφāĻĒāύāĻžāϰ āϕ⧋āĻĄā§‡ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āϚāĻžāύāĨ¤ āĻāϗ⧁āϞāĻŋ āĻšāϤ⧇ āĻĒāĻžāϰ⧇ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āϏāĻ‚āϝ⧋āĻ— āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚, āχāĻŽā§‡āϞ āĻĒāĻžāϏāĻ“āϝāĻŧāĻžāĻ°ā§āĻĄ āχāĻ¤ā§āϝāĻžāĻĻāĻŋāĨ¤ āĻ—ā§‹āĻĒāύ⧀āϝāĻŧāϤāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇, āφāĻĒāύāĻŋ āϕ⧋āĻĄ āĻāĻŦāĻ‚ āϏ⧇āϟāĻŋāĻ‚āϏ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻĒāĻˇā§āϟ āĻŦāĻŋāĻšā§āϛ⧇āĻĻ āϤ⧈āϰāĻŋ āĻ•āϰ⧇āύ, āϝāĻž āφāĻĒāύāĻžāϕ⧇ āϕ⧋āĻĄāĻŦ⧇āϏ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āύāĻž āĻ•āϰ⧇ āϏāĻšāĻœā§‡āχ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻ¸ā§āĻĨāĻžāĻĒāύāĻž āĻ•āĻžāĻ¸ā§āϟāĻŽāĻžāχāϜ āĻ•āϰāϤ⧇ āĻĻ⧇āϝāĻŧāĨ¤

āĻāĻ•āϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋ āĻšāϞ āϝāĻ–āύ āĻĻ⧁āϟāĻŋ āĻŽāĻĄāĻŋāωāϞ āĻāĻ•āϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āϕ⧀ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϝ⧋āĻ—āĻžāϝ⧋āĻ— āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤ āĻ•ā§āϞāĻžāĻ¸ā§āϟāĻžāϰ⧇āϰ āĻŦāĻžāχāϰ⧇āϰ āϕ⧇āω āĻāχ āϕ⧀āϟāĻŋ āϜāĻžāύāϤ⧇ āĻĒāĻžāϰāĻŦ⧇ āύāĻž, āϝ⧇āĻšā§‡āϤ⧁ āĻāϟāĻŋ āĻ•ā§āϞāĻžāĻ¸ā§āϟāĻžāϰ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻāĻ• āĻĨ⧇āϕ⧇ āĻāĻ• āϝ⧋āĻ—āĻžāϝ⧋āϗ⧇āϰ āωāĻĻā§āĻĻ⧇āĻļā§āϝ⧇āĨ¤

āĻ—ā§‹āĻĒāύ āĻ•āϰāĻž

āϏāĻžāϧāĻžāϰāĻŖāϤ, āĻšā§‡āϞāĻŽā§‡ āĻāĻ•āϟāĻŋ āĻ—ā§‹āĻĒāύ⧀āϝāĻŧāϤāĻž āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āφāĻĒāύāĻžāϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ:

  • āĻŽāĻžāύ āĻĢāĻžāχāϞ⧇ āĻ—ā§‹āĻĒāύ āĻŦāĻ°ā§āĻŖāύāĻž āĻ•āϰ⧁āύ;
  • āĻ¸ā§āĻĨāĻžāĻĒāύāĻžāϰ āϏāĻŽāϝāĻŧ āĻāϟāĻŋ āĻĒ⧁āύāϰāĻžāϝāĻŧ āϏāĻ‚āĻœā§āĻžāĻžāϝāĻŧāĻŋāϤ āĻ•āϰ⧁āύ;
  • āĻ¸ā§āĻĨāĻžāĻĒāύāĻžāϰ/āĻĒāĻĄā§‡āϰ āĻ­āĻŋāϤāϰ⧇ āĻāϟāĻŋ āĻĒāĻĄāĻŧ⧁āύ;
  • ...āϞāĻžāĻ­!

āĻāϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻāχ āĻŽāϤ āĻ•āĻŋāϛ⧁ āĻĻ⧇āĻ–āĻžāϝāĻŧ:

apiVersion: v1
kind: Secret
metadata:
  name: my-super-awesome-api-key
type: Opaque
stringData:
  apiKey: {{ .Values.MyApiKeySecret | quote }}

values.yml āĻĨ⧇āϕ⧇ āĻŽāĻžāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻāĻ•āϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖ Kubernetes āĻ—ā§‹āĻĒāύ⧀āϝāĻŧāϤāĻž

āϤāĻŦ⧇ āϧāϰāĻž āϝāĻžāĻ• āφāĻĒāύāĻŋ āĻŽāĻžāύ āĻĢāĻžāχāϞ⧇ āφāĻĒāύāĻžāϰ āĻ—ā§‹āĻĒāύ⧀āϝāĻŧāϤāĻž āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϰāϤ⧇ āϚāĻžāύ āύāĻžāĨ¤

āĻ…āύ⧇āĻ•āϗ⧁āϞāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āφāϛ⧇ āϝāĻ–āύ āĻ¸ā§āĻĨāĻžāĻĒāύāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻļ⧇āϝāĻŧāĻžāĻ°ā§āĻĄ āϕ⧀ āĻĒā§āϰāϝāĻŧā§‹āϜāύ, āϝāĻž āχāύāĻ¸ā§āϟāϞ⧇āĻļāύ⧇āϰ āϏāĻŽāϝāĻŧ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āφāĻŦāĻļā§āϝāĻ•āĨ¤

āωāĻĒāϰ⧇āϰ āĻŽāĻĄāĻŋāωāϞ-āϟ⧁-āĻŽāĻĄāĻŋāωāϞ āϝ⧋āĻ—āĻžāϝ⧋āϗ⧇āϰ āωāĻĻāĻžāĻšāϰāϪ⧇, āĻ¸ā§āĻĨāĻžāĻĒāύāĻžāϰ āĻŦāĻžāχāϰ⧇ āĻ—ā§‹āĻĒāύ⧀āϝāĻŧāϤāĻž āĻļ⧇āϝāĻŧāĻžāϰ āĻ•āϰāĻž āĻŦāĻžāĻžā§āĻ›āύ⧀āϝāĻŧ āύāϝāĻŧāĨ¤ āĻ…āϤāĻāĻŦ, āĻāϟāĻŋ āĻ…āĻ¤ā§āϝāĻ¨ā§āϤ āĻŦāĻžāĻžā§āĻ›āύ⧀āϝāĻŧ āϝ⧇ āĻšā§‡āϞāĻŽā§‡āϰ āĻ•āĻžāϛ⧇ āĻāϟāĻŋ āϏāϰāĻžāϏāϰāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āύāĻž āĻ•āϰ⧇āχ āĻāĻ•āϟāĻŋ āĻ—ā§‹āĻĒāύ⧀āϝāĻŧāϤāĻž āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧāĻ­āĻžāĻŦ⧇ āϤ⧈āϰāĻŋ āĻ•āϰāĻžāϰ āĻŦā§āϝāĻŦāĻ¸ā§āĻĨāĻž āϰāϝāĻŧ⧇āϛ⧇āĨ¤

āĻšā§āĻ•āϏ

āĻšā§āĻ• āφāĻĒāύāĻžāϕ⧇ āχāύāĻ¸ā§āϟāϞ⧇āĻļāύ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āϚāϞāĻžāĻ•āĻžāϞ⧀āύ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ¸ā§āĻĨāĻžāύ⧇ āϕ⧋āĻĄ āϚāĻžāϞāĻžāύ⧋āϰ āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻ⧇āϝāĻŧāĨ¤ āĻāĻ•āϟāĻŋ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ⧇āĻļāύ āĻ•āĻžāϜ āĻšāϤ⧇ āĻĒāĻžāϰ⧇ āϝāĻž āĻĒā§āϰāĻĨāĻŽ āχāύāĻ¸ā§āϟāϞ⧇āĻļāύ⧇āϰ āĻĒāϰ⧇ āϚāĻžāϞāĻžāύ⧋āϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ, āĻ…āĻĨāĻŦāĻž āϏāĻŽā§āĻ­āĻŦāϤ āϕ⧋āύ⧋ āφāĻĒāĻĄā§‡āϟ āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻ•āϰāĻžāϰ āφāϗ⧇ āĻāĻ•āϟāĻŋ āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāϰ āĻ•āϰāĻž āĻĒā§āϰāϝāĻŧā§‹āϜāύāĨ¤

āχāύāĻ¸ā§āϟāϞ⧇āĻļāύ⧇āϰ āϏāĻŽāϝāĻŧ āĻ‰ā§ŽāĻĒāĻ¨ā§āύ āĻāĻ•āϟāĻŋ āϕ⧀ āϝ⧋āĻ— āĻ•āϰāĻžāϰ āφāĻŽāĻžāĻĻ⧇āϰ āϏāĻŽāĻ¸ā§āϝāĻž āϏāĻŽāĻžāϧāĻžāύ⧇āϰ āϜāĻ¨ā§āϝ, āĻĒā§āϰāĻžāĻ•-āχāύāĻ¸ā§āϟāϞ⧇āĻļāύ āĻšā§āĻ•āϗ⧁āϞāĻŋ āφāĻĻāĻ°ā§āĻļāĨ¤ āϤāĻŦ⧇ āĻāĻ•āϟāĻŋ āĻ•ā§āϝāĻžāϚ āφāϛ⧇: āφāĻĒāύāĻŋ āĻāĻ•āĻŦāĻžāϰ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāĻžāϰ āĻĒāϰ⧇ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧāĻ­āĻžāĻŦ⧇ āĻ—ā§‹āĻĒāύāϟāĻŋ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύ āύāĻžāĨ¤ āĻšā§āĻ• āĻĒā§āϰāϤāĻŋāϟāĻŋ āφāĻĒāĻĄā§‡āĻŸā§‡ āĻ•āĻžāϜ āĻ•āϰāĻŦ⧇āĨ¤

āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āφāĻĒāύāĻžāϰ āĻ—ā§‹āĻĒāύ⧀āϝāĻŧāϤāĻž āϤ⧈āϰāĻŋ āĻ•āϰ⧇ āĻĨāĻžāϕ⧇āύ āĻāĻŦāĻ‚ āφāĻĒāύāĻžāϰ āĻĒā§āϰāĻĨāĻŽ āχāύāĻ¸ā§āϟāϞ āĻāĻ–āύāĻ“ āύāĻž āĻšāϝāĻŧ⧇ āĻĨāĻžāϕ⧇ āϤāĻŦ⧇ āĻĒāĻĄāĻŧāĻž āĻŦāĻ¨ā§āϧ āĻ•āϰ⧁āύ, āĻĒā§āϰāĻŋ-āχāύāĻ¸ā§āϟāϞ āĻšā§āĻ• āφāĻĒāύāĻžāϰ āϜāĻ¨ā§āϝ āĻĻ⧁āĻ°ā§āĻĻāĻžāĻ¨ā§āϤ āĻ•āĻžāϜ āĻ•āϰāĻŦ⧇āĨ¤

āĻ•āĻŋāĻ¨ā§āϤ⧁ āϝāĻĻāĻŋ āĻ—ā§‹āĻĒāύāϟāĻŋ āĻāĻ•āϟāĻŋ āφāĻĒāĻĄā§‡āĻŸā§‡āϰ āĻ…āĻ‚āĻļ āĻšāϝāĻŧ (āϏāĻŽā§āĻ­āĻŦāϤ āĻāĻ•āϟāĻŋ āύāϤ⧁āύ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āϝāĻž āχāύāĻ¸ā§āϟāϞ⧇āĻļāύ⧇āϰ āϏāĻŽāϝāĻŧ āϏ⧇āĻ–āĻžāύ⧇ āĻ›āĻŋāϞ āύāĻž), āϤāĻžāĻšāϞ⧇ āĻāϟāĻŋ āϞāĻœā§āϜāĻžāϜāύāĻ• āϝ⧇ āφāĻĒāύāĻŋ āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻžāĻ•-āχāύāĻ¸ā§āϟāϞ⧇āĻļāύ āĻšā§āĻ• āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύ āύāĻž āϝāĻž āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻāĻ•āĻŦāĻžāϰ āĻ•āĻžāϜ āĻ•āϰ⧇āĨ¤

āĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϞāĻžāĻĒ

āĻšā§‡āϞāĻŽ āĻĢāĻžāĻ‚āĻļāύ āφāĻĒāύāĻžāϕ⧇ āφāĻĒāύāĻžāϰ āĻ¸ā§āĻĨāĻžāĻĒāύāĻžāϰ āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟāϗ⧁āϞāĻŋāϤ⧇ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟāĻŋāĻ‚ āωāĻĒāĻžāĻĻāĻžāύ āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻžāϰ āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻ⧇āϝāĻŧāĨ¤

apiVersion: v1
kind: Secret
metadata:
  name: my-super-awesome-api-key
type: Opaque
stringData:
  apiKey: {{ uuidv4 | quote }} #Generate a new UUID and quote it

āĻāχ āωāĻĻāĻžāĻšāϰāĻŖāϟāĻŋ āĻĻ⧇āĻ–āĻžāϝāĻŧ āϝ⧇ apiKey āĻ—ā§‹āĻĒāύ⧇āϰ āĻŽāĻžāύāϟāĻŋ āχāύāĻ¸ā§āϟāϞ⧇āĻļāύ⧇āϰ āϏāĻŽāϝāĻŧ āϤ⧈āϰāĻŋ āĻšāĻ“āϝāĻŧāĻž āύāϤ⧁āύ UUID āĻšāĻŦ⧇āĨ¤

āĻšā§‡āϞāĻŽā§‡ āĻāĻ•āϟāĻŋ āϏāĻ¤ā§āϝāĻŋāĻ•āĻžāϰ⧇āϰ āĻŦāĻŋāĻ¸ā§āϤ⧃āϤ āĻĢāĻŋāϚāĻžāϰ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āϰāϝāĻŧ⧇āϛ⧇ āϝāĻž āĻ•āĻžāĻ¸ā§āϟāĻŽ āĻ¸ā§āĻĨāĻžāĻĒāύāĻž āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āφāĻļā§āϚāĻ°ā§āϝāϜāύāĻ• GO āĻŸā§‡āĻŽāĻĒā§āϞ⧇āϟ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āĻāĻŦāĻ‚ āĻ¸ā§āĻĒā§āϰāĻŋāϗ⧇āϰ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āĨ¤

āϞ⧁āĻ•āφāĻĒ āĻĢāĻžāĻ‚āĻļāύ

āĻšā§‡āϞāĻŽ 3.1-āĻ āϝ⧋āĻ— āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇ āϞ⧁āĻ•āφāĻĒ āĻĢāĻžāĻ‚āĻļāύ, āϝāĻž āφāĻĒāύāĻžāϕ⧇ āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āĻ¸ā§āĻĨāĻžāĻĒāύāĻžāϰ āĻ…āύ⧁āϰ⧋āϧ āĻ•āϰāϤ⧇ āĻĻ⧇āϝāĻŧ āĻāĻŦāĻ‚:

  • āϏāĻŽā§āĻĒāĻĻ⧇āϰ āĻ…āĻ¸ā§āϤāĻŋāĻ¤ā§āĻŦ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰ⧁āύ;
  • āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āϏāĻŽā§āĻĒāĻĻ⧇āϰ āĻŽāĻžāύ āĻĢ⧇āϰāϤ āĻĻāĻŋāύāĨ¤

āĻāχ āωāĻ­āϝāĻŧ āĻ•ā§āώāĻŽāϤāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇, āφāĻŽāϰāĻž āĻāĻ•āϟāĻŋ āĻāĻ•āĻ•āĻžāϞ⧀āύ, āĻ—āϤāĻŋāĻļā§€āϞāĻ­āĻžāĻŦ⧇ āĻœā§‡āύāĻžāϰ⧇āϟ āĻ•āϰāĻž āĻ—ā§‹āĻĒāύ⧀āϝāĻŧāϤāĻž āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŋ!

# 1. ЗаĐŋŅ€ĐžŅĐ¸Ņ‚ŅŒ ŅŅƒŅ‰ĐĩŅŅ‚Đ˛ĐžĐ˛Đ°ĐŊиĐĩ ҁĐĩĐēŅ€ĐĩŅ‚Đ° и вĐĩŅ€ĐŊŅƒŅ‚ŅŒ в ĐŋĐĩŅ€ĐĩĐŧĐĩĐŊĐŊОК $secret
{{- $secret := (lookup "v1" "Secret" .Release.Namespace "some-awesome-secret" -}}
apiVersion: v1
kind: Secret
metadata:
  name: some-awesome-secret
type: Opaque

# 2. Đ•ŅĐģи ҁĐĩĐēŅ€ĐĩŅ‚ ŅŅƒŅ‰ĐĩŅŅ‚Đ˛ŅƒĐĩŅ‚, Đ˛ĐˇŅŅ‚ŅŒ ĐĩĐŗĐž СĐŊĐ°Ņ‡ĐĩĐŊиĐĩ ĐēаĐē apiKey (ҁĐĩĐēŅ€ĐĩŅ‚ Đ¸ŅĐŋĐžĐģŅŒĐˇŅƒĐĩŅ‚ ĐēĐžĐ´Đ¸Ņ€ĐžĐ˛Đ°ĐŊиĐĩ Base64, Ņ‚Đ°Đē Ņ‡Ņ‚Đž Đ¸ŅĐŋĐžĐģŅŒĐˇŅƒĐšŅ‚Đĩ ĐēĐģŅŽŅ‡ "data")
{{ if $secret -}}
data:
  apiKey: {{ $secret.data.apiKey }}

# 3. Đ•ŅĐģи ҁĐĩĐēŅ€ĐĩŅ‚ ĐŊĐĩ ŅŅƒŅ‰ĐĩŅŅ‚Đ˛ŅƒĐĩŅ‚ — ŅĐžĐˇĐ´Đ°Ņ‚ŅŒ ĐĩĐŗĐž (в ŅŅ‚ĐžŅ‚ Ņ€Đ°Đˇ Đ¸ŅĐŋĐžĐģŅŒĐˇŅƒĐšŅ‚Đĩ "stringData", Ņ‚Đ°Đē ĐēаĐē ĐąŅƒĐ´ĐĩŅ‚ ĐžĐąŅ‹Ņ‡ĐŊĐžĐĩ СĐŊĐ°Ņ‡ĐĩĐŊиĐĩ)!
{{ else -}}
stringData:
  apiKey: {{ uuidv4 | quote }}
{{ end }}

āϝāĻ–āύāχ āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āĻāĻ•āϟāĻŋ āύāϤ⧁āύ āφāĻĒāĻĄā§‡āϟ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰāĻž āĻšāϝāĻŧ, āĻšā§‡āϞāĻŽ āĻšāϝāĻŧ āĻāĻ•āϟāĻŋ āύāϤ⧁āύ āĻ—ā§‹āĻĒāύ āĻŽāĻžāύ āϤ⧈āϰāĻŋ āĻ•āϰāĻŦ⧇ (āϝāĻĻāĻŋ āĻāĻ–āύāĻ“ āϕ⧋āύāĻ“ āĻ—ā§‹āĻĒāύ āύāĻž āĻĨāĻžāϕ⧇) āĻŦāĻž āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āĻŽāĻžāύāϟāĻŋ āĻĒ⧁āύāϰāĻžāϝāĻŧ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻŦ⧇āĨ¤

āϏ⧌āĻ­āĻžāĻ—ā§āϝ āĻ•āĻžāĻŽāύāĻž āĻ•āϰāĻ›āĻŋ!

āϟāĻĒāĻŋāĻ• āφāϰ āĻ•āĻŋ āĻĒāĻĄāĻŧāĻž:

  1. āϕ⧁āĻŦāĻžāϰāύ⧇āϟāϏ⧇ āĻ…āĻŸā§‹āĻ¸ā§āϕ⧇āϞāĻŋāĻ‚āϝāĻŧ⧇āϰ āϤāĻŋāύāϟāĻŋ āĻ¸ā§āϤāϰ āĻāĻŦāĻ‚ āϕ⧀āĻ­āĻžāĻŦ⧇ āϏ⧇āϗ⧁āϞāĻŋ āĻ•āĻžāĻ°ā§āϝāĻ•āϰāĻ­āĻžāĻŦ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝāĻžāϝāĻŧ.
  2. āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻŸā§‡āĻŽāĻĒā§āϞ⧇āϟ āϏāĻš āϜāϞāĻĻāĻ¸ā§āϝ⧁āϤāĻžāϰ āĻšā§‡āϤāύāĻžāϝāĻŧ āϕ⧁āĻŦāĻžāϰāύ⧇āϟāϏ.
  3. āĻŸā§‡āϞāĻŋāĻ—ā§āϰāĻžāĻŽā§‡ āφāĻŽāĻžāĻĻ⧇āϰ āĻšā§āϝāĻžāύ⧇āϞ āφāϰāĻžāωāĻ¨ā§āĻĄ āϕ⧁āĻŦāĻžāϰāύ⧇āϟāϏ.

āωāĻ¤ā§āϏ: www.habr.com

DDoS āϏ⧁āϰāĻ•ā§āώāĻž, VPS VDS āϏāĻžāĻ°ā§āĻ­āĻžāϰ āϏāĻš āϏāĻžāχāϟāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝ āĻšā§‹āĻ¸ā§āϟāĻŋāĻ‚ āĻ•āĻŋāύ⧁āύ đŸ”Ĩ DDoS āϏ⧁āϰāĻ•ā§āώāĻž āϏāĻš āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝ āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāϟ āĻšā§‹āĻ¸ā§āϟāĻŋāĻ‚ āĻ•āĻŋāύ⧁āύ, VPS VDS āϏāĻžāĻ°ā§āĻ­āĻžāϰ | ProHoster