Skip to content

Commit ec2fa18

Browse files
[minor] Move managed host lifecycle into sitectl (#43)
* [minor] Move managed host lifecycle into sitectl * [patch] Pin sitectl v1.12.8 * [test] Make permanent HTTP retry contract deterministic * [test] Verify managed sitectl in cloud smoke * [patch] Preserve numeric Ansible ingress ports --------- Co-authored-by: libops-agent <115990865+libops-agent@users.noreply.github.com>
1 parent 635e0a1 commit ec2fa18

233 files changed

Lines changed: 1087 additions & 17654 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/cloud-smoke.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ permissions:
99
contents: read
1010

1111
concurrency:
12-
group: cloud-compose-smoke
12+
group: cloud-compose-smoke-${{ github.event.pull_request.number }}
1313
cancel-in-progress: true
1414

1515
jobs:

.github/workflows/github-release.yaml

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -9,30 +9,7 @@ jobs:
99
release:
1010
if: github.event.pull_request.merged == true && !contains(github.event.pull_request.title, 'skip-release')
1111
uses: libops/.github/.github/workflows/bump-release.yaml@8dfaf9c854df71d9bbffde48c5676ff07c543c51
12-
with:
13-
workflow_file: publish-rootfs.yaml
1412
permissions:
1513
contents: write
1614
actions: write
1715
secrets: inherit
18-
19-
verify-rootfs-assets:
20-
name: Verify rootfs release assets
21-
needs: release
22-
runs-on: ubuntu-24.04
23-
permissions:
24-
contents: read
25-
steps:
26-
- name: Checkout merged source
27-
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
28-
with:
29-
fetch-depth: 0
30-
persist-credentials: false
31-
ref: ${{ github.event.pull_request.merge_commit_sha }}
32-
33-
- name: Wait for and verify immutable rootfs assets
34-
env:
35-
GH_TOKEN: ${{ github.token }}
36-
run: >-
37-
ci/verify-rootfs-release.sh commit
38-
"${{ github.event.pull_request.merge_commit_sha }}"

.github/workflows/publish-rootfs.yaml

Lines changed: 0 additions & 36 deletions
This file was deleted.

Makefile

Lines changed: 35 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,33 @@
1-
.PHONY: lint lint-check actionlint shell-lint runtime-config-contract application-env-contract compose-runtime-contract app-filesystem-convergence-contract backup-contract disaster-recovery-contract overlay-contract filesystem-prep-contract key-rotation-contract vault-runtime-contract managed-artifact-contract config-management-input-contract systemd-contract bootstrap-recovery-contract sitectl-version-contract go-fmt-check go-vet go-contracts template-version-contract rollout-parity-contract rootfs-package-contract host-runtime-security inline-data-program-contract cos-jq-portability-contract source-trust-contract cloud-smoke-cleanup-contract hosted-cleanup-retry-contract gcp-upgrade-smoke-contract artifact-install-contract config-management-smoke cloud-compose-ci
2-
.PHONY: terraform-fmt terraform-fmt-check terraform-validate terraform-validate-contract terraform-lint-check terraform-docs terraform-docs-check
3-
.PHONY: config-management-cloud-smoke config-management-cloud-smoke-ansible-drupal config-management-cloud-smoke-salt-drupal
4-
.PHONY: destroy-config-management-cloud-smoke destroy-config-management-cloud-smoke-ansible-drupal destroy-config-management-cloud-smoke-salt-drupal
5-
.PHONY: smoke-test-clouds smoke-test smoke-test-digitalocean-isle smoke-test-digitalocean-wp smoke-test-linode-wp smoke-test-gcp-wp
6-
.PHONY: destroy-smoke destroy-smoke-digitalocean-isle destroy-smoke-digitalocean-wp destroy-smoke-linode-wp destroy-smoke-gcp-wp
7-
.PHONY: docs docs-docker-build docs-build docs-serve docs-preview docs-clean
1+
.PHONY: lint lint-check actionlint shell-lint
2+
.PHONY: runtime-config-contract application-env-contract sitectl-host-runtime-contract
3+
.PHONY: vault-runtime-contract
4+
.PHONY: managed-artifact-contract config-management-input-contract systemd-contract
5+
.PHONY: sitectl-version-contract
6+
.PHONY: host-runtime-security source-trust-contract
7+
.PHONY: template-version-contract rollout-parity-contract artifact-install-contract
8+
.PHONY: cloud-smoke-cleanup-contract hosted-cleanup-retry-contract gcp-upgrade-smoke-contract
9+
.PHONY: go-fmt-check go-vet go-contracts cloud-compose-ci
10+
11+
.PHONY: terraform-fmt terraform-fmt-check terraform-lint-check
12+
.PHONY: terraform-validate terraform-validate-contract
13+
.PHONY: terraform-docs terraform-docs-check
14+
15+
.PHONY: config-management-smoke config-management-cloud-smoke
16+
.PHONY: config-management-cloud-smoke-ansible-drupal
17+
.PHONY: config-management-cloud-smoke-salt-drupal
18+
.PHONY: destroy-config-management-cloud-smoke
19+
.PHONY: destroy-config-management-cloud-smoke-ansible-drupal
20+
.PHONY: destroy-config-management-cloud-smoke-salt-drupal
21+
22+
.PHONY: smoke-test-clouds smoke-test
23+
.PHONY: smoke-test-digitalocean-isle smoke-test-digitalocean-wp
24+
.PHONY: smoke-test-linode-wp smoke-test-gcp-wp
25+
.PHONY: destroy-smoke
26+
.PHONY: destroy-smoke-digitalocean-isle destroy-smoke-digitalocean-wp
27+
.PHONY: destroy-smoke-linode-wp destroy-smoke-gcp-wp
28+
29+
.PHONY: docs docs-docker-build docs-build
30+
.PHONY: docs-serve docs-preview docs-clean
831

932
DOCS_IMAGE ?= cloud-compose-docs
1033
DOCS_PORT ?= 8888
@@ -16,9 +39,9 @@ export CLOUD_COMPOSE_CI_BIN
1639
GO_MODULE_FILES := $(wildcard go.mod go.sum)
1740
GO_SOURCES := $(shell find cmd internal -type f -name '*.go')
1841

19-
lint: terraform-fmt actionlint shell-lint host-runtime-security inline-data-program-contract cos-jq-portability-contract application-env-contract compose-runtime-contract app-filesystem-convergence-contract backup-contract disaster-recovery-contract overlay-contract filesystem-prep-contract key-rotation-contract vault-runtime-contract managed-artifact-contract config-management-input-contract systemd-contract bootstrap-recovery-contract source-trust-contract cloud-smoke-cleanup-contract hosted-cleanup-retry-contract gcp-upgrade-smoke-contract sitectl-version-contract template-version-contract rollout-parity-contract rootfs-package-contract artifact-install-contract terraform-validate terraform-docs-check
42+
lint: terraform-fmt actionlint shell-lint host-runtime-security application-env-contract sitectl-host-runtime-contract vault-runtime-contract managed-artifact-contract config-management-input-contract systemd-contract source-trust-contract cloud-smoke-cleanup-contract hosted-cleanup-retry-contract gcp-upgrade-smoke-contract sitectl-version-contract template-version-contract rollout-parity-contract artifact-install-contract terraform-validate terraform-docs-check
2043

21-
lint-check: terraform-fmt-check actionlint shell-lint host-runtime-security inline-data-program-contract cos-jq-portability-contract application-env-contract compose-runtime-contract app-filesystem-convergence-contract backup-contract disaster-recovery-contract overlay-contract filesystem-prep-contract key-rotation-contract vault-runtime-contract managed-artifact-contract config-management-input-contract systemd-contract bootstrap-recovery-contract source-trust-contract cloud-smoke-cleanup-contract hosted-cleanup-retry-contract gcp-upgrade-smoke-contract sitectl-version-contract template-version-contract rollout-parity-contract rootfs-package-contract artifact-install-contract terraform-validate terraform-docs-check
44+
lint-check: terraform-fmt-check actionlint shell-lint host-runtime-security application-env-contract sitectl-host-runtime-contract vault-runtime-contract managed-artifact-contract config-management-input-contract systemd-contract source-trust-contract cloud-smoke-cleanup-contract hosted-cleanup-retry-contract gcp-upgrade-smoke-contract sitectl-version-contract template-version-contract rollout-parity-contract artifact-install-contract terraform-validate terraform-docs-check
2245

2346
actionlint:
2447
go run github.com/rhysd/actionlint/cmd/actionlint@$(ACTIONLINT_VERSION)
@@ -41,34 +64,16 @@ shell-lint:
4164
@find . \
4265
-path "./.terraform" -prune -o \
4366
-path "./docs/site" -prune -o \
44-
-type f -name "*.sh" -print0 | xargs -0 shellcheck --severity=warning
67+
-type f \( -name "*.sh" -o -name "*.bash" \) -print0 | xargs -0 shellcheck --severity=warning
4568

4669
runtime-config-contract:
4770
bash ci/runtime-config-contract.sh
4871

4972
application-env-contract:
5073
bash ci/application-env-contract.sh
5174

52-
compose-runtime-contract:
53-
bash ci/compose-runtime-contract.sh
54-
55-
app-filesystem-convergence-contract:
56-
bash ci/app-filesystem-convergence-contract.sh
57-
58-
backup-contract:
59-
bash ci/backup-contract.sh
60-
61-
disaster-recovery-contract:
62-
bash ci/disaster-recovery-contract.sh
63-
64-
overlay-contract:
65-
bash ci/overlay-contract.sh
66-
67-
filesystem-prep-contract:
68-
bash ci/filesystem-prep-contract.sh
69-
70-
key-rotation-contract:
71-
bash ci/key-rotation-contract.sh
75+
sitectl-host-runtime-contract:
76+
bash ci/sitectl-host-runtime-contract.sh
7277

7378
vault-runtime-contract:
7479
bash ci/vault-runtime-contract.sh
@@ -82,9 +87,6 @@ config-management-input-contract:
8287
systemd-contract:
8388
bash ci/systemd-contract.sh
8489

85-
bootstrap-recovery-contract:
86-
bash ci/bootstrap-recovery-contract.sh
87-
8890
sitectl-version-contract:
8991
bash ci/sitectl-version-contract.sh
9092

@@ -99,18 +101,9 @@ go-contracts: go-fmt-check go-vet
99101

100102
template-version-contract rollout-parity-contract: go-contracts
101103

102-
rootfs-package-contract:
103-
bash ci/rootfs-package-contract.sh
104-
105104
host-runtime-security:
106105
bash ci/host-runtime-security.sh
107106

108-
inline-data-program-contract:
109-
bash ci/inline-data-program-contract.sh
110-
111-
cos-jq-portability-contract:
112-
bash ci/cos-jq-portability-contract.sh
113-
114107
source-trust-contract:
115108
bash ci/source-trust-contract.sh
116109

@@ -126,7 +119,6 @@ gcp-upgrade-smoke-contract: cloud-compose-ci
126119
bash ci/gcp-upgrade-smoke-contract.sh
127120

128121
artifact-install-contract:
129-
bash ci/docker-plugin-install-contract.sh
130122
bash ci/cos-bootstrap-contract.sh
131123

132124
hosted-cleanup-retry-contract: go-contracts

0 commit comments

Comments
 (0)