diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6e90e80e..2f90f1b9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,8 +22,9 @@ jobs: - name: Set up Go uses: actions/setup-go@v3 with: - go-version: 1.18 - check-latest: true + go-version-file: go.mod + cache: true + cache-dependency-path: go.sum - name: Set up Mage run: go run mage.go EnsureMage - name: Test diff --git a/agent-config.yaml b/agent-config.yaml deleted file mode 100644 index 502bbf0c..00000000 --- a/agent-config.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: porter.sh/v1 -kind: AgentConfig -metadata: - name: default-try-w - namespace: test -spec: - porterRepository: ghcr.io/vinozzz/porter-agent - porterVersion: dev - serviceAccount: porter-agent - volumeSize: 64Mi - pullPolicy: Always - plugins: - - name: kubernetes - feedUrl: https://cdn.porter.sh/plugins/atom.xml - version: v1.0.0-beta.1 - diff --git a/api/v1/const.go b/api/v1/const.go index 1a916e32..b979a867 100644 --- a/api/v1/const.go +++ b/api/v1/const.go @@ -94,7 +94,7 @@ const ( // VolumePorterSharedName is the name of the volume shared between the porter // agent and the invocation image. - VolumePorterPluginsName = "plugins" + VolumePorterPluginsName = "porter-plugins" // VolumePorterConfigPath is the mount path of the volume containing Porter's // config file. diff --git a/api/v1/testdata/credential-set.yaml b/api/v1/testdata/credential-set.yaml index 6f230c79..4cbb8a2c 100644 --- a/api/v1/testdata/credential-set.yaml +++ b/api/v1/testdata/credential-set.yaml @@ -1,13 +1,7 @@ -apiVersion: porter.sh/v1 -kind: CredentialSet -metadata: - name: hello-3 - namespace: test -spec: - schemaVersion: 1.0.1 - name: porter-test-me - namespace: test - credentials: - - name: kubeconfig +schemaVersion: 1.0.1 +name: porter-test-me +namespace: dev +credentials: + - name: insecureValue source: - secret: ~/.kube/config + secret: test-secret diff --git a/controllers/agentconfig_controller.go b/controllers/agentconfig_controller.go index 396a7053..a24387a7 100644 --- a/controllers/agentconfig_controller.go +++ b/controllers/agentconfig_controller.go @@ -106,7 +106,7 @@ func (r *AgentConfigReconciler) Reconcile(ctx context.Context, req ctrl.Request) if err != nil { return ctrl.Result{}, err } - if readyPVC != nil && tempPVC == nil { + if readyPVC != nil && tempPVC == nil && !isDeleted(agentCfg) { if readyPVC.Status.Phase != corev1.ClaimBound || agentCfg.Status.Phase == porterv1.PhaseSucceeded { return ctrl.Result{}, nil } @@ -501,16 +501,6 @@ func (r *AgentConfigReconciler) cleanup(ctx context.Context, log logr.Logger, ag return err } - // remove owner reference - if idx, exist := containOwner(newPVC.GetOwnerReferences(), agentCfg); exist { - newPVC.OwnerReferences = removeOwnerByIdx(newPVC.GetOwnerReferences(), idx) - err := r.Update(ctx, newPVC) - if err != nil { - return err - } - return nil - } - pv := &corev1.PersistentVolume{} pvKey := client.ObjectKey{Namespace: newPVC.Namespace, Name: newPVC.Spec.VolumeName} err = r.Get(ctx, pvKey, pv) @@ -530,6 +520,16 @@ func (r *AgentConfigReconciler) cleanup(ctx context.Context, log logr.Logger, ag return nil } + // remove owner reference + if idx, exist := containOwner(newPVC.GetOwnerReferences(), agentCfg); exist { + newPVC.OwnerReferences = removeOwnerByIdx(newPVC.GetOwnerReferences(), idx) + err := r.Update(ctx, newPVC) + if err != nil { + return err + } + return nil + } + return nil } @@ -610,6 +610,7 @@ func (r *AgentConfigReconciler) DeleteTemporaryPVC(ctx context.Context, log logr } func (r *AgentConfigReconciler) isDeleteProcessed(ctx context.Context, agentCfg *porterv1.AgentConfig) (bool, error) { + if !isDeleted(agentCfg) { return false, nil } diff --git a/cred.yaml b/cred.yaml deleted file mode 100644 index 46052a03..00000000 --- a/cred.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: porter.sh/v1 -kind: CredentialSet -metadata: - name: cred-test - namespace: quickstart -spec: - schemaVersion: 1.0.1 - namespace: quickstart - name: kubernetes-plugin-test-2 - credentials: - - name: test-cred - source: - secret: password - diff --git a/go.mod b/go.mod index 77231dd0..ab96df5a 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module get.porter.sh/operator -go 1.17 +go 1.18 replace ( // a dependency of buildx (github.com/tonistiigi/fsutil) relies on an untagged version of Docker on the master branch diff --git a/kind-config.ymal b/kind-config.ymal deleted file mode 100644 index d17d40d9..00000000 --- a/kind-config.ymal +++ /dev/null @@ -1,6 +0,0 @@ -kind: Cluster -apiVersion: kind.x-k8s.io/v1alpha4 -networking: - apiServerAddress: 192.168.1.123 - apiServerPort: 6443 - diff --git a/llama.yaml b/llama.yaml deleted file mode 100644 index fdbec3ba..00000000 --- a/llama.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: porter.sh/v1 -kind: Installation -metadata: - name: hello-2 - namespace: test -spec: - schemaVersion: 1.0.2 - namespace: test - name: kubernetes - bundle: - repository: ghcr.io/getporter/examples/kubernetes - version: 0.2.0 - credentialSets: - - porter-test-me diff --git a/mage.go b/mage.go new file mode 100644 index 00000000..afc2be8b --- /dev/null +++ b/mage.go @@ -0,0 +1,15 @@ +//go:build ignore +// +build ignore + +package main + +import ( + "os" + + "github.com/magefile/mage/mage" +) + +// This file allows someone to run mage commands without mage installed +// by running `go run mage.go TARGET`. +// See https://magefile.org/zeroinstall/ +func main() { os.Exit(mage.Main()) } diff --git a/magefiles/kind.config b/magefiles/kind.config deleted file mode 100644 index 6cf954cc..00000000 --- a/magefiles/kind.config +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: v1 -clusters: -- cluster: - certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMvakNDQWVhZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJeU1EZ3lNakl3TXpnME0xb1hEVE15TURneE9USXdNemcwTTFvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTkRBCmkrb1UrVUJ1ZFpwbWdVMHhLKy9DaG9BRENlWWY0V21kSFNkbFQ4UkRZdGRSUmYzOGI0RURNcDNNczdnd1ZodnMKTm5EZjFOSXRZNDZhYjB6Q1FGcllzS3QrcDZVSWg3b2VNRXpBMllTVjhJNFBiN3Jsa2pmTFVpL3lLZGJid1ZUWQpqb1ExYmViZjEvNmFIY0t3NVUwT21CRDdmUVZvYUNwT3hwSFpkZ0lPV0UzdUFmQ0pXQjMycFkyUGRCV3RMc01ZCnBNZjBhKzlGZk5VSjVhTW9UOEhiS2FBQ1BMeHF6T1NIb2I2S1hYZG1TZEVqTVYrMjdkQUMvVkd4RWllU0ZnVlAKNE1OVndJSVZGRnExRmZIVWU0SFRwNzdzOTU3VUZZVDhCekVPSXB1N2pOWnJ4aHpBRFdQNHVFOWYzdG5jdEd5eApxVVRKbzBhODRGQ2NIYmZFSVc4Q0F3RUFBYU5aTUZjd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZIRytxSHhKM2oxRnR2NFJUS0RjRXFnR2hqN1hNQlVHQTFVZEVRUU8KTUF5Q0NtdDFZbVZ5Ym1WMFpYTXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBTWZuQVBtVW5qbEdFZ0xQSGUrUwo2VXl0Q09iWlRjemY4UklKLzZhd2JHQmdlTFdrcnI0VEpaY3NLMFR6YVFBNXVHOVVDazl1aERkMEkyVjlvNkc1CmtWUmt1ekt5TkhsZzRMd3BPcU5PMlh5YnNWMG0xNjlvczNib0xaOW4xdWNHR0t3L1Y0ZlZDeGpnSXJHa1BJSloKN1FRRE01RnZobE9DREhZTDJCcmQxT2xUY2V4OFlLNjJvQkxYZEdzM3NQZnZ3RXZlMFpYdnNoeVNZRnhFQldRTQpwcEp1RlViTS9ndmQvMEQ5RnpxcDBLNnZHS2JyOFp3MnU5R0dQc0tzcVo4RXhZSUdyZmdVQzZmejZNT0VvU0VqClhhV2pnSndad3ZTSzR3R3NZd1JFMTh6UjRiN2x0VnhVQVpOb1hqajJZMUtVcTVEM1Y3TWVOcEJyc1A4WWdGMHAKTzdJPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== - server: https://192.168.1.123:6443 - name: kind-porter -contexts: -- context: - cluster: kind-porter - user: kind-porter - name: kind-porter -current-context: kind-porter -kind: Config -preferences: {} -users: -- name: kind-porter - user: - client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURJVENDQWdtZ0F3SUJBZ0lJWEpwbG9Xb0hnMlF3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TWpBNE1qSXlNRE00TkROYUZ3MHlNekE0TWpJeU1ETTRORFJhTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXk3WExOcnlzdjM0cmY2bG8KLzBFeU1DOWd5cEpYNVEzYW1rU05nVGtzbDRDSG1hcjhDemJLbmpqYmhjUDdSU2pzM3RPbHlhdUdTaU02UTRQTAo4OE1uclloZmQwYkg3V1lvanBrekU5d1JENy94NCtmbUMwNndTNTFXMVdXRjZoRXBZK2U5TTdIWmx2c203U1duCkpqckUrU3ZmRU5NREtia21nY0FmM1I5VFJCbXZkSzdJRThRVGE3a0ZiZEY3RmF6Wkg5c1VQczNVaFB6amx2bWoKaVVua3NodWxTOTFTR2J3M3I5T2JsRVMycmw5bXhWL2hpUG83b3NkamdISVh0dVBjYjN5MTBQdWVwY3ZwazZmMwp0cUxiUlpFUTJESzBWbGJYSWZMTm1PYVVHc3oyMXA1VTY0T0NSZ1BENmhkTzRScnJuY0gxbDJZWE9YK2xsVkl0CklBTk9Zd0lEQVFBQm8xWXdWREFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RBWURWUjBUQVFIL0JBSXdBREFmQmdOVkhTTUVHREFXZ0JSeHZxaDhTZDQ5UmJiK0VVeWczQktvQm9ZKwoxekFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBZUdaOHN6S0VlYlN2UTBZcHB4dHZWVzVhZWRqb2lHcGg5VjhnCjJNa2NKSTVTbzFEdXNPYVpLTFV3TU44alA0VWNpclNPQnhISStCR3B1TFNPZmlwSHlDSGhBb3NJSkJLZGVTb2IKYi9qUS95STBBRmdVWHZxVjJWZnhYRHZRZm9FVkgrcHRxSmtiSktQMVhpdGdaYkpXOVFnOFlNK1dhcW84cFZKdgpKYkF4cUNGUWJJOHJ4SCtZa21pbG1kOGZGY25mWGRPQXdIdVNvN0lCWDdsL0t1SldxbzlMQVgrYU5LWjdGLzFPCjFZcEEwbXBMN1dzZ1NqZzJvWnNDV2pxSGVXN25wQ2xYcXRxU2lBdDB3Qjd3dmt6dmFrQ0h2RHJNaytxQXJzNk0KRWN1MndXYUZrL1dFbnA0SXBmUGwzSDVZb1dnM0ljNUpZR3lvUlk0Wld5TW5ERTV2Y0E9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== - client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBeTdYTE5yeXN2MzRyZjZsby8wRXlNQzlneXBKWDVRM2Fta1NOZ1Rrc2w0Q0htYXI4CkN6YktuampiaGNQN1JTanMzdE9seWF1R1NpTTZRNFBMODhNbnJZaGZkMGJIN1dZb2pwa3pFOXdSRDcveDQrZm0KQzA2d1M1MVcxV1dGNmhFcFkrZTlNN0habHZzbTdTV25KanJFK1N2ZkVOTURLYmttZ2NBZjNSOVRSQm12ZEs3SQpFOFFUYTdrRmJkRjdGYXpaSDlzVVBzM1VoUHpqbHZtamlVbmtzaHVsUzkxU0didzNyOU9ibEVTMnJsOW14Vi9oCmlQbzdvc2RqZ0hJWHR1UGNiM3kxMFB1ZXBjdnBrNmYzdHFMYlJaRVEyREswVmxiWElmTE5tT2FVR3N6MjFwNVUKNjRPQ1JnUEQ2aGRPNFJycm5jSDFsMllYT1grbGxWSXRJQU5PWXdJREFRQUJBb0lCQUVNNGVCaFY1a05DWlNRNQpTUGFDRXdlbmVxOGQzM2NzUFNpTzJvcjd6T1VwZXBXUXdKOEtzNDNHZ1ZvQXM5ZThpMzEwSmM4SWxNVytIaW5OClFlM3NSaG1UV0wxSlZBdlluQ1dDRkVMSGFiSGl5dlZEdnJ1WWVjQlo2Ujk5NHRTOFdRWW9vRnlBb2FhYXRkdW4KZ3lLd1hmTkRNTmFpYXZiSHJCZEF5TUwwNVVzZy8rU3BzcjlxSGVRUWVQdzl3YTBzVTdmcWpRQng5QUhBUGNrVgpXclVsMGE1SEpoaG9WU2U4T2k5UlhwdXBLWGNwQlp6aFR3YXdwaWZEc3NCUkdjZ3VkRWVEWFY4cy9wNE9Za3pyClljYktDRVNGTzNJZS9VMCsyQ2ZZNWdDczU0cDVaWTEzQlU4Q2oxMFZ3UldLRzVSMkxmRWh0Z1VtSldYRDIrUWYKaytNV1loRUNnWUVBNjcvTC9vNWF1SjhvZElzL09pZUdUSGlwcWptMFEwYy9zYU9vYWRDZTBLb1BleGVnZ0ZaRAplNTRkWFIxQWNCMDVsSWpGeVlsZllpa21SdXdndlJUd3ZLM0NaT1BidHVVK3A5OEpoTFJLOEV4UVBoek1kelFyCnNQOHpYOWRCakRpZTBiMEhJYmo5Tm5QL2VkTHZkSGZ0clE1ckxFTzNXOHBkQTFqaHc1dW9IczBDZ1lFQTNUVnkKZEkrek5MUWFtb2s4YUljanhOVGIrNjZDSXFoa2xaVnVmWkdNOUIyNVpGVDVyb0tuL2NYMDNhVVJWTDZmUGdIbQpjb2hQTW4wdXJ1cG5FQ0tmSklRTzM1dys3QmlRZU9hVHo1UENRUjhGWmhnYk9BcGZqSjRWUnR6MGdZS3AwdW5DCmlrWS9ZbTgwOXJEcGVydUxyaFFLNnQxTjl4S3hRZHJDOFo0dXdlOENnWUVBcytOdWJaZUNjazVBT0czb21SOS8Kd3VwdnpJeXJtSXJOZDJkQ0l6d2xjMlBRM0VSekhIcTJrNlZiRXFvM2VWVlRrcHVyRU5YYUNyVUxtQ0tsK0tINQo4SDlHVG1Yd1NlY3pvRFQ0dG1JOHJKQU95dForenBib24rNmI3UTM3M2x0MkZPVUFoQ0w4VklpKzhONmNDV3RaCjJTdWZhKzlnQXBLdjF0WURyNWNlK2lFQ2dZRUFyNW56RHZiWUl0bHFXUXppYUhRSEFBU2QwUENhRzlzalpkOW4KQThWY2FKbUVCMUt4bGtmZ0JjTjBlOUxDckV4YWEwWGs0enl6NmZlWDdJRGxhZGlpRHNIS2NOWSsyUHN6RE5hMQp0YzJ0SWpiMitUSGZ3Wi95YzlVMlBMZkFYV01WWHZuMFZnSW41UU0wdnpSM1U5ZTNyV3Y1c3JJVlp6SnVoa0djCkNXUXg1LzhDZ1lFQWlCV1N2SzBmdldKMTUxUWZVN2ZuN2g3bTkwbnJ6QW9neDFPenpjb0ovQm1xTFRONllQQWEKV0NDRkZ1a0t5Y2c1R25TeENiblBvVmE0NnZmS2dOMkhUZnZ0VHQ5OGNyeW0rSmxFS24xZnVDVjZjSFYrZ0FEMQpwODBLUWlSOTQyQ28rNEhHL3hQNEJQa2ljRnpvdnlsVGRHcW1Cck5WWGYwaWF3bS96UmpsclJJPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo= diff --git a/magefile.go b/magefiles/magefile.go similarity index 96% rename from magefile.go rename to magefiles/magefile.go index 38988b9b..1caaafaa 100644 --- a/magefile.go +++ b/magefiles/magefile.go @@ -19,6 +19,8 @@ import ( . "get.porter.sh/magefiles/docker" "get.porter.sh/magefiles/porter" "get.porter.sh/magefiles/releases" + + //mage:import . "get.porter.sh/magefiles/tests" "get.porter.sh/magefiles/tools" . "get.porter.sh/operator/mage" @@ -45,7 +47,7 @@ const ( testNamespace = "test" // Relative location of the KUBECONFIG for the test cluster - kubeconfig = "kind.config.yaml" + kubeconfig = "kind.config" // Namespace of the porter operator operatorNamespace = "porter-operator-system" @@ -57,15 +59,18 @@ const ( porterVersion = "v1.0.0-rc.1" ) -var srcDirs = []string{"api", "config", "controllers", "installer", "installer-olm"} -var binDir = "bin" +var ( + srcDirs = []string{"api", "config", "controllers", "installer", "installer-olm"} + binDir = "bin" +) -// Porter agent that has k8s plugin included -var porterAgentImgRepository = "ghcr.io/getporter/dev/porter-agent-kubernetes" -var porterAgentImgVersion = "v1.0.0-rc.1" +var ( + porterAgentImgRepository = "ghcr.io/getporter/porter-agent" + porterAgentImgVersion = "v1.0.0-rc.3" +) // Local porter agent image name to use for local testing -var localAgentImgName = "localhost:5000/porter-agent:test" +var localAgentImgName = "localhost:5000/porter-agent:canary-dev" // Build a command that stops the build on if the command fails var must = shx.CommandBuilder{StopOnError: true} @@ -363,9 +368,7 @@ func Deploy() { buildPorterCmd("credentials", "apply", "hack/creds.yaml", "-n=operator").Must().RunV() } bundleRef := Env.BundlePrefix + meta.Version - //buildPorterCmd("install", "operator", "-r", bundleRef, "-c=kind", "--force", "-n=operator").Must().RunV() - - buildPorterCmd("install", "operator", "-r", bundleRef, "--param", "porterRepository=localhost:5000/porter-agent", "--param", "porterVersion=canary-v1", "-c=kind", "--force", "-n=operator").Must().RunV() + buildPorterCmd("install", "operator", "-r", bundleRef, "-c=kind", "--force", "-n=operator").Must().RunV() } func isDeployed() bool { diff --git a/notes.md b/notes.md deleted file mode 100644 index 832244b7..00000000 --- a/notes.md +++ /dev/null @@ -1,2 +0,0 @@ -ownerReferences: garbage collector knows to clean it up once the owner is -deleted diff --git a/porter-config.yaml b/porter-config.yaml deleted file mode 100644 index 0847ba6f..00000000 --- a/porter-config.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: porter.sh/v1 -kind: PorterConfig -metadata: - name: default - namespace: quickstart -spec: - debug: true - debugPlugins: true - defaultSecretsPlugin: kubernetes.secrets - defaultStorage: in-cluster-mongodb - storage: - - name: in-cluster-mongodb - plugin: mongodb - config: - url: "mongodb://mongodb.porter-operator-system.svc.cluster.local" - secrets: - - name: "kubernetes-secrets" - plugin: "kubernetes.secrets" - - diff --git a/test b/test deleted file mode 100755 index e69de29b..00000000 diff --git a/test-output b/test-output deleted file mode 100644 index 1bbec6aa..00000000 --- a/test-output +++ /dev/null @@ -1,2 +0,0 @@ -Installation/porter-test-me-js8ww,CredentialSet/porter-test-me-gs69p,AgentAction/porter-test-me-gs69p-dzfd9,AgentAction/porter-test-me-js8ww-9gn5v,namespace "ginkgo-tests-j7wdk" deleted -namespace "ginkgo-tests-phrv4" deleted diff --git a/test2 b/test2 deleted file mode 100755 index 9ec38b40..00000000 --- a/test2 +++ /dev/null @@ -1 +0,0 @@ -Redirecting to https://github.com/getporter/kubernetes-plugins/releases/download/v1.0.0-rc.1/kubernetes-linux-amd64 \ No newline at end of file diff --git a/tests/integration/suite_test.go b/tests/integration/suite_test.go index 4a9d6ddd..f59ba38e 100644 --- a/tests/integration/suite_test.go +++ b/tests/integration/suite_test.go @@ -197,7 +197,7 @@ func createTestNamespace(ctx context.Context) string { PorterVersion: agentVersion, ServiceAccount: svc.Name, InstallationServiceAccount: "installation-agent", - Plugins: porterv1.PluginList{porterv1.Plugin{Name: "kubernetes", FeedURL: "https://cdn.porter.sh/plugins/atom.xml", Version: "v1.0.0-beta.1"}}, + Plugins: porterv1.PluginList{porterv1.Plugin{Name: "kubernetes", FeedURL: "https://cdn.porter.sh/plugins/atom.xml", Version: "v1.0.0-rc.1"}}, }, } Expect(k8sClient.Create(ctx, agentCfg)).To(Succeed()) diff --git a/tests/integration/testdata/Dockerfile.k8s-plugin-agent b/tests/integration/testdata/Dockerfile.k8s-plugin-agent deleted file mode 100644 index a539ef51..00000000 --- a/tests/integration/testdata/Dockerfile.k8s-plugin-agent +++ /dev/null @@ -1,3 +0,0 @@ -ARG PORTER_VERSION -ARG REGISTRY -FROM $REGISTRY/porter-agent:$PORTER_VERSION