Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Programming model reorganization #4707

Merged
merged 14 commits into from Feb 3, 2021
Merged

Conversation

spara
Copy link
Contributor

@spara spara commented Dec 2, 2020

Reorganize the programming model to make to make it more accessible.

The material has been reorganized to present the Pulumi concepts with definitions first and provide a high level overview how the pieces work together. This is different from the current model where users are stepped through the process while introducing the concepts. The content has been divided into sections to make it easier to maintain the document.

Update: See follow up comment on changes. The content in this PR is now ready for review.

@github-actions
Copy link

github-actions bot commented Dec 3, 2020

Your site preview for commit ed1c1e9 is ready! 🎉

http://pulumi-docs-origin-pr-4707-ed1c1e9e.s3-website.us-west-2.amazonaws.com.

Copy link

@pulumi pulumi bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🍹 The Update (preview) for stack pulumi/www.pulumi.com/production was successful.

Resource Changes

    Name                  Type                                      Operation
~   cdn                   aws:cloudfront/distribution:Distribution  update
~   www.pulumi.com        aws:route53/record:Record                 update
*   origin-bucket-policy  aws:s3/bucketPolicy:BucketPolicy          replaced

Copy link
Contributor

@davidwrede davidwrede left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI: I'm going through and batching up my reviews per topic (starting with the programming model topic) to help keep discussions focused.

content/docs/intro/concepts/programming-model.md Outdated Show resolved Hide resolved
content/docs/intro/concepts/programming-model.md Outdated Show resolved Hide resolved
content/docs/intro/concepts/programming-model.md Outdated Show resolved Hide resolved
content/docs/intro/concepts/programming-model.md Outdated Show resolved Hide resolved
content/docs/intro/concepts/programming-model.md Outdated Show resolved Hide resolved
content/docs/intro/concepts/programming-model.md Outdated Show resolved Hide resolved
content/docs/intro/concepts/programming-model.md Outdated Show resolved Hide resolved
content/docs/intro/concepts/programming-model.md Outdated Show resolved Hide resolved
content/docs/intro/concepts/programming-model.md Outdated Show resolved Hide resolved
content/docs/intro/concepts/programming-model.md Outdated Show resolved Hide resolved
@github-actions
Copy link

github-actions bot commented Dec 8, 2020

Your site preview for commit 57a8d1e is ready! 🎉

http://pulumi-docs-origin-pr-4707-57a8d1e2.s3-website.us-west-2.amazonaws.com.

Copy link

@pulumi pulumi bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🍹 The Update (preview) for stack pulumi/www.pulumi.com/production was successful.

Resource Changes

    Name                  Type                                      Operation
~   www.pulumi.com        aws:route53/record:Record                 update
*   origin-bucket-policy  aws:s3/bucketPolicy:BucketPolicy          replaced
~   cdn                   aws:cloudfront/distribution:Distribution  update

@davidwrede davidwrede force-pushed the spara/programming-model-rewrite branch from 57a8d1e to eba9bc5 Compare January 11, 2021 20:49
@davidwrede
Copy link
Contributor

davidwrede commented Jan 11, 2021

Changes in this PR include the following:

  • Programming Model topic has been completely refactored out into sub pages with overview material living at the root "Architecture and Concepts" landing page. See Regen docs azure@v3.41.0 #4850.
  • Like content has been refactored and grouped together. For example, both the old Programming Model topic and the Config & Secrets topic each talked about configuration. Also, each topic also talked about secrets. All configuration content now lives in the Config topic and a new Secrets topic was created to contain all secrets content. See Split /docs/intro/concepts/config/ into /config and /secrets #4585.
  • As a start to move reference material out of the Programming Model topic, existing pulumi.yaml reference content was moved into it's own topic under "Reference".
  • Redirect for API ref and tutorial anchor links (i.e. programming-model#outputs). [TODO: PR for upstream link changes to point to new file locations.]

@github-actions
Copy link

Your site preview for commit eba9bc5 is ready! 🎉

http://pulumi-docs-origin-pr-4707-eba9bc56.s3-website.us-west-2.amazonaws.com.

Copy link

@pulumi pulumi bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🍹 The Update (preview) for stack pulumi/www.pulumi.com/production was successful.

Resource Changes

    Name                  Type                                      Operation
*   origin-bucket-policy  aws:s3/bucketPolicy:BucketPolicy          replaced
~   cdn                   aws:cloudfront/distribution:Distribution  update
~   www.pulumi.com        aws:route53/record:Record                 update

@davidwrede davidwrede force-pushed the spara/programming-model-rewrite branch from eba9bc5 to 34197c9 Compare January 12, 2021 21:28
@davidwrede davidwrede marked this pull request as ready for review January 12, 2021 21:33
@davidwrede davidwrede changed the title DRAFT: Programming model reorganization Programming model reorganization Jan 12, 2021
@github-actions
Copy link

Your site preview for commit 34197c9 is ready! 🎉

http://pulumi-docs-origin-pr-4707-34197c9a.s3-website.us-west-2.amazonaws.com.

Copy link

@pulumi pulumi bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🍹 The Update (preview) for stack pulumi/www.pulumi.com/production was successful.

Resource Changes

    Name                  Type                                      Operation
~   cdn                   aws:cloudfront/distribution:Distribution  update
~   www.pulumi.com        aws:route53/record:Record                 update
*   origin-bucket-policy  aws:s3/bucketPolicy:BucketPolicy          replaced

@cnunciato
Copy link
Member

cnunciato commented Jan 13, 2021

@davidwrede How intentional is the ordering of the items under Architecture & Concepts? I only ask because I'm so used to seeing Projects, Stacks, Config and Secrets all clustered together (and they make conceptual sense ordered in that way, and you can mostly read them in that order -- with the exception of Programming Model of course, which is much more complex) -- whereas here, the ordering isn't quite as clear to me. Again, I'm probably just so used to seeing it the way it is now that I'm not seeing the intent behind the new presentation, so if you could shed a little light, that might help.

@davidwrede
Copy link
Contributor

It's fairly intentional, but open for debate. :)

The existing left nav items are listed in the order you stated; however, within the programming model topic it goes in a different order (i.e. Resources (both custom and component), Inputs and Outputs, then Secrets, Config, etc.). Since this PR is about refactoring content out of the Programming Model topic and putting like content together, I had to try and figure out which structure to use. The result is a meld of both organizational structures together mixed with how I felt the order should be for a new reader (i.e. it feels like you need to talk about resources before talking about stacks or configuration, for instance). The order is also reinforced via the diagram (and the text below the diagram) on the Architecture & Concepts page.

So, if the order doesn't make sense (or needs tweaking), I'm open to changing it, but I'd like the new ordering to follow the same convention of organizational reinforcement in the left nav, diagram, etc...or at least as close as possible.

Copy link
Member

@lukehoban lukehoban left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A first pass of feedback. Great to see the progress here!

A high level comment on the changes, which I noticed from several points of view as I started reviewing this.

Previously - the Programming Model topic was at least logically an overview of the programming model - the code you write in a Pulumi program to accomplish various things. It was effectively the reference docs for the core @pulumi/pulumi SDK. That fact had already been a little obscured by the addition of the https://www.pulumi.com/docs/intro/concepts/programming-model/#programs section at the top of that page - but the bulk of the content in the page which was under https://www.pulumi.com/docs/intro/concepts/programming-model/#pulumipulumi in the nav was documentation of the core SDK. Any change to the core Pulumi SDK required updating this page, and any question about code you write to accomplish something in Pulumi was answered in this page.

Other pages in the architecture and reference section covered other things that weren't part of the SDK directly - like Project, Stacks, Backends, etc. These all cross-referenced the relevant docs in the SDK and vice versa. Changes to the CLI generally required updating these docs.

In the rewrite here - the SDK documentation has gotten mixed in with conceptual documentation. There are pros can cons to that - though on balance I'm inclined to agree it's a good thing. Many of my points below are ultimately related to how this change leads us to maybe rethink things about content in this section.

How intentional is the ordering of the items under Architecture & Concepts?

I similarly found the TOC a little awkward. Some of that is a natural consequence of the structural change noted above - though I think we can likely map things such that this still works well. I personally like the order in the current Programming Model TOC - but it needs to be augmented here with some of the non-programming-model topics. My suggestion would be:

  • Projects
  • Stacks
  • State and Backends
  • Resources
  • Components
  • Inputs and Outputs
  • Config
  • Secrets
  • Assets and Archives
  • Runtime Functions

(and moving or rethinking "How Pulumi Deploys Infrastructure" and "Organizing Projects and Stacks" as noted in other comments)

content/blog/automation-api-workflow/index.md Outdated Show resolved Hide resolved
content/docs/intro/concepts/_index.md Outdated Show resolved Hide resolved
content/docs/intro/concepts/_index.md Outdated Show resolved Hide resolved
content/docs/intro/concepts/_index.md Outdated Show resolved Hide resolved
content/docs/intro/concepts/_index.md Outdated Show resolved Hide resolved
content/docs/intro/concepts/runtime-functions.md Outdated Show resolved Hide resolved
content/docs/intro/concepts/runtime-functions.md Outdated Show resolved Hide resolved
content/docs/intro/concepts/stack.md Outdated Show resolved Hide resolved
content/docs/intro/concepts/resources.md Show resolved Hide resolved
content/docs/intro/concepts/runtime-functions.md Outdated Show resolved Hide resolved
@github-actions
Copy link

Your site preview for commit ad6a225 is ready! 🎉

http://pulumi-docs-origin-pr-4707-ad6a2258.s3-website.us-west-2.amazonaws.com.

Copy link

@pulumi pulumi bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🍹 The Update (preview) for stack pulumi/www.pulumi.com/production was successful.

Resource Changes

    Name                  Type                                      Operation
*   origin-bucket-policy  aws:s3/bucketPolicy:BucketPolicy          replaced
~   cdn                   aws:cloudfront/distribution:Distribution  update
~   www.pulumi.com        aws:route53/record:Record                 update

@github-actions
Copy link

Your site preview for commit afe29c5 is ready! 🎉

http://pulumi-docs-origin-pr-4707-afe29c56.s3-website.us-west-2.amazonaws.com.

Copy link

@pulumi pulumi bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🍹 The Update (preview) for stack pulumi/www.pulumi.com/production was successful.

Resource Changes

    Name                  Type                                      Operation
*   origin-bucket-policy  aws:s3/bucketPolicy:BucketPolicy          replaced
~   cdn                   aws:cloudfront/distribution:Distribution  update
~   www.pulumi.com        aws:route53/record:Record                 update

@davidwrede
Copy link
Contributor

Most tech review feedback has been incorporated.

The only remaining feedback to incorporate is around the programming model text on the root "Architecture & Concepts" landing page, so I'll submit a commit for review by early next week.

@davidwrede
Copy link
Contributor

Remaining TR feedback has been incorporated. I also tightened up a couple sections and fixed some remaining broken links in the blogs.

@davidwrede davidwrede force-pushed the spara/programming-model-rewrite branch from 8bb8dc2 to afda87b Compare January 20, 2021 09:49
@github-actions
Copy link

Your site preview for commit afda87b is ready! 🎉

http://pulumi-docs-origin-pr-4707-afda87b3.s3-website.us-west-2.amazonaws.com.

Copy link

@pulumi pulumi bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🍹 The Update (preview) for stack pulumi/www.pulumi.com/production was successful.

Resource Changes

    Name                  Type                                      Operation
*   origin-bucket-policy  aws:s3/bucketPolicy:BucketPolicy          replaced
~   cdn                   aws:cloudfront/distribution:Distribution  update
~   www.pulumi.com        aws:route53/record:Record                 update

@github-actions
Copy link

Your site preview for commit 9b8bbfa is ready! 🎉

http://pulumi-docs-origin-pr-4707-9b8bbfad.s3-website.us-west-2.amazonaws.com.

Copy link

@pulumi pulumi bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🍹 The Update (preview) for stack pulumi/www.pulumi.com/production was successful.

Resource Changes

    Name                  Type                                      Operation
*   origin-bucket-policy  aws:s3/bucketPolicy:BucketPolicy          replaced
~   cdn                   aws:cloudfront/distribution:Distribution  update

Copy link
Member

@cnunciato cnunciato left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@davidwrede Some initial feedback on Projects and Stacks for ya.

content/blog/architecture-as-code-kubernetes/index.md Outdated Show resolved Hide resolved
content/docs/intro/concepts/_index.md Outdated Show resolved Hide resolved
content/docs/intro/concepts/_index.md Show resolved Hide resolved
content/docs/intro/concepts/_index.md Show resolved Hide resolved
content/docs/intro/concepts/_index.md Show resolved Hide resolved
content/docs/intro/concepts/stack.md Outdated Show resolved Hide resolved
content/docs/intro/concepts/stack.md Outdated Show resolved Hide resolved
content/docs/intro/concepts/stack.md Outdated Show resolved Hide resolved
content/docs/intro/concepts/stack.md Outdated Show resolved Hide resolved
content/docs/intro/concepts/stack.md Outdated Show resolved Hide resolved
davidwrede and others added 3 commits February 1, 2021 21:52
Co-authored-by: Christian Nunciato <c@nunciato.org>
Co-authored-by: Christian Nunciato <c@nunciato.org>
Co-authored-by: Christian Nunciato <c@nunciato.org>
@github-actions
Copy link

github-actions bot commented Feb 2, 2021

Your site preview for commit 2029ca6 is ready! 🎉

http://pulumi-docs-origin-pr-4707-2029ca67.s3-website.us-west-2.amazonaws.com.

1 similar comment
@github-actions
Copy link

github-actions bot commented Feb 2, 2021

Your site preview for commit 2029ca6 is ready! 🎉

http://pulumi-docs-origin-pr-4707-2029ca67.s3-website.us-west-2.amazonaws.com.

Copy link

@pulumi pulumi bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🍹 The Update (preview) for stack pulumi/www.pulumi.com/production was successful.

Resource Changes

    Name                  Type                                      Operation
*   origin-bucket-policy  aws:s3/bucketPolicy:BucketPolicy          replaced
~   cdn                   aws:cloudfront/distribution:Distribution  update

Copy link

@pulumi pulumi bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🍹 The Update (preview) for stack pulumi/www.pulumi.com/production was successful.

Resource Changes

    Name                  Type                                      Operation
*   origin-bucket-policy  aws:s3/bucketPolicy:BucketPolicy          replaced
~   cdn                   aws:cloudfront/distribution:Distribution  update

@github-actions
Copy link

github-actions bot commented Feb 2, 2021

Your site preview for commit 5f340b8 is ready! 🎉

http://pulumi-docs-origin-pr-4707-5f340b8a.s3-website.us-west-2.amazonaws.com.

@github-actions
Copy link

github-actions bot commented Feb 2, 2021

Your site preview for commit c70564b is ready! 🎉

http://pulumi-docs-origin-pr-4707-c70564be.s3-website.us-west-2.amazonaws.com.

1 similar comment
@github-actions
Copy link

github-actions bot commented Feb 2, 2021

Your site preview for commit c70564b is ready! 🎉

http://pulumi-docs-origin-pr-4707-c70564be.s3-website.us-west-2.amazonaws.com.

Copy link

@pulumi pulumi bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🍹 The Update (preview) for stack pulumi/www.pulumi.com/production was successful.

Resource Changes

    Name                  Type                                      Operation
~   cdn                   aws:cloudfront/distribution:Distribution  update
*   origin-bucket-policy  aws:s3/bucketPolicy:BucketPolicy          replaced

Copy link

@pulumi pulumi bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🍹 The Update (preview) for stack pulumi/www.pulumi.com/production was successful.

Resource Changes

    Name                  Type                                      Operation
*   origin-bucket-policy  aws:s3/bucketPolicy:BucketPolicy          replaced
~   cdn                   aws:cloudfront/distribution:Distribution  update

Copy link

@pulumi pulumi bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🍹 The Update (preview) for stack pulumi/www.pulumi.com/production was successful.

Resource Changes

    Name                  Type                                      Operation
~   cdn                   aws:cloudfront/distribution:Distribution  update
*   origin-bucket-policy  aws:s3/bucketPolicy:BucketPolicy          replaced

@github-actions
Copy link

github-actions bot commented Feb 2, 2021

Your site preview for commit 5f340b8 is ready! 🎉

http://pulumi-docs-origin-pr-4707-5f340b8a.s3-website.us-west-2.amazonaws.com.

Copy link

@pulumi pulumi bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🍹 The Update (preview) for stack pulumi/www.pulumi.com/production was successful.

Resource Changes

    Name                  Type                                      Operation
*   origin-bucket-policy  aws:s3/bucketPolicy:BucketPolicy          replaced
~   cdn                   aws:cloudfront/distribution:Distribution  update

@github-actions
Copy link

github-actions bot commented Feb 2, 2021

Your site preview for commit adcd8f0 is ready! 🎉

http://pulumi-docs-origin-pr-4707-adcd8f05.s3-website.us-west-2.amazonaws.com.

Copy link

@pulumi pulumi bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🍹 The Update (preview) for stack pulumi/www.pulumi.com/production was successful.

Resource Changes

    Name                  Type                                      Operation
*   origin-bucket-policy  aws:s3/bucketPolicy:BucketPolicy          replaced
~   cdn                   aws:cloudfront/distribution:Distribution  update

@davidwrede
Copy link
Contributor

@cnunciato I've implemented most of your changes (and addressed next steps for the ones that can be done after this PR is merged).

Copy link
Member

@cnunciato cnunciato left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All right, let's get this out! 🚀

@davidwrede davidwrede merged commit cc48c3c into master Feb 3, 2021
@pulumi-bot pulumi-bot deleted the spara/programming-model-rewrite branch February 3, 2021 15:30
@github-actions
Copy link

github-actions bot commented Feb 3, 2021

Site previews for this pull request have been removed. ✨

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants