getServiceSpec method

ServiceSpec getServiceSpec({
  1. required String image,
  2. String? command,
  3. List<EnvironmentVariable>? environment,
})

get_service_spec

Implementation

ServiceSpec getServiceSpec({
  required String image,
  String? command,
  List<EnvironmentVariable>? environment,
}) {
  final spec = ServiceSpec(
    version: Version.v1,
    kind: Kind.service,
    metadata: ServiceMetadata(name: name ?? '<YOUR_SERVICE_NAME>'),
    container: ContainerSpec(
      command: command,
      image: image,
      environment: environment,
    ),
  );

  final portSpec = PortSpec(num: PortNum.fromJson(port), type: 'http');
  spec.ports.add(portSpec);

  for (final p in paths) {
    portSpec.endpoints.add(
      EndpointSpec(
        path: p.path,
        meshagent: MeshagentEndpointSpec(
          identity: p.identity ?? 'agent',
          api: p.permissions,
        ),
      ),
    );
  }

  return spec;
}