Default image pulls to GHCR and harden registry host resolution#26
Default image pulls to GHCR and harden registry host resolution#26
Conversation
Agent-Logs-Url: https://github.com/j143/basic-docker-engine/sessions/63030a95-e379-4aa4-81af-d71cc883fe9c Co-authored-by: j143 <53068787+j143@users.noreply.github.com>
Agent-Logs-Url: https://github.com/j143/basic-docker-engine/sessions/63030a95-e379-4aa4-81af-d71cc883fe9c Co-authored-by: j143 <53068787+j143@users.noreply.github.com>
Agent-Logs-Url: https://github.com/j143/basic-docker-engine/sessions/63030a95-e379-4aa4-81af-d71cc883fe9c Co-authored-by: j143 <53068787+j143@users.noreply.github.com>
Agent-Logs-Url: https://github.com/j143/basic-docker-engine/sessions/63030a95-e379-4aa4-81af-d71cc883fe9c Co-authored-by: j143 <53068787+j143@users.noreply.github.com>
Agent-Logs-Url: https://github.com/j143/basic-docker-engine/sessions/d8915ba8-c732-47bd-bfb1-a2e12067f631 Co-authored-by: j143 <53068787+j143@users.noreply.github.com>
|
@copilot fix the go test issue 172.17.0.1 - - [18/Apr/2026:11:32:01 +0000] "HEAD /v2/alpine/blobs/sha256:3cb067eab609612d81b4d82ff8ad71d73482bb3059a87b642d7e14f0ed659cde HTTP/1.1" 200 0 "" "docker/28.0.4 go/go1.23.7 git-commit/6430e49 kernel/6.17.0-1010-azure os/linux arch/amd64 UpstreamClient(Docker-Client/28.0.4 \(linux\))" |
Agent-Logs-Url: https://github.com/j143/basic-docker-engine/sessions/9b259d2d-2dd2-4094-849b-5fb1f50355c2 Co-authored-by: j143 <53068787+j143@users.noreply.github.com>
Agent-Logs-Url: https://github.com/j143/basic-docker-engine/sessions/9b259d2d-2dd2-4094-849b-5fb1f50355c2 Co-authored-by: j143 <53068787+j143@users.noreply.github.com>
Agent-Logs-Url: https://github.com/j143/basic-docker-engine/sessions/9b259d2d-2dd2-4094-849b-5fb1f50355c2 Co-authored-by: j143 <53068787+j143@users.noreply.github.com>
Agent-Logs-Url: https://github.com/j143/basic-docker-engine/sessions/9b259d2d-2dd2-4094-849b-5fb1f50355c2 Co-authored-by: j143 <53068787+j143@users.noreply.github.com>
Fixed in |
…ployment Kubernetes volume names must comply with DNS label syntax and cannot contain dots. The previous code produced names like 'capsule-name-1.0' which were rejected by the API server. Fix: apply strings.ReplaceAll(version, ".", "-") when building the volume name. The container mount path (/capsules/<name>/<version>) is unchanged. Fixes error: spec.template.spec.volumes[0].name: Invalid value: "capsule-...-1.0": must not contain dots Update kubernetes_test.go expected volume/mount names accordingly.
…ipts/setup-azure-aks.sh - Creates resource group, AKS cluster, app registration, service principal, Contributor role assignment, and OIDC federated credential - Sets GitHub Actions secrets (AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_SUBSCRIPTION_ID) using GH_TOKEN env var; falls back to gh auth refresh or prints manual instructions on 403 scripts/verify-adr-001.sh - Verifies all four ADR-001 claims against a live Kubernetes cluster: C1 Versioning, C2 Dynamic Attachment, C3 Isolation, C4 Reusability - Runs matching unit tests (TestKubernetesConfigMapCapsule, TestAttachCapsuleToDeployment, TestResourceCapsule*) - Isolated namespace per run; cleanup on exit - Accepts --resource-group, --cluster, --keep-ns flags
…github/workflows/aks-lifecycle.yml — workflow_dispatch with four actions: deploy Create resource group + AKS cluster (idempotent) verify Run ADR-001 verification against existing cluster deploy-and-verify Deploy then verify, destroy on success destroy Delete AKS cluster and resource group (async) Inputs: action, resource_group (default: rg-basic-docker), aks_cluster (default: basic-docker-aks), location (default: eastus) Uses AZURE_CLIENT_ID / AZURE_TENANT_ID / AZURE_SUBSCRIPTION_ID secrets with OIDC login (no stored credentials).
…'Experimental Verification on Azure AKS — April 29, 2026' section: - Test environment: AKS basic-docker-aks, East US, K8s v1.34.4, Standard_B2s - 16/16 checks passed across all four ADR-001 claims (C1-C4) - Per-claim technical observations noting what holds solid value and what limitations were found during live testing - Documents the dots-in-volume-names bug found and fixed during verification - Lists all artifacts produced (scripts, workflows) - Updates Status line to include April 29, 2026 AKS verification
- Add Username/Password fields to DockerHubRegistry - Add NewDockerHubRegistryWithCreds constructor - Update FetchManifest and FetchLayer to use http.NewRequest + SetBasicAuth - Add extractCredentials() to parse user:pass@ prefix from image name - Wire credentials through run() → NewDockerHubRegistryWithCreds - Add TestExtractCredentials unit test Fixes verify.sh CI failure: 'user:password@localhost:5000/alpine' was returning 401 because credentials were stripped by resolveRegistry but never sent in the manifest/layer HTTP requests.
Uh oh!
There was an error while loading. Please reload this page.