Commit 90c18bcd authored by Yann Hodique's avatar Yann Hodique Committed by GitHub

feat(kurtosis-devnet): provide main wrapper for kurtosis (#13524)

This handles deploying the kurtosis enclave according to spec, and
then stitching together the relevant information to be transmitted for
downstream consumption.
parent cdf28e3d
set shell := ["/bin/bash", "-c"] set shell := ["/bin/bash", "-c"]
_kurtosis-run PACKAGE_NAME ARG_FILE ENCLAVE:
kurtosis run {{PACKAGE_NAME}} --args-file {{ARG_FILE}} --enclave {{ENCLAVE}} --show-enclave-inspect=false --image-download=missing
# Internal recipes for kurtosis-devnet # Internal recipes for kurtosis-devnet
_contracts-build BUNDLE='contracts-bundle.tar.gz': _contracts-build BUNDLE='contracts-bundle.tar.gz':
just ../packages/contracts-bedrock/forge-build just ../packages/contracts-bedrock/forge-build
......
package kurtosis
import (
"context"
"io"
"github.com/ethereum-optimism/optimism/kurtosis-devnet/pkg/kurtosis/sources/deployer"
"github.com/ethereum-optimism/optimism/kurtosis-devnet/pkg/kurtosis/sources/inspect"
"github.com/ethereum-optimism/optimism/kurtosis-devnet/pkg/kurtosis/sources/spec"
)
type enclaveSpecAdapter struct{}
func (a *enclaveSpecAdapter) EnclaveSpec(r io.Reader) (*spec.EnclaveSpec, error) {
return spec.NewSpec().ExtractData(r)
}
var _ EnclaveSpecifier = (*enclaveSpecAdapter)(nil)
type enclaveInspectAdapter struct{}
func (a *enclaveInspectAdapter) EnclaveInspect(ctx context.Context, enclave string) (*inspect.InspectData, error) {
return inspect.NewInspector(enclave).ExtractData(ctx)
}
var _ EnclaveInspecter = (*enclaveInspectAdapter)(nil)
type enclaveDeployerAdapter struct{}
func (a *enclaveDeployerAdapter) EnclaveObserve(ctx context.Context, enclave string) (*deployer.DeployerData, error) {
return deployer.NewDeployer(enclave).ExtractData(ctx)
}
var _ EnclaveObserver = (*enclaveDeployerAdapter)(nil)
package kurtosis
import (
"context"
"io"
"github.com/ethereum-optimism/optimism/kurtosis-devnet/pkg/kurtosis/sources/deployer"
"github.com/ethereum-optimism/optimism/kurtosis-devnet/pkg/kurtosis/sources/inspect"
"github.com/ethereum-optimism/optimism/kurtosis-devnet/pkg/kurtosis/sources/spec"
)
type EnclaveSpecifier interface {
EnclaveSpec(io.Reader) (*spec.EnclaveSpec, error)
}
type EnclaveInspecter interface {
EnclaveInspect(context.Context, string) (*inspect.InspectData, error)
}
type EnclaveObserver interface {
EnclaveObserve(context.Context, string) (*deployer.DeployerData, error)
}
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment