You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[File System Paths used in Spago](#file-system-paths-used-in-spago)
154
159
-[FAQ](#faq)
155
160
-[Why can't `spago` also install my npm dependencies?](#why-cant-spago-also-install-my-npm-dependencies)
156
-
-[Differences from legacy spago](#differences-from-legacy-spago)
157
-
-[Watch mode](#watch-mode)
161
+
-[Differences from legacy spago](#differences-from-legacy-spago)
162
+
-[Watch mode](#watch-mode)
163
+
-[`sources` in the configuration file](#sources-in-the-configuration-file)
158
164
159
165
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
160
166
@@ -1092,6 +1098,29 @@ workspace:
1092
1098
> [!NOTE]\
1093
1099
> This only works when the package you add to `extraPackages` has been published to the registry. Adding a git dependency will produce an error, as publishing to the Registry only admits build plans that only contain packages coming from the Registry.
1094
1100
1101
+
### Authenticated commands
1102
+
1103
+
The Registry does not need authentication when publishing new versions of a package, but it does need it when issuing
1104
+
operations that modify existing packages, [such as location transfer or unpublishing](registry-dev-auth).
1105
+
1106
+
This authentication happens through SSH keys: by having your public key in a published version, the Registry can then
1107
+
authenticate requests that are signed with your private key.
1108
+
1109
+
Authentication and operations that use it are automated by Spago, through the `spago auth` command: if you'd like to
1110
+
be able to perform authenticated operations you need a SSH keypair, and run `spago auth` passing those keys in.
1111
+
This will populate the `package.publish.owners` field in the `spago.yaml` - commit that and publish a new version,
1112
+
and from that moment you'll be able to perform authenticated operations on this package.
1113
+
1114
+
#### Transfer my package to a new owner
1115
+
1116
+
If you are the owner of a package and you want to transfer it to another user, you'd need to inform the Registry
1117
+
about the new location of the repository, so that the new owner will be able to publish new versions of the package.
1118
+
1119
+
The transfer procedure is automated by Spago commands, and goes as follows:
1120
+
* Add your (or the new owner's) SSH public key to the `spago.yaml` through `spago auth` if they are not there already (see previous section)
1121
+
* Transfer the repository to the new owner using the hosting platform's transfer mechanism (e.g. GitHub's transfer feature)
1122
+
* Depending whose key is present in the `owners` field, either you or the new owner will update the `publish.location` field in the `spago.yaml`, and call `spago registry transfer` to initiate the transfer. If all goes well you'll now be able to publish a new version from the new location.
1123
+
1095
1124
### Know which `purs` commands are run under the hood
1096
1125
1097
1126
The `-v` flag will print out all the `purs` commands that `spago` invokes during its operations,
@@ -1621,3 +1650,4 @@ and similarly for the `test` folder, using that for the test sources.
0 commit comments