-
Notifications
You must be signed in to change notification settings - Fork 10
Tweak the updated deployment docs #2603
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
base: deployment-docs
Are you sure you want to change the base?
Conversation
> [!WARNING] | ||
> This step must be done by an ASF employee. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I called out what steps require ASF to be in the loop, but maybe we don't need to with the top-level warning?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's fine to call out these steps, but I want to clearly distinguish steps that would require ASF even if someone forks HyP3 and deploys to their own AWS account, because I feel like the expectation with an open-source project is that anyone should be able to fork and build/deploy it. If that's not the case, we should call that out. (Also see my question on the top-level warning.)
> It's not currently possible to deploy HyP3 fully independent of ASF due to our integration with | ||
> [ASF Vertex](https://search.alaska.edu). If you'd like your own deployment of HyP3, please open an issue here or |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not currently possible to deploy HyP3 fully independent of ASF due to our integration with ASF Vertex
Is this just referring to our use of the asf-urs
cookie?
> [!WARNING] | ||
> This stack should only be deployed once per AWS account. This stack also | ||
> assumes you are only deploying into a single AWS Region. If you are deploying into | ||
> multiple regions in the same AWS account, you'll need to adjust the IAM permissions | ||
> that are limited to a single region. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This [!WARNING]
block isn't rendering correctly for me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, I think that none of the admonitions within the collapsible sections are rendering correctly.
Then update all of the fields (`environment`, `domain`, `template_bucket`, etc.) as appropriate for your deployment. | ||
Also make sure to update the top-level `name` of the workflow and the name of the branch to deploy from. | ||
(This is typically `main` for prod deployments, `develop` for test deployments, or a feature branch name for sandbox deployments.) | ||
> ![TIP] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
> ![TIP] | |
> [!TIP] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I really appreciate this update to the deployment docs. The instructions are easy to understand and follow. The drop-down sections improve navigation. I added a few comments, mostly minor. There are a couple of broken links.
|
||
*Security environment(s): ASF* | ||
<details> | ||
<summary>ASF: Create a CloudFormation templates bucket</summary> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The list of steps below could be ordered. Change "navigating" to "Navigate."
a service user's credentials or by assuming a deployment with a service user. | ||
|
||
<details> | ||
<summary>ASF: Create a service user and deployment role</summary> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Line 108: "Set the account-wide..." -> "Account-wide..."
|
||
*Security environment(s): JPL* | ||
##### Roles-as-code for JPL accounts |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add a note indicating that the following jpl.nasa.gov
links are only reachable if you have been given access.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or not, idk. There are multiple links in this doc that require permission to access. We could add a disclaimer at the top, or maybe it's not necessary.
|
||
In order to integrate a JPL deployment into our CI/CD pipelines, a JPL-created "service user" | ||
is needed to get long-term (90-day) AWS access keys. When requesting a service user, you'll | ||
need to request an appropriate deployment policy containing all the necessary permissions for | ||
deployment is attached to the user. An appropriate deployment policy can be created in a | ||
JPL account by deploying the `hyp3-ci` stack. From the repository root, run: | ||
JPL account by deploying the [JPL CI stack](cicd-stacks/JPL-deployment-ci-cf.yml). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Broken link
@@ -150,9 +189,13 @@ the `hyp3-ci` CloudFormation Stack Resources. | |||
Once the JPL service user has been created, you should receive a set of AWS Access Keys | |||
which can be used to deploy HyP3 via CI/CD tooling. | |||
|
|||
### Create Earthdata Login user | |||
> [!IMPORTANT] | |||
> These keys will be stored in the associated JPL-managed AWS account an AWS SecretsManager secret |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing an "in": "associated JPL-managed AWS account an AWS SecretsManager" -> "associated JPL-managed AWS account in an AWS SecretsManager"
### Create Earthdata Login user | ||
> [!IMPORTANT] | ||
> These keys will be stored in the associated JPL-managed AWS account an AWS SecretsManager secret | ||
> with the same name as the service user. They automatically rotated by JPL every 90 days and so |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
> with the same name as the service user. They automatically rotated by JPL every 90 days and so | |
> with the same name as the service user. JPL automatically rotates them every 90 days and so |
@@ -164,9 +207,7 @@ you will need to create an Earthdata Login user for your deployment if you do no | |||
5. Log into Vertex as the new user, and confirm you can download files, e.g. https://datapool.asf.alaska.edu/METADATA_SLC/SA/S1A_IW_SLC__1SDV_20230130T184017_20230130T184044_047017_05A3C3_381F.iso.xml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
5. Log into Vertex as the new user, and confirm you can download files, e.g. https://datapool.asf.alaska.edu/METADATA_SLC/SA/S1A_IW_SLC__1SDV_20230130T184017_20230130T184044_047017_05A3C3_381F.iso.xml | |
5. Log into Vertex as a new user and confirm you can download files, e.g. https://datapool.asf.alaska.edu/METADATA_SLC/SA/S1A_IW_SLC__1SDV_20230130T184017_20230130T184044_047017_05A3C3_381F.iso.xml |
#### Optional | ||
|
||
<details> | ||
<summary>##### JPL: Allow a public HyP3 content bucket for JPL accounts</summary> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<summary>##### JPL: Allow a public HyP3 content bucket for JPL accounts</summary> | |
<summary>JPL: Allow a public HyP3 content bucket for JPL accounts</summary> |
|
||
*Security environment(s): ASF, EDC* | ||
<details> | ||
<summary>##### All: Grant AWS account permission to pull the hyp3-gamma container</summary> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<summary>##### All: Grant AWS account permission to pull the hyp3-gamma container</summary> | |
<summary>All: Grant AWS account permission to pull the hyp3-gamma container</summary> |
- JPL-public | ||
|
||
> [!IMPORTANT] | ||
> JPL deployments _must_ start with the JPL security environment, but can be migrated to the `JPL-public` one |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
> JPL deployments _must_ start with the JPL security environment, but can be migrated to the `JPL-public` one | |
> JPL deployments _must_ start with the JPL security environment, but can be migrated to `JPL-public` |
I've:
Since I'm making use of GitHub's markdown, I recommend reviewing the README as rendered in GitHub:
https://github.com/ASFHyP3/hyp3/blob/jhk-deploy-docs/README.md