ci: use forgejo & nix
This commit is contained in:
parent
e504d89840
commit
942525fe63
9 changed files with 383 additions and 358 deletions
24
.forgejo/workflows/main.yml
Normal file
24
.forgejo/workflows/main.yml
Normal file
|
@ -0,0 +1,24 @@
|
|||
on: [push, tag]
|
||||
jobs:
|
||||
build:
|
||||
runs-on: native
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- run: nix run .#make
|
||||
env:
|
||||
SCIMSERVICEPROVIDER_CRT: ${{ secrets.SCIMSERVICEPROVIDER_CRT }}
|
||||
SCIMSERVICEPROVIDER_KEY: ${{ secrets.SCIMSERVICEPROVIDER_KEY }}
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
path: build/scimserviceprovider*.tar.gz*
|
||||
release:
|
||||
runs-on: native
|
||||
needs: [build]
|
||||
if: github.ref_type == 'tag'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/download-artifact@v3
|
||||
- run: nix run .#release
|
||||
- run: nix run .#publish
|
||||
env:
|
||||
NC_STORE_TOKEN: ${{ secrets.NC_STORE_TOKEN }}
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,2 +1,3 @@
|
|||
vendor
|
||||
/lib/Vendor
|
||||
/build
|
108
ci/main.go
108
ci/main.go
|
@ -1,108 +0,0 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/xml"
|
||||
"fmt"
|
||||
"os"
|
||||
"path"
|
||||
"time"
|
||||
|
||||
"dagger.io/dagger"
|
||||
)
|
||||
|
||||
type info struct {
|
||||
Version string `xml:"version"`
|
||||
}
|
||||
|
||||
func main() {
|
||||
ctx := context.Background()
|
||||
|
||||
// initialize Dagger client
|
||||
client, err := dagger.Connect(ctx, dagger.WithLogOutput(os.Stderr))
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
defer client.Close()
|
||||
|
||||
keySecret := loadSecret(client, "scimserviceprovider.key")
|
||||
certSecret := loadSecret(client, "scimserviceprovider.crt")
|
||||
s3Secret := client.SetSecret("s3", fmt.Sprintf("https://%s:%s@hot-objects.liiib.re", os.Getenv("S3_ACCESSKEY"), os.Getenv("S3_SECRETKEY")))
|
||||
ncSecret := client.SetSecret("nc", os.Getenv("NC_STORE_TOKEN"))
|
||||
|
||||
i := loadInfo()
|
||||
|
||||
archiveName := fmt.Sprintf("scimserviceprovider-v%s.tar.gz", i.Version)
|
||||
|
||||
fmt.Println("cc", i.Version)
|
||||
|
||||
// execute
|
||||
vendor := client.Container().From("docker.io/composer:2.6").
|
||||
WithFile("composer.json", client.Host().File("composer.json")).
|
||||
WithFile("composer.lock", client.Host().File("composer.lock")).
|
||||
WithExec([]string{"composer", "i", "--no-dev", "--ignore-platform-reqs"}).
|
||||
WithExec([]string{"rm", "-rf", "vendor/audriga/scim-server-php/.git"}).
|
||||
Directory("vendor")
|
||||
|
||||
output := client.Container().From("docker.io/nextcloud:28").
|
||||
WithWorkdir("/scimserviceprovider").
|
||||
WithDirectory("vendor", vendor).
|
||||
WithDirectory(".", client.Host().Directory(".", dagger.HostDirectoryOpts{
|
||||
Include: []string{"appinfo", "lib", "LICENSE"},
|
||||
})).
|
||||
WithMountedSecret("/scimserviceprovider.crt", certSecret).
|
||||
WithMountedSecret("/scimserviceprovider.key", keySecret).
|
||||
WithExec([]string{"php", "/usr/src/nextcloud/occ", "integrity:sign-app", "--path=/scimserviceprovider", "--privateKey=/scimserviceprovider.key", "--certificate=/scimserviceprovider.crt"}).
|
||||
WithExec([]string{"mkdir", "/output"}).
|
||||
WithExec([]string{"tar", "czf", path.Join("/output", archiveName), "/scimserviceprovider"}).
|
||||
WithExec([]string{"bash", "-c", "openssl dgst -sha512 -sign /scimserviceprovider.key " + path.Join("/output", archiveName) + " | openssl base64 > " + path.Join("/output", archiveName+".sign")}).
|
||||
Directory("/output")
|
||||
|
||||
_, err = client.Container().From("docker.io/minio/mc").
|
||||
WithSecretVariable("MC_HOST_repo", s3Secret).
|
||||
WithDirectory("/output", output).
|
||||
WithExec([]string{"mc", "cp", "-r", "/output/", "repo/artifacts/"}).
|
||||
Sync(ctx)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
_, err = client.Container().From("docker.io/alpine").
|
||||
WithExec([]string{"apk", "add", "--no-cache", "curl"}).
|
||||
WithWorkdir("/output").
|
||||
WithDirectory("/output", output).
|
||||
WithEnvVariable("ARCHIVE_NAME", archiveName).
|
||||
WithSecretVariable("TOKEN", ncSecret).
|
||||
WithEnvVariable("CACHEBUSTER", time.Now().String()).
|
||||
WithExec([]string{"sh", "-c",
|
||||
`printf '{"download":"https://hot-objects.liiib.re/artifacts/%s", "signature": "%s"}' "$ARCHIVE_NAME" "$(cat ${ARCHIVE_NAME}.sign)" | curl --fail-with-body -s -X POST https://apps.nextcloud.com/api/v1/apps/releases -H "Authorization: Token ${TOKEN}" -H "Content-Type: application/json" -d @-`}).
|
||||
Sync(ctx)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
func loadSecret(client *dagger.Client, name string) *dagger.Secret {
|
||||
home, err := os.UserHomeDir()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
data, err := os.ReadFile(path.Join(home, ".nextcloud/certificates/", name))
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return client.SetSecret(name, string(data))
|
||||
}
|
||||
|
||||
func loadInfo() info {
|
||||
data, err := os.ReadFile("appinfo/info.xml")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
i := info{}
|
||||
err = xml.Unmarshal(data, &i)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return i
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"require-dev": {
|
||||
"vimeo/psalm": "^4.23",
|
||||
"vimeo/psalm": "^4",
|
||||
"nextcloud/ocp": "^28.0",
|
||||
"nextcloud/coding-standard": "^1.3"
|
||||
},
|
||||
|
|
236
composer.lock
generated
236
composer.lock
generated
|
@ -4,7 +4,7 @@
|
|||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "f46c2521f4a40788b84eb61646c04c1a",
|
||||
"content-hash": "3bbf10c4c1a2c7ba90a4038e08d09e0a",
|
||||
"packages": [
|
||||
{
|
||||
"name": "audriga/scim-server-php",
|
||||
|
@ -12,14 +12,14 @@
|
|||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://forge.libre.sh/libre.sh/scim-server-php.git",
|
||||
"reference": "dfa3a7646a896f54501e86bf38cf0cb299e20920"
|
||||
"reference": "c968abdf095ed26cab6ff120946f134617a0ca58"
|
||||
},
|
||||
"require": {
|
||||
"coenjacobs/mozart": "^0.7.1",
|
||||
"firebase/php-jwt": "^6.3",
|
||||
"illuminate/database": "^11",
|
||||
"monolog/monolog": "^2.4",
|
||||
"php": "^7.4",
|
||||
"php": "^8",
|
||||
"php-di/php-di": "^7.0",
|
||||
"ramsey/uuid": "^4.2",
|
||||
"slim/php-view": "^3.1",
|
||||
|
@ -66,7 +66,7 @@
|
|||
}
|
||||
],
|
||||
"description": "An open library for SCIM servers implementation",
|
||||
"time": "2024-08-14T13:23:00+00:00"
|
||||
"time": "2024-11-06T15:55:50+00:00"
|
||||
},
|
||||
{
|
||||
"name": "brick/math",
|
||||
|
@ -405,16 +405,16 @@
|
|||
},
|
||||
{
|
||||
"name": "firebase/php-jwt",
|
||||
"version": "v6.10.1",
|
||||
"version": "v6.10.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/firebase/php-jwt.git",
|
||||
"reference": "500501c2ce893c824c801da135d02661199f60c5"
|
||||
"reference": "30c19ed0f3264cb660ea496895cfb6ef7ee3653b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/firebase/php-jwt/zipball/500501c2ce893c824c801da135d02661199f60c5",
|
||||
"reference": "500501c2ce893c824c801da135d02661199f60c5",
|
||||
"url": "https://api.github.com/repos/firebase/php-jwt/zipball/30c19ed0f3264cb660ea496895cfb6ef7ee3653b",
|
||||
"reference": "30c19ed0f3264cb660ea496895cfb6ef7ee3653b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -462,9 +462,9 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/firebase/php-jwt/issues",
|
||||
"source": "https://github.com/firebase/php-jwt/tree/v6.10.1"
|
||||
"source": "https://github.com/firebase/php-jwt/tree/v6.10.2"
|
||||
},
|
||||
"time": "2024-05-18T18:05:11+00:00"
|
||||
"time": "2024-11-24T11:22:49+00:00"
|
||||
},
|
||||
{
|
||||
"name": "illuminate/collections",
|
||||
|
@ -472,12 +472,12 @@
|
|||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/collections.git",
|
||||
"reference": "2d99ccbb19e34450508ff3ab2f62ba90aa2e9793"
|
||||
"reference": "fd2103ddc121449a7926fc34a9d220e5b88183c1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/illuminate/collections/zipball/2d99ccbb19e34450508ff3ab2f62ba90aa2e9793",
|
||||
"reference": "2d99ccbb19e34450508ff3ab2f62ba90aa2e9793",
|
||||
"url": "https://api.github.com/repos/illuminate/collections/zipball/fd2103ddc121449a7926fc34a9d220e5b88183c1",
|
||||
"reference": "fd2103ddc121449a7926fc34a9d220e5b88183c1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -519,7 +519,7 @@
|
|||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2024-10-10T19:23:07+00:00"
|
||||
"time": "2024-11-27T14:51:56+00:00"
|
||||
},
|
||||
{
|
||||
"name": "illuminate/conditionable",
|
||||
|
@ -527,12 +527,12 @@
|
|||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/conditionable.git",
|
||||
"reference": "362dd761b9920367bca1427a902158225e9e3a23"
|
||||
"reference": "911df1bda950a3b799cf80671764e34eede131c6"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/illuminate/conditionable/zipball/362dd761b9920367bca1427a902158225e9e3a23",
|
||||
"reference": "362dd761b9920367bca1427a902158225e9e3a23",
|
||||
"url": "https://api.github.com/repos/illuminate/conditionable/zipball/911df1bda950a3b799cf80671764e34eede131c6",
|
||||
"reference": "911df1bda950a3b799cf80671764e34eede131c6",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -565,7 +565,7 @@
|
|||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2024-06-28T20:10:30+00:00"
|
||||
"time": "2024-11-21T16:28:56+00:00"
|
||||
},
|
||||
{
|
||||
"name": "illuminate/container",
|
||||
|
@ -573,12 +573,12 @@
|
|||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/container.git",
|
||||
"reference": "06dfc614aff58384b28ba5ad191f6a02d6b192cb"
|
||||
"reference": "b057b0bbb38d7c7524df1ca5c38e7318f4c64d26"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/illuminate/container/zipball/06dfc614aff58384b28ba5ad191f6a02d6b192cb",
|
||||
"reference": "06dfc614aff58384b28ba5ad191f6a02d6b192cb",
|
||||
"url": "https://api.github.com/repos/illuminate/container/zipball/b057b0bbb38d7c7524df1ca5c38e7318f4c64d26",
|
||||
"reference": "b057b0bbb38d7c7524df1ca5c38e7318f4c64d26",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -616,7 +616,7 @@
|
|||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2024-10-11T15:30:11+00:00"
|
||||
"time": "2024-11-21T20:07:31+00:00"
|
||||
},
|
||||
{
|
||||
"name": "illuminate/contracts",
|
||||
|
@ -624,12 +624,12 @@
|
|||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/contracts.git",
|
||||
"reference": "56312862af937bd6da8e6dc8bbd88188dfb478f8"
|
||||
"reference": "184317f701ba20ca265e36808ed54b75b115972d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/illuminate/contracts/zipball/56312862af937bd6da8e6dc8bbd88188dfb478f8",
|
||||
"reference": "56312862af937bd6da8e6dc8bbd88188dfb478f8",
|
||||
"url": "https://api.github.com/repos/illuminate/contracts/zipball/184317f701ba20ca265e36808ed54b75b115972d",
|
||||
"reference": "184317f701ba20ca265e36808ed54b75b115972d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -664,7 +664,7 @@
|
|||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2024-09-22T15:08:08+00:00"
|
||||
"time": "2024-11-25T15:33:38+00:00"
|
||||
},
|
||||
{
|
||||
"name": "illuminate/database",
|
||||
|
@ -672,12 +672,12 @@
|
|||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/database.git",
|
||||
"reference": "af371b7b34c55777e2b3f761c846e1b921aebb5d"
|
||||
"reference": "f08bb9ffa1d829cb6f8bb713e5c9cd3a47636ff2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/illuminate/database/zipball/af371b7b34c55777e2b3f761c846e1b921aebb5d",
|
||||
"reference": "af371b7b34c55777e2b3f761c846e1b921aebb5d",
|
||||
"url": "https://api.github.com/repos/illuminate/database/zipball/f08bb9ffa1d829cb6f8bb713e5c9cd3a47636ff2",
|
||||
"reference": "f08bb9ffa1d829cb6f8bb713e5c9cd3a47636ff2",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -692,7 +692,7 @@
|
|||
},
|
||||
"suggest": {
|
||||
"ext-filter": "Required to use the Postgres database driver.",
|
||||
"fakerphp/faker": "Required to use the eloquent factory builder (^1.21).",
|
||||
"fakerphp/faker": "Required to use the eloquent factory builder (^1.24).",
|
||||
"illuminate/console": "Required to use the database commands (^11.0).",
|
||||
"illuminate/events": "Required to use the observers with Eloquent (^11.0).",
|
||||
"illuminate/filesystem": "Required to use the migrations (^11.0).",
|
||||
|
@ -733,7 +733,7 @@
|
|||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2024-10-21T14:14:36+00:00"
|
||||
"time": "2024-11-25T22:44:52+00:00"
|
||||
},
|
||||
{
|
||||
"name": "illuminate/macroable",
|
||||
|
@ -787,12 +787,12 @@
|
|||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/support.git",
|
||||
"reference": "ec2cb8d9fa0be75302fac9442981383b662b403e"
|
||||
"reference": "2b718a86571baed50fdc5d5748a846c2e58e07eb"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/illuminate/support/zipball/ec2cb8d9fa0be75302fac9442981383b662b403e",
|
||||
"reference": "ec2cb8d9fa0be75302fac9442981383b662b403e",
|
||||
"url": "https://api.github.com/repos/illuminate/support/zipball/2b718a86571baed50fdc5d5748a846c2e58e07eb",
|
||||
"reference": "2b718a86571baed50fdc5d5748a846c2e58e07eb",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -804,9 +804,9 @@
|
|||
"illuminate/conditionable": "^11.0",
|
||||
"illuminate/contracts": "^11.0",
|
||||
"illuminate/macroable": "^11.0",
|
||||
"nesbot/carbon": "^2.72.2|^3.0",
|
||||
"nesbot/carbon": "^2.72.2|^3.4",
|
||||
"php": "^8.2",
|
||||
"voku/portable-ascii": "^2.0"
|
||||
"voku/portable-ascii": "^2.0.2"
|
||||
},
|
||||
"conflict": {
|
||||
"tightenco/collect": "<5.5.33"
|
||||
|
@ -822,7 +822,7 @@
|
|||
"symfony/process": "Required to use the composer class (^7.0).",
|
||||
"symfony/uid": "Required to use Str::ulid() (^7.0).",
|
||||
"symfony/var-dumper": "Required to use the dd function (^7.0).",
|
||||
"vlucas/phpdotenv": "Required to use the Env class and env helper (^5.4.1)."
|
||||
"vlucas/phpdotenv": "Required to use the Env class and env helper (^5.6.1)."
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
|
@ -855,20 +855,20 @@
|
|||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2024-10-24T14:27:28+00:00"
|
||||
"time": "2024-11-27T14:58:17+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/serializable-closure",
|
||||
"version": "dev-master",
|
||||
"version": "1.x-dev",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/serializable-closure.git",
|
||||
"reference": "43244bfd7161fdbce7419c76f9a776b7d705b333"
|
||||
"reference": "8be68b9a31863c40ccccac14f7e885e274b8ea62"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/43244bfd7161fdbce7419c76f9a776b7d705b333",
|
||||
"reference": "43244bfd7161fdbce7419c76f9a776b7d705b333",
|
||||
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/8be68b9a31863c40ccccac14f7e885e274b8ea62",
|
||||
"reference": "8be68b9a31863c40ccccac14f7e885e274b8ea62",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -881,7 +881,6 @@
|
|||
"phpstan/phpstan": "^1.8.2",
|
||||
"symfony/var-dumper": "^5.4.11|^6.2.0|^7.0.0"
|
||||
},
|
||||
"default-branch": true,
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
|
@ -917,7 +916,7 @@
|
|||
"issues": "https://github.com/laravel/serializable-closure/issues",
|
||||
"source": "https://github.com/laravel/serializable-closure"
|
||||
},
|
||||
"time": "2024-09-24T15:52:47+00:00"
|
||||
"time": "2024-11-19T20:48:19+00:00"
|
||||
},
|
||||
{
|
||||
"name": "league/flysystem",
|
||||
|
@ -1075,12 +1074,12 @@
|
|||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Seldaek/monolog.git",
|
||||
"reference": "23560e32b11ca2e11d420279b2ea774c911aee1a"
|
||||
"reference": "5cf826f2991858b54d5c3809bee745560a1042a7"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/23560e32b11ca2e11d420279b2ea774c911aee1a",
|
||||
"reference": "23560e32b11ca2e11d420279b2ea774c911aee1a",
|
||||
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/5cf826f2991858b54d5c3809bee745560a1042a7",
|
||||
"reference": "5cf826f2991858b54d5c3809bee745560a1042a7",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -1169,7 +1168,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-08-27T07:31:25+00:00"
|
||||
"time": "2024-11-12T12:43:37+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nesbot/carbon",
|
||||
|
@ -1177,12 +1176,12 @@
|
|||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/briannesbitt/Carbon.git",
|
||||
"reference": "5040f2911da70932682ea64895e0ca8e80c21078"
|
||||
"reference": "901a6988edbc6f469896b3fd991935ce2560ae2f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/5040f2911da70932682ea64895e0ca8e80c21078",
|
||||
"reference": "5040f2911da70932682ea64895e0ca8e80c21078",
|
||||
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/901a6988edbc6f469896b3fd991935ce2560ae2f",
|
||||
"reference": "901a6988edbc6f469896b3fd991935ce2560ae2f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -1276,7 +1275,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-10-16T21:23:18+00:00"
|
||||
"time": "2024-11-19T17:15:47+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nikic/fast-route",
|
||||
|
@ -2023,12 +2022,12 @@
|
|||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ramsey/uuid.git",
|
||||
"reference": "9e8aa057ba5384e5888954c828f8de90ccd3ca4c"
|
||||
"reference": "99fc2f461452e2f4243d70f9099c4dd2b1c2bffd"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/ramsey/uuid/zipball/9e8aa057ba5384e5888954c828f8de90ccd3ca4c",
|
||||
"reference": "9e8aa057ba5384e5888954c828f8de90ccd3ca4c",
|
||||
"url": "https://api.github.com/repos/ramsey/uuid/zipball/99fc2f461452e2f4243d70f9099c4dd2b1c2bffd",
|
||||
"reference": "99fc2f461452e2f4243d70f9099c4dd2b1c2bffd",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -2108,7 +2107,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-10-14T21:21:59+00:00"
|
||||
"time": "2024-11-25T21:13:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "slim/php-view",
|
||||
|
@ -2446,12 +2445,12 @@
|
|||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/console.git",
|
||||
"reference": "108d436c2af470858bdaba3257baab3a74172017"
|
||||
"reference": "c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/108d436c2af470858bdaba3257baab3a74172017",
|
||||
"reference": "108d436c2af470858bdaba3257baab3a74172017",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed",
|
||||
"reference": "c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -2537,7 +2536,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-10-08T07:27:17+00:00"
|
||||
"time": "2024-11-06T11:30:55+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/deprecation-contracts",
|
||||
|
@ -3317,12 +3316,12 @@
|
|||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/string.git",
|
||||
"reference": "38371c60c71c72b3d64d8d76f6b1bb81a2cc3627"
|
||||
"reference": "73a5e66ea2e1677c98d4449177c5a9cf9d8b4c6f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/38371c60c71c72b3d64d8d76f6b1bb81a2cc3627",
|
||||
"reference": "38371c60c71c72b3d64d8d76f6b1bb81a2cc3627",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/73a5e66ea2e1677c98d4449177c5a9cf9d8b4c6f",
|
||||
"reference": "73a5e66ea2e1677c98d4449177c5a9cf9d8b4c6f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -3395,7 +3394,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-09-25T14:18:03+00:00"
|
||||
"time": "2024-11-13T13:31:12+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/translation",
|
||||
|
@ -3573,16 +3572,16 @@
|
|||
},
|
||||
{
|
||||
"name": "voku/portable-ascii",
|
||||
"version": "2.0.1",
|
||||
"version": "2.0.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/voku/portable-ascii.git",
|
||||
"reference": "b56450eed252f6801410d810c8e1727224ae0743"
|
||||
"reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743",
|
||||
"reference": "b56450eed252f6801410d810c8e1727224ae0743",
|
||||
"url": "https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d",
|
||||
"reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -3607,7 +3606,7 @@
|
|||
"authors": [
|
||||
{
|
||||
"name": "Lars Moelleken",
|
||||
"homepage": "http://www.moelleken.org/"
|
||||
"homepage": "https://www.moelleken.org/"
|
||||
}
|
||||
],
|
||||
"description": "Portable ASCII library - performance optimized (ascii) string functions for php.",
|
||||
|
@ -3619,7 +3618,7 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/voku/portable-ascii/issues",
|
||||
"source": "https://github.com/voku/portable-ascii/tree/2.0.1"
|
||||
"source": "https://github.com/voku/portable-ascii/tree/2.0.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
@ -3643,7 +3642,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-03-08T17:03:00+00:00"
|
||||
"time": "2024-11-21T01:49:47+00:00"
|
||||
}
|
||||
],
|
||||
"packages-dev": [
|
||||
|
@ -3887,12 +3886,12 @@
|
|||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/composer/pcre.git",
|
||||
"reference": "63aaeac21d7e775ff9bc9d45021e1745c97521c4"
|
||||
"reference": "deb3871d20d5012eb5faa5a9caa71c44f151db49"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/composer/pcre/zipball/63aaeac21d7e775ff9bc9d45021e1745c97521c4",
|
||||
"reference": "63aaeac21d7e775ff9bc9d45021e1745c97521c4",
|
||||
"url": "https://api.github.com/repos/composer/pcre/zipball/deb3871d20d5012eb5faa5a9caa71c44f151db49",
|
||||
"reference": "deb3871d20d5012eb5faa5a9caa71c44f151db49",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -3902,8 +3901,9 @@
|
|||
"phpstan/phpstan": "<1.11.10"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpstan/phpstan": "^1.11.10",
|
||||
"phpstan/phpstan-strict-rules": "^1.1",
|
||||
"phpstan/phpstan": "^1.12 || ^2",
|
||||
"phpstan/phpstan-deprecation-rules": "^1 || ^2",
|
||||
"phpstan/phpstan-strict-rules": "^1 || ^2",
|
||||
"phpunit/phpunit": "^8 || ^9"
|
||||
},
|
||||
"default-branch": true,
|
||||
|
@ -3943,7 +3943,7 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/composer/pcre/issues",
|
||||
"source": "https://github.com/composer/pcre/tree/3.3.1"
|
||||
"source": "https://github.com/composer/pcre/tree/main"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
@ -3959,7 +3959,7 @@
|
|||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-08-27T18:44:43+00:00"
|
||||
"time": "2024-11-20T09:10:58+00:00"
|
||||
},
|
||||
{
|
||||
"name": "composer/semver",
|
||||
|
@ -4590,16 +4590,16 @@
|
|||
},
|
||||
{
|
||||
"name": "php-cs-fixer/shim",
|
||||
"version": "v3.64.0",
|
||||
"version": "v3.65.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/PHP-CS-Fixer/shim.git",
|
||||
"reference": "81ccfd24baf3a10810dab1152c403981a790b837"
|
||||
"reference": "4983ec79b9dee926695ac324ea6e8d291935525d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/PHP-CS-Fixer/shim/zipball/81ccfd24baf3a10810dab1152c403981a790b837",
|
||||
"reference": "81ccfd24baf3a10810dab1152c403981a790b837",
|
||||
"url": "https://api.github.com/repos/PHP-CS-Fixer/shim/zipball/4983ec79b9dee926695ac324ea6e8d291935525d",
|
||||
"reference": "4983ec79b9dee926695ac324ea6e8d291935525d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -4636,9 +4636,9 @@
|
|||
"description": "A tool to automatically fix PHP code style",
|
||||
"support": {
|
||||
"issues": "https://github.com/PHP-CS-Fixer/shim/issues",
|
||||
"source": "https://github.com/PHP-CS-Fixer/shim/tree/v3.64.0"
|
||||
"source": "https://github.com/PHP-CS-Fixer/shim/tree/v3.65.0"
|
||||
},
|
||||
"time": "2024-08-30T23:10:11+00:00"
|
||||
"time": "2024-11-25T00:39:41+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpdocumentor/reflection-common",
|
||||
|
@ -4699,12 +4699,12 @@
|
|||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
|
||||
"reference": "60741fe3871f40e44ca10a28ce85d08b7ed841cd"
|
||||
"reference": "f3558a4c23426d12bffeaab463f8a8d8b681193c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/60741fe3871f40e44ca10a28ce85d08b7ed841cd",
|
||||
"reference": "60741fe3871f40e44ca10a28ce85d08b7ed841cd",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/f3558a4c23426d12bffeaab463f8a8d8b681193c",
|
||||
"reference": "f3558a4c23426d12bffeaab463f8a8d8b681193c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -4713,17 +4713,17 @@
|
|||
"php": "^7.4 || ^8.0",
|
||||
"phpdocumentor/reflection-common": "^2.2",
|
||||
"phpdocumentor/type-resolver": "^1.7",
|
||||
"phpstan/phpdoc-parser": "^1.7",
|
||||
"phpstan/phpdoc-parser": "^1.7|^2.0",
|
||||
"webmozart/assert": "^1.9.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "~1.3.5",
|
||||
"mockery/mockery": "~1.3.5 || ~1.6.0",
|
||||
"phpstan/extension-installer": "^1.1",
|
||||
"phpstan/phpstan": "^1.8",
|
||||
"phpstan/phpstan-mockery": "^1.1",
|
||||
"phpstan/phpstan-webmozart-assert": "^1.2",
|
||||
"phpunit/phpunit": "^9.5",
|
||||
"vimeo/psalm": "^5.13"
|
||||
"psalm/phar": "^5.26"
|
||||
},
|
||||
"default-branch": true,
|
||||
"type": "library",
|
||||
|
@ -4754,9 +4754,9 @@
|
|||
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
|
||||
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.x"
|
||||
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.0"
|
||||
},
|
||||
"time": "2024-08-14T20:00:37+00:00"
|
||||
"time": "2024-11-12T11:25:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpdocumentor/type-resolver",
|
||||
|
@ -4764,19 +4764,19 @@
|
|||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpDocumentor/TypeResolver.git",
|
||||
"reference": "eee054a3d40f09920f5b27c9b09a6483f88d9d24"
|
||||
"reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/eee054a3d40f09920f5b27c9b09a6483f88d9d24",
|
||||
"reference": "eee054a3d40f09920f5b27c9b09a6483f88d9d24",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/679e3ce485b99e84c775d28e2e96fade9a7fb50a",
|
||||
"reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"doctrine/deprecations": "^1.0",
|
||||
"php": "^7.3 || ^8.0",
|
||||
"phpdocumentor/reflection-common": "^2.0",
|
||||
"phpstan/phpdoc-parser": "^1.18"
|
||||
"phpstan/phpdoc-parser": "^1.18|^2.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"ext-tokenizer": "*",
|
||||
|
@ -4813,38 +4813,39 @@
|
|||
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
|
||||
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.x"
|
||||
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.10.0"
|
||||
},
|
||||
"time": "2024-05-24T14:24:30+00:00"
|
||||
"time": "2024-11-09T15:12:26+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpdoc-parser",
|
||||
"version": "1.33.0",
|
||||
"version": "2.0.x-dev",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpdoc-parser.git",
|
||||
"reference": "82a311fd3690fb2bf7b64d5c98f912b3dd746140"
|
||||
"reference": "04c8de0d350731bccfa216a5b5e9b3e1c26e4e24"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/82a311fd3690fb2bf7b64d5c98f912b3dd746140",
|
||||
"reference": "82a311fd3690fb2bf7b64d5c98f912b3dd746140",
|
||||
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/04c8de0d350731bccfa216a5b5e9b3e1c26e4e24",
|
||||
"reference": "04c8de0d350731bccfa216a5b5e9b3e1c26e4e24",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.2 || ^8.0"
|
||||
"php": "^7.4 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/annotations": "^2.0",
|
||||
"nikic/php-parser": "^4.15",
|
||||
"nikic/php-parser": "^5.3.0",
|
||||
"php-parallel-lint/php-parallel-lint": "^1.2",
|
||||
"phpstan/extension-installer": "^1.0",
|
||||
"phpstan/phpstan": "^1.5",
|
||||
"phpstan/phpstan-phpunit": "^1.1",
|
||||
"phpstan/phpstan-strict-rules": "^1.0",
|
||||
"phpunit/phpunit": "^9.5",
|
||||
"phpstan/phpstan": "^2.0",
|
||||
"phpstan/phpstan-phpunit": "^2.0",
|
||||
"phpstan/phpstan-strict-rules": "^2.0",
|
||||
"phpunit/phpunit": "^9.6",
|
||||
"symfony/process": "^5.2"
|
||||
},
|
||||
"default-branch": true,
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
|
@ -4860,9 +4861,9 @@
|
|||
"description": "PHPDoc parser with support for nullable, intersection and generic types",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
|
||||
"source": "https://github.com/phpstan/phpdoc-parser/tree/1.33.0"
|
||||
"source": "https://github.com/phpstan/phpdoc-parser/tree/2.0.x"
|
||||
},
|
||||
"time": "2024-10-13T11:25:22+00:00"
|
||||
"time": "2024-11-07T10:15:44+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/event-dispatcher",
|
||||
|
@ -5152,27 +5153,26 @@
|
|||
},
|
||||
{
|
||||
"name": "webmozart/path-util",
|
||||
"version": "dev-master",
|
||||
"version": "2.3.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/webmozart/path-util.git",
|
||||
"reference": "6099b5238073f87f246863fd58c2e447acfc0d24"
|
||||
"reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/webmozart/path-util/zipball/6099b5238073f87f246863fd58c2e447acfc0d24",
|
||||
"reference": "6099b5238073f87f246863fd58c2e447acfc0d24",
|
||||
"url": "https://api.github.com/repos/webmozart/path-util/zipball/d939f7edc24c9a1bb9c0dee5cb05d8e859490725",
|
||||
"reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^5.3.3|^7.0",
|
||||
"php": ">=5.3.3",
|
||||
"webmozart/assert": "~1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^4.6",
|
||||
"sebastian/version": "^1.0.1"
|
||||
},
|
||||
"default-branch": true,
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
|
@ -5197,10 +5197,10 @@
|
|||
"description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.",
|
||||
"support": {
|
||||
"issues": "https://github.com/webmozart/path-util/issues",
|
||||
"source": "https://github.com/webmozart/path-util/tree/master"
|
||||
"source": "https://github.com/webmozart/path-util/tree/2.3.0"
|
||||
},
|
||||
"abandoned": "symfony/filesystem",
|
||||
"time": "2021-11-08T08:17:20+00:00"
|
||||
"time": "2015-12-17T08:42:14+00:00"
|
||||
}
|
||||
],
|
||||
"aliases": [],
|
||||
|
|
61
flake.lock
Normal file
61
flake.lock
Normal file
|
@ -0,0 +1,61 @@
|
|||
{
|
||||
"nodes": {
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1732521221,
|
||||
"narHash": "sha256-2ThgXBUXAE1oFsVATK1ZX9IjPcS4nKFOAjhPNKuiMn0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4633a7c72337ea8fd23a4f2ba3972865e3ec685d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
178
flake.nix
Normal file
178
flake.nix
Normal file
|
@ -0,0 +1,178 @@
|
|||
{
|
||||
description = "Empty Template";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
};
|
||||
|
||||
outputs =
|
||||
{
|
||||
nixpkgs,
|
||||
flake-utils,
|
||||
...
|
||||
}:
|
||||
flake-utils.lib.eachDefaultSystem (
|
||||
system:
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
|
||||
config = pkgs.writeText "config.php" ''
|
||||
<?php
|
||||
$CONFIG = [
|
||||
'config_is_read_only' => true,
|
||||
'logfile' => getenv('NEXTCLOUD_DATA_DIR').'/nextcloud.log',
|
||||
'apps_paths' => [
|
||||
[
|
||||
'path'=> '${pkgs.nextcloud28}/apps',
|
||||
'url' => '/apps',
|
||||
'writable' => false,
|
||||
],
|
||||
[
|
||||
'path'=> getenv('NEXTCLOUD_DATA_DIR').'/apps',
|
||||
'url' => '/apps',
|
||||
'writable' => true,
|
||||
],
|
||||
],
|
||||
];
|
||||
'';
|
||||
occ = pkgs.writeShellApplication {
|
||||
name = "occ";
|
||||
runtimeInputs = with pkgs; [
|
||||
nextcloud28
|
||||
php
|
||||
];
|
||||
text = ''
|
||||
NEXTCLOUD_DATA_DIR="$(mktemp -d)"
|
||||
export NEXTCLOUD_DATA_DIR="$NEXTCLOUD_DATA_DIR"
|
||||
export NEXTCLOUD_CONFIG_DIR="$NEXTCLOUD_DATA_DIR/config"
|
||||
mkdir "$NEXTCLOUD_CONFIG_DIR"
|
||||
mkdir "$NEXTCLOUD_DATA_DIR/apps"
|
||||
cp ${config} "$NEXTCLOUD_CONFIG_DIR/config.php"
|
||||
exec php ${pkgs.nextcloud28}/occ "$@"
|
||||
'';
|
||||
};
|
||||
|
||||
src = ./.;
|
||||
version = builtins.readFile (
|
||||
pkgs.runCommand "version" { } ''
|
||||
${pkgs.coreutils}/bin/cat ${src}/appinfo/info.xml | ${pkgs.xq-xml}/bin/xq -x "info/version" | ${pkgs.coreutils}/bin/tr -d '\n' > $out
|
||||
''
|
||||
);
|
||||
vendor = pkgs.stdenv.mkDerivation {
|
||||
pname = "scimserviceprovider-vendor";
|
||||
inherit src version;
|
||||
doCheck = false;
|
||||
dontFixup = true;
|
||||
nativeBuildInputs = with pkgs; [
|
||||
cacert
|
||||
php
|
||||
php.packages.composer
|
||||
rsync
|
||||
];
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
export COMPOSER_MIRROR_PATH_REPOS=1
|
||||
export COMPOSER_CACHE_DIR=/dev/null
|
||||
export COMPOSER_HTACCESS_PROTECT=0
|
||||
composer install --no-interaction --no-dev
|
||||
runHook postBuild
|
||||
'';
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir $out
|
||||
rsync -av --progress vendor/ $out --exclude .git
|
||||
runHook postInstall
|
||||
'';
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-fPSCufyPWf1G1XH3NsbuWSbKBBw/AM6j6Vd9lX+6qIQ=";
|
||||
#outputHash = pkgs.lib.fakeHash;
|
||||
};
|
||||
scimserviceprovider = pkgs.stdenv.mkDerivation {
|
||||
pname = "scimserviceprovider";
|
||||
inherit src version;
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir $out
|
||||
cp -r appinfo $out/
|
||||
cp -r lib $out/
|
||||
cp LICENSE $out/
|
||||
ln -sv ${vendor} $out/vendor
|
||||
runHook postInstall
|
||||
'';
|
||||
};
|
||||
scimserviceproviderArchive = "${scimserviceprovider.pname}-v${scimserviceprovider.version}.tar.gz";
|
||||
scimserviceproviderArchiveSignature = "${scimserviceprovider.pname}-v${scimserviceprovider.version}.tar.gz.sign";
|
||||
make = pkgs.writeShellApplication {
|
||||
name = "make";
|
||||
runtimeInputs = with pkgs; [
|
||||
coreutils
|
||||
gnutar
|
||||
openssl
|
||||
occ
|
||||
];
|
||||
text = ''
|
||||
SCIMSERVICEPROVIDER_CRT_PATH="$HOME/.nextcloud/certificates/scimserviceprovider.crt"
|
||||
SCIMSERVICEPROVIDER_KEY_PATH="$HOME/.nextcloud/certificates/scimserviceprovider.key"
|
||||
CI=''${CI:-false}
|
||||
if [ "$CI" = true ]; then
|
||||
echo "Loading CI secrets"
|
||||
SCIMSERVICEPROVIDER_CRT_PATH="$PWD/scimserviceprovider.crt"
|
||||
SCIMSERVICEPROVIDER_KEY_PATH="$PWD/scimserviceprovider.key"
|
||||
echo -n "$SCIMSERVICEPROVIDER_CRT" | base64 -d > "$SCIMSERVICEPROVIDER_CRT_PATH"
|
||||
echo -n "$SCIMSERVICEPROVIDER_KEY" | base64 -d > "$SCIMSERVICEPROVIDER_KEY_PATH"
|
||||
fi
|
||||
rm -rf build
|
||||
mkdir -p build/scimserviceprovider
|
||||
cd build
|
||||
cp -Lr --no-preserve=all ${scimserviceprovider}/* scimserviceprovider/
|
||||
occ integrity:sign-app --privateKey="$SCIMSERVICEPROVIDER_KEY_PATH" --certificate="$SCIMSERVICEPROVIDER_CRT_PATH" --path="$PWD/scimserviceprovider"
|
||||
tar czf ${scimserviceproviderArchive} scimserviceprovider
|
||||
openssl dgst -sha512 -sign "$SCIMSERVICEPROVIDER_KEY_PATH" "$PWD/${scimserviceproviderArchive}" | openssl base64 -A > "$PWD/${scimserviceproviderArchiveSignature}"
|
||||
'';
|
||||
};
|
||||
publish = pkgs.writeShellApplication {
|
||||
name = "publish";
|
||||
runtimeInputs = with pkgs; [
|
||||
coreutils
|
||||
curl
|
||||
];
|
||||
text = ''
|
||||
printf '{"download":"https://forge.libre.sh/libre.sh/scimserviceprovider/releases/download/${scimserviceprovider.version}/${scimserviceproviderArchive}","signature":"%s"}' "$(cat artifact/${scimserviceproviderArchiveSignature})" | curl --fail-with-body -s -X POST https://apps.nextcloud.com/api/v1/apps/releases -H "Authorization: Token $NC_STORE_TOKEN" -H "Content-Type: application/json" -d @-
|
||||
'';
|
||||
};
|
||||
release = pkgs.writeShellApplication {
|
||||
name = "publish";
|
||||
runtimeInputs = with pkgs; [
|
||||
coreutils
|
||||
findutils
|
||||
tea
|
||||
git-cliff
|
||||
];
|
||||
text = ''
|
||||
export XDG_CONFIG_HOME=$PWD/.config
|
||||
export GITEA_SERVER_TOKEN="$GITHUB_TOKEN"
|
||||
tea login add --url "$GITHUB_SERVER_URL"
|
||||
# shellcheck disable=SC2046
|
||||
tea release create $(find artifact/ -type f -printf "--asset %p ") --note "$(git-cliff -s all --tag "$GITHUB_REF_NAME")" --repo "$GITHUB_REPOSITORY" --tag "$GITHUB_REF_NAME" --title "$GITHUB_REF_NAME"
|
||||
'';
|
||||
};
|
||||
in
|
||||
{
|
||||
packages.default = scimserviceprovider;
|
||||
packages.scimserviceprovider = scimserviceprovider;
|
||||
packages.vendor = vendor;
|
||||
packages.occ = occ;
|
||||
packages.make = make;
|
||||
packages.publish = publish;
|
||||
packages.release = release;
|
||||
devShells.default = pkgs.mkShell {
|
||||
buildInputs = [
|
||||
occ
|
||||
make
|
||||
];
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
42
go.mod
42
go.mod
|
@ -1,42 +0,0 @@
|
|||
module nextcloud-scim
|
||||
|
||||
go 1.22
|
||||
|
||||
toolchain go1.22.5
|
||||
|
||||
require dagger.io/dagger v0.12.4
|
||||
|
||||
require (
|
||||
github.com/99designs/gqlgen v0.17.49 // indirect
|
||||
github.com/Khan/genqlient v0.7.0 // indirect
|
||||
github.com/adrg/xdg v0.4.0 // indirect
|
||||
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
|
||||
github.com/go-logr/logr v1.4.1 // indirect
|
||||
github.com/go-logr/stdr v1.2.2 // indirect
|
||||
github.com/google/uuid v1.6.0 // indirect
|
||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 // indirect
|
||||
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
||||
github.com/sosodev/duration v1.3.1 // indirect
|
||||
github.com/vektah/gqlparser/v2 v2.5.16 // indirect
|
||||
go.opentelemetry.io/otel v1.27.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.0.0-20240518090000-14441aefdf88 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.3.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.27.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.27.0 // indirect
|
||||
go.opentelemetry.io/otel/log v0.3.0 // indirect
|
||||
go.opentelemetry.io/otel/metric v1.27.0 // indirect
|
||||
go.opentelemetry.io/otel/sdk v1.27.0 // indirect
|
||||
go.opentelemetry.io/otel/sdk/log v0.3.0 // indirect
|
||||
go.opentelemetry.io/otel/trace v1.27.0 // indirect
|
||||
go.opentelemetry.io/proto/otlp v1.3.1 // indirect
|
||||
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa // indirect
|
||||
golang.org/x/net v0.26.0 // indirect
|
||||
golang.org/x/sync v0.7.0 // indirect
|
||||
golang.org/x/sys v0.21.0 // indirect
|
||||
golang.org/x/text v0.16.0 // indirect
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20240520151616-dc85e6b867a5 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 // indirect
|
||||
google.golang.org/grpc v1.64.0 // indirect
|
||||
google.golang.org/protobuf v1.34.1 // indirect
|
||||
)
|
89
go.sum
89
go.sum
|
@ -1,89 +0,0 @@
|
|||
dagger.io/dagger v0.12.4 h1:PeAsBs0dgMrV4TN8prVqeDDEvg8qOMMjdQiXHe9q2uc=
|
||||
dagger.io/dagger v0.12.4/go.mod h1:e5Xuvu+FnswwG28nMk7ZcDtT+p9vadvONowzLKf/0dA=
|
||||
github.com/99designs/gqlgen v0.17.49 h1:b3hNGexHd33fBSAd4NDT/c3NCcQzcAVkknhN9ym36YQ=
|
||||
github.com/99designs/gqlgen v0.17.49/go.mod h1:tC8YFVZMed81x7UJ7ORUwXF4Kn6SXuucFqQBhN8+BU0=
|
||||
github.com/Khan/genqlient v0.7.0 h1:GZ1meyRnzcDTK48EjqB8t3bcfYvHArCUUvgOwpz1D4w=
|
||||
github.com/Khan/genqlient v0.7.0/go.mod h1:HNyy3wZvuYwmW3Y7mkoQLZsa/R5n5yIRajS1kPBvSFM=
|
||||
github.com/adrg/xdg v0.4.0 h1:RzRqFcjH4nE5C6oTAxhBtoE2IRyjBSa62SCbyPidvls=
|
||||
github.com/adrg/xdg v0.4.0/go.mod h1:N6ag73EX4wyxeaoeHctc1mas01KZgsj5tYiAIwqJE/E=
|
||||
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ=
|
||||
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
|
||||
github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8=
|
||||
github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
|
||||
github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ=
|
||||
github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
|
||||
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
|
||||
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
|
||||
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
|
||||
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
||||
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 h1:bkypFPDjIYGfCYD5mRBvpqxfYX1YCS1PXdKYWi8FsN0=
|
||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0/go.mod h1:P+Lt/0by1T8bfcF3z737NnSbmxQAppXMRziHUxPOC8k=
|
||||
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
|
||||
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8=
|
||||
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4=
|
||||
github.com/sosodev/duration v1.3.1 h1:qtHBDMQ6lvMQsL15g4aopM4HEfOaYuhWBw3NPTtlqq4=
|
||||
github.com/sosodev/duration v1.3.1/go.mod h1:RQIBBX0+fMLc/D9+Jb/fwvVmo0eZvDDEERAikUR6SDg=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
|
||||
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
github.com/vektah/gqlparser/v2 v2.5.16 h1:1gcmLTvs3JLKXckwCwlUagVn/IlV2bwqle0vJ0vy5p8=
|
||||
github.com/vektah/gqlparser/v2 v2.5.16/go.mod h1:1lz1OeCqgQbQepsGxPVywrjdBHW2T08PUS3pJqepRww=
|
||||
go.opentelemetry.io/otel v1.27.0 h1:9BZoF3yMK/O1AafMiQTVu0YDj5Ea4hPhxCs7sGva+cg=
|
||||
go.opentelemetry.io/otel v1.27.0/go.mod h1:DMpAK8fzYRzs+bi3rS5REupisuqTheUlSZJ1WnZaPAQ=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.0.0-20240518090000-14441aefdf88 h1:oM0GTNKGlc5qHctWeIGTVyda4iFFalOzMZ3Ehj5rwB4=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.0.0-20240518090000-14441aefdf88/go.mod h1:JGG8ebaMO5nXOPnvKEl+DiA4MGwFjCbjsxT1WHIEBPY=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.3.0 h1:ccBrA8nCY5mM0y5uO7FT0ze4S0TuFcWdDB2FxGMTjkI=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.3.0/go.mod h1:/9pb6634zi2Lk8LYg9Q0X8Ar6jka4dkFOylBLbVQPCE=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.27.0 h1:R9DE4kQ4k+YtfLI2ULwX82VtNQ2J8yZmA7ZIF/D+7Mc=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.27.0/go.mod h1:OQFyQVrDlbe+R7xrEyDr/2Wr67Ol0hRUgsfA+V5A95s=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0 h1:qFffATk0X+HD+f1Z8lswGiOQYKHRlzfmdJm0wEaVrFA=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0/go.mod h1:MOiCmryaYtc+V0Ei+Tx9o5S1ZjA7kzLucuVuyzBZloQ=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.27.0 h1:QY7/0NeRPKlzusf40ZE4t1VlMKbqSNT7cJRYzWuja0s=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.27.0/go.mod h1:HVkSiDhTM9BoUJU8qE6j2eSWLLXvi1USXjyd2BXT8PY=
|
||||
go.opentelemetry.io/otel/log v0.3.0 h1:kJRFkpUFYtny37NQzL386WbznUByZx186DpEMKhEGZs=
|
||||
go.opentelemetry.io/otel/log v0.3.0/go.mod h1:ziCwqZr9soYDwGNbIL+6kAvQC+ANvjgG367HVcyR/ys=
|
||||
go.opentelemetry.io/otel/metric v1.27.0 h1:hvj3vdEKyeCi4YaYfNjv2NUje8FqKqUY8IlF0FxV/ik=
|
||||
go.opentelemetry.io/otel/metric v1.27.0/go.mod h1:mVFgmRlhljgBiuk/MP/oKylr4hs85GZAylncepAX/ak=
|
||||
go.opentelemetry.io/otel/sdk v1.27.0 h1:mlk+/Y1gLPLn84U4tI8d3GNJmGT/eXe3ZuOXN9kTWmI=
|
||||
go.opentelemetry.io/otel/sdk v1.27.0/go.mod h1:Ha9vbLwJE6W86YstIywK2xFfPjbWlCuwPtMkKdz/Y4A=
|
||||
go.opentelemetry.io/otel/sdk/log v0.3.0 h1:GEjJ8iftz2l+XO1GF2856r7yYVh74URiF9JMcAacr5U=
|
||||
go.opentelemetry.io/otel/sdk/log v0.3.0/go.mod h1:BwCxtmux6ACLuys1wlbc0+vGBd+xytjmjajwqqIul2g=
|
||||
go.opentelemetry.io/otel/trace v1.27.0 h1:IqYb813p7cmbHk0a5y6pD5JPakbVfftRXABGt5/Rscw=
|
||||
go.opentelemetry.io/otel/trace v1.27.0/go.mod h1:6RiD1hkAprV4/q+yd2ln1HG9GoPx39SuvvstaLBl+l4=
|
||||
go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0=
|
||||
go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8=
|
||||
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
|
||||
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
|
||||
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa h1:FRnLl4eNAQl8hwxVVC17teOw8kdjVDVAiFMtgUdTSRQ=
|
||||
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa/go.mod h1:zk2irFbV9DP96SEBUUAy67IdHUaZuSnrz1n472HUCLE=
|
||||
golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ=
|
||||
golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE=
|
||||
golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
|
||||
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||
golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
|
||||
golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
|
||||
golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20240520151616-dc85e6b867a5 h1:P8OJ/WCl/Xo4E4zoe4/bifHpSmmKwARqyqE4nW6J2GQ=
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20240520151616-dc85e6b867a5/go.mod h1:RGnPtTG7r4i8sPlNyDeikXF99hMM+hN6QMm4ooG9g2g=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 h1:AgADTJarZTBqgjiUzRgfaBchgYB3/WFTC80GPwsMcRI=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0=
|
||||
google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY=
|
||||
google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg=
|
||||
google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg=
|
||||
google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
Loading…
Reference in a new issue