forked from toolshed/abra-bash
		
	Compare commits
	
		
			50 Commits
		
	
	
		
			merge-logg
			...
			backup_res
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 5d84cef63c | |||
| eda5198904 | |||
| a4a3dccd66 | |||
| a2d249e3a1 | |||
| dc83baea12 | |||
| d6b4a4744f | |||
| 6ba2657dc1 | |||
| ac6b805cbf | |||
| d4e52a9de3 | |||
| aa59c1ad43 | |||
| 36f1d679ae | |||
| f5c8ee1136 | |||
| 9a17817cc8 | |||
| b2e3292453 | |||
| 13fafb5929 | |||
| 114f99ae2e | |||
| fff4b10a41 | |||
| ab1353603d | |||
| 1600b6277f | |||
| b79e35f982 | |||
| 703dbe0a0f | |||
| 7abb0191e1 | |||
| 886ae5b7f2 | |||
| 5411c85793 | |||
| caa315e361 | |||
| e6b24fe65c | |||
| 81782bb5f0 | |||
| 406b9e374e | |||
| ce0e0e893c | |||
| fac45f276e | |||
| 44d3ac3a1c | |||
| 5da9f26076 | |||
| 4e99cf1ded | |||
| 55324524ca | |||
| b6928959cb | |||
| 8ddb290683 | |||
| 2cb1134a54 | |||
| c4b1ac482e | |||
| 29cc392dff | |||
| 8839bd4595 | |||
| 0179f600f5 | |||
| 15f0233351 | |||
| bbaacb7b9f | |||
| 6761574d74 | |||
| 8384af8b95 | |||
| b9e97688d6 | |||
| 1055805c8d | |||
| 678906cb39 | |||
| 11c50ae98d | |||
| e911ab246b | 
							
								
								
									
										10
									
								
								.drone.yml
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								.drone.yml
									
									
									
									
									
								
							| @ -8,20 +8,18 @@ steps: | ||||
|       - shellcheck abra | ||||
|  | ||||
|   - name: run unit tests | ||||
|     image: docker:dind | ||||
|     image: decentral1se/docker-dind-bats-kcov | ||||
|     commands: | ||||
|       - apk add bats git bash | ||||
|       - bats tests | ||||
|  | ||||
|   - name: collect code coverage | ||||
|     failure: ignore  # until we fix this | ||||
|     image: kcov/kcov:38 | ||||
|     failure: ignore # until we fix this | ||||
|     image: decentral1se/docker-dind-bats-kcov | ||||
|     commands: | ||||
|       - apt update && apt install -y bats git bash | ||||
|       - kcov . bats tests || true | ||||
|  | ||||
|   - name: send code coverage report to codecov | ||||
|     failure: ignore  # until we fix this | ||||
|     failure: ignore # until we fix this | ||||
|     image: plugins/codecov | ||||
|     settings: | ||||
|       token: | ||||
|  | ||||
							
								
								
									
										20
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								CHANGELOG.md
									
									
									
									
									
								
							| @ -1,10 +1,26 @@ | ||||
| # abra x.x.x (UNRELEASED) | ||||
|  | ||||
| - `secret auto` merged into `secret generate` and `app new --auto` is now `app new --secrets` ([#64](https://git.autonomic.zone/coop-cloud/abra/pulls/64)) | ||||
| - Avoid outputting length during secret generation when not in use ([#67](https://git.autonomic.zone/coop-cloud/abra/issues/67)) | ||||
| - Support graceful failure when missing secret generation commands ([44d3ac3](https://git.autonomic.zone/coop-cloud/abra/commit/44d3ac3a1cb86edc9b9e91eea1a00e70eae14965)) | ||||
| - Fix secret detection when using new `.env` file format in apps ([5532452](https://git.autonomic.zone/coop-cloud/abra/commit/55324524ca77141666ffe6cc41b62cc71cf89ace)) | ||||
| - Support choosing an `$EDITOR` when editing configs ([29cc392](https://git.autonomic.zone/coop-cloud/abra/commit/29cc392dff3e93e48e0e2edd3ce11b405c66a95a)) | ||||
| - "server" shell completion fixed ([8839bd4](https://git.autonomic.zone/coop-cloud/abra/commit/8839bd45951d00dccf4ef81ece445bcc49e13ee6)) | ||||
| - Drop `multilogs` command ([#56](https://git.autonomic.zone/coop-cloud/abra/pulls/56)) | ||||
| - Remove `server use` command ([#51](https://git.autonomic.zone/coop-cloud/abra/issues/51)) | ||||
| - `new <app>` becomes `new <type>` ([#48](https://git.autonomic.zone/coop-cloud/abra/issues/48)) | ||||
| - `check` is run on `deploy` now and configurable ([77ba5652b2fe15820f5edfa0f642636f7b8eae7e](https://git.autonomic.zone/coop-cloud/abra/commit/77ba5652b2fe15820f5edfa0f642636f7b8eae7e)) | ||||
| - `check` is run on `deploy` now and configurable ([77ba565](https://git.autonomic.zone/coop-cloud/abra/commit/77ba5652b2fe15820f5edfa0f642636f7b8eae7e)) | ||||
| - App configurations are always updated now ([#42](https://git.autonomic.zone/coop-cloud/abra/issues/42)) | ||||
| - We use docker format `.env` files (no "export" syntax) from now now ([#55](https://git.autonomic.zone/coop-cloud/abra/pulls/55)) | ||||
| - Rename `<domain>` option to `<app>` and `APP` variable to `TYPE`, see ([#47](https://git.autonomic.zone/coop-cloud/abra/issues/47)) | ||||
| - Use Docker-in-Docker (dind), and `dind-bats-kcov` Docker image, for `make test` ([1600b62](https://git.autonomic.zone/coop-cloud/abra/commit/1600b6277fbbffc4c6de1e4ba799c7bbe72ec6a0)) | ||||
| - Add built-in documentation using `abra help <subcommand>...`, see ([#50](https://git.autonomic.zone/coop-cloud/abra/issues/50)) | ||||
| - `version` subcommand ([e6b24fe](https://git.autonomic.zone/coop-cloud/abra/commit/e6b24fe)) | ||||
| - Use `# length=x` comments to generate passwords with `pwgen` and drop `KEY`/`PASSWORD` logic ([#68](https://git.autonomic.zone/coop-cloud/abra/issues/68)) | ||||
| - Global `--skip-update` / `--skip-check` options to make things quicker, | ||||
| 		[37e8b00](https://git.autonomic.zone/coop-cloud/abra/commit/37e8b00) | ||||
| - `app backup` and `app restore` commands; requires per-app definition -- see | ||||
| 		[#70](https://git.autonomic.zone/coop-cloud/abra/issues/70) | ||||
|  | ||||
| # abra 0.4.1 (2020-12-24) | ||||
|  | ||||
| @ -14,7 +30,7 @@ | ||||
| # abra 0.4.0 (2020-12-24) | ||||
|  | ||||
| - New command-line interface based on docopt | ||||
| - ~/.abra directory instead of expecting local .env files | ||||
| - `~/.abra` directory instead of expecting local `.env` files | ||||
| - Integration tests & code coverage | ||||
|  | ||||
| # abra 0.3.1 (2020-09-27) | ||||
|  | ||||
							
								
								
									
										17
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								Makefile
									
									
									
									
									
								
							| @ -1,12 +1,19 @@ | ||||
| .PHONY: test shellcheck docopt kcov codecov | ||||
|  | ||||
| test: | ||||
| 	@DOCKER_CONTEXT=default docker run \ | ||||
| 		-it \ | ||||
| 		--rm \ | ||||
| 	@sudo DOCKER_CONTEXT=default docker run \ | ||||
| 		-v $$(pwd):/workdir \ | ||||
| 		docker:dind \ | ||||
| 		sh -c "apk add bats git bash && cd /workdir && bats /workdir/test.bats" | ||||
| 		--privileged \ | ||||
| 		-d \ | ||||
| 		--name=abra-test-dind \ | ||||
| 		-e DOCKER_TLS_CERTDIR="" \ | ||||
| 		decentral1se/docker-dind-bats-kcov | ||||
| 	@DOCKER_CONTEXT=default docker exec \ | ||||
| 		-it \ | ||||
| 		abra-test-dind \ | ||||
| 		sh -c "cd /workdir && bats /workdir/tests" | ||||
| 	@DOCKER_CONTEXT=default docker stop abra-test-dind | ||||
| 	@DOCKER_CONTEXT=default docker rm abra-test-dind | ||||
|  | ||||
| shellcheck: | ||||
| 	@docker run \ | ||||
|  | ||||
| @ -91,7 +91,7 @@ _abra_complete() | ||||
|         case "$cmd" in | ||||
|             server) | ||||
|                 # Offer exactly one server name completion. | ||||
|                 if (( COMP_CWORD == cmd_index + 2 )); then | ||||
|                 if (( COMP_CWORD == cmd_index + 1 )); then | ||||
|                     _abra_complete_servers "$cur" | ||||
|                 fi | ||||
|                 ;; | ||||
|  | ||||
| @ -5,7 +5,7 @@ ABRA_SRC="https://git.autonomic.zone/coop-cloud/abra/raw/tag/$ABRA_VERSION/abra" | ||||
|  | ||||
| function install_abra { | ||||
|   mkdir -p "$HOME/.local/bin" | ||||
| 	curl "$ABRA_SRC" > "$HOME/.local/bin/abra" | ||||
|   curl "$ABRA_SRC" > "$HOME/.local/bin/abra" | ||||
|   chmod +x "$HOME/.local/bin/abra" | ||||
|   echo "abra installed to $HOME/.loca/bin/abra" | ||||
| } | ||||
|  | ||||
| @ -9,7 +9,7 @@ teardown() { | ||||
|     rm -rf "$ABRA_DIR" | ||||
| } | ||||
|  | ||||
| @test "abra server add/rm works" { | ||||
| @test "abra server (add|rm)" { | ||||
|     ./abra server add swarm.test.com | ||||
|     docker context ls | grep swarm.test.com | ||||
|     [ -d $ABRA_DIR/servers/swarm.test.com ] | ||||
| @ -20,30 +20,33 @@ teardown() { | ||||
|     ./abra server swarm.test.com rm | ||||
| } | ||||
|  | ||||
| @test "abra app new/rm works" { | ||||
|     ./abra app new --server default --domain traefik.test.com traefik | ||||
|     [ -f $ABRA_DIR/servers/default/traefik.test.com.env ] | ||||
| @test "abra server init" { | ||||
|     ./abra server default init | ||||
| } | ||||
|  | ||||
| @test "abra app (new|rm)" { | ||||
|     ./abra app new --server default --domain traefik.test.com --app-name traefik_test_com traefik | ||||
|     [ -f $ABRA_DIR/servers/default/traefik_test_com.env ] | ||||
|  | ||||
|     # interactive prompt | ||||
|     echo "y" | ./abra app traefik.test.com delete | ||||
|     [ ! -f $ABRA_DIR/servers/default/traefik.test.com.env ] | ||||
|     echo "y" | ./abra app traefik_test_com delete | ||||
|     [ ! -f $ABRA_DIR/servers/default/traefik_test_com.env ] | ||||
|  | ||||
|     # --force | ||||
|     ./abra app new --server default --domain traefik.test.com traefik | ||||
|     ./abra app traefik.test.com delete --force | ||||
|     [ ! -f $ABRA_DIR/servers/default/traefik.test.com.env ] | ||||
|     ./abra app new --server default --domain traefik_test_com --app-name traefik_test_com traefik | ||||
|     ./abra app traefik_test_com delete --force | ||||
|     [ ! -f $ABRA_DIR/servers/default/traefik_test_com.env ] | ||||
| } | ||||
|  | ||||
| @test "abra app <domain> secret (insert|generate|rm)" { | ||||
|     # TODO 3wc: mock `server new` so we don't endlessly re-test it | ||||
|     ./abra app new --server default --domain traefik.test.com traefik | ||||
|     ./abra app new --server default --domain traefik_test_com --app-name traefik_test_com traefik | ||||
|  | ||||
|     ./abra app traefik.test.com secret insert foobar v1 "foobar" | ||||
|     ./abra app traefik_test_com secret insert foobar v1 "foobar" | ||||
|  | ||||
|     # interactive prompt | ||||
|     echo "y" | ./abra app traefik.test.com secret rm foobar | ||||
|     echo "y" | ./abra app traefik_test_com secret rm foobar | ||||
|  | ||||
|     ./abra app traefik.test.com secret insert foobar v1 "foobar" | ||||
|     ./abra app traefik_test_com secret insert foobar v1 "foobar" | ||||
|     #  prompt | ||||
|     ./abra app traefik.test.com secret rm foobar --force | ||||
|     ./abra app traefik_test_com secret rm foobar --force | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	