Packages
livebook
0.16.0
0.19.8
0.19.7
0.19.6
0.19.5
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.6
0.18.5
0.18.4
0.18.3
0.18.2
0.18.1
0.18.0
0.17.3
0.17.2
0.17.1
0.17.0
0.16.4
0.16.3
0.16.2
0.16.1
0.16.0
0.15.5
0.15.4
0.15.3
0.15.2
0.15.1
0.15.0
0.14.7
0.14.6
0.14.5
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.14.0-rc.1
0.14.0-rc.0
0.13.3
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.3
0.9.2
0.9.1
0.9.0
0.8.2
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.3
0.6.2
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.1
0.4.0
0.3.2
0.3.1
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.2
0.1.1
0.1.0
Automate code & data workflows with interactive notebooks
Current section
Files
Jump to
Current section
Files
lib/livebook/secrets.ex
defmodule Livebook.Secrets do
# Shared secret functionality across all hubs.
alias Livebook.Secrets.Secret
@doc """
Returns an `%Ecto.Changeset{}` for tracking secret changes.
"""
@spec change_secret(Secret.t(), map()) :: Ecto.Changeset.t()
def change_secret(%Secret{} = secret, attrs) do
Secret.changeset(secret, attrs)
end
@doc """
Updates secret with the given changes.
"""
@spec update_secret(Secret.t(), map()) :: {:ok, Secret.t()} | {:error, Ecto.Changeset.t()}
def update_secret(%Secret{} = secret, attrs) do
secret
|> Secret.changeset(attrs)
|> Ecto.Changeset.apply_action(:update)
end
@secret_startup_key :livebook_startup_secrets
@doc """
Get the startup secrets list from persistent term.
"""
@spec get_startup_secrets() :: list(Secret.t())
def get_startup_secrets do
:persistent_term.get(@secret_startup_key, [])
end
@doc """
Sets additional secrets that are kept only in memory.
"""
@spec set_startup_secrets(list(Secret.t())) :: :ok
def set_startup_secrets(secrets) do
:persistent_term.put(@secret_startup_key, secrets)
end
end