Compare commits

..

No commits in common. "main" and "main" have entirely different histories.
main ... main

9 changed files with 26 additions and 64 deletions

View File

@ -48,9 +48,9 @@ steps:
- name: trigger downstream builds - name: trigger downstream builds
image: plugins/downstream image: plugins/downstream
settings: settings:
server: https://build.coopcloud.tech server: https://drone.autonomic.zone
token: token:
from_secret: coopcloud_drone_token from_secret: decentral1se_token
fork: true fork: true
repositories: repositories:
- coop-cloud/drone-abra - coop-cloud/drone-abra
@ -72,7 +72,7 @@ steps:
roomid: "IFazIpLtxiScqbHqoa:autonomic.zone" roomid: "IFazIpLtxiScqbHqoa:autonomic.zone"
userid: "@autono-bot:autonomic.zone" userid: "@autono-bot:autonomic.zone"
accesstoken: accesstoken:
from_secret: autonobot_rocketchat_access_token from_secret: autono_bot_access_token
depends_on: depends_on:
- run shellcheck - run shellcheck
- run flake8 - run flake8

View File

@ -1,8 +0,0 @@
---
name: "Do not use this issue tracker"
about: "Do not use this issue tracker"
title: "Do not use this issue tracker"
labels: []
---
Please report your issue on [`coop-cloud/organising`](https://git.coopcloud.tech/coop-cloud/organising)

View File

@ -9,28 +9,9 @@
# abra x.x.x (UNRELEASED) # abra x.x.x (UNRELEASED)
# abra 10.0.5 (2021-09-06)
- Fix catalogue version listing parsing.
# abra 10.0.4 (2021-09-06)
- Understand how to parse the new catalogue versions listing.
# abra 10.0.3 (????-??-??)
- Sorry folks, no change log.
# abra 10.0.2 (????-??-??)
- Sorry folks, no change log.
# abra 10.0.1 (2021-07-30)
- New `recipe .. lint` command ([#202](https://git.autonomic.zone/coop-cloud/abra/issues/202)) - New `recipe .. lint` command ([#202](https://git.autonomic.zone/coop-cloud/abra/issues/202))
- `abra-capsul` plugin ([e85bcc4](https://git.autonomic.zone/coop-cloud/abra/commit/e85bcc4)) - `abra-capsul` plugin ([e85bcc4](https://git.autonomic.zone/coop-cloud/abra/commit/e85bcc4))
- Fix `run <service> <cmd>` invocations ([#204](https://git.autonomic.zone/coop-cloud/abra/issues/204)) - Fix `run <service> <cmd>` invocations ([#204](https://git.autonomic.zone/coop-cloud/abra/issues/204))
- Point installer at our [half-migrated new Gitea instance](https://git.coopcloud.tech) ([#207](https://git.coopcloud.tech/coop-cloud/abra/pulls/207) thanks @nicksellen!)
# abra 10.0.0 (2021-07-06) # abra 10.0.0 (2021-07-06)

View File

@ -15,7 +15,7 @@ RUN mkdir -p ~/.abra/apps
RUN mkdir -p ~/.abra/vendor RUN mkdir -p ~/.abra/vendor
RUN mkdir -p ~/.ssh/ RUN mkdir -p ~/.ssh/
RUN ssh-keyscan -p 2222 git.coopcloud.tech > ~/.ssh/known_hosts RUN ssh-keyscan -p 2222 git.autonomic.zone > ~/.ssh/known_hosts
RUN curl -L https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64 --output ~/.abra/vendor/jq RUN curl -L https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64 --output ~/.abra/vendor/jq
RUN chmod +x ~/.abra/vendor/jq RUN chmod +x ~/.abra/vendor/jq

View File

@ -1,13 +1,5 @@
# abra # abra
## 🔥 🔥 🔥 D E P R E C A T E D 🔥 🔥 🔥
[`abra`](https://git.coopcloud.tech/coop-cloud/abra) served us well but we're porting it to [Golang](https://golang.org) over in [`go-abra`](https://git.coopcloud.tech/coop-cloud/go-abra). To learn more about the reasons for that, see [this blog post](https://coopcloud.tech/blog/this-month-in-coop-cloud-july/). This means this repository and tool are officially deprecated as of August 1rst 2021. We will still provide bug security fixes but no new features will be developed in `abra`. Feel free to go on using it and reporting issues against this issue tracker. Thanks for all the good times Bash.
## 🔥 🔥 🔥 D E P R E C A T E D 🔥 🔥 🔥
---
[![Build Status](https://drone.autonomic.zone/api/badges/coop-cloud/abra/status.svg)](https://drone.autonomic.zone/coop-cloud/abra) [![Build Status](https://drone.autonomic.zone/api/badges/coop-cloud/abra/status.svg)](https://drone.autonomic.zone/coop-cloud/abra)
> https://coopcloud.tech > https://coopcloud.tech

17
abra
View File

@ -2,10 +2,10 @@
# shellcheck disable=SC2154 # shellcheck disable=SC2154
GIT_URL="https://git.coopcloud.tech/coop-cloud/" GIT_URL="https://git.autonomic.zone/coop-cloud/"
ABRA_APPS_URL="https://apps.coopcloud.tech" ABRA_APPS_URL="https://apps.coopcloud.tech"
ABRA_DIR="${ABRA_DIR:-$HOME/.abra}" ABRA_DIR="${ABRA_DIR:-$HOME/.abra}"
ABRA_VERSION="10.0.5" ABRA_VERSION="10.0.0"
ABRA_BACKUP_DIR="${ABRA_BACKUP_DIR:-$ABRA_DIR/backups}" ABRA_BACKUP_DIR="${ABRA_BACKUP_DIR:-$ABRA_DIR/backups}"
ABRA_VENDOR_DIR="$ABRA_DIR/vendor" ABRA_VENDOR_DIR="$ABRA_DIR/vendor"
ABRA_APPS_JSON="${ABRA_DIR}/apps.json" ABRA_APPS_JSON="${ABRA_DIR}/apps.json"
@ -679,6 +679,11 @@ pwqgen_native() {
shuf -n 3 /usr/share/dict/words | tr -dc 'a-zA-Z0-9' | tr -d '\n' shuf -n 3 /usr/share/dict/words | tr -dc 'a-zA-Z0-9' | tr -d '\n'
} }
# FIXME 3wc: update or remove
if [ -z "$ABRA_ENV" ] && [ -f .env ] && type direnv > /dev/null 2>&1 && ! direnv status | grep -q 'Found RC allowed true'; then
error "direnv is blocked, run direnv allow"
fi
###### Parse apps.json ###### Parse apps.json
get_recipes() { get_recipes() {
@ -697,7 +702,7 @@ get_recipe_versions() {
if [ "$recipe_json" = "null" ]; then if [ "$recipe_json" = "null" ]; then
declare -a RECIPE_VERSIONS declare -a RECIPE_VERSIONS
else else
mapfile -t RECIPE_VERSIONS < <(echo "$recipe_json" | $JQ -r ".versions | .[] | keys | add") mapfile -t RECIPE_VERSIONS < <(echo "$recipe_json" | $JQ -r ".versions | keys | .[]" - | sort)
fi fi
} }
@ -832,7 +837,7 @@ ensure_stack_deployed() {
for service in $(docker ps -f "name=$STACK_NAME" -q); do for service in $(docker ps -f "name=$STACK_NAME" -q); do
debug "Polling $service for deployment status" debug "Polling $service for deployment status"
healthcheck=$(docker inspect --format "{{ json .State }}" "$service" | $JQ "try(.Health.Status // \"missing\")") healthcheck=$(docker inspect --format "{{ json .State }}" "$service" | jq "try(.Health.Status // \"missing\")")
name=$(docker inspect --format '{{ index .Config.Labels "com.docker.swarm.service.name" }}' "$service") name=$(docker inspect --format '{{ index .Config.Labels "com.docker.swarm.service.name" }}' "$service")
if [[ ${MISSING[*]} =~ ${name} ]] || [[ ${HEALTHY[*]} =~ ${name} ]]; then if [[ ${MISSING[*]} =~ ${name} ]] || [[ ${HEALTHY[*]} =~ ${name} ]]; then
@ -1714,7 +1719,7 @@ sub_app_secret_generate(){
warning "These generated secrets are now stored as encrypted data on your server" warning "These generated secrets are now stored as encrypted data on your server"
warning "Please take a moment to make sure you have saved a copy of the passwords" warning "Please take a moment to make sure you have saved a copy of the passwords"
warning "Abra is not able to show the password values in plain text again" warning "Abra is not able to show the password values in plain text again"
warning "See https://docs.coopcloud.tech/secrets/ for more on secrets" warning "See https://docs.cloud.autonomic.zone/secrets/ for more on secrets"
msg_already_outputted="true" msg_already_outputted="true"
fi fi
@ -2650,7 +2655,7 @@ sub_upgrade() {
if [[ "$abra___dev" == "true" ]]; then if [[ "$abra___dev" == "true" ]]; then
curl https://install.abra.coopcloud.tech | bash -s -- --dev --no-deps curl https://install.abra.coopcloud.tech | bash -s -- --dev --no-deps
else else
curl https://install.abra.coopcloud.tech | bash -s -- --no-deps curl https://install.abra.coopcloud.tech | bash --no-deps
fi fi
} }

View File

@ -14,7 +14,6 @@ HOME_PATH = expanduser("~/")
CLONES_PATH = Path(f"{HOME_PATH}/.abra/apps").absolute() CLONES_PATH = Path(f"{HOME_PATH}/.abra/apps").absolute()
REPOS_TO_SKIP = ( REPOS_TO_SKIP = (
"abra", "abra",
"abra-aur",
"abra-apps", "abra-apps",
"abra-capsul", "abra-capsul",
"abra-gandi", "abra-gandi",
@ -22,7 +21,6 @@ REPOS_TO_SKIP = (
"apps", "apps",
"auto-apps-json", "auto-apps-json",
"auto-mirror", "auto-mirror",
"aur-abra-git",
"backup-bot", "backup-bot",
"coopcloud.tech", "coopcloud.tech",
"coturn", "coturn",
@ -35,7 +33,6 @@ REPOS_TO_SKIP = (
"organising", "organising",
"pyabra", "pyabra",
"radicle-seed-node", "radicle-seed-node",
"tagcmp",
"stack-ssh-deploy", "stack-ssh-deploy",
"swarm-cronjob", "swarm-cronjob",
"tyop", "tyop",
@ -66,7 +63,7 @@ def _run_cmd(cmd, shell=False, **kwargs):
def get_repos_json(): def get_repos_json():
""" Retrieve repo list from Gitea """ """ Retrieve repo list from Gitea """
url = "https://git.coopcloud.tech/api/v1/orgs/coop-cloud/repos" url = "https://git.autonomic.zone/api/v1/orgs/coop-cloud/repos"
log.info(f"Retrieving {url}") log.info(f"Retrieving {url}")

View File

@ -139,13 +139,8 @@ def get_app_metadata(app_path):
return metadata return metadata
def get_cached_versions(cached_apps_json, app_name):
versions = cached_apps_json[app_name]["versions"]
return [list(k)[0] for k in [version.keys() for version in versions]]
def get_app_versions(app_path, cached_apps_json): def get_app_versions(app_path, cached_apps_json):
versions = [] versions = {}
chdir(app_path) chdir(app_path)
@ -160,7 +155,7 @@ def get_app_versions(app_path, cached_apps_json):
app_name = basename(app_path) app_name = basename(app_path)
try: try:
existing_tags = get_cached_versions(cached_apps_json, app_name) existing_tags = cached_apps_json[app_name]["versions"].keys()
except KeyError: except KeyError:
existing_tags = [] existing_tags = []
@ -176,8 +171,9 @@ def get_app_versions(app_path, cached_apps_json):
if service in ("null", "---"): if service in ("null", "---"):
continue continue
if tag in existing_tags and service in get_cached_versions( if (
cached_apps_json, app_name tag in existing_tags
and service in cached_apps_json[app_name]["versions"][tag]
): ):
log.info(f"Skipping {tag} because we've already processed it") log.info(f"Skipping {tag} because we've already processed it")
existing_versions = cached_apps_json[app_name]["versions"][tag][service] existing_versions = cached_apps_json[app_name]["versions"][tag][service]
@ -210,7 +206,7 @@ def get_app_versions(app_path, cached_apps_json):
parsed_services.append(service) parsed_services.append(service)
versions.append({tag: service_versions}) versions[tag] = service_versions
_run_cmd(f"git checkout {initial_branch}") _run_cmd(f"git checkout {initial_branch}")
@ -224,7 +220,7 @@ def main():
skopeo_login() skopeo_login()
repos_json = get_repos_json() repos_json = get_repos_json()
# clone_all_apps(repos_json) clone_all_apps(repos_json)
with open(args.output, "w", encoding="utf-8") as handle: with open(args.output, "w", encoding="utf-8") as handle:
dump( dump(

View File

@ -2,7 +2,7 @@
# shellcheck disable=SC2154,SC2034 # shellcheck disable=SC2154,SC2034
ABRA_VERSION="10.0.5" ABRA_VERSION="10.0.0"
GIT_URL="https://git.coopcloud.tech/coop-cloud/abra" GIT_URL="https://git.coopcloud.tech/coop-cloud/abra"
ABRA_SRC="$GIT_URL/raw/tag/$ABRA_VERSION/abra" ABRA_SRC="$GIT_URL/raw/tag/$ABRA_VERSION/abra"
ABRA_DIR="${ABRA_DIR:-$HOME/.abra}" ABRA_DIR="${ABRA_DIR:-$HOME/.abra}"
@ -161,8 +161,7 @@ function install_requirements {
sudo apt update && sudo apt install -y \ sudo apt update && sudo apt install -y \
passwdqc \ passwdqc \
pwgen \ pwgen
git
echo "Install Docker (https://docs.docker.com/engine/install/debian/)?" echo "Install Docker (https://docs.docker.com/engine/install/debian/)?"
prompt_confirm prompt_confirm
@ -170,7 +169,7 @@ function install_requirements {
else else
echo "Sorry, we only support Debian based distributions at the moment" echo "Sorry, we only support Debian based distributions at the moment"
echo "You'll have to install the requirements manually for your distribution" echo "You'll have to install the requirements manually for your distribution"
echo "See https://git.coopcloud.tech/coop-cloud/abra#requirements for more" echo "See https://git.autonomic.zone/coop-cloud/abra#requirements for more"
fi fi
} }