Brett Smith [Tue, 1 Aug 2023 18:07:32 +0000 (14:07 -0400)]
20797: Merge Red Hat package install instructions
For now, since the instructions are *exactly* the same across distros
and versions, this makes sense as a streamlining measure. If we add more
variation to the process in the future, it probably makes sense to split
these out again.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Tue, 1 Aug 2023 16:06:59 +0000 (12:06 -0400)]
20797: Run microdnf with --assumeyes
`docker run --rm -ti rockylinux:8-minimal microdnf --help` says,
> The "--assumeyes" option is turned on by default.
However, that behavior apparently changes in a future version:
<https://github.com/rpm-software-management/microdnf/pull/97>,
microdnf commit ca778a0b34c5e15b5b0de1e0af0f8892280fc0c2.
Passing `--assumeyes` provides more consistency and will help keep the
code working in later releases.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Fri, 28 Jul 2023 19:01:17 +0000 (15:01 -0400)]
20797: Update for new createrepo package+executable name
In Debian 12 the package is named createrepo-c and it installs
/usr/bin/createrepo_c. With this change, the build script prefers that
name, but still looks for and uses `createrepo`.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Fri, 28 Jul 2023 18:09:02 +0000 (14:09 -0400)]
20797: Streamline setup of Python build variables
Instead of setting Debian defaults and overriding them,
1. set global defaults
2. set target-specific variables
3. set deb/rpm-specific defaults as needed
I hope this makes clearer what's actually a target-specific variable
vs. a regular difference between Debian and Red Hat, and so makes it
easier to add targets in the future.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Fri, 7 Jul 2023 20:57:38 +0000 (16:57 -0400)]
20684: Expand "Getting started at the command line" documentation
* Add more structure to the page
* Be explicit that we usually recommend using a VM
* Highlight that using our package repository is the simplest way to
install tools
* List all the tools you can install, with more details
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Wed, 5 Jul 2023 20:58:07 +0000 (16:58 -0400)]
20343: Define Python regexps with raw strings
Prevent the DeprecationWarning added to Python 3.6 for unrecognized
string escape sequences. Found candidates by running:
git grep --line-number -E '\bre\.\w+\([^r]*\\'
Most of the changes just add the raw string prefix `r` to these regexps,
but I did make some other readability improvements while I was at it,
including switching from regexps to plain string test methods where
appropriate.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Wed, 5 Jul 2023 16:20:57 +0000 (12:20 -0400)]
20710: Switch from pipes.quote to shlex.quote
pipes is deprecated in Python 3.11+ and slated to be removed in Python
3.13. Fortunately we only use pipes.quote, which is literally the same
as shlex.quote:
>>> import pipes
<stdin>:1: DeprecationWarning: 'pipes' is deprecated and slated for removal in Python 3.13
>>> import shlex
>>> pipes.quote is shlex.quote
True
Switch to that instead for continued support.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Tom Clegg [Fri, 30 Jun 2023 14:28:38 +0000 (10:28 -0400)]
20559: Trim session count explicitly instead of using LRU cache.
The LRU cache automatically implemented the session count limit by
dropping the oldest session, which would break our "one session per
token" rule (by evicting a session and creating a new one while the
old session was still in use) when there were more active sessions
than the configured limit.
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>
Zoë Ma [Sat, 24 Jun 2023 06:12:58 +0000 (14:12 +0800)]
Doc: Update "Accessing an Arvados VM with SSH - Unix Environments"
- Updated the included template about adding SSH keys, to reflect
changes in Workbench 2. A screenshot was updated.
- Added slightly more context to instructions about using ssh keypair
and agent for the benefit of new users.
- Minor textual fixes for clarity.
Arvados-DCO-1.1-Signed-off-by: Zoë Ma <zoe.ma@curii.com>
Zoë Ma [Fri, 23 Jun 2023 13:23:47 +0000 (21:23 +0800)]
Doc: Update "Getting an API token".
- Updated the references to Workbench 2 UI elements.
- Expand and reword some instructions about creating file in shell
(because a novice user may accidentally wipe out the file), and how
appending to .bashrc does its job.
Arvados-DCO-1.1-Signed-off-by: Zoë Ma <zoe.ma@curii.com>
Brett Smith [Fri, 23 Jun 2023 18:14:38 +0000 (14:14 -0400)]
20663: Expand the default SyncIgnoredGroups
We discussed at standup that we prioritize the security of the default
configuration over backwards compatibility. This new default does that.
The list of groups is primarily informed by:
<https://wiki.debian.org/SystemGroups#Other_System_Groups>
<https://docs.fedoraproject.org/en-US/packaging-guidelines/UsersAndGroups/#_list_of_statically_allocated_uidgid_and_corresponding_package>
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Thu, 22 Jun 2023 14:52:05 +0000 (10:52 -0400)]
20663: Clarify comment about what "safe" config means
I might've liked to reveal configuration to authenticated clients, but
not unauthenticated ones. Unfortunately the code doesn't currently
support that.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Thu, 22 Jun 2023 14:16:40 +0000 (10:16 -0400)]
20663: Make minimum groups configurable
Note this no longer adds the user's own group to the membership
list. The administrator can control that by adjusting USERGROUPS_ENAB
in /etc/login.defs.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>
Brett Smith [Thu, 22 Jun 2023 13:48:44 +0000 (09:48 -0400)]
20663: Improve permissions and ownership handling
* Set permissions of everything at creation time.
* Only change ownership for things we touch.
* Manage group ownership as well as user
(having things owned by user:root is weird).
* Modernize style.
This is preparation for allowing administrators to configure what
resources arvados-login-sync manages.
Note this means arvados-login-sync no longer changes permissions for a
user's home directory. The administrator can do that by setting UMASK
in /etc/login.defs.
Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith@curii.com>