Overview#
This pr implements the first part of this proposal and introduces one new environment variable
- LogBucket, when set logs will be uploaded to the specified bucket.
This pr implements the first part of this proposal and introduces one new environment variable
None yet.
None yet.
Signed-off-by: Seongmin Lee <git@boltless.me>
sync.requestCrawl and knot.subscribeRepos
Signed-off-by: Seongmin Lee <git@boltless.me>
sync.requestCrawl support
knotmirror ingests repo creation event from atproto relay through tap,
not from knotstream. Therefore, knotserver will request
`sync.requestCrawl` with optional new repo information to notify the
repo creation event.
Knot will call `sync.requestCrawl` on following cases:
- on startup
- when `/event` stream has failed
- on repo creation (mandatory)
Signed-off-by: Seongmin Lee <git@boltless.me>
And move it out of appview.
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
This plays nice with satori and doesn't require wacky conversions etc.
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
sync.requestCrawl and knot.subscribeRepos
Signed-off-by: Seongmin Lee <git@boltless.me>
sync.requestCrawl support
knotmirror ingests repo creation event from atproto relay through tap,
not from knotstream. Therefore, knotserver will request
`sync.requestCrawl` with optional new repo information to notify the
repo creation event.
Knot will call `sync.requestCrawl` on following cases:
- on startup
- when `/event` stream has failed
- on repo creation (mandatory)
Signed-off-by: Seongmin Lee <git@boltless.me>
And move it out of appview.
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
This plays nice with satori and doesn't require wacky conversions etc.
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
sync.requestCrawl and knot.subscribeRepos
Signed-off-by: Seongmin Lee <git@boltless.me>
sync.requestCrawl support
knotmirror ingests repo creation event from atproto relay through tap,
not from knotstream. Therefore, knotserver will request
`sync.requestCrawl` with optional new repo information to notify the
repo creation event.
Knot will call `sync.requestCrawl` on following cases:
- on startup
- when `/event` stream has failed
- on repo creation (mandatory)
Signed-off-by: Seongmin Lee <git@boltless.me>
And move it out of appview.
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
This plays nice with satori and doesn't require wacky conversions etc.
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
sync.requestCrawl and knot.subscribeRepos
Signed-off-by: Seongmin Lee <git@boltless.me>
sync.requestCrawl support
knotmirror ingests repo creation event from atproto relay through tap,
not from knotstream. Therefore, knotserver will request
`sync.requestCrawl` with optional new repo information to notify the
repo creation event.
Knot will call `sync.requestCrawl` on following cases:
- on startup
- when `/event` stream has failed
- on repo creation (mandatory)
Signed-off-by: Seongmin Lee <git@boltless.me>
And move it out of appview.
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
This plays nice with satori and doesn't require wacky conversions etc.
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
sync.requestCrawl and knot.subscribeRepos
Signed-off-by: Seongmin Lee <git@boltless.me>
sync.requestCrawl support
knotmirror ingests repo creation event from atproto relay through tap,
not from knotstream. Therefore, knotserver will request
`sync.requestCrawl` with optional new repo information to notify the
repo creation event.
Knot will call `sync.requestCrawl` on following cases:
- on startup
- when `/event` stream has failed
- on repo creation (mandatory)
Signed-off-by: Seongmin Lee <git@boltless.me>
And move it out of appview.
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
This plays nice with satori and doesn't require wacky conversions etc.
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
sync.requestCrawl and knot.subscribeRepos
Signed-off-by: Seongmin Lee <git@boltless.me>
sync.requestCrawl support
knotmirror ingests repo creation event from atproto relay through tap,
not from knotstream. Therefore, knotserver will request
`sync.requestCrawl` with optional new repo information to notify the
repo creation event.
Knot will call `sync.requestCrawl` on following cases:
- on startup
- when `/event` stream has failed
- on repo creation (mandatory)
Signed-off-by: Seongmin Lee <git@boltless.me>
And move it out of appview.
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
This plays nice with satori and doesn't require wacky conversions etc.
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
sync.requestCrawl and knot.subscribeRepos
Signed-off-by: Seongmin Lee <git@boltless.me>
sync.requestCrawl support
knotmirror ingests repo creation event from atproto relay through tap,
not from knotstream. Therefore, knotserver will request
`sync.requestCrawl` with optional new repo information to notify the
repo creation event.
Knot will call `sync.requestCrawl` on following cases:
- on startup
- when `/event` stream has failed
- on repo creation (mandatory)
Signed-off-by: Seongmin Lee <git@boltless.me>
And move it out of appview.
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
This plays nice with satori and doesn't require wacky conversions etc.
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
spindle/config/config.go:44-51 βΒ this will result in SPINDLE_S3_LOG_BUCKET, but
nix/modules/spindle.nix:147 we reference SPINDLE_NIXERY_PIPELINES_LOG_BUCKET here.
spindle/engine/engine.go:60 β probably good to parameterize the bucket name from config as well!
spindle/engine/s3.go:20 βΒ Go convention is camel case, so BaseS3Path is preferred here.
spindle/engine/s3.go:38 βΒ also camel case here please: s3Key
spindle/engine/engine.go:154 βΒ this is a no-op with just a single argument.
nix/modules/spindle.nix:148-150 βΒ we should ideally use EnvironmentFile here. Refer to how secrets are passed through to the appview service, for example.
High level design concern: NewS3 creates a new S3 client for each workflow (on every defer). We should ideally initialize this upon spindle startup and passed through via the engine struct.
We should ideally initialize this upon spindle startup and passed through via the engine struct.
Doing this means that each engine will have to register a clean up task for uploading logs which is easy to forget. Doing it in spindle/engine means that new engines don't have to worry about how to upload logs.
sorry, but you will need to rebase with master before submitting!