| #!/bin/bash -xe |
| |
| SALT_OPTS="-l debug -t 10 --retcode-passthrough --no-color" |
| |
| #aptly |
| # Drop auto-generated by aptly itself certs |
| rm -rfv /srv/volumes/aptly/{.gnupg,gpg_batch,public/public.gpg} |
| salt-call ${SALT_OPTS} state.sls aptly.server |
| sleep 10 |
| salt-call ${SALT_OPTS} state.sls aptly.publisher |
| sleep 10 |
| salt-call ${SALT_OPTS} state.sls aptly |
| aptly_mirror_update.sh -sv |
| aptly-publisher --url http://10.99.0.1:18084 --timeout=1200 publish -v -d -c /etc/aptly/publisher.yaml --architectures amd64 --recreate --force-overwrite |
| |
| #docker registry |
| salt-call ${SALT_OPTS} state.sls docker.client.registry |
| docker system prune --all --force || true |
| |
| #debmirror |
| salt-call ${SALT_OPTS} state.sls debmirror |
| |
| # maas |
| salt-call ${SALT_OPTS} state.sls maas.mirror |
| |
| #git |
| salt-call ${SALT_OPTS} state.sls git.server |
| |
| CUR_V=$(salt-call pillar.get _param:mcp_version --out text | awk '{print $2}') |
| # get tagged mcp_version for current latest MU 2019.2.x |
| CUR_T=$(salt-call pillar.get _param:mcp_tagged_version --out text | awk '{print $2}') |
| # Enable 'update' hook. |
| # Those would prevent failures for 2018q3+ model releases, where |
| # 'system.linux.system.repo.mcp.apt_mirantis.update.xxx' enabled by default |
| pushd /srv/volumes/aptly/public/ |
| mkdir -p update |
| ln -s ../${CUR_V} update/${CUR_V} || true |
| if [[ -n "${CUR_T}" ]]; then |
| ln -s ${CUR_V} ${CUR_T} |
| # usually should be just ln -s ../update/${CUR_V} update/${CUR_T} - but need to specify dir in case of proposed testing |
| UPDATE_DIR=$(salt-call pillar.get _param:debmirror_mirrors_update_target_dir --out text | awk '{print $2}') |
| ln -s ../update/$(basename ${UPDATE_DIR}) update/${CUR_T} |
| fi |
| # fixing permission for nginx access |
| find . ! -perm -o+r -exec chmod o+r {} \; |
| popd |
| if [[ -n "${CUR_T}" ]]; then |
| ln -s /srv/http/${CUR_V} /srv/http/${CUR_T} |
| fi |