Skip to content

Commit

Permalink
docs: ua -> pro
Browse files Browse the repository at this point in the history
  • Loading branch information
orndorffgrant committed Oct 5, 2022
1 parent a0c0499 commit a92c755
Show file tree
Hide file tree
Showing 48 changed files with 400 additions and 406 deletions.
8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# Contributing to Ubuntu Advantage Client
# Contributing to Ubuntu Pro Client

## Developer Documentation

Developer documentation for the Ubuntu Advantage Client project. The topics cover
Developer documentation for the Ubuntu Pro Client project. The topics cover
from the architecture of the project to how you should test any code changes.

### How to Guides

* [How to build UA](./dev-docs/howtoguides/building.md)
* [How to build](./dev-docs/howtoguides/building.md)
* [How to run the code formatting tools](./dev-docs/howtoguides/code_formatting.md)
* [How to run the tests](./dev-docs/howtoguides/testing.md)
* [How to release a new version of UA](./dev-docs/howtoguides/how_to_release_a_new_version_of_ua.md)
* [How to release a new version](./dev-docs/howtoguides/how_to_release_a_new_version_of_ua.md)
* [How to use the contract staging environment](./dev-docs/howtoguides/use_staging_environment.md)
* [How to use the magic attach endpoints](./dev-docs/howtoguides/how_to_use_magic_attach_endpoints.md)

Expand Down
45 changes: 23 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<h1>
<a href="https://ubuntu.com/advantage" target="_blank">
<a href="https://ubuntu.com/pro" target="_blank">
<img src="./.assets/circle_of_friends.png" width="33"/>
</a>
<br>
Ubuntu Advantage Client
Ubuntu Pro Client
</h1>

###### Clean and Consistent CLI for your Ubuntu Advantage Systems
###### Clean and Consistent CLI for your Ubuntu Pro Systems
![Latest Upstream Version](https://img.shields.io/github/v/tag/canonical/ubuntu-advantage-client.svg?label=Latest%20Upstream%20Version&logo=github&logoColor=white&color=33ce57)
![CI](https://github.com/canonical/ubuntu-advantage-client/actions/workflows/ci-base.yaml/badge.svg?branch=main)
<br/>
Expand All @@ -15,10 +15,10 @@
![Released Focal Version](https://img.shields.io/ubuntu/v/ubuntu-advantage-tools/focal?label=Focal&logo=ubuntu&logoColor=white)
![Released Jammy Version](https://img.shields.io/ubuntu/v/ubuntu-advantage-tools/jammy?label=Jammy&logo=ubuntu&logoColor=white)

The Ubuntu Advantage (UA) Client is the official tool to enable Canonical offerings on your
The Ubuntu Pro Client (`pro`) is the official tool to enable Canonical offerings on your
system.

UA provides support to view, enable, and disable the following Canonical services:
`pro` provides support to view, enable, and disable the following Canonical services:

- [Common Criteria EAL2 Certification Tooling](https://ubuntu.com/security/cc)
- [CIS Benchmark Audit Tooling](https://ubuntu.com/security/cis)
Expand All @@ -29,24 +29,25 @@ UA provides support to view, enable, and disable the following Canonical service
- [Livepatch Service](https://ubuntu.com/security/livepatch)


If you need any of those services for your machine, UA is the right tool for you.
Furthermore, UA is already installed on every Ubuntu system. Try it out by running `ua help`!
If you need any of those services for your machine, `pro` is the right tool for you.

`pro` is already installed on every Ubuntu system. Try it out by running `pro help`!

## Documentation

### Tutorials

* [Getting started with UA](./docs/tutorials/basic_ua_commands.md)
* [Getting started with Ubuntu Pro Client](./docs/tutorials/basic_commands.md)
* [Create a FIPS compliant Ubuntu Docker image](./docs/tutorials/create_a_fips_docker_image.md)
* [Fixing vulnerabilities by CVE or USN using `ua fix`](./docs/tutorials/ua_fix_scenarios.md)
* [Fix vulnerabilities by CVE or USN using `pro fix`](./docs/tutorials/fix_scenarios.md)
* [Create a Custom Ubuntu Pro Cloud Image with FIPS Updates](./docs/tutorials/create_a_fips_updates_pro_cloud_image.md)

### How To Guides

* [How to get an UA token and attach to a subscription](./docs/howtoguides/get_token_and_attach.md)
* [How to get an Ubuntu Pro token and attach to a subscription](./docs/howtoguides/get_token_and_attach.md)
* [How to Configure Proxies](./docs/howtoguides/configure_proxies.md)
* [How to Enable Ubuntu Advantage Services in a Dockerfile](./docs/howtoguides/enable_ua_in_dockerfile.md)
* [How to Create a custom Golden Image based on Ubuntu Pro](./docs/howtoguides/create_pro_golden_image.md)
* [How to Enable Ubuntu Pro Services in a Dockerfile](./docs/howtoguides/enable_in_dockerfile.md)
* [How to Create a custom Golden Image based on Public Cloud Ubuntu Pro images](./docs/howtoguides/create_pro_golden_image.md)
* [How to Manually update MOTD and APT messages](./docs/howtoguides/update_motd_messages.md)
* [How to enable CIS](./docs/howtoguides/enable_cis.md)
* [How to enable CC EAL](./docs/howtoguides/enable_cc.md)
Expand All @@ -55,31 +56,31 @@ Furthermore, UA is already installed on every Ubuntu system. Try it out by runni
* [How to enable Livepatch](./docs/howtoguides/enable_livepatch.md)
* [How to configure a timer job](./docs/howtoguides/configuring_timer_jobs.md)
* [How to attach with a configuration file](./docs/howtoguides/how_to_attach_with_config_file.md)
* [How to collect UA logs](./docs/howtoguides/how_to_collect_ua_logs.md)
* [How to Simulate attach operation](./docs/howtoguides/how_to_simulate_attach.md)
* [How to run ua fix in dry-run mode](./docs/howtoguides/how_to_run_ua_fix_in_dry_run_mode.md)
* [How to collect Ubuntu Pro Client logs](./docs/howtoguides/how_to_collect_logs.md)
* [How to simulate attach operation](./docs/howtoguides/how_to_simulate_attach.md)
* [How to run `pro fix` in dry-run mode](./docs/howtoguides/how_to_run_fix_in_dry_run_mode.md)

### Reference

* [Ubuntu Release and Architecture Support Matrix](./docs/references/support_matrix.md)
* [UA Network Requirements](./docs/references/network_requirements.md)
* [Pro API Reference Guide](./docs/references/api.md)
* [PPAs with different versions of `ua`](./docs/references/ppas.md)
* [Network Requirements](./docs/references/network_requirements.md)
* [API Reference Guide](./docs/references/api.md)
* [PPAs with different versions of `pro`](./docs/references/ppas.md)

### Explanation

* [What is the daemon for? (And how to disable it)](./docs/explanations/what_is_the_daemon.md)
* [What is Ubuntu PRO?](./docs/explanations/what_is_ubuntu_pro.md)
* [What are Public Cloud Ubuntu Pro instances?](./docs/explanations/what_are_ubuntu_pro_cloud_instances.md)
* [What is the ubuntu-advantage-pro package?](./docs/explanations/what_is_the_ubuntu_advantage_pro_package.md)
* [What are the timer jobs?](./docs/explanations/what_are_the_timer_jobs.md)
* [What are the UA related MOTD messages?](./docs/explanations/motd_messages.md)
* [What are the UA related APT messages?](./docs/explanations/apt_messages.md)
* [What are the Ubuntu Pro related MOTD messages?](./docs/explanations/motd_messages.md)
* [What are the Ubuntu Pro related APT messages?](./docs/explanations/apt_messages.md)
* [How to interpret the security-status command](./docs/explanations/how_to_interpret_the_security_status_command.md)
* [Why Trusty (14.04) is no longer supported](./docs/explanations/why_trusty_is_no_longer_supported.md)

## Project and community

UA is a member of the Ubuntu family. It’s an open source project that warmly welcomes
Ubuntu Pro Client is a member of the Ubuntu family. It’s an open source project that warmly welcomes
community projects, contributions, suggestions, fixes and constructive feedback.

* [Contribute](CONTRIBUTING.md)
4 changes: 2 additions & 2 deletions dev-docs/explanations/how_auto_attach_works.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# How auto-attach works

The `pro auto-attach` command follows a specific flow on every **Ubuntu Pro** image:
The `pro auto-attach` command follows a specific flow on every **Public Cloud Ubuntu Pro** image:

1. Identify which cloud the command is running on. This is achieved by running
the `cloud-id` command provided by the [cloud-init](https://cloudinit.readthedocs.io/en/latest/)
Expand Down Expand Up @@ -44,7 +44,7 @@ The `pro auto-attach` command follows a specific flow on every **Ubuntu Pro** im
contains all the directives the pro client needs to setup the machine and enable
the necessary services the token is associated with.

6. Disable the ubuntu-advantage [daemon](../explanations/what_is_the_daemon.md).
6. Disable the `ubuntu-advantage.service` [daemon](../explanations/what_is_the_daemon.md), if running.
If the machine is detached, this daemon will be started again.

Additionally, you can disable the `pro auto-attach` command by adding
Expand Down
18 changes: 9 additions & 9 deletions dev-docs/howtoguides/how_to_release_a_new_version_of_ua.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Ubuntu Advantage Client Releases
# Ubuntu Pro Client Releases

## Background

Expand Down Expand Up @@ -38,7 +38,7 @@ If this is your first time releasing ubuntu-advantage-tools, you'll need to do t
b Create a new entry in the `debian/changelog` file:

* You can do that by running `dch --newversion <version-name>`
* Remember to update the release from `UNRELEASED` to the ubuntu/devel release. Edit the version to look like: `27.2~21.10.1`, with the appropriate ua and ubuntu/devel version numbers.
* Remember to update the release from `UNRELEASED` to the ubuntu/devel release. Edit the version to look like: `27.2~21.10.1`, with the appropriate pro-client and ubuntu/devel version numbers.
* Populate `debian/changelog` with the commits you have cherry-picked
* You can do that by running `git log <first-cherry-pick-commit>..<last-cherry-pick-commit> | log2dch`
* This will generate a list of commits that could be included in the changelog.
Expand All @@ -49,21 +49,21 @@ If this is your first time releasing ubuntu-advantage-tools, you'll need to do t
* To structure the changelog you can use the other entries as example. But we basically try to
keep this order: debian changes, new features/modifications, testing. Within each section, bullet points should be alphabetized.

c. Create a PR on github into the release branch. Ask in the UA channel on mattermost for review.
c. Create a PR on github into the release branch. Ask in the ~UA channel on mattermost for review.

d. When reviewing the release PR, please use the following guidelines when reviewing the new changelog entry:

* Is the version correctly updated ? We must ensure that the new version on the changelog is
* Is the version correctly updated? We must ensure that the new version on the changelog is
correct and it also targets the latest Ubuntu release at the moment.
* Is the entry useful for the user ? The changelog entries should be user focused, meaning
* Is the entry useful for the user? The changelog entries should be user focused, meaning
that we should only add entries that we think users will care about (i.e. we don't need
entries when fixing a test, as this doesn't provide meaningful information to the user)
* Is this entry redundant ? Sometimes we may have changes that affect separate modules of the
* Is this entry redundant? Sometimes we may have changes that affect separate modules of the
code. We should have an entry only for the module that was most affected by it
* Is the changelog entry unique ? We need to verify that the changelog entry is not already
* Is the changelog entry unique? We need to verify that the changelog entry is not already
reflected in an earlier version of the changelog. If it is, we need not only to remove but double
check the process we are using to cherry-pick the commits
* Is this entry actually reflected on the code ? Sometimes, we can have changelog entries
* Is this entry actually reflected on the code? Sometimes, we can have changelog entries
that are not reflected in the code anymore. This can happen during development when we are
still unsure about the behavior of a feature or when we fix a bug that removes the code
that was added. We must verify each changelog entry that is added to be sure of their
Expand Down Expand Up @@ -143,7 +143,7 @@ If this is your first time releasing ubuntu-advantage-tools, you'll need to do t

a. Ask the assigned ubuntu-advantage-tools reviewer/sponsor from Server team for a review of your MPs (If you don't know who that is, ask in ~Server). Include a link to the MP into ubuntu/devel and to the SRU bug.

b. If they request changes, create a PR into the release branch on github and ask UAClient team for review. After that is merged, cherry-pick the commit into your `upload-<this-version>-<devel-release>` branch and push to launchpad. Then notify the Server Team member that you have addressed their requests.
b. If they request changes, create a PR into the release branch on github and ask Pro Client team for review. After that is merged, cherry-pick the commit into your `upload-<this-version>-<devel-release>` branch and push to launchpad. Then notify the Server Team member that you have addressed their requests.
* Some issues may just be filed for addressing in the future if they are not urgent or pertinent to this release.
* Unless the changes are very minor, or only testing related, you should upload a new release candidate version to `ppa:ua-client/staging` as descibed in I.3.
* After the release is finished, any commits that were merged directly into the release branch in this way should be brought back into `main` via a single PR.
Expand Down
26 changes: 13 additions & 13 deletions dev-docs/howtoguides/how_to_use_magic_attach_endpoints.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
> **Notice:**
> Minimum version: 27.11
Th UA Client provides three distinct endpoints to make it easier to perform
Th Ubuntu Pro Client provides three distinct endpoints to make it easier to perform
the magic attach flow. They are:

* u.pro.attach.magic.initiate.v1
Expand All @@ -18,7 +18,7 @@ To start the magic attach flow, we need to create a token for it. The initiate e
will perform exactly that. When you run:

```console
$ ua api u.pro.attach.magic.initiate.v1
$ pro api u.pro.attach.magic.initiate.v1
```

It is expected for you to see the following json response:
Expand All @@ -35,36 +35,36 @@ It is expected for you to see the following json response:
"expires_in": 10000,
"token": "MAGIC_ATTACH_TOKEN",
"user_code": "USER_CODE"
}
},
"type": "MagicAttachInitiate"
},
"errors": [],
"result": "success",
"version": "UA CLIENT VERSION",
"version": "UBUNTU PRO CLIENT VERSION",
"warnings": []
}
```

It is noteworthy here that the `attributes` contain both the `user_code` and `token`. The `user_code`
is the information that will be presented to the user, which it will make possible for the user
to validate the magic attach on the advantage portal. Additionally, the `token` information is required
to validate the magic attach on the Ubuntu Pro portal. Additionally, the `token` information is required
for the other two API endpoints which will be described next.


## Wait endpoint

After we initiate the magic attach procedure, the user must go to the advantage portal and validate
the `user_code` it received. Once that is done, a ua token will be generated for the user, allowing
After we initiate the magic attach procedure, the user must go to the Ubuntu Pro portal and validate
the `user_code` it received. Once that is done, a contract token will be generated for the user, allowing
the attach procedure to begin. The wait endpoint will wait for the user to perform all of those
steps on the advantage portal. To call it, use:
steps on the Ubuntu Pro portal. To call it, use:

```console
$ ua api u.pro.attach.magic.wait.v1 --args magic_token=MAGIC_ATTACH_TOKEN
$ pro api u.pro.attach.magic.wait.v1 --args magic_token=MAGIC_ATTACH_TOKEN
```

Note here that the command requires the `token` that was generated in the initiate step. This command
will block and poll the server until there are any updates for that token. If the
user successfully performed the necessary steps on the advantage portal, we should see the following
user successfully performed the necessary steps on the Ubuntu Pro portal, we should see the following
response:

```json
Expand All @@ -83,7 +83,7 @@ response:
},
"errors": [],
"result": "success",
"version": "UA CLIENT VERSION",
"version": "UBUNTU PRO CLIENT VERSION",
"warnings": []
}
```
Expand All @@ -108,7 +108,7 @@ If the provided token is invalid or has expired, we will see the following respo
}
],
"result": "failure",
"version": "UA CLIENT VERSION",
"version": "UBUNTU PRO CLIENT VERSION",
"warnings": []
}
```
Expand All @@ -122,7 +122,7 @@ command to keep polling for about that amount of time.
If we want to revoke the token created during the initiate call, we can use the revoke command:

```console
$ ua api u.pro.attach.magic.revoke.v1 --args magic_token=MAGIC_ATTACH_TOKEN
$ pro api u.pro.attach.magic.revoke.v1 --args magic_token=MAGIC_ATTACH_TOKEN
```

If the token is valid, we should see the following output:
Expand Down
10 changes: 5 additions & 5 deletions dev-docs/howtoguides/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ autopkgtest -U --shell-fail . -- lxd ubuntu:xenial

## Integration Tests

ubuntu-advantage-client uses [behave](https://behave.readthedocs.io)
Ubuntu Pro Client uses [behave](https://behave.readthedocs.io)
for its integration testing.

The integration test definitions are stored in the `features/`
Expand All @@ -34,7 +34,7 @@ logic for those tests.

By default, integration tests will do the following on a given cloud platform:
* Launch an instance running latest daily image of the target Ubuntu release
* Add the Ubuntu advantage client daily build PPA: [ppa:ua-client/daily](https://code.launchpad.net/~ua-client/+archive/ubuntu/daily)
* Add the Ubuntu Pro client daily build PPA: [ppa:ua-client/daily](https://code.launchpad.net/~ua-client/+archive/ubuntu/daily)
* Install the appropriate ubuntu-advantage-tools and ubuntu-advantage-pro deb
* Run the integration tests on that instance.

Expand Down Expand Up @@ -174,7 +174,7 @@ file](https://github.com/canonical/pycloudlib/blob/main/pycloudlib.toml.template
the required EC2 credentials.

To specifically run non-ubuntu pro tests using canonical cloud-images an
additional token obtained from https://ubuntu.com/advantage needs to be set:
additional token obtained from https://ubuntu.com/pro needs to be set:
- UACLIENT_BEHAVE_CONTRACT_TOKEN=<your_token>

By default, the public AMIs for Ubuntu Pro testing used for each Ubuntu
Expand Down Expand Up @@ -217,7 +217,7 @@ file](https://github.com/canonical/pycloudlib/blob/main/pycloudlib.toml.template
the required Azure credentials.

To specifically run non-ubuntu pro tests using canonical cloud-images an
additional token obtained from https://ubuntu.com/advantage needs to be set:
additional token obtained from https://ubuntu.com/pro needs to be set:
- UACLIENT_BEHAVE_CONTRACT_TOKEN=<your_token>

* To manually run Azure integration tests with a specific Image Id provide the
Expand Down Expand Up @@ -249,7 +249,7 @@ file](https://github.com/canonical/pycloudlib/blob/main/pycloudlib.toml.template
the required GCP credentials.

To specifically run non-ubuntu pro tests using canonical cloud-images an
additional token obtained from https://ubuntu.com/advantage needs to be set:
additional token obtained from https://ubuntu.com/pro needs to be set:
- UACLIENT_BEHAVE_CONTRACT_TOKEN=<your_token>

* To manually run GCP integration tests with a specific Image Id provide the
Expand Down
6 changes: 3 additions & 3 deletions dev-docs/references/architecture.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Architecture

Ubuntu Advantage client, hereafter "UA client", is a python3-based command line
Ubuntu Pro Client is a python3-based command line
utility. It provides a CLI to attach, detach, enable,
disable and check status of support related services.

The package `ubuntu-advantage-tools` also provides a C++ APT hook which helps
advertise ESM service and available packages in MOTD and during various apt
commands.

The `ubuntu-advantage-pro` package delivers auto-attach functionality via init
scripts and systemd services for various cloud platforms.
The `ubuntu-advantage-pro` package delivers auto-attach functionality via a
systemd service for various cloud platforms.

By default, Ubuntu machines are deployed in an unattached state. A machine can
get manually or automatically attached to a specific contract by interacting
Expand Down
Loading

0 comments on commit a92c755

Please sign in to comment.