243 lines
5.4 KiB
YAML
243 lines
5.4 KiB
YAML
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: {{ template "invidious.fullname" . }}
|
|
labels:
|
|
app: {{ template "invidious.name" . }}
|
|
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
|
release: {{ .Release.Name }}
|
|
data:
|
|
INVIDIOUS_CONFIG: |
|
|
{{ toYaml .Values.config | indent 4 }}
|
|
|
|
---
|
|
|
|
apiVersion: v1
|
|
data:
|
|
annotations.sql: |
|
|
-- Table: public.annotations
|
|
|
|
-- DROP TABLE public.annotations;
|
|
|
|
CREATE TABLE IF NOT EXISTS public.annotations
|
|
(
|
|
id text NOT NULL,
|
|
annotations xml,
|
|
CONSTRAINT annotations_id_key UNIQUE (id)
|
|
);
|
|
|
|
GRANT ALL ON TABLE public.annotations TO current_user;
|
|
channel_videos.sql: |+
|
|
-- Table: public.channel_videos
|
|
|
|
-- DROP TABLE public.channel_videos;
|
|
|
|
CREATE TABLE IF NOT EXISTS public.channel_videos
|
|
(
|
|
id text NOT NULL,
|
|
title text,
|
|
published timestamp with time zone,
|
|
updated timestamp with time zone,
|
|
ucid text,
|
|
author text,
|
|
length_seconds integer,
|
|
live_now boolean,
|
|
premiere_timestamp timestamp with time zone,
|
|
views bigint,
|
|
CONSTRAINT channel_videos_id_key UNIQUE (id)
|
|
);
|
|
|
|
GRANT ALL ON TABLE public.channel_videos TO current_user;
|
|
|
|
-- Index: public.channel_videos_ucid_idx
|
|
|
|
-- DROP INDEX public.channel_videos_ucid_idx;
|
|
|
|
CREATE INDEX IF NOT EXISTS channel_videos_ucid_idx
|
|
ON public.channel_videos
|
|
USING btree
|
|
(ucid COLLATE pg_catalog."default");
|
|
|
|
channels.sql: |+
|
|
-- Table: public.channels
|
|
|
|
-- DROP TABLE public.channels;
|
|
|
|
CREATE TABLE IF NOT EXISTS public.channels
|
|
(
|
|
id text NOT NULL,
|
|
author text,
|
|
updated timestamp with time zone,
|
|
deleted boolean,
|
|
subscribed timestamp with time zone,
|
|
CONSTRAINT channels_id_key UNIQUE (id)
|
|
);
|
|
|
|
GRANT ALL ON TABLE public.channels TO current_user;
|
|
|
|
-- Index: public.channels_id_idx
|
|
|
|
-- DROP INDEX public.channels_id_idx;
|
|
|
|
CREATE INDEX IF NOT EXISTS channels_id_idx
|
|
ON public.channels
|
|
USING btree
|
|
(id COLLATE pg_catalog."default");
|
|
|
|
nonces.sql: |+
|
|
-- Table: public.nonces
|
|
|
|
-- DROP TABLE public.nonces;
|
|
|
|
CREATE TABLE IF NOT EXISTS public.nonces
|
|
(
|
|
nonce text,
|
|
expire timestamp with time zone,
|
|
CONSTRAINT nonces_id_key UNIQUE (nonce)
|
|
);
|
|
|
|
GRANT ALL ON TABLE public.nonces TO current_user;
|
|
|
|
-- Index: public.nonces_nonce_idx
|
|
|
|
-- DROP INDEX public.nonces_nonce_idx;
|
|
|
|
CREATE INDEX IF NOT EXISTS nonces_nonce_idx
|
|
ON public.nonces
|
|
USING btree
|
|
(nonce COLLATE pg_catalog."default");
|
|
|
|
playlist_videos.sql: |
|
|
-- Table: public.playlist_videos
|
|
|
|
-- DROP TABLE public.playlist_videos;
|
|
|
|
CREATE TABLE IF NOT EXISTS public.playlist_videos
|
|
(
|
|
title text,
|
|
id text,
|
|
author text,
|
|
ucid text,
|
|
length_seconds integer,
|
|
published timestamptz,
|
|
plid text references playlists(id),
|
|
index int8,
|
|
live_now boolean,
|
|
PRIMARY KEY (index,plid)
|
|
);
|
|
|
|
GRANT ALL ON TABLE public.playlist_videos TO current_user;
|
|
playlists.sql: |
|
|
-- Type: public.privacy
|
|
|
|
-- DROP TYPE public.privacy;
|
|
|
|
CREATE TYPE public.privacy AS ENUM
|
|
(
|
|
'Public',
|
|
'Unlisted',
|
|
'Private'
|
|
);
|
|
|
|
-- Table: public.playlists
|
|
|
|
-- DROP TABLE public.playlists;
|
|
|
|
CREATE TABLE IF NOT EXISTS public.playlists
|
|
(
|
|
title text,
|
|
id text primary key,
|
|
author text,
|
|
description text,
|
|
video_count integer,
|
|
created timestamptz,
|
|
updated timestamptz,
|
|
privacy privacy,
|
|
index int8[]
|
|
);
|
|
|
|
GRANT ALL ON public.playlists TO current_user;
|
|
session_ids.sql: |+
|
|
-- Table: public.session_ids
|
|
|
|
-- DROP TABLE public.session_ids;
|
|
|
|
CREATE TABLE IF NOT EXISTS public.session_ids
|
|
(
|
|
id text NOT NULL,
|
|
email text,
|
|
issued timestamp with time zone,
|
|
CONSTRAINT session_ids_pkey PRIMARY KEY (id)
|
|
);
|
|
|
|
GRANT ALL ON TABLE public.session_ids TO current_user;
|
|
|
|
-- Index: public.session_ids_id_idx
|
|
|
|
-- DROP INDEX public.session_ids_id_idx;
|
|
|
|
CREATE INDEX IF NOT EXISTS session_ids_id_idx
|
|
ON public.session_ids
|
|
USING btree
|
|
(id COLLATE pg_catalog."default");
|
|
|
|
users.sql: |+
|
|
-- Table: public.users
|
|
|
|
-- DROP TABLE public.users;
|
|
|
|
CREATE TABLE IF NOT EXISTS public.users
|
|
(
|
|
updated timestamp with time zone,
|
|
notifications text[],
|
|
subscriptions text[],
|
|
email text NOT NULL,
|
|
preferences text,
|
|
password text,
|
|
token text,
|
|
watched text[],
|
|
feed_needs_update boolean,
|
|
CONSTRAINT users_email_key UNIQUE (email)
|
|
);
|
|
|
|
GRANT ALL ON TABLE public.users TO current_user;
|
|
|
|
-- Index: public.email_unique_idx
|
|
|
|
-- DROP INDEX public.email_unique_idx;
|
|
|
|
CREATE UNIQUE INDEX IF NOT EXISTS email_unique_idx
|
|
ON public.users
|
|
USING btree
|
|
(lower(email) COLLATE pg_catalog."default");
|
|
|
|
videos.sql: |+
|
|
-- Table: public.videos
|
|
|
|
-- DROP TABLE public.videos;
|
|
|
|
CREATE UNLOGGED TABLE IF NOT EXISTS public.videos
|
|
(
|
|
id text NOT NULL,
|
|
info text,
|
|
updated timestamp with time zone,
|
|
CONSTRAINT videos_pkey PRIMARY KEY (id)
|
|
);
|
|
|
|
GRANT ALL ON TABLE public.videos TO current_user;
|
|
|
|
-- Index: public.id_idx
|
|
|
|
-- DROP INDEX public.id_idx;
|
|
|
|
CREATE UNIQUE INDEX IF NOT EXISTS id_idx
|
|
ON public.videos
|
|
USING btree
|
|
(id COLLATE pg_catalog."default");
|
|
|
|
kind: ConfigMap
|
|
metadata:
|
|
creationTimestamp: null
|
|
name: invidious-postgresql-init
|
|
|