Backup & Restore #11
							
								
								
									
										3
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,3 @@ | ||||
| [submodule "vendor/ark"] | ||||
| 	path = vendor/ark | ||||
| 	url = git@github.com:heptio/ark.git | ||||
							
								
								
									
										36
									
								
								doc/backup-and-restore.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								doc/backup-and-restore.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,36 @@ | ||||
| # Backups | ||||
| 
 | ||||
| We're using [Ark][1] for backing up Kubernetes config and GKE resources. It is | ||||
| available as a Git submodule in the `vendor/` folder (incl. the `ark` | ||||
| executable). | ||||
| 
 | ||||
| In order to initialize and update submodules in your local repo, run once: | ||||
| 
 | ||||
|     git submodule update --init | ||||
| 
 | ||||
| Then, to fetch/update the modules, run: | ||||
| 
 | ||||
|     git submodule update | ||||
| 
 | ||||
| The Ark service is running on the Sidamo cluster and was set up using the | ||||
| [official docs' GCP instructions and config files][4]. There's a daily backup | ||||
| schedule in effect for Gitea (using the label `app=gitea`). | ||||
| 
 | ||||
| Please refer to Ark's [ Getting Started ][5] doc for all backup and restore | ||||
| commands. | ||||
| 
 | ||||
| ## Backup location | ||||
| 
 | ||||
| Cluster configuration (including all live resources) is backed up to [a Google | ||||
| Cloud Storage container][3]. | ||||
| 
 | ||||
| ## Persistent volumes | ||||
| 
 | ||||
| Persistent volumes are just GCE disks. Thus, with the current config, Ark | ||||
| creates volume snapshots as native [GCE disk snapshots][2]. | ||||
| 
 | ||||
| [1]: https://heptio.github.io/ark/v0.10.0 | ||||
| [2]: https://console.cloud.google.com/compute/snapshots?organizationId=772167872692&project=fluted-magpie-218106&tab=snapshots&snapshotssize=50 | ||||
| [3]: https://console.cloud.google.com/storage/browser/sidamo-backups?project=fluted-magpie-218106&organizationId=772167872692 | ||||
| [4]: https://heptio.github.io/ark/v0.10.0/gcp-config | ||||
| [5]: https://heptio.github.io/ark/v0.10.0/get-started | ||||
| @ -2,6 +2,8 @@ apiVersion: extensions/v1beta1 | ||||
| kind: Deployment | ||||
| metadata: | ||||
|   name: gitea-db | ||||
|   labels: | ||||
|     app: gitea | ||||
| spec: | ||||
|   replicas: 1 | ||||
|   strategy: | ||||
| @ -10,6 +12,7 @@ spec: | ||||
|     metadata: | ||||
|       labels: | ||||
|         name: gitea-db | ||||
|         app: gitea | ||||
|     spec: | ||||
|       containers: | ||||
|       - env: | ||||
| @ -48,6 +51,7 @@ metadata: | ||||
|   name: gitea-db-data | ||||
|   labels: | ||||
|     name: gitea-db-data | ||||
|     app: gitea | ||||
| spec: | ||||
|   accessModes: | ||||
|   - ReadWriteOnce | ||||
| @ -61,6 +65,7 @@ metadata: | ||||
|   name: gitea-db | ||||
|   labels: | ||||
|     service: gitea-db | ||||
|     app: gitea | ||||
| spec: | ||||
|   selector: | ||||
|     name: gitea-db | ||||
|  | ||||
| @ -2,12 +2,15 @@ apiVersion: extensions/v1beta1 | ||||
| kind: Deployment | ||||
| metadata: | ||||
|   name: gitea-server | ||||
|   labels: | ||||
|     app: gitea | ||||
| spec: | ||||
|   replicas: 1 | ||||
|   template: | ||||
|     metadata: | ||||
|       labels: | ||||
|         name: gitea-server | ||||
|         app: gitea | ||||
|     spec: | ||||
|       initContainers: | ||||
|         - name: init-config | ||||
| @ -54,6 +57,8 @@ apiVersion: v1 | ||||
| kind: PersistentVolumeClaim | ||||
| metadata: | ||||
|   name: gitea-server-data | ||||
|   labels: | ||||
|     app: gitea | ||||
| spec: | ||||
|   accessModes: | ||||
|   - ReadWriteOnce | ||||
| @ -67,6 +72,7 @@ metadata: | ||||
|   name: gitea-server | ||||
|   labels: | ||||
|     name: gitea-server | ||||
|     app: gitea | ||||
| spec: | ||||
|   type: LoadBalancer | ||||
|   # preserves the client source IP | ||||
|  | ||||
							
								
								
									
										1
									
								
								vendor/ark
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
								
									
									
								
							
						
						
									
										1
									
								
								vendor/ark
									
									
									
									
										vendored
									
									
										Submodule
									
								
							| @ -0,0 +1 @@ | ||||
| Subproject commit 0fd7872ef48ce617e561e6e45f8ccb0f11637f58 | ||||
		Reference in New Issue
	
	Block a user