Commit graph

4049 commits

Author SHA1 Message Date
Paul Stack
27e6ee2097
Build against go1.12.9 (#3200)
We are not taking on the jump to 1.13 in this commit - it can be a
followup
2019-09-09 22:54:12 +03:00
Paul Stack
8d1b725840
GH-2319: Increase the grpc.MaxCallRecvMsgSize (#3201)
Fixes: #2319

In #2319, a user is hitting the gRPC limit on the message size the
server can receive when uploading ec2 user-data

This commit doubles the limit that can be sent from `1024*1024*4` to
`1024*1024*8`
2019-09-09 21:31:54 +03:00
Matt Ellis
32ac67e6bc Remove the need for pandoc during the build
We had been using `pandoc` to convert our README.md into a README.rst
for use with `setup.py` and the python package ecosystem. It turns out
that we can use markdown if we set a content type. So let's do that
and make things a little simpler.

While I was in the area, I made the encoding of UTF-8 explicit when
opening README.md.
2019-09-09 11:15:42 -07:00
Pat Gavlin
38876d64f0
Ignore reads in HasChanges. (#3197)
This matches the behavior of the display logic, which does not consider
reads to be changes. This also matches the expectation of tests that
pass `--expect-no-changes` (and likely user intuition).
2019-09-06 22:10:34 -07:00
Luke Hoban
801f1bbf45 Reduce use of magic strings 2019-09-06 17:45:00 -07:00
Luke Hoban
ad287b844b Add CHANGELOG 2019-09-06 17:19:31 -07:00
Luke Hoban
d55964e545 Fixes #3189. 2019-09-06 17:15:46 -07:00
David McKay
2c40d5bc76 fix: Cloud Based Secret Encryption with File Based State
The code forced the secret backend to be passphrase when using a
`filestate.Backend`, which means you can't use GCP/AWS/Azure KMS with
a cloud bucket state storage.

This PR removes that check and only forces passphrase storage when
explicitly set.
2019-09-06 17:15:46 -07:00
Pat Gavlin
b7404f202e
Expose update events to ExtraRuntimeValidation. (#3160)
* Add the ability to log all engine events to a file.

The path to the file can be specified using the `--event-log` flag to
the CLI. The file will be truncated if it exists. Events are written as
a list of JSON values using the schema described by `pkg/apitype`.

* Expose update engine events to ExtraRuntimeValidation.

Just what it says on the tin. Events from previews are not exposed.
2019-09-06 17:07:54 -07:00
Pat Gavlin
48c8ea1e8a
Do not drop unhandled exceptions in Python (#3170)
- Do not use a non-zero-to-zero transition in the number of outstanding
  RPCs to determine the completion of a Python program until after the
  synchronous piece of the program has finished running is complete
- Instead of using a future to indicate that either a) a zero-to-one
  transition in the number of outstanding RPCs has occurred, or b) an
  unhandled exception has occurred, a) observe the transition itself,
  and b) use an optional exception field to track the presence or
  absence of an exception.

Fixes #3162.
2019-09-06 13:53:07 -07:00
Matt Ellis
685b30b685 Ignore plugins which are being installed
When installing plugins, we download the plugin into a temporary
folder, unpack it and then move that folder into its final
location (as an atomic operation). We do this so that if the download
fails in some way, we would not "poision" our plugin cache.

In order to ensure the move into the final location happens
atomically, we download the plugin into a folder with a `.tmpXXXXXX`
suffix inside the plugin root itself.  However, we were not ignoring
this folder when enumarating plugins. This would cause some weird
behaviors:

- When a plugin was being installed `pulumi plugin ls` would show a
plugin with a version like `v1.0.0-rc.1.tmp123456`.

- For cases where the version of the plugin had applied
metadata (e.g. our alpha builds where we append the commit hash to the
version via `+gACBDEF123`) the `.tmpXXXXXX` suffix was considered part
of the build metadata. This would mean we could actually end up
selecting these plugins and trying to run them, which was not going to
work correctly (since they are in the process of being
downloaded). Because the way to hit this was using a dev release while
also trying to run a another program that used the same plugin, it was
unlikely that customers would hit this, but we would see this from
time to time in CI, where we run many pulumi programs at the same
time (the `examples` repo is one case where we'd often hit it).

Fixes: #1353
2019-09-06 13:49:57 -07:00
Pat Gavlin
9df29893ba
Build new docs when publishing tagged releases. (#3181)
These changes wire up a new script that clones
https://github.com/pulumi/docs, regenerates the appropriate parts of the
docs site, and opens a pull request with the changes. This script
executes on any build in which we publish packages that _also_ has a tag
present.
2019-09-05 12:20:48 -07:00
Pat Gavlin
6ea8b3b3dd
Update CHANGELOG for 1.0.0 (#3177) 2019-09-03 15:28:51 -07:00
Paul Stack
b54a1902cc
Exclude stack owner from stackname when using CloudStorage (#3169)
This was causing an error as follows:

```
error: could not create stack: validating stack properties: invalid stack name: a stack name may only contain alphanumeric, hyphens, underscores, or periods
```
2019-09-02 19:29:45 +03:00
Alex Clemmer
d033576348 Include pulumi-analyzer-policy in Windows releases 2019-08-30 20:46:39 -07:00
Alex Clemmer
261b69ae6a Requite debug env var for --policy-pack
Fixes https://github.com/pulumi/pulumi-policy/issues/89.
2019-08-29 10:49:11 -07:00
Matt Ellis
809c91c004 Update CHANGELOG for 1.0.0-rc.1 2019-08-28 13:54:57 -07:00
Matt Ellis
fe32c1eb61
Merge pull request #3155 from pulumi/ellismg/update-baselines
Update baselines to react to TypeScript 3.6.2
2019-08-28 13:52:19 -07:00
Matt Ellis
67f6d4d7e5 Update baseline for a previously failing test
Change is 3.6.2 of typescript have caused their code generation to no
longer emit a call to `this` inside an arrow function, so this test is
no longer causing an error to be thrown.

For now, just accept the baseline, but I'll file an issue so we can
actually get a real failing test here.
2019-08-28 13:18:28 -07:00
Matt Ellis
e9fc96d4dc Update baselines for Typescript 3.6.2
TypeScript has changed the way the generate some code, and so we must
update our baselines to adapt.
2019-08-28 13:17:47 -07:00
CyrusNajmabadi
015bada975 Add more details to an assert (#3129)
Since we don't fully understand what was causing the assert to file,
instead of making changes to return an error when there are equal
plugins, keep the shape of the existing code and just do the work we
need to do to ensure that the assert message has actionable data for
us to look at.
2019-08-28 11:28:04 -07:00
Luke Hoban
f0a24079ce
Filter the list of templates shown by default (#3147)
If any templates are marked as `Important: true` then by default show only those templates along with an option to see additional templates.

Fixes #3094.
2019-08-27 17:56:49 -07:00
Luke Hoban
47dc3cfb8b
Print a Welcome to Pulumi message (#3145)
Present a warm welcome to users when they interactively login.

Also use this as an opportunity to present a "Tip of the Day" - which for now we will use to highlight auto-naming as this has been a common new user question.
2019-08-27 17:19:35 -07:00
Joe Duffy
113c96fd15
Shrink the Get Started button slightly (#3149) 2019-08-27 09:01:01 -07:00
Joe Duffy
a4d44189f1
Add a Get Started CTA button to the README (#3143) 2019-08-27 08:27:56 -07:00
Joe Duffy
a687f81575
Update the tagline in our CLI (#3141) 2019-08-26 20:24:00 -07:00
Joe Duffy
2b48611d9c
Don't encourage PULUMI_TEST_MODE (#3146)
We intend to replace PULUMI_TEST_MODE with better testing support
that doesn't suffer from all the pitfalls of our current approach.
Unfortunately, we don't yet have complete guidance or validation
that the new approaches will work for all existing end users. So,
until we do, we'll take a lighter touch approach here, and simply
not encourage new usage of PULUMI_TEST_MODE.

Issue #3045 will remain open to track a mroe permanent fix.
2019-08-26 18:49:13 -07:00
Alex Clemmer
99d70e4610 Introduce MarshalOptions.{RejectAsset, RejectArchive}
Not all resource providers support Pulumi's Asset and Archive types. In
particular, the Kubernetes provider should reject any resource
definition that contains either of these types.

This commit will introduce two MarshalOptions that will make it easy for
the Kubernetes provider to guarantee that no properties of this type are
in a resource request, as it's deserializing the request from the
engine.
2019-08-26 15:19:14 -07:00
Matt Ellis
5188232afa
Merge pull request #3135 from pulumi/ellismg/use-pip-install-not-pienv-install
Use pip and not pipenv for installing dependencies during testing
2019-08-23 17:58:06 -07:00
Matt Ellis
431413dcbb Add requirements.txt to all test projects
We don't actually depend on anything right now because all of these
tests just depend on `pulumi` which is installed as an editable
package.
2019-08-23 15:02:58 -07:00
Pat Gavlin
2455564ddc
Allow IDs to change during import. (#3133)
This is necessary for resources like `aws.ec2.RouteTableAssociation`.

Part of https://github.com/pulumi/pulumi-aws/issues/708.
2019-08-23 15:00:24 -07:00
Justin Van Patten
0cb850ff9c
Remove expanded_url from the command that generate docs (#3134)
As of the new TOC, `expanded_url` isn't a thing anymore, so no need to emit it when generating command docs.
2019-08-23 14:26:40 -07:00
Matt Ellis
ec6abd84d1 Use pip and not pipenv for installing dependencies during testing
This matches what we tell our customers to do and makes some
downstream testing stuff for beta versions of our python packages
easier (since `pip` has a more straightforward package selection
algorithm than `pipenv`)
2019-08-23 13:48:09 -07:00
Mikhail Shilkov
1a93049e71 Swap names of the tests 2019-08-23 19:08:57 +02:00
Mikhail Shilkov
17b55ef96e Restore the missing helper function 2019-08-23 19:08:57 +02:00
Mikhail Shilkov
7e7fc01d5b Refactor broken tests 2019-08-23 19:08:57 +02:00
Mikhail Shilkov
a2769f385e Format 2019-08-23 14:45:29 +02:00
Mikhail Shilkov
6ac9770a46 Linter 2019-08-23 14:45:29 +02:00
Mikhail Shilkov
273ade2ac0 Parameterize the progress function with a message 2019-08-23 14:45:29 +02:00
Mikhail Shilkov
370047bbb6 Show a progress bar for plugin installation during pulumi up 2019-08-23 14:45:29 +02:00
Mikhail Shilkov
ccc7ec145a Extend the test suite 2019-08-23 09:09:54 +02:00
Mikhail Shilkov
c270204387 Check project existence during pulumi new 2019-08-23 09:09:54 +02:00
Mikhail Shilkov
c88fcc4fb3 Review comment 2019-08-23 08:40:31 +02:00
Mikhail Shilkov
b8aff4dfbd Add a hint about stack rm after successful destroy 2019-08-23 08:40:31 +02:00
Chris Smith
eb0934970c
Add support for filtering stacks by organization, tag (#3108)
* Add support for filtering stacks by organization, tag

* Update CHANGELOG.md

* Address PR feedback

* Address even more PR feedback

* Support empty-string filters
2019-08-22 13:56:43 -07:00
Matt Ellis
e349f3c094 Fix stack reference issue when running on a pre -beta.3 CLI
In #3071 we made change to the built in provider for `StackReference`
to return additional data about the names of outputs which were
secrets.  The SDKs uses this information to decide if it should mark a
stack output as secret when returning it's value from `getOutput`.

When using an older CLI which does not report this data, we hit an
error:

```
 TypeError: Cannot read property 'outputs' of undefined
```

This was caused by a refactoring error where we extracted a private
helper out of the StackReference class, but neglected to change one
instance of `this` to `sr`. While we do have tests that exercise this
feature, we would only see this bug when using an older CLI, and we
don't have automated tests here that use the neweset `@pulumi/pulumi`
with an older `pulumi` CLI
2019-08-22 11:55:02 -07:00
Matt Ellis
7696ed8e94 Prepare for 1.0.0-beta.3 release 2019-08-21 10:33:33 -07:00
Pat Gavlin
42fc75fffe
Fail read steps with missing resources. (#3123)
Just what it says on the tin.

Fixes #262.
2019-08-21 10:09:02 -07:00
CyrusNajmabadi
590114497e
Simplify merge code. (#3122) 2019-08-20 17:09:53 -07:00
Pat Gavlin
8745440c1b
Allow users to explicitly disable delete-before-replace. (#3118)
With these changes, a user may explicitly set `deleteBeforeReplace` to
`false` in order to disable DBR behavior for a particular resource. This
is the SDK + CLI escape hatch for cases where the changes in
https://github.com/pulumi/pulumi-terraform/pull/465 cause undesirable
behavior.
2019-08-20 15:51:02 -07:00