小编elj*_*efe的帖子

更改npm脚本的工作目录

问:是否可以更改npm运行脚本的上下文?

我想要的是以下内容:

"scripts": {
   "test": "gulp mocha",
   "pre-install": "./deps/2.7/cpython/configure --prefix=$(pwd)/build --exec-prefix=$(pwd)/build && make -C deps/2.7/cpython && make -C deps/2.7/cpython install",
   "install": "node-gyp rebuild"
},
Run Code Online (Sandbox Code Playgroud)

显然cd deps/2.7/cpython/ && ./configure可以在类UNIX系统上工作,但不能在Windows上工作.

原因:问题的根源是,configurepython repo 的命令将文件输出到调用它的目录中.然而,这些文件与repo的目录中的文件相关make并且make install查找这些文件.

在这种情况下,我无法改变,Makefile因为Python的构建过程是可以理解的复杂.

替代方案:替代方案可能是编写一些install.js并使用节点的OS独立API和一些child_process.exec(),我可能会这样做.但是,不离开npm会非常好.

makefile node.js npm package.json

70
推荐指数
2
解决办法
4万
查看次数

如何在部署上配置非默认serviceAccount

我对此文档页面的理解是,我可以使用Pod配置服务帐户,并希望也可以部署,因此我可以访问Kubernetes 1.6+中的k8s API.为了不改变或使用默认的,我想创建服务帐户并将证书挂载到部署的pod中.

如何在部署示例中实现类似的示例?

apiVersion: v1
kind: Pod
metadata:
   name: my-pod
spec:
  serviceAccountName: build-robot
  automountServiceAccountToken: false
Run Code Online (Sandbox Code Playgroud)

service-accounts kubernetes

15
推荐指数
1
解决办法
1万
查看次数

无法使用SIGKILL杀死docker容器中的pid 1

有一个原因,我想杀死docker容器中的主要python进程(PID 1).但非终止信号,比如SIGTERM,SIGKILL工作.我的意思是,跑步kill -SIGKILL 1没有效果.如何从容器内部杀死pid 1 ?我不想运行docker stop或类似的解决方案.

python signals docker

7
推荐指数
1
解决办法
1762
查看次数

在部署更新期间忽略pod反关联

想象一下在主节点节点设置中,您在节点上部署具有pod反关联性的服务:部署的更新将导致创建另一个pod但调度程序无法调度,因为两个节点都具有反节点亲和力.

问:如何更灵活地设置反亲和力以允许更新?

affinity:
   podAntiAffinity:
     requiredDuringSchedulingIgnoredDuringExecution:
     - labelSelector:
         matchExpressions:
         - key: app
           operator: In
           values:
           - api
     topologyKey: kubernetes.io/hostname
Run Code Online (Sandbox Code Playgroud)

有错误

No nodes are available that match all of the following predicates:: MatchInterPodAffinity (2), PodToleratesNodeTaints (1).
Run Code Online (Sandbox Code Playgroud)

kubernetes

5
推荐指数
2
解决办法
587
查看次数

如何列出自定义资源定义 (CRD) 的所有对象,例如当 CRD 冲突时?

背景:不久前,证书管理器对其 CRD 进行了重大更改。这导致两个 CRD 的名称为order,可以在kubectl api-resources

如何仅列出来自较新 CRD 的订单?

我记得有类似的东西kubectl get acme.cert-manager.io/order(这是不正确的),但无法再拼凑起来。

摘录如下kubectl api-resources | grep "order"

orders                                         acme.cert-manager.io           true         Order
orders                                         certmanager.k8s.io             true         Order
Run Code Online (Sandbox Code Playgroud)

kubernetes kubectl

5
推荐指数
1
解决办法
1万
查看次数

aws-sdk S3:使用listObjectsV2列出所有键的最佳方法

使用listObjectsAPI调用的v1版本,您可以完成类似于此SO答案的操作.

var allKeys = [];
function listAllKeys(marker, cb) {
  s3.listObjects({Bucket: s3bucket, Marker: marker}, function(err, data){
     allKeys.push(data.Contents);

    if(data.IsTruncated)
       listAllKeys(data.NextMarker, cb);
    else
       cb();
  });
}
Run Code Online (Sandbox Code Playgroud)

什么是listObjectsV2功能的等价物?

amazon-s3 node.js

4
推荐指数
6
解决办法
1万
查看次数

FastApi pydantic 如何验证电子邮件

我正在使用 pydantic 来验证我需要验证电子邮件的响应。我正在这样尝试。

class CheckLoginRequest(BaseModel):
    user_email: str = Field(min_length=5,  default="username")
    user_number: str = Field(min_length=5, default="+923323789263")

    @field_validator("user_email")
    def validate_email(self, value):
        try:
            validate_email(value)
        except EmailNotValidError:
            raise ValueError("Invalid email format")
        return value
Run Code Online (Sandbox Code Playgroud)

但它显示错误pydantic.errors.PydanticUserError: @field_validator cannot be applied to instance methods

我尝试使用@validator它,但它已被弃用。

python pydantic fastapi

1
推荐指数
1
解决办法
6885
查看次数