Flynn: рдмреИрдХрдЕрдк рд╕рд┐рд╕реНрдЯрдо

рдХреЛ рдирд┐рд░реНрдорд┐рдд 13 рдорд╛рд░реНрдЪ 2015  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: flynn/flynn

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдмреИрдХрдЕрдк рдХрдорд╛рдВрдб рд╣реИ рдЬреЛ рдлреНрд▓рд┐рди рд╕реАрдПрд▓рдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдбреАрдмреА рдХрд╛ рддрд╛рд░реНрдХрд┐рдХ рдмреИрдХрдЕрдк рдЦреАрдВрдЪрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЕрдзрд┐рдХ рдордЬрдмреВрдд рдкреНрд░рдгрд╛рд▓реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЪреАрдЬреЗрдВ:

  • рд╡рд╛рд▓ рд▓реЙрдЧ рдкреЙрдЗрдВрдЯ-рдЗрди-рдЯрд╛рдЗрдо-рд░рд┐рдХрд╡рд░реА рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдЬреЛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ (рджреЗрдЦреЗрдВ: рд╡рд╛рд▓-рдИ )ред
  • рд╕рднреА рдкрд░рд┐рд╡реЗрд╢реЛрдВ рдореЗрдВ S3 рдЬреИрд╕реЗ рдмреНрд▓реЙрдмрд╕реНрдЯреЛрд░ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдХреБрдЫ NFS/CIFS/FTP/SCP рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред
  • рдмреИрдХрдЕрдк рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдгред
  • рдмрд╛рд╣реНрдп рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдЖрд╡рд╢реНрдпрдХ рд╣реИред
  • рд╕рд┐рд╕реНрдЯрдо рдЕрдиреНрдп рдбреЗрдЯрд╛ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рд╛рдорд╛рдиреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдзрд╛рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдХреЗрд╡рд▓ $ flynn cluster backup рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░реЗрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ s3 рдкрд░ рдлреЗрдВрдХ рджреЗрдЧрд╛ред рдпрджрд┐ рдХрд▓реНрдкрдирд╛ рдмрд╛рдж рдореЗрдВ рдареАрдХ рд▓рдЧрддреА рд╣реИ рддреЛ рдореИрдВ рдмрд╛рдж рдореЗрдВ рдлрд╝реНрд▓рд┐рди рдореЗрдВ рдкреАрдЖрд░ рдмрдирд╛рдКрдВрдЧрд╛ред рдпрд╣ рд╕рдм рдХреБрдЫ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рд╢реБрд░реБрдЖрдд рд╣реЛрдЧреАред

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

рдмреИрдХрдЕрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ backy рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЙрд╕реА рд╢реИрд▓реА envs рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдЧрд╛ рдЬреИрд╕реЗ blobstore :

$ flynn -a backy env
BACKEND_S3MAIN=backend=s3 region=eu-west-1 bucket=flynn-backup access_key_id=XXXXXX secret_access_key=YYYYYYYYY
DEFAULT_BACKEND=s3main
BACKUP_SCHEDULE='* */8 * * *'
BACKUP_ENCRYPTION=type=symmetric symmetric=ZZZZZZZZZZZ

BACKUP_SCHEDULE рдХреНрд░реЙрди рдЯрд╛рдЗрдо рдлреЙрд░реНрдореЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред
BACKUP_ENCRYPTION none, symmetric, public-key рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдФрд░ рдЗрд╕рдореЗрдВ рдпрд╛ рддреЛ symmetric рдпрд╛ private_key рдкреИрд░рд╛рдореАрдЯрд░ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
BACKUP_ADMINS рдЕрддрд┐рд░рд┐рдХреНрдд gpg рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рд╣реИ рдЬреЛ public-key рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рдмреИрдХрдЕрдк рдЦреЛрд▓ рд╕рдХрддреА рд╣реИрдВред

рдореИрдВ рд╣рдореЗрдВ https://flynn.io/docs/production#amazon -s3 рдЬреИрд╕реА рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреВрдВрдЧрд╛ рд▓реЗрдХрд┐рди рдмрд┐рдирд╛ "s3:DeleteObject" рдЕрдиреБрдорддрд┐ рдХреЗред рдЗрд╕ рддрд░рд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд╡рд▓ рдмреИрдХрдЕрдк рдкрдврд╝ рдФрд░ рд▓рд┐рдЦ рд╕рдХрддреА рд╣реИ рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛ рдирд╣реАрдВ рд╕рдХрддреА рд╣реИред рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдЕрдЧрд░ рдХреНрд▓рд╕реНрдЯрд░ рд╣реИрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдмреИрдХрдЕрдк рд╕реЗ рд╕рдордЭреМрддрд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛ред

рд╣рдо рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рд╕рдорд╛рдкреНрддрд┐ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдмреИрдХрдЕрдк рдЕрдВрддрддрдГ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЗрди рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЛ рдмрдХреЗрдЯ рдореЗрдВ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдХреЗрд╡рд▓ s3 рдЗрд╕ рдкрд░рд┐рд╢рд┐рд╖реНрдЯ-рдХреЗрд╡рд▓ рдЕрдиреБрдорддрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЕрднреА рдХреЗ рд▓рд┐рдП Google рдпрд╛ Azure рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд▓реЗрдХрд┐рди рд╡реЗ рднреА рд▓рд╛рдЧреВ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред

рдореИрдВ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд▓рд┐рдП https://github.com/maxwellhealth/go-gpg рд╕реЗ gpg рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред рд╕рдордорд┐рдд рдХреБрдВрдЬреА (рдкрд╛рд╕рд╡рд░реНрдб) рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛ рд▓реЗрдХрд┐рди sysadmin рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ gpg рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВ рдмреНрд▓реЙрдмрд╕реНрдЯреЛрд░ рд╕реЗ рднрдВрдбрд╛рд░рдг рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ:

import (
       ...
    "github.com/flynn/flynn/blobstore/backend"
)

рд╕рднреА 4 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

: +1: рдЕрдиреБрд╕реВрдЪрд┐рдд рдмреИрдХрдЕрдк рд╕реБрд╡рд┐рдзрд╛ рджреЗрдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ :)

рдХреНрдпрд╛ рдореИрдВ Amazon S3 рдХреЛ рдмреИрдХрдЕрдк рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдлреЗрдВрдХ рд╕рдХрддрд╛ рд╣реВрдВ? рдпрд╣ рд╡рд╣реА рд╣реЛрдЧрд╛ рдЬреЛ рдореИрдВ рдпрд╣рд╛рдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред :)

рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдзрд╛рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдХреЗрд╡рд▓ $ flynn cluster backup рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░реЗрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ s3 рдкрд░ рдлреЗрдВрдХ рджреЗрдЧрд╛ред рдпрджрд┐ рдХрд▓реНрдкрдирд╛ рдмрд╛рдж рдореЗрдВ рдареАрдХ рд▓рдЧрддреА рд╣реИ рддреЛ рдореИрдВ рдмрд╛рдж рдореЗрдВ рдлрд╝реНрд▓рд┐рди рдореЗрдВ рдкреАрдЖрд░ рдмрдирд╛рдКрдВрдЧрд╛ред рдпрд╣ рд╕рдм рдХреБрдЫ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рд╢реБрд░реБрдЖрдд рд╣реЛрдЧреАред

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

рдмреИрдХрдЕрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ backy рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЙрд╕реА рд╢реИрд▓реА envs рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдЧрд╛ рдЬреИрд╕реЗ blobstore :

$ flynn -a backy env
BACKEND_S3MAIN=backend=s3 region=eu-west-1 bucket=flynn-backup access_key_id=XXXXXX secret_access_key=YYYYYYYYY
DEFAULT_BACKEND=s3main
BACKUP_SCHEDULE='* */8 * * *'
BACKUP_ENCRYPTION=type=symmetric symmetric=ZZZZZZZZZZZ

BACKUP_SCHEDULE рдХреНрд░реЙрди рдЯрд╛рдЗрдо рдлреЙрд░реНрдореЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред
BACKUP_ENCRYPTION none, symmetric, public-key рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдФрд░ рдЗрд╕рдореЗрдВ рдпрд╛ рддреЛ symmetric рдпрд╛ private_key рдкреИрд░рд╛рдореАрдЯрд░ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
BACKUP_ADMINS рдЕрддрд┐рд░рд┐рдХреНрдд gpg рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рд╣реИ рдЬреЛ public-key рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рдмреИрдХрдЕрдк рдЦреЛрд▓ рд╕рдХрддреА рд╣реИрдВред

рдореИрдВ рд╣рдореЗрдВ https://flynn.io/docs/production#amazon -s3 рдЬреИрд╕реА рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреВрдВрдЧрд╛ рд▓реЗрдХрд┐рди рдмрд┐рдирд╛ "s3:DeleteObject" рдЕрдиреБрдорддрд┐ рдХреЗред рдЗрд╕ рддрд░рд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд╡рд▓ рдмреИрдХрдЕрдк рдкрдврд╝ рдФрд░ рд▓рд┐рдЦ рд╕рдХрддреА рд╣реИ рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛ рдирд╣реАрдВ рд╕рдХрддреА рд╣реИред рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдЕрдЧрд░ рдХреНрд▓рд╕реНрдЯрд░ рд╣реИрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдмреИрдХрдЕрдк рд╕реЗ рд╕рдордЭреМрддрд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛ред

рд╣рдо рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рд╕рдорд╛рдкреНрддрд┐ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдмреИрдХрдЕрдк рдЕрдВрддрддрдГ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЗрди рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЛ рдмрдХреЗрдЯ рдореЗрдВ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдХреЗрд╡рд▓ s3 рдЗрд╕ рдкрд░рд┐рд╢рд┐рд╖реНрдЯ-рдХреЗрд╡рд▓ рдЕрдиреБрдорддрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЕрднреА рдХреЗ рд▓рд┐рдП Google рдпрд╛ Azure рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд▓реЗрдХрд┐рди рд╡реЗ рднреА рд▓рд╛рдЧреВ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред

рдореИрдВ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рд▓рд┐рдП https://github.com/maxwellhealth/go-gpg рд╕реЗ gpg рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред рд╕рдордорд┐рдд рдХреБрдВрдЬреА (рдкрд╛рд╕рд╡рд░реНрдб) рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛ рд▓реЗрдХрд┐рди sysadmin рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ gpg рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВ рдмреНрд▓реЙрдмрд╕реНрдЯреЛрд░ рд╕реЗ рднрдВрдбрд╛рд░рдг рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ:

import (
       ...
    "github.com/flynn/flynn/blobstore/backend"
)

рдлреНрд▓рд┐рди рдХрд╛ рд░рдЦрд░рдЦрд╛рд╡ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╣рдорд╛рд░рд╛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ 1 рдЬреВрди, 2021 рдХреЛ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП README рджреЗрдЦреЗрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

heldopslippers picture heldopslippers  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

stela5 picture stela5  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

airways picture airways  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

lmars picture lmars  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

onnimonni picture onnimonni  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ