
āĻā§āĻŽ āĻāĻĒāĻĄā§āĻ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻā§āĻāĻžāĻŦā§ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻšā§āϞāĻŽ āϏāĻŋāĻā§āϰā§āĻ āϤā§āϰāĻŋ āĻāϰāĻž āϝāĻžāϝāĻŧ āϏ⧠āϏāĻŽā§āĻĒāϰā§āĻā§āĨ¤ āύā§āĻā§ āύāĻŋāĻŦāύā§āϧāĻāĻŋāϰ āϞā§āĻāĻā§āϰ āĻāĻāĻāĻŋ āĻĒāĻžāĻ ā§āϝ - 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 }}
āϝāĻāύāĻ āϏāĻžāϰā§āĻāĻžāϰ⧠āĻāĻāĻāĻŋ āύāϤā§āύ āĻāĻĒāĻĄā§āĻ āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰāĻž āĻšāϝāĻŧ, āĻšā§āϞāĻŽ āĻšāϝāĻŧ āĻāĻāĻāĻŋ āύāϤā§āύ āĻā§āĻĒāύ āĻŽāĻžāύ āϤā§āϰāĻŋ āĻāϰāĻŦā§ (āϝāĻĻāĻŋ āĻāĻāύāĻ āĻā§āύāĻ āĻā§āĻĒāύ āύāĻž āĻĨāĻžāĻā§) āĻŦāĻž āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āĻŽāĻžāύāĻāĻŋ āĻĒā§āύāϰāĻžāϝāĻŧ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻŦā§āĨ¤
āϏā§āĻāĻžāĻā§āϝ āĻāĻžāĻŽāύāĻž āĻāϰāĻāĻŋ!
āĻāĻĒāĻŋāĻ āĻāϰ āĻāĻŋ āĻĒāĻĄāĻŧāĻž:
- .
- .
- .
āĻāϤā§āϏ: www.habr.com
