Closed abourget closed 10 months ago
Tasks so far:
alpha service
instead of alpha deploy
@abourget a few things to specify and discuss possibly:
The only things that are not production in our definition are: 1) wire_protocol 2) pgweb
I'm certain that some users WILL WANT wireprotocol access on their production environment, but we would either: a) tell them no (usually a bad idea) b) do it "out of band" -- they'll probably ask for it after the fact. But it could be a special magic "streamingfast..." environment variable that enables it. It wouldn't be part of the spkg definition. If it's in an environment variable, we'll need to support an "update" method on the deployment endpoint. an "update" on production may be refused if the modules or schema change, or other kind of business rules like that.
Comments ?
Also, maybe some users will want DBT to run automatically in development.... It would require a more complex system, so I suggest we don't do any of that now: development means run your own (damn) dbt (from your workstation)
@abourget
Another thing:
I don't believe that environment_variables
name make sense anymore.
What about custom_parameters
?
or just parameters
?
They are not environment variables, they are not used as such... it would be a bit like substreams params...
chosen: deployment_parameters
it will contain either
todo:
environment_variables
to deployment_parameters
-p
(--deployment-parameter
) as StringArray to substreams alpha service deploy
Add in
substreams:proto/sf/substreams/sink/service/v1/service.proto
Mutation of the
alpha
commands to:From the SinkConfig objects, we remove all things that can be related to development. The goal of those Config objects is define the strict service we want in PRODUCTION environments. Which is the lowest denominator that all service providers MUST serve in order to be compliant with the service definition.
The development features are to be passed out-of-band with the
development_mode
flag and other environment variables.Prod vs dev
sf.sub.webhook.v1.Service
-e http://localhost:8080
or-e deploy.streamingfast.io
.If a provider doesn't support, it simple says so:
When the
development_mode == False
:wire_protocol_access
..When
development_mode == True
substreams.clickhouse+dbt.yaml
is reduced to its bare essentials:This is an example deployment locally:
By DEFAULT we deploy with
--prod=false
, which sets thedevelopment_mode = True
With an explicit deployment to production:
Some deployment services could honor other variables to further refine the experience, either in dev or production: