Mike Lang
46d96bf900
Merge pull request #173 from ekimekim/k8s
...
Add alternate deploy stack for kubernetes
4 years ago
Mike Lang
239fc5d9ad
Merge pull request #176 from ekimekim/mike/update-clock
...
Update clock.html for 2020 and display negative time properly
4 years ago
Mike Lang
d2d457a45f
Add k8s option to README
4 years ago
Mike Lang
b248408842
Update clock.html for 2020 and display negative time properly
4 years ago
Mike Lang
d6dbf5512d
Merge pull request #175 from ekimekim/sheet-updates
...
sheetsync: Move column indexes to match updated sheet
4 years ago
Mike Lang
7600ce67a9
Merge pull request #174 from ekimekim/mike/generate-videos
...
Add restreamer call to generate full concat'd videos
4 years ago
Mike Lang
b85296a81e
sheetsync: Move column indexes to match updated sheet
...
New tags column shunts all columns after it right by 1.
We will later want to parse that, but for now we ignore it.
4 years ago
Mike Lang
61d934f333
docker-compose.jsonnet: Use seperate tag for database
...
The database changes rarely, and is disruptive to re-deploy,
so we track its image version seperately so it only needs to be upgraded
when there's actually a change.
4 years ago
Mike Lang
1b12c05e0e
make smart cut work, only to discover it doesn't actually have any advantage over fast
4 years ago
Mike Lang
b47eb3865f
Fix segment_coverage -> segment-coverage
...
because _ is illegal in k8s names.
However the image name does contain a _ so we replace - with _ when constructing the image name.
4 years ago
HubbeKing
9a95dc44eb
Fix k8s.jsonnet to compile to something kubernetes accepts
...
Add Service definitions to output
Correct apiVersion for Ingress definition
Output a v1 List, as kubectl doesn't parse JSON arrays
4 years ago
Mike Lang
28faff5c58
Add a k8s version of the docker-compose file
...
Note this version is very simplified compared to the docker-compose
and has some major limitations:
* It relies on hostPath and a nodeSelector to put all the components on a shared storage node
* It only supports use as a replication node (downloader, restreamer, backfiller, segment_coverage)
* It uses the k8s Ingress instead of the built-in nginx for http routing.
4 years ago
Mike Lang
4d21f447ad
Add restreamer call to generate full concat'd videos
...
This makes the timelapse easier.
5 years ago
Mike Lang
dea143cc0a
Merge pull request #163 from ekimekim/mike/api-ping
...
api_ping: A simple util for hitting google apis to prevent inactivity
5 years ago
Mike Lang
3489b0abaf
api_ping: A simple util for hitting google apis to prevent inactivity
5 years ago
Mike Lang
2dbd1132fe
common.googleapis: Fix a bug in retrying failed access token get
...
Seems that this was never fixed when the code was moved.
5 years ago
Mike Lang
47584821f9
thrimbletrimmer: Handle null trim in submit
...
mainly for save draft
5 years ago
Mike Lang
3086ab73f6
Add thrimbletrimmer clock
...
To provide a true bustime even when they're bussing with the overlay
5 years ago
Mike Lang
7dcd844e16
add logging to help debug smart cut
5 years ago
Mike Lang
c294fa82b8
smart cut: Fix output format
5 years ago
Mike Lang
c6172ce37f
smart cut: More typos
5 years ago
Mike Lang
82346a55ca
smart cut: Fix int in ffmpeg args
5 years ago
Mike Lang
b39e844c1e
restreamer: Fix missing import of smart cut
5 years ago
Mike Lang
58ff90cefe
Further fix for when getRealTimeForPlayerTime is null
5 years ago
Mike Lang
58a2a0402d
thrimbletrimmer: Handle getting trim time when no valid trim time is set
...
Just return null instead
5 years ago
Christopher Usher
dbad2b4082
fixed download link for stream page
5 years ago
Christopher Usher
d56801014b
added support for suspect segments to segment_coverage
5 years ago
Mike Lang
21d5548980
Add new segment type "suspect"
...
We've noticed that when nodes have connection problems, they get full segments
with different hashes. Inspection of these segments shows that
they all have identical data up to a point.
Segments that fetched normally will then have the remainder of the data.
Segments that had issues will have a slightly corrupted end.
The data is still valid, and no errors are raised. It just doesn't have all the data.
We noticed that these corrupted segments all were cut off exactly 60sec after their requests
began. We believe this is a server-side timeout on the request that returns whatever data
it has, then closes the container file cleanly before returning successfully.
We detect segments that take > 59 seconds to recieve, and label them as "suspect".
Suspect segments are treated identically to partial segments, except they are always preferred
over partials.
5 years ago
Mike Lang
bb05e37ae4
segments: Use longest segment in bytes if duration is the same
...
We occasionally see corrupted segments that are slightly shorter in size
but report the same metadata as the full segments. Prefer the largest version
as it's likely the least corrupt.
5 years ago
Mike Lang
b516917e62
Add new "smart" cut technique
5 years ago
Mike Lang
bb3814f9f7
overview.jsonnet: Use a template variable to allow restricting to certain nodes
5 years ago
Mike Lang
4a2fe7a6ed
cutter: Explicitly set mime type of uploads correctly
5 years ago
Mike Lang
e2f4162ac7
thrimbletrimmer: Fix a bug when trimming controls aren't enabled
5 years ago
Mike Lang
fde2758275
cutter: Fix bug where uploader was cleared on non-retryable error
...
Instead of on retryable error
5 years ago
Christopher Usher
986c9a3413
removed redundant option
5 years ago
Christopher Usher
9c77dd1f40
added the ability to generate a webpage with all coverage maps
5 years ago
Mike Lang
8086c917fe
Force correct postgres version
5 years ago
Mike Lang
e23387b231
thrimbletrimmer: Document new shortcuts
5 years ago
Mike Lang
40f6a72ad7
thrimbletrimmer: Add keyboard shortcuts -/= to adjust playback speed
5 years ago
Mike Lang
0a379faf5a
thrimbletrimmer: Relabel download button to make more sense
5 years ago
Mike Lang
fd35c0dc20
thrimbletrimmer: Have a download link instead of a iframe
...
The iframe doesn't always work, this is more reliable.
5 years ago
Mike Lang
c9f2e8e0a5
thrimbletrimmer: Preserve trim timings when re-loading playlist
...
Useful if you've already cut the start
but want to extend the range of times before cutting the end.
5 years ago
Mike Lang
a002619c4c
youtube upload: Explicitly set mime type
5 years ago
Mike Lang
a438d86f80
cutter: Fix multiple problems with logging errors
5 years ago
Mike Lang
72003f28d0
downloader: Don't check the age of a worker we just spawned
...
Not only is this redundant, but it creates a race condition where
the worker fails before the latest_worker = workers[-1] check,
and we get an IndexError.
5 years ago
Mike Lang
3fabb2944f
prometheus: Add scheme to url
5 years ago
Mike Lang
6e067fab83
prometheus: fix mistake
5 years ago
Mike Lang
d76f38bf20
prometheus: include url as a label
...
for coverage maps
5 years ago
Mike Lang
9a1369cf98
overview: Fix job -> service
5 years ago
Mike Lang
e1993c6a79
overview dashboard: Look up services by 'service' label, not job
...
Job can't be repeated across scrape jobs, service can
5 years ago