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