Azure/draft 3930
A tool for developers to create cloud-native applications on Kubernetes.
brigadecore/brigade 1974
Event-based Scripting for Kubernetes.
Kashti is a dashboard for your Brigade pipelines.
DSL representations of Jenkins jobs for Deis
Temporary fork which adds Azure Blob Storage support
A releaser tool for Deis
A containerized development environment to support building Python-based Deis v2 components http://deis.com
A containerized development environment to support testing shell-based projects
Jenkins CI Server for Deis
push eventvdice/porter
commit sha 98033dde3a79fa95edd8ae35f8b172af117e4f5a
fix(kubernetes): trim quotes from output before returning Signed-off-by: Vaughn Dice <[email protected]>
push time in a day
Pull request review commentdeislabs/porter
Fixing Makefile to work on Windows + GitBash
endif install: install-porter install-mixins install-porter:- mkdir -p $(HOME)/.porter- cp bin/porter* $(HOME)/.porter/- ln -f -s $(HOME)/.porter/porter /usr/local/bin/porter+ mkdir -p $(PORTER_DIR)+ cp bin/porter* $(PORTER_DIR)
Was there an issue with the removed symbolic link command? Or can we add this back in?
comment created time in a day
Pull request review commentdeislabs/porter
Fixing Makefile to work on Windows + GitBash
generate: packr2 $(GO) mod tidy $(GO) generate ./... -HAS_PACKR2 := $(shell command -v packr2)-HAS_GOBIN_IN_PATH := $(shell re='(:|^)$(CLIENT_GOPATH)/bin/?(:|$$)'; if [[ "$${PATH}" =~ $${re} ]];then echo $${GOPATH}/bin;fi)+HAS_PACKR2 := $(shell command -v packr3 && echo "OK") packr2: ifndef HAS_PACKR2-ifndef HAS_GOBIN_IN_PATH- $(error "$(CLIENT_GOPATH)/bin is not in path and packr2 is not installed. Install packr2 or add "$(CLIENT_GOPATH)/bin to your path")-endif- curl -SLo /tmp/packr.tar.gz https://github.com/gobuffalo/packr/releases/download/v2.6.0/packr_2.6.0_$(CLIENT_PLATFORM)_$(CLIENT_ARCH).tar.gz- cd /tmp && tar -xzf /tmp/packr.tar.gz- install /tmp/packr2 $(CLIENT_GOPATH)/bin/+ mkdir -p tmp/packr2+ curl -SLo tmp/packr.tar.gz https://github.com/gobuffalo/packr/releases/download/v2.6.0/packr_2.6.0_$(CLIENT_PLATFORM)_$(CLIENT_ARCH).tar.gz+ tar -xzf tmp/packr.tar.gz -C tmp/packr2+ install tmp/packr2/packr2 $(CLIENT_GOPATH)/bin/+ cp $(CLIENT_GOPATH)/bin/packr2$(FILE_EXT) cmd/
Are these commands necessary if GOBIN is not in PATH? And/or, is there another solution we can try that doesn't involve copying the binary to all of these locations (and needing to update the list in the future if/when new files use packr)?
comment created time in a day
Pull request review commentdeislabs/porter
Fixing Makefile to work on Windows + GitBash
generate: packr2 $(GO) mod tidy $(GO) generate ./... -HAS_PACKR2 := $(shell command -v packr2)-HAS_GOBIN_IN_PATH := $(shell re='(:|^)$(CLIENT_GOPATH)/bin/?(:|$$)'; if [[ "$${PATH}" =~ $${re} ]];then echo $${GOPATH}/bin;fi)+HAS_PACKR2 := $(shell command -v packr3 && echo "OK")
What is the utility of the && echo "OK" portion of this update?
comment created time in a day
Pull request review commentdeislabs/porter
Fixing Makefile to work on Windows + GitBash
generate: packr2 $(GO) mod tidy $(GO) generate ./... -HAS_PACKR2 := $(shell command -v packr2)-HAS_GOBIN_IN_PATH := $(shell re='(:|^)$(CLIENT_GOPATH)/bin/?(:|$$)'; if [[ "$${PATH}" =~ $${re} ]];then echo $${GOPATH}/bin;fi)+HAS_PACKR2 := $(shell command -v packr3 && echo "OK") packr2: ifndef HAS_PACKR2-ifndef HAS_GOBIN_IN_PATH- $(error "$(CLIENT_GOPATH)/bin is not in path and packr2 is not installed. Install packr2 or add "$(CLIENT_GOPATH)/bin to your path")-endif- curl -SLo /tmp/packr.tar.gz https://github.com/gobuffalo/packr/releases/download/v2.6.0/packr_2.6.0_$(CLIENT_PLATFORM)_$(CLIENT_ARCH).tar.gz- cd /tmp && tar -xzf /tmp/packr.tar.gz- install /tmp/packr2 $(CLIENT_GOPATH)/bin/+ mkdir -p tmp/packr2
For my understanding, is /tmp not available for certain setups?
Are there any valid alternatives to creating the local tmp directory as done here? Perhaps TMPDIR=$(mktemp -d) or some such?
comment created time in a day
Pull request review commentdeislabs/porter
Fixing Makefile to work on Windows + GitBash
generate: packr2 $(GO) mod tidy $(GO) generate ./... -HAS_PACKR2 := $(shell command -v packr2)-HAS_GOBIN_IN_PATH := $(shell re='(:|^)$(CLIENT_GOPATH)/bin/?(:|$$)'; if [[ "$${PATH}" =~ $${re} ]];then echo $${GOPATH}/bin;fi)+HAS_PACKR2 := $(shell command -v packr3 && echo "OK")
packr3 here is a typo, right?
comment created time in a day
PR opened deislabs/porter
What does this change
- Adds logic to remove quotes from a Kubernetes resource output, if applicable, before returning
Proposed fix for https://github.com/deislabs/porter/issues/1210, assuming it's agreed it is an issue we wish to fix.
What issue does it fix
Closes https://github.com/deislabs/porter/issues/1210
Notes for the reviewer
Do we want to trim both " and ' as I have it currently? Or limit to only '?
Checklist
- [x] Unit Tests
- [ ] Documentation
- [ ] Schema (porter.yaml)
If this is your first pull request, please add your name to the bottom of our Contributors list. Thank you for making Porter better! 🙇♀️
pr created time in a day
push eventvdice/porter
commit sha 2021052e043ceee4e697aa217ff5942612acc842
fix(kubernetes): trim quotes from output before returning Signed-off-by: Vaughn Dice <[email protected]>
push time in a day
issue commentdeislabs/porter-helm
Remove single quotes from Kubernetes resource outputs
I think the preferred way to do this would be to refactor the applicable logic to consume the getOutput logic from pkg/kubernetes/kubernetes.go in deislabs/porter, so that this logic can be maintained/updated from the same location.
comment created time in a day
issue openeddeislabs/porter-helm
Remove single quotes from Kubernetes resource outputs
Assuming the issue filed in https://github.com/deislabs/porter/issues/1210 is determined to be a bug we wish to fix, incorporate the same fix into this mixin.
Ref https://github.com/deislabs/porter/issues/1210
created time in a day
issue openeddeislabs/porter
Kubernetes resource outputs are single-quoted
Describe the bug
Bundle outputs can come from Kubernetes resources, as provided by the kubernetes mixin and now the porter-helm mixin (https://github.com/deislabs/porter-helm/pull/70). See an example in the kubernetes example bundle
However, output values always appear to be wrapped in single quotes. This can present issues when the output values are intended to be used in subsequent steps and actions.
To Reproduce
Steps to reproduce the behavior:
- From the root of this Porter repo,
cd examples/kubernetes - Run
porter generate credentialsto generate a credential set (requires a kubeconfig) - Run
porter install -c kubernetes - Check out the output via
porter installation outputs show IP_ADDRESS:
$ porter installation outputs show IP_ADDRESS
'10.104.11.4'
Whereas, if I grab the value via kubectl directly, there are no single quotes:
$ kubectl get service nginx-deployment -o=jsonpath='{.spec.clusterIP}' && echo
10.104.11.4
Expected behavior
I would expect the outputs to not be wrapped in single quotes.
The fix, in my opinion, would therefore be to ensure output values are not wrapped in single quotes, both in the Kubernetes and Helm mixins.
Version
The latest versions of the kubernetes and porter-helm mixins built from source (main branch).
$ porter version
porter v0.27.2-35-gb5e3e34a (b5e3e34a)
created time in a day
push eventdeislabs/porter-pipeline
commit sha 573157761f6a76f5ceda8abb4d6a5cfa48c359af
update readme
commit sha c6adf239d9783e1b0415586004bbd9c495b26421
Add links
commit sha e5b005dcf3677f147b1276e67a34577800110cda
Merge pull request #16 from gaurimadhok/fix-readme update readme
push time in a day
PR merged deislabs/porter-pipeline
Updated readme to explain that this bundle relates to the GitHub workflow and to link the best practices page on workflows.
pr closed time in a day
pull request commentdeislabs/porter-docker
Currently I have the default version as 19.03.8, but the latest release is 19.03.12, so should I change the default to 19.03.12?
No preference on my end. I'll leave it up to you!
comment created time in a day
issue commentdeislabs/porter
`porter install` crashing on Windows
Hi @artursouza , thank you for the bug report. I see in the stack trace the last calls were in a dependency library, cnab-go. In v0.27.2, we pinned to a specific version. On canary, the same dependency has most likely changed a bit. Would it be possible to see if this same behavior is reproduced in the canary version of Porter? (https://porter.sh/install/#canary)
This will help determine if a fix is also applicable to the next Porter release. In the meantime, I/we can look at what might be going wrong in v0.27.2 and see about the possibility of a patch release off v0.27.x...
comment created time in a day
push eventdeislabs/porter-helm
commit sha 26f49b6df4a85481daa31ee68f4894c4346debd5
ignore .vscode files
commit sha 42fda2b12649f559c000004f72438dcd99b5231e
Merge remote-tracking branch 'upstream/master'
commit sha 4e9681b07c5e3112770ae57435c1bd379b9db70d
Merge remote-tracking branch 'upstream/master'
commit sha 2bfd121f1642a30c4f47e159e72d8158805f1ae2
Merge remote-tracking branch 'upstream/main'
commit sha 12842bd8b82cb8072c8bea9a10f02badd7e640f4
Bridge the gap of outputs
commit sha 60e9d78a143b29426e6a8eab3a3ea90befdc55f0
update doc
commit sha a56190cb3fec030b4b629371c3596707728f0334
add prop verification
commit sha e420237b0df416284e92f0d1153a3329a7180ecc
Update README.md Co-authored-by: Vaughn Dice <[email protected]>
commit sha 08e5f832e74f430458d49b8dcdb7dbad860cef12
Merge pull request #70 from MChorfa/SupportOutputs#35 Support outputs#35
push time in 2 days
PR merged deislabs/porter-helm
What does this change
This PR will bridge the output gap that is available in other mixins
What issue does it fix
Closes # (#35 )
Checklist
- [x] Unit Tests
- [x] Documentation
- [x] Schema (porter.yaml)
If this is your first pull request, please add your name to the bottom of our Contributors list. Thank you for making Porter better! 🙇♀️
pr closed time in 2 days
pull request commentdeislabs/porter-helm
/azp run porter-helm
comment created time in 2 days
Pull request review commentdeislabs/porter-helm
outputs: key: SECRET_KEY ``` +The mixin supports extracting resource metadata from Kuberentes as outputs.
The mixin also supports extracting resource metadata from Kubernetes as outputs.
comment created time in 2 days
pull request commentdeislabs/porter-helm
/azp run porter-helm
comment created time in 2 days
Pull request review commentdeislabs/porter-docker
RUN curl -o docker.tgz https://download.docker.com/linux/static/stable/x86_64/do COPY . $BUNDLE_DIR ` +// BuildInput represents stdin passed to the mixin for the build command.+type BuildInput struct {+ Config MixinConfig+}++// MixinConfig represents configuration that can be set on the docker mixin in porter.yaml+// mixins:+// - docker:+// version: 19.03.8+type MixinConfig struct {+ ClientVersion string `yaml:"clientVersion,omitempty"`+}+ // Build will generate the necessary Dockerfile lines // for an invocation image using this mixin func (m *Mixin) Build() error {- fmt.Fprintf(m.Out, dockerfileLines)+ var input BuildInput+ err := builder.LoadAction(m.Context, "", func(contents []byte) (interface{}, error) {+ err := yaml.Unmarshal(contents, &input)+ return &input, err+ })+ if err != nil {+ return err+ }++ if input.Config.ClientVersion != "" {+ m.DockerVersion = input.Config.ClientVersion+ } else {
Ah, I see the issue here. Although this else is certainly fine, we can avoid it.
The reason we weren't seeing the default version unit test pass was b/c the NewTestMixin() helper didn't actually call mixin.New() which performs the action of setting the default. In the process of adjusting that, I also updated the mixin.New() method signature to remove returning an error, to simplify logic.
Check it out: https://github.com/gaurimadhok/porter-docker/compare/set-version...vdice:gaurimadhok-set-version-plus-default-fix?expand=1
Feel free to use some/all of those changes.
comment created time in 2 days
Pull request review commentdeislabs/porter-docker
RUN curl -o docker.tgz https://download.docker.com/linux/static/stable/x86_64/do COPY . $BUNDLE_DIR ` +// BuildInput represents stdin passed to the mixin for the build command.+type BuildInput struct {+ Config MixinConfig+}++// MixinConfig represents configuration that can be set on the docker mixin in porter.yaml+// mixins:+// - docker:+// version: 19.03.8+type MixinConfig struct {+ ClientVersion string `yaml:"clientVersion,omitempty"`+}+ // Build will generate the necessary Dockerfile lines // for an invocation image using this mixin func (m *Mixin) Build() error {- fmt.Fprintf(m.Out, dockerfileLines)+ var input BuildInput+ err := builder.LoadAction(m.Context, "", func(contents []byte) (interface{}, error) {+ err := yaml.Unmarshal(contents, &input)+ return &input, err+ })+ if err != nil {+ return err+ }++ if input.Config.ClientVersion != "" {+ m.DockerVersion = input.Config.ClientVersion+ } else {+ m.DockerVersion = defaultDockerVersion+ }++ fmt.Fprintf(m.Out, dockerfileLines, m.DockerVersion) return nil+ //fmt.Fprintf(m.Out, dockerfileLines)
Let's remove these two commented-out lines.
comment created time in 2 days
push eventvdice/porter-docker
commit sha 0d0cf463b9ce725820e84b9bfdebd1328b9d8f59
update/use mixin.New() Signed-off-by: Vaughn Dice <[email protected]>
push time in 2 days
create barnchvdice/porter-docker
branch : gaurimadhok-set-version-plus-default-fix
created branch time in 2 days
pull request commentdeislabs/porter-pipeline
@gaurimadhok ah, I see. Perhaps we can create follow-up issue(s) to add the necessary creds for CI to succeed, as well as perhaps updating the example bundle's tag, etc. to the new repo(s) (unless we want to keep gmadhok as the org, of course 😄 )
comment created time in 2 days
push eventvdice/porter
commit sha 6a9075b7b8c626e535c96ffad654ffbc2b45c525
add note in README around inspecting installation and outputs Signed-off-by: Vaughn Dice <[email protected]>
push time in 2 days
Pull request review commentdeislabs/porter
ref(examples): update azure terraform bundle
should now work. If you ever set or change modules or backend configuration for Terraform, rerun this command to reinitialize your working directory. If you forget, other commands will detect it and remind you to do so if necessary.-/usr/bin/terraform terraform apply -auto-approve -input=false -var client_id=******* -var client_secret=******* -var database_name=porter-terraform -var resource_group_location=EastUS -var resource_group_name=porter-terraform -var subscription_id=******* -var tenant_id=******* Acquiring state lock. This may take a few moments... azurerm_resource_group.rg: Creating... -< OUTPUT TRUNCATED>-```+<OUTPUT TRUNCATED> -Installing the bundle will take some amount of time. As it is running you should see an output line like this:+Apply complete! Resources: 5 added, 0 changed, 0 destroyed. -```-Here is a the storage account key (base64 encoded) ==> <SOME STRING>-```+Outputs: -This is the account key that you'll need to later uninstall the bundle. It will be base64 encoded, so you'll need to decode it before using it to uninstall the bundle:--```bash-$ echo <SOMESTRING> | base64 -D+cosmos-db-uri = mongodb://porterform-cosmos-db:PfOFJ6kbcO0dQp0jA07PGRzjZkRS81PTU7nLfIjggl0LYV6LnanR8uC3qvPbvyhna9Z01nFJxoKL8bnejKOZCw==@porterform-cosmos-db.documents.azure.com:10255/?ssl=true&replicaSet=globaldb
These no longer exist. :)
comment created time in 2 days
Pull request review commentdeislabs/porter
ref(examples): update azure terraform bundle
The bundle will use an Azure [Service Principal](https://docs.microsoft.com/en-u 1. Create a service principal with the Azure CLI: ```console- az ad sp create-for-rbac --name porterform -o table+ az ad sp create-for-rbac --name porterraform -o table
I had to!
comment created time in 2 days
push eventvdice/porter
commit sha 1e9c457dfaf41761a36896d4443f3a66ee48b80c
update README.md Signed-off-by: Vaughn Dice <[email protected]>
push time in 2 days
pull request commentdeislabs/porter
ref(examples): update azure terraform bundle
Oh oops, need to update the README.md...
comment created time in 2 days
Pull request review commentdeislabs/porter-docker
RUN curl -o docker.tgz https://download.docker.com/linux/static/stable/x86_64/do COPY . $BUNDLE_DIR ` +// BuildInput represents stdin passed to the mixin for the build command.+type BuildInput struct {+ Config MixinConfig+}++// MixinConfig represents configuration that can be set on the docker mixin in porter.yaml+// mixins:+// - docker:+// version: 19.03.8+type MixinConfig struct {+ ClientVersion string `yaml:"clientVersion,omitempty"`+}+ // Build will generate the necessary Dockerfile lines // for an invocation image using this mixin func (m *Mixin) Build() error {- fmt.Fprintf(m.Out, dockerfileLines)+ var input BuildInput+ err := builder.LoadAction(m.Context, "", func(contents []byte) (interface{}, error) {+ err := yaml.Unmarshal(contents, &input)+ return &input, err+ })+ if err != nil {+ return err+ }++ if input.Config.ClientVersion != "" {+ m.DockerVersion = input.Config.ClientVersion+ }++ log.Println(m.Out, dockerfileLines, m.DockerVersion, m.WorkingDir)
I believe we want this to print to m.Out and it should be updated to use printf in tandem with the preceding note (adding a %s formatter). So, something like:
fmt.Fprintf(m.Out, dockerfileLines, m.DockerVersion)
(Note, I also dropped m.WorkingDir as it doesn't currently apply for this mixin.)
comment created time in 2 days
Pull request review commentdeislabs/porter-docker
ARG BUNDLE_DIR RUN apt-get update && apt-get install -y curl ca-certificates ARG DOCKER_VERSION=19.03.8+RUN curl -o docker.tgz https://download.docker.com/linux/static/stable/x86_64/docker-${DOCKER_VERSION}.tgz && \
On line 17 above, I think ARG DOCKER_VERSION=19.03.8 should be updated to ARG DOCKER_VERSION=%s now that we intend to use the string as a template with *printf.
comment created time in 2 days
Pull request review commentdeislabs/porter-docker
ARG BUNDLE_DIR RUN apt-get update && apt-get install -y curl ca-certificates ARG DOCKER_VERSION=19.03.8+RUN curl -o docker.tgz https://download.docker.com/linux/static/stable/x86_64/docker-${DOCKER_VERSION}.tgz && \
This added line appears to duplicate the one below, right?
comment created time in 2 days
pull request commentdeislabs/porter-pipeline
Is the CI failure expected? I'm seeing Error: could not load credentials: bundle requires credential for DOCKER_PASSWORD in the logs...
comment created time in 2 days
PR opened deislabs/porter
What does this change
- Updates the Azure Terraform example bundle to harness Porter's ability to persist outputs across actions
Depends on https://github.com/deislabs/porter/pull/1205 (or similar)
What issue does it fix
Notes for the reviewer
Put any questions or notes for the reviewer here.
Checklist
- [ ] Unit Tests
- [ ] Documentation
- [ ] Schema (porter.yaml)
If this is your first pull request, please add your name to the bottom of our Contributors list. Thank you for making Porter better! 🙇♀️
pr created time in 2 days
Pull request review commentdeislabs/porter-pipeline
-# My First Bundle+# Bundle with Workflow -This is an empty bundle that porter has created to get you started!+This is an example bundle that uses the docker mixin along with a GitHub workflow to demonstrate how
I'm wondering if it would be helpful to have "docker mixin" link to the Porter Docker mixin GitHub repo.
Similarly if there is an intro to GitHub Workflows that "GitHub workflow" might link to?
comment created time in 2 days
PR opened deislabs/porter
What does this change
- Updates logic around masking output values. We still regard step outputs as sensitive by default, but this updates step outputs that are also bundle-level outputs to inherit the bundle-level output setting. (Note that bundle-level outputs are not sensitive by default.)
What issue does it fix
N/A
Notes for the reviewer
Checklist
- [x] Unit Tests
- [ ] Documentation
- [ ] Schema (porter.yaml)
If this is your first pull request, please add your name to the bottom of our Contributors list. Thank you for making Porter better! 🙇♀️
pr created time in 5 days
push eventvdice/porter
commit sha 87b2375d85e0670d2d015c3b0e33ca25c3f5fdb8
wip: update azure-terraform bundle; maybe found bug in step outputs? Signed-off-by: Vaughn Dice <[email protected]>
push time in 5 days
push eventvdice/porter
commit sha 6bdaff5f393736ea0d0ac26749e16d18392592fd
fix(runtime-manifest): defer to bundle-level output def sensitivity Signed-off-by: Vaughn Dice <[email protected]>
push time in 5 days
create barnchvdice/porter
branch : fix/defer-to-bundle-level-output-sensitivity
created branch time in 5 days
PR opened deislabs/porter
What does this change
- Fixes output resolution for outputs that are both step- and bundle-level and referenced (templated) in the same step that they are produced
This one was subtle and took me a bit to understand. When an output is both a step- and bundle-level output, if it is referenced (templated) in the same step, the previous mode of resolution (going straight to lookup the wiring parameter env var) always resulted in null, because that wiring parameter env var will only be populated with a value for subsequent actions.
What issue does it fix
N/A, found while testing.
Notes for the reviewer
Checklist
- [x] Unit Tests (integration)
- [ ] Documentation
- [ ] Schema (porter.yaml)
If this is your first pull request, please add your name to the bottom of our Contributors list. Thank you for making Porter better! 🙇♀️
pr created time in 5 days
push eventvdice/porter
commit sha ffbea0bb90fc612fbe53f63ee99e47da4dd29a7f
fix(runtime-manifest.go): fix resolution for step- and bundle-level outputs Signed-off-by: Vaughn Dice <[email protected]>
push time in 5 days
push eventvdice/porter
commit sha 22136bf18281eb6f99870c268861bd47371812c8
yaml for bundle to set up discourse (#1182) * yaml for bundle to set up discourse * Update porter.yaml * add generic porter.yaml to run * delete porter.yaml and edit readme
commit sha 67a491151ba18257ff8e88a70a24b85877f3a3a4
doc to explain github workflow (#1201) * doc to explain github workflow * update porter version * Update docs/content/best-practices/github-workflow.md Co-authored-by: Carolyn Van Slyck <[email protected]> * Update docs/content/best-practices/github-workflow.md Co-authored-by: Carolyn Van Slyck <[email protected]> * Update docs/content/best-practices/github-workflow.md Co-authored-by: Carolyn Van Slyck <[email protected]> * change verbs * fixes * move comments to new lines * update comment * Update docs/content/best-practices/github-workflow.md Co-authored-by: Carolyn Van Slyck <[email protected]> * updates * take out easily Co-authored-by: Carolyn Van Slyck <[email protected]>
commit sha b5e3e34a64af3635505bbd08cca2f7b7be0053d4
ref(*): misc code, comment, docs updates around claims (#1204) Signed-off-by: Vaughn Dice <[email protected]>
commit sha 4fb9f99ee2193529d02e8e65b7354653ed65c147
wip: update azure-terraform bundle; maybe found bug in step outputs? Signed-off-by: Vaughn Dice <[email protected]>
push time in 5 days
startedchris-crone/containerized-go-dev
started time in 5 days
push eventdeislabs/porter
commit sha b5e3e34a64af3635505bbd08cca2f7b7be0053d4
ref(*): misc code, comment, docs updates around claims (#1204) Signed-off-by: Vaughn Dice <[email protected]>
push time in 5 days
PR merged deislabs/porter
What does this change
- Updates code, comments and docs where appropriate re: updated installation record structure
What issue does it fix
Closes https://github.com/deislabs/porter/issues/1105
Notes for the reviewer
Checklist
- [ ] Unit Tests
- [x] Documentation
- [ ] Schema (porter.yaml)
If this is your first pull request, please add your name to the bottom of our Contributors list. Thank you for making Porter better! 🙇♀️
pr closed time in 5 days
issue closeddeislabs/porter
Find any comments about claims and update them to be accurate based on the new implementation of the spec.
closed time in 5 days
carolynvsissue commentdeislabs/porter
Test azure plugin claims migration on a schedule
So would the general outline of the integration test here be:
- Install test bundle with pre-v0.28.0 porter release
- Upgrade test bundle with >= v0.28.0 porter release (2.5: And/or, may have an explicit migrate step per https://github.com/deislabs/porter/issues/1203)
- Verify all is well/expected
- Cleanup
With the following details:
- we can use the current azure plugin code with updated claims support for all the test actions, right? (It supports working with pre- and post-v0.28.0 porter?)
- use a storage account in Canada (supporting tags as req'd by newer version of Azure plugin)
Prereq:
- We can use canary Porter, though we may want an official pre-release/
rc, if v0.28.0 still hasn't been cut when this is worked on
Other notes/details here?
comment created time in 5 days
PR opened deislabs/porter
What does this change
- Updates code, comments and docs where appropriate re: updated installation record structure
What issue does it fix
Closes https://github.com/deislabs/porter/issues/1105
Notes for the reviewer
Checklist
- [ ] Unit Tests
- [x] Documentation
- [ ] Schema (porter.yaml)
If this is your first pull request, please add your name to the bottom of our Contributors list. Thank you for making Porter better! 🙇♀️
pr created time in 5 days
push eventvdice/porter
commit sha 4b90587ddb47a38d463e478a09659f502a91a9d1
ref(*): misc code, comment, docs updates around claims Signed-off-by: Vaughn Dice <[email protected]>
push time in 5 days
push eventvdice/porter
commit sha d1be6ebca9c471370b6ab7dd01209c8eb4020e7a
ref(*): misc code, comment, docs updates around claims Signed-off-by: Vaughn Dice <[email protected]>
push time in 5 days
push eventvdice/porter
commit sha abd756f9bc28447cdb220bd2734db16d321ff3c2
ref(*): misc code, comment, docs updates around claims Signed-off-by: Vaughn Dice <[email protected]>
push time in 5 days
push eventvdice/porter
commit sha 8a7cf7a049fc3cca3a1da3fbb27805d307d225bd
ref(*): misc code, comment, docs updates around claims Signed-off-by: Vaughn Dice <[email protected]>
push time in 5 days
Pull request review commentdeislabs/porter
feat(*): add installation delete options/flags to relevant commands
func TestDependenciesLifecycle(t *testing.T) { invokeWordpressBundle(p, namespace) uninstallWordpressBundle(p, namespace)++ noReallyUninstallWordpressBundle(p, namespace)
(I updated cleanupWordpressBundle w/ uninstall+delete logic in https://github.com/deislabs/porter/pull/1189/commits/6af718a9446dbd9c99821092c06f89822c553dde)
comment created time in 8 days
push eventvdice/porter
commit sha 6af718a9446dbd9c99821092c06f89822c553dde
update dependencies_test.go Signed-off-by: Vaughn Dice <[email protected]>
push time in 8 days
push eventvdice/porter
commit sha b3722d007654f49e9a8bc84782b5e0de02f28c5f
fix(*): add logic to better determine if a param is internal to Porter Signed-off-by: Vaughn Dice <[email protected]>
push time in 9 days
PR opened deislabs/porter
What does this change
- Adds/refactors logic to enable determining if a parameter is internal to Porter across the codebase
What issue does it fix
Now that Porter's list of internal parameters can grow beyond the classic "porter-debug", thanks to the handy parameter sources work, we needed a better way to track these so that they are hidden on porter explain, not eligible for generation in porter parameters generate, etc.
Notes for the reviewer
The approach in this fix is to designate parameters as internal via adding a standardized comment to the $comment field of the parameter's definition schema. This seemed a less fragile route than to try to manage a slice/map in memory. Are there any potential issue(s) with the approach used?
Checklist
- [x] Unit Tests
- [ ] Documentation
- [ ] Schema (porter.yaml)
If this is your first pull request, please add your name to the bottom of our Contributors list. Thank you for making Porter better! 🙇♀️
pr created time in 9 days
push eventvdice/porter
commit sha cf67a04a269f50f664d0164b7e8e11fb5c771e4c
fix(*): add logic to better determine if a param is internal to Porter Signed-off-by: Vaughn Dice <[email protected]>
push time in 9 days
push eventvdice/porter
commit sha 9baafbd524d1f3922916e871e7c296c05a1dbd24
fix(*): add logic to better determine if a param is internal to Porter Signed-off-by: Vaughn Dice <[email protected]>
push time in 9 days
push eventvdice/porter
commit sha 8c6dee90e97ea0d66f4baba6ae05a14558e9a425
fix(*): add logic to better determine if a param is internal to Porter Signed-off-by: Vaughn Dice <[email protected]>
push time in 9 days
Pull request review commentdeislabs/porter
feat(*): add installation delete options/flags to relevant commands
func TestDependenciesLifecycle(t *testing.T) { invokeWordpressBundle(p, namespace) uninstallWordpressBundle(p, namespace)++ noReallyUninstallWordpressBundle(p, namespace)
Oh, I just realized, should I just place this uninstall+delete logic into cleanupWordpressBundle? Or keep it separate?
comment created time in 9 days
Pull request review commentdeislabs/porter
feat(*): add installation delete options/flags to relevant commands
func (p *Porter) UninstallBundle(opts UninstallOptions) error { return err } + var uninstallErrs error fmt.Fprintf(p.Out, "uninstalling %s...\n", opts.Name) err = p.CNAB.Execute(opts.ToActionArgs(deperator)) if err != nil {+ uninstallErrs = multierror.Append(uninstallErrs, err)+ if strings.Contains(err.Error(), claim.ErrInstallationNotFound.Error()) {+ return uninstallErrs+ }+ if len(deperator.deps) > 0 {- return errors.Wrapf(err, "failed to uninstall the %s bundle, the remaining dependencies were not uninstalled", opts.Name)- } else {- return err+ uninstallErrs = multierror.Append(uninstallErrs,+ fmt.Errorf("failed to uninstall the %s bundle, the remaining dependencies were not uninstalled", opts.Name))+ }++ if opts.Delete && !opts.ForceDelete {+ uninstallErrs = multierror.Append(uninstallErrs, fmt.Errorf("not deleting installation %s as uninstall was not successful; use --force-delete to override", opts.Name)) }+ if !opts.ForceDelete {+ return uninstallErrs+ }+ // else, we swallow uninstallErrs as opts.ForceDelete is true+ // and we wish to pass same option down to deps, if applicable } // TODO: See https://github.com/deislabs/porter/issues/465 for flag to allow keeping around the dependencies- return deperator.Execute()+ err = deperator.Execute()+ if err != nil {
Ok, refactored for a bit of simplification... or at least some shared logic. Not sure if better, but perhaps it might generate some further ideas: https://github.com/deislabs/porter/pull/1189/commits/dd5dd04dba74654b626a5ccf92eec5ebcc52b1b3
comment created time in 9 days
push eventvdice/porter
commit sha dd5dd04dba74654b626a5ccf92eec5ebcc52b1b3
refactor the parent/dep uninstall scenarios Signed-off-by: Vaughn Dice <[email protected]>
push time in 9 days
Pull request review commentdeislabs/porter
feat(*): add installation delete options/flags to relevant commands
func (p *Porter) UninstallBundle(opts UninstallOptions) error { return err } + var uninstallErrs error fmt.Fprintf(p.Out, "uninstalling %s...\n", opts.Name) err = p.CNAB.Execute(opts.ToActionArgs(deperator)) if err != nil {+ uninstallErrs = multierror.Append(uninstallErrs, err)+ if strings.Contains(err.Error(), claim.ErrInstallationNotFound.Error()) {+ return uninstallErrs+ }+ if len(deperator.deps) > 0 {- return errors.Wrapf(err, "failed to uninstall the %s bundle, the remaining dependencies were not uninstalled", opts.Name)- } else {- return err+ uninstallErrs = multierror.Append(uninstallErrs,+ fmt.Errorf("failed to uninstall the %s bundle, the remaining dependencies were not uninstalled", opts.Name))+ }++ if opts.Delete && !opts.ForceDelete {+ uninstallErrs = multierror.Append(uninstallErrs, fmt.Errorf("not deleting installation %s as uninstall was not successful; use --force-delete to override", opts.Name)) }+ if !opts.ForceDelete {+ return uninstallErrs+ }+ // else, we swallow uninstallErrs as opts.ForceDelete is true+ // and we wish to pass same option down to deps, if applicable } // TODO: See https://github.com/deislabs/porter/issues/465 for flag to allow keeping around the dependencies- return deperator.Execute()+ err = deperator.Execute()+ if err != nil {
(Still working on this one...)
comment created time in 9 days
push eventvdice/porter
commit sha c26287d95cc0e77c9d1d28276f236ce04d6dec96
fix check for GOPATH/bin (#1186)
commit sha 60bff7b58cd0da6b8ed5dee267020d3c417e979f
chore(build): remove brigade assets Signed-off-by: Vaughn Dice <[email protected]>
commit sha 95183419d4da898f13d92eef2107c68e50b6931d
Merge pull request #1191 from vdice/chore/rm-brigade chore(build): remove brigade assets
commit sha 4d46a6701ade39df505638119c2945df778cff1b
Bump cnab-go v0.13.3 Update cnab-go to get fix for Fix error listing outputs when bundle definition changed #226
commit sha b0378644fd84dd11b53a87cfcb639655fcc787a3
Merge pull request #1194 from carolynvs/bump-cnab Bump cnab-go v0.13.3
commit sha 216ed252002bf31eba651a55c84061147d20e6bf
fix(Makefile): update sed command for compat w/ Mac/BSD sed (#1184) Signed-off-by: Vaughn Dice <[email protected]>
commit sha 71f72a355db020dff09e1627bc66af013cd0b17e
ref(archive): update archive command to require --tag (#1195)
commit sha 4ffa614ca953a2153a37dba5601b82e501483129
Ensure tag flags are applied consistently All commands that have --tag should also have --force and --insecure-registry (except publish which doesn't have --force because it's not pulling). Define the flags in a single location so that we can make sure they are consistntly applied to commands that support --tag.
commit sha 262f2d9c1cff3f9944c6b1c534aa0e84347fca88
Show in debug when we are pulling a bundle and if it's insecure
commit sha 28b82cdfb9bcdcf323cb30d7d8a68580cb4d31fa
Merge pull request #1196 from carolynvs/insecure-reg Ensure tag flags are applied consistently
commit sha 5171d6d83db0ced64a08381a5587bb0fecd34489
feat(*): add installation delete options/flags to relevant commands Signed-off-by: Vaughn Dice <[email protected]>
commit sha 75d3a76864e4b3c2c85909327b510498f4ac080b
Apply suggestions from code review Co-authored-by: Carolyn Van Slyck <[email protected]>
commit sha faf83f58c329066d8c82c324074a85c5da21469f
incorporate add'l review feedback Signed-off-by: Vaughn Dice <[email protected]>
commit sha 29d0a325eaf022b661801213e7b3e149f9d8fa1c
add'l review feedback Signed-off-by: Vaughn Dice <[email protected]>
push time in 9 days
push eventvdice/porter
commit sha ccebc29a8a663098da696068b5a59e7071e18fdb
add'l review feedback Signed-off-by: Vaughn Dice <[email protected]>
push time in 9 days
push eventvdice/cnab-go
commit sha 8ad516f4ea9cf4c3af9a274ddbc664d7fcbb184f
feat(docker): add verification of image digest(s) Signed-off-by: Vaughn Dice <[email protected]>
push time in 10 days
push eventvdice/cnab-go
commit sha 78117b5446cc99e3779db0497387dad598ea429f
feat(docker): add verification of image digest(s) Signed-off-by: Vaughn Dice <[email protected]>
push time in 10 days
push eventvdice/cnab-go
commit sha 4971735c2fe8f5eaa491211a4eb4b91d6b9ab198
feat(docker): add verification of image digest(s) Signed-off-by: Vaughn Dice <[email protected]>
push time in 10 days
push eventvdice/cnab-go
commit sha 990b0b8a9c531657838d88e72d5b3aad23358a48
feat(docker): add verification of image digest(s) Signed-off-by: Vaughn Dice <[email protected]>
push time in 10 days
push eventvdice/cnab-go
commit sha 55b2bab374081281a8424f521a182008c4f06b6e
feat(docker): add verification of image digest(s) Signed-off-by: Vaughn Dice <[email protected]>
push time in 10 days
push eventvdice/cnab-go
commit sha 473d6296ef9cd38a8c355182e45bc9bd7b78482b
feat(docker): add verification of image digest(s) Signed-off-by: Vaughn Dice <[email protected]>
push time in 10 days
push eventvdice/cnab-go
commit sha d0fed55a7ba8b458e6806421e3960ac03c997e99
feat(docker): add verification of image digest(s) Signed-off-by: Vaughn Dice <[email protected]>
push time in 10 days
PR opened cnabio/cnab-go
- Adds invocation image digest verification per the CNAB Spec to the Docker driver.
The specific part of the spec that this PR currently implements is the following line:
If a contentDigest field is present, a runtime MUST validate the image digest prior to executing an action.
I didn't see how this would be done generically, e.g. outside of specific driver implementations, hence implementing it on the Docker driver only. Am I right here? If so, perhaps a follow-up could implement similar in the kubernetes driver.
Note some remaining TODOs/Qs inline. Feel free to respond/answer in the form of code review comments.
pr created time in 10 days
push eventvdice/cnab-go
commit sha 0acfd2a26209a829576a78115cdd7438c7faae9e
feat(docker): add verification of image digest(s) Signed-off-by: Vaughn Dice <[email protected]>
push time in 10 days
PR opened deislabs/porter
What does this change
- Ignores the Porter manifest in the current directory, if exists, when
porter <action> --cnab-file bundle.jsonis invoked
What issue does it fix
N/A, encountered while testing
Notes for the reviewer
N/A
Checklist
- [x] Unit Tests
- [ ] Documentation
- [ ] Schema (porter.yaml)
If this is your first pull request, please add your name to the bottom of our Contributors list. Thank you for making Porter better! 🙇♀️
pr created time in 10 days
issue openeddeislabs/porter
Add dependency listing to porter explain
Is your feature request related to a problem? Please describe.
porter explain is a great way to see an overview of a bundle, with listings of parameters, credentials, outputs, etc.
It would be nice to also see a listing of dependencies if the bundle being explained declares them.
Describe the solution you'd like
A listing of dependencies shown on porter explain when applicable
Describe alternatives you've considered n/a
Additional context n/a
created time in 10 days
push eventdeislabs/porter
commit sha 71f72a355db020dff09e1627bc66af013cd0b17e
ref(archive): update archive command to require --tag (#1195)
push time in 10 days
PR merged deislabs/porter
What does this change
- Updates the archive command to require a bundle tag (and remove the local options)
What issue does it fix
Closes https://github.com/deislabs/porter/issues/1100 Closes https://github.com/deislabs/porter/issues/697
Notes for the reviewer
- Do we want to add further color in the documentation around why publishing is required first? (e.g. CNAB Spec requires contentDigests for all images)
Checklist
- [x] Unit Tests
- [x] Documentation
- [x] Schema (porter.yaml) N/A
If this is your first pull request, please add your name to the bottom of our Contributors list. Thank you for making Porter better! 🙇♀️
pr closed time in 10 days
issue closeddeislabs/porter
Porter archive on bundle that has yet to be published
Describe the bug
porter archive mybuns.tgz will fail if the invocation image hasn't been published yet
To Reproduce
Steps to reproduce the behavior:
- Run
porter archive mybuns.tgzfor a bundle using an invocation image that hasn't yet been published - See error similar to:
Error: Error preparing artifacts: MANIFEST_UNKNOWN: manifest unknown; map[Tag:0.1.0]
Expected behavior
porter archive mybuns.tgz should finish successfully
Perhaps we ensure porter publish is called first in this scenario? This would push the invocation image and bundle.json. Or, perhaps we only push the invocation image.
Porter Command and Output
$ porter archive basic-tf.tgz
Error: Error preparing artifacts: MANIFEST_UNKNOWN: manifest unknown; map[Tag:0.1.0]
Version
Copy the output of porter version below
porter v0.17.0-beta.1-20-g6b882e0 (6b882e0)
closed time in 10 days
vdiceissue closeddeislabs/porter
Content Digest for invocation image is missing when archiving from filesystem
Describe the bug
When I archive a bundle using the local porter bundle on the file system as a source, it does not include the invocation image's content digest.
If I run porter publish && porter archive --tag myorg/mybundle:v1.0 mybundle.tgz it works because pushing the bundle is the only way to get a content digest.
To Reproduce
- Create a bundle
porter create - Run
porter archive mybundle.tgz - Extract the bundle to inspect the bundle.json,
mkdir mybundle tar -C mybundle -xzf mybundle.tgz vim mybundle/bundle.json
Expected behavior
The invocationImage in the bundle.json should have a content digest. But it doesn't because the bundle hasn't been published, and the content digest is a repository digest that can only be generated by pushing the bundle to a registry first.
A few things need to happen to fix this:
- porter publish needs to update the local .cnab/bundle.json copy with the content digest
- We either need to disallow archive from the filesystem (i.e. only allow archiving from a --tag) or check if our local .cnab/bundle.json has a content digest and if not, error out requesting that they publish first.
Version
porter v0.26.3-beta.1
closed time in 10 days
carolynvsissue commentbrigadecore/brigade
Vacuum doesn't delete resources for completed builds.
Thanks for trying the upgrade approach. Can we try the previous release of the vacuum via setting the tag to v1.3.0 in the values file here and upgrading the brigade release? It's a longshot, but could be worth the low effort to check.
All of the worker secrets/pods are in the same (probably default) namespace that the vacuum is configured with, right?
comment created time in 10 days
push eventdeislabs/porter
commit sha 216ed252002bf31eba651a55c84061147d20e6bf
fix(Makefile): update sed command for compat w/ Mac/BSD sed (#1184) Signed-off-by: Vaughn Dice <[email protected]>
push time in 10 days
PR merged deislabs/porter
What does this change
- Updates the
sedcommand (used by theinit-porter-home-for-cimake target) to be Mac OSX/BSD-friendly
What issue does it fix
N/A
Notes for the reviewer
Hoping for confirmation that this works by @donmstewart when convenient :)
Checklist
- [ ] Unit Tests
- [ ] Documentation
- [ ] Schema (porter.yaml)
If this is your first pull request, please add your name to the bottom of our Contributors list. Thank you for making Porter better! 🙇♀️
pr closed time in 10 days
push eventvdice/cnab-go
commit sha ebcb30df12acbeda0bc3ee63a1bfdc8d5502a351
wip: add verification of image digest(s) TODO: - [ ] add to kubernetes driver as well? Signed-off-by: Vaughn Dice <[email protected]>
push time in 11 days
push eventvdice/cnab-go
commit sha f88dbaeee3ca7cec1794892e19b1bf59085e0828
wip: add verification of image digest(s) Signed-off-by: Vaughn Dice <[email protected]>
push time in 11 days
push eventvdice/cnab-go
commit sha d647cb6136b5c971c920c533498ff9294c1e63fd
wip: add verification of image digest(s) Signed-off-by: Vaughn Dice <[email protected]>
push time in 11 days
push eventvdice/cnab-go
commit sha 51053b9a4c330ff41a74dd7d5867e298d9cbdcb1
wip: add verification of image digest(s) Signed-off-by: Vaughn Dice <[email protected]>
push time in 11 days