issue commentAzure/azure-sphere-samples

CurlEasyHttps hangs at "setting TCP_NODELAY"

One related question,

Is this CA list hand picked or same as Mozilla's CA bundle? https://docs.microsoft.com/en-us/azure-sphere/app-development/curl#ca-certificates

snobu

comment created time in 15 hours

issue commentAzure/azure-sphere-samples

CurlEasyHttps hangs at "setting TCP_NODELAY"

That's news to me. No other MCU/embedded Linux board has this clean network filtering capability in the SDK (which is probably one of the big selling points here). That said, you should absolutely add that piece of information to the sample's README and as code comments. We're engineers, we don't start with documentation :)

Everything is fine after amending app_manifest.json.

snobu

comment created time in 16 hours

pull request commentjetstack/cert-manager

Fix escape in resource def

Thanks for this 😄 can you also update the 'comment annotations' that are used to generate the 00-crds.yaml file?

Fixed and rebased.

snobu

comment created time in 2 days

push eventsnobu/cert-manager

snobu

commit sha ca725be382656094de64715aa1163745d819ead0

Fix escape in resource def Signed-off-by: snobu <foo@snobu.org> Fixes https://github.com/jetstack/cert-manager/issues/1473

view details

push time in 2 days

push eventsnobu/cert-manager

Adrian Calinescu

commit sha 2a80bb18746e7efea852d13d6dee445c9e37cded

Fix escapes for comment annotations Completes the fix for https://github.com/jetstack/cert-manager/issues/1473 Signed-off-by: snobu <foo@snobu.org>

view details

snobu

commit sha d20bda7cffa16b998647a872d7893641d10d3580

Merge branch 'master' of https://github.com/snobu/cert-manager

view details

push time in 2 days

push eventsnobu/cert-manager

Adrian Calinescu

commit sha f384238bb69498ec100bcaef5e49c2eee041b372

Fix escapes for comment annotations Completes the fix for https://github.com/jetstack/cert-manager/issues/1473

view details

push time in 2 days

issue closedAzure/azure-batch-rendering

Unable to submit job from 3ds Max 2020

I'm unable to submit a 3ds Max render job. No matter what i pass in, the Run button stays grayed out. I tried auto pools and reserved to no avail. This happens both from the BatchLabs plugin (3ds Max) and Batch Explorer's Actions as well -

image

image

image

image

Note the grayed out Run button ^^

closed time in 3 days

snobu

issue commentAzure/azure-batch-rendering

Unable to submit job from 3ds Max 2020

Unsure what was going on, but it's all fine now. Didn't even restart and the submit button lit up. Maybe it was because the Azure Batch account was just created and needs some time to async something in the background?

snobu

comment created time in 3 days

issue openedAzure/azure-batch-rendering

Unable to submit job from 3ds Max 2020

I'm unable to submit a 3ds Max render job. No matter what i pass in the Run button stays grayed out. I tried auto pools and reserved to no avail. This happens both from the BatchLabs plugin (3ds Max) and Batch Explorer's Actions as well -

image

image

image

image

^^ Note the grayed out Run button.

created time in 3 days

issue openedAzure/azure-sphere-samples

CurlEasyHttps stuck on "setting TCP_NODELAY"

Switched the CA bundle to the Mozilla one,

Hangs somewhere around here -

 // Perform the download of the web page.
    if ((res = curl_easy_perform(curlHandle)) != CURLE_OK) {
        LogCurlError("curl_easy_perform", res);
    } else {
        Log_Debug("\n -===- Downloaded content (%zu bytes): -===-\n", block.size);
        Log_Debug("%s\n", block.data);
    }

Target URL https://api.github.com/, same result with any *.azurewebsites.net site (try https://amisecure.azurewebsites.net).

Debug window output (https://api.github.com/):

Remote debugging from host 192.168.35.1
cURL easy interface based application starting.
This sample periodically attempts to download a webpage, using curl's 'easy' API.
 -===- Starting download -===-
*   Trying 192.30.253.117...
* TCP_NODELAY set

Tried to force TLS 1.2, same result, no go.

	if ((res = curl_easy_setopt(curlHandle, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2)) != CURLE_OK) {
		LogCurlError("curl_easy_setopt CURLOPT_SSLVERSION", res);
		goto cleanupLabel;
	}

https://example.com/ works fine and libcurl handshakes TLS 1.2 with remote.

created time in 4 days

push eventsnobu/cert-manager

snobu

commit sha cbe7bf9c1eb88e3570d2f59ee3d5d290b2cdac2c

Fix escape in resource def Signed-off-by: snobu <foo@snobu.org>

view details

push time in 7 days

PR opened jetstack/cert-manager

Fix escape in resource def

Addresses https://github.com/jetstack/cert-manager/issues/1473

+2 -2

0 comment

1 changed file

pr created time in 7 days

push eventsnobu/cert-manager

snobu

commit sha 29ad99f0ef233a7c74fa4dc2747c7e9f06a63f8f

Fix escape in resource def

view details

push time in 7 days

fork snobu/cert-manager

Automatically provision and manage TLS certificates in Kubernetes

https://jetstack.io

fork in 7 days

startedheptio/contour

started time in 11 days

PR opened yokawasa/azure-functions-python-samples

Fix added import sys for sys.exit

My bad, forgot to import sys.

+1 -0

0 comment

1 changed file

pr created time in 16 days

push eventsnobu/azure-functions-python-samples

Adrian Calinescu

commit sha bb6d9533835bedba83018e303646449178cdb845

Fix added import sys for sys.exit

view details

push time in 16 days

pull request commentyokawasa/azure-functions-python-samples

Added watermark function

try/catch blocks added. Should be good to merge.

snobu

comment created time in 16 days

push eventsnobu/azure-functions-python-samples

Adrian Calinescu

commit sha bbd5d68d6eecce0207a930542e2301b28fb6f418

Check for base and watermark images to be valid

view details

push time in 16 days

push eventsnobu/azure-functions-python-samples

Adrian Calinescu

commit sha d4c1fac7eacf3292a09f76d226206e7699aa2dc3

Added xv and imagemagick comment

view details

push time in 16 days

push eventsnobu/azure-functions-python-samples

Adrian Calinescu

commit sha 16ed659d0169ddb0dea8bbd2808b27aed86ba05c

Alpha channel is now optional for watermark image file

view details

push time in 16 days

Pull request review commentyokawasa/azure-functions-python-samples

Added watermark function

+import logging
+import azure.functions as func
+import io
+from PIL import Image
+
+# Final image composite size
+FINAL_COMPOSITE_MAX_HEIGHT = 700
+FINAL_COMPOSITE_MAX_WIDTH = 700
+
+# Set watermark 7 times smaller in width than base image
+WATERMARK_WIDTH_RATIO = 7
+
+# Note the type annotation for our output blob, func.Out[bytes],
+# since it's an image we'll be writing back.
+# See this for more -
+# https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference-python#outputs
+# https://docs.microsoft.com/en-us/python/api/azure-functions/azure.functions.out?view=azure-python
+def main(blobin: func.InputStream, blobout: func.Out[bytes], context: func.Context):
+    logging.info(f"--- Python blob trigger function processed blob \n"
+                 f"----- Name: {blobin.name}\n"
+                 f"----- Blob Size: {blobin.length} bytes")
+    
+    # Pillow calls blobin.read() so only
+    # pass in the image object
+    input_image = blobin
+
+    watermark_image = f'{context.function_directory}/watermark.png'
+
+    base_image = Image.open(input_image)

How's this?

try:
    base_image = Image.open(input_image)
    watermark = Image.open(watermark_image)
except OSError as e:
    print(f'EXCEPTION: Unable to read input as image. {e}')
    sys.exit(255)
except Exception as e:
    print(f'EXCEPTION: {e}')
    sys.exit(255)

or should we wrap everything with the try block?

snobu

comment created time in 17 days

Pull request review commentyokawasa/azure-functions-python-samples

Added watermark function

+import logging
+import azure.functions as func
+import io
+from PIL import Image
+
+# Final image composite size
+FINAL_COMPOSITE_MAX_HEIGHT = 700
+FINAL_COMPOSITE_MAX_WIDTH = 700
+
+# Set watermark 7 times smaller in width than base image
+WATERMARK_WIDTH_RATIO = 7
+
+# Note the type annotation for our output blob, func.Out[bytes],
+# since it's an image we'll be writing back.
+# See this for more -
+# https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference-python#outputs
+# https://docs.microsoft.com/en-us/python/api/azure-functions/azure.functions.out?view=azure-python
+def main(blobin: func.InputStream, blobout: func.Out[bytes], context: func.Context):
+    logging.info(f"--- Python blob trigger function processed blob \n"
+                 f"----- Name: {blobin.name}\n"
+                 f"----- Blob Size: {blobin.length} bytes")
+    
+    # Pillow calls blobin.read() so only
+    # pass in the image object
+    input_image = blobin
+
+    watermark_image = f'{context.function_directory}/watermark.png'
+
+    base_image = Image.open(input_image)

Agreed. Fix coming soon.

snobu

comment created time in 17 days

push eventsnobu/azure-functions-python-samples

snobu

commit sha 9fe705c110a5e0cfac56d5bc6391260c1248400e

Added doc link to azure.functions.Out

view details

push time in 17 days

push eventsnobu/azure-functions-python-samples

snobu

commit sha bb582b308f68fba2bd34b44e1c112d6dc32ed3ce

Fix readme again

view details

push time in 17 days

push eventsnobu/azure-functions-python-samples

snobu

commit sha a95f8366ebdfec6ea2e674cd7f1a472b56347520

Fix readme

view details

push time in 17 days

push eventsnobu/azure-functions-python-samples

snobu

commit sha fb3d368c467804dccb40e0591111debaf766e5e4

Added type annotaion comment

view details

push time in 17 days

issue closedyokawasa/azure-functions-python-samples

blob-in blob-out sample

Is there interest for a blob triggered, image watermarking sample?

Blob trigger -> input blob (image) -> watermarking with Pillow -> output blob (image)

I see no blob output as binary sample, and it's not very obvious how typing works for that case.

I can send a PR if the outlook is positive here.

closed time in 17 days

snobu

issue commentyokawasa/azure-functions-python-samples

blob-in blob-out sample

PR sent, https://github.com/yokawasa/azure-functions-python-samples/pull/21.

snobu

comment created time in 17 days

push eventsnobu/azure-functions-python-samples

snobu

commit sha d90569e0b1924fcc64fca71224652de8a6755ba7

Updated root readme

view details

push time in 17 days

push eventsnobu/azure-functions-python-samples

snobu

commit sha aae7f9fbd8559fe3c00fa9fef5b7e7ff2a75411d

Ignore VSCode settings

view details

push time in 17 days

PR opened yokawasa/azure-functions-python-samples

Added watermark function

Added watermark sample with binary blob output. Based on Pillow (PIL).

+186 -1

0 comment

7 changed files

pr created time in 17 days

push eventsnobu/azure-functions-python-samples

snobu

commit sha dc151b754f1cb4c7f4dde29efd4181993d269049

Added watermark sample

view details

snobu

commit sha 25e94a9b22e02ec52bbb470033bf1c782cca18c4

Fix typo in readme

view details

snobu

commit sha 474b118b0a240a5e6cb693ea86879355ffbc076c

Updated readme

view details

push time in 17 days

issue openedyokawasa/azure-functions-python-samples

blob-in blob-out sample

Is there interest for a blob triggered, image watermarking sample?

Blob trigger -> input blob -> watermarking with Pillow -> output blob (.JPG)

I see no blob output sample, and it's not very obvious how typing works for out blob.

I can send a PR if the outlook is positive here.

created time in 23 days

issue commentyokawasa/azure-functions-python-samples

Could use example for Http Trigger based file upload

Just to reinforce the SAS solution is definitely the way to go here.

The same approach is taken by the Azure IoT Device SDK as well with its File Upload implementation (if you need a place to start for your own implementation).

SpicySyntax

comment created time in 23 days

push eventsnobu/destreamer

Adrian Calinescu

commit sha 7d418f05e58e9d59ae63ec668cccd9fc42ec35d0

Added missing install step: download internet

view details

push time in a month

issue commentvirtual-kubelet/virtual-kubelet

Documentation - GPU-enabled ACI containers

Until the docs are ready, a sample YAML that deploys a basic nvidia-smi pod would be tremendous.

MarcosMMartinez

comment created time in a month

issue commentAzure/azure-cli

az aks create not honoring 'azure' networkPlugin

I've hit this one too. Glad the root cause is already known. Temporary workaround - pass an ARM template to az instead. Not ideal but should get you through these tough times :)

MarcosMMartinez

comment created time in a month

issue commentjetstack/cert-manager

'kubectl get certificates' no longer returns cert status

That seems to be it, removing the escape chars does the trick:

$ kubectl get certificates
NAME                                READY   SECRET               AGE
canary-contour-tls                  True    canary-contour-tls   4d
echo-contour-tls                    True    echo-contour-tls     4d
snobu

comment created time in a month

startedjcorioland/keyvault-ad-managed-identity

started time in a month

startedAzure/kubernetes-kms

started time in a month

issue commentjetstack/cert-manager

'kubectl get certificates' no longer returns cert status

I've made quite a few changes to this cluster lately so it could very well be something i screwed up and not cert-manager at all.

Here's the output.

$ kubectl get customresourcedefinitions certificates.certmanager.k8s.io -o yaml

apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"apiextensions.k8s.io/v1beta1","kind":"CustomResourceDefinition","metadata":{"annotations":{},"creationTimestamp":null,"labels":{"controller-tools.k8s.io":"1.0"},"name":"certificates.certmanager.k8s.io"},"spec":{"additionalPrinterColumns":[{"JSONPath":".status.conditions[?(@.type==\\\"Ready\\\")].status","name":"Ready","type":"string"},{"JSONPath":".spec.secretName","name":"Secret","type":"string"},{"JSONPath":".spec.issuerRef.name","name":"Issuer","priority":1,"type":"string"},{"JSONPath":".status.conditions[?(@.type==\\\"Ready\\\")].message","name":"Status","priority":1,"type":"string"},{"JSONPath":".metadata.creationTimestamp","description":"CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.","name":"Age","type":"date"}],"group":"certmanager.k8s.io","names":{"kind":"Certificate","plural":"certificates","shortNames":["cert","certs"]},"scope":"Namespaced","validation":{"openAPIV3Schema":{"properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds","type":"string"},"metadata":{"type":"object"},"spec":{"properties":{"acme":{"description":"ACME contains configuration specific to ACME Certificates. Notably, this contains details on how the domain names listed on this Certificate resource should be 'solved', i.e. mapping HTTP01 and DNS01 providers to DNS names.","properties":{"config":{"items":{"properties":{"domains":{"description":"Domains is the list of domains that this SolverConfig applies to.","items":{"type":"string"},"type":"array"}},"required":["domains"],"type":"object"},"type":"array"}},"required":["config"],"type":"object"},"commonName":{"description":"CommonName is a common name to be used on the Certificate","type":"string"},"dnsNames":{"description":"DNSNames is a list of subject alt names to be used on the Certificate","items":{"type":"string"},"type":"array"},"duration":{"description":"Certificate default Duration","type":"string"},"ipAddresses":{"description":"IPAddresses is a list of IP addresses to be used on the Certificate","items":{"type":"string"},"type":"array"},"isCA":{"description":"IsCA will mark this Certificate as valid for signing. This implies that the 'signing' usage is set","type":"boolean"},"issuerRef":{"description":"IssuerRef is a reference to the issuer for this certificate. If the 'kind' field is not set, or set to 'Issuer', an Issuer resource with the given name in the same namespace as the Certificate will be used. If the 'kind' field is set to 'ClusterIssuer', a ClusterIssuer with the provided name will be used. The 'name' field in this stanza is required at all times.","properties":{"kind":{"type":"string"},"name":{"type":"string"}},"required":["name"],"type":"object"},"keyAlgorithm":{"description":"KeyAlgorithm is the private key algorithm of the corresponding private key for this certificate. If provided, allowed values are either \"rsa\" or \"ecdsa\" If KeyAlgorithm is specified and KeySize is not provided, key size of 256 will be used for \"ecdsa\" key algorithm and key size of 2048 will be used for \"rsa\" key algorithm.","enum":["rsa","ecdsa"],"type":"string"},"keySize":{"description":"KeySize is the key bit size of the corresponding private key for this certificate. If provided, value must be between 2048 and 8192 inclusive when KeyAlgorithm is empty or is set to \"rsa\", and value must be one of (256, 384, 521) when KeyAlgorithm is set to \"ecdsa\".","format":"int64","type":"integer"},"organization":{"description":"Organization is the organization to be used on the Certificate","items":{"type":"string"},"type":"array"},"renewBefore":{"description":"Certificate renew before expiration duration","type":"string"},"secretName":{"description":"SecretName is the name of the secret resource to store this secret in","type":"string"}},"required":["secretName","issuerRef"],"type":"object"},"status":{"properties":{"conditions":{"items":{"properties":{"lastTransitionTime":{"description":"LastTransitionTime is the timestamp corresponding to the last status change of this condition.","format":"date-time","type":"string"},"message":{"description":"Message is a human readable description of the details of the last transition, complementing reason.","type":"string"},"reason":{"description":"Reason is a brief machine readable explanation for the condition's last transition.","type":"string"},"status":{"description":"Status of the condition, one of ('True', 'False', 'Unknown').","enum":["True","False","Unknown"],"type":"string"},"type":{"description":"Type of the condition, currently ('Ready').","type":"string"}},"required":["type","status","lastTransitionTime","reason","message"],"type":"object"},"type":"array"},"lastFailureTime":{"format":"date-time","type":"string"},"notAfter":{"description":"The expiration time of the certificate stored in the secret named by this resource in spec.secretName.","format":"date-time","type":"string"}},"type":"object"}}}},"version":"v1alpha1"},"status":{"acceptedNames":{"kind":"","plural":""},"conditions":[],"storedVersions":[]}}
  creationTimestamp: "2019-03-01T20:32:39Z"
  generation: 2
  labels:
    controller-tools.k8s.io: "1.0"
  name: certificates.certmanager.k8s.io
  resourceVersion: "2063053"
  selfLink: /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/certificates.certmanager.k8s.io
  uid: 281b954e-3c61-11e9-8060-a65061dfcfa1
spec:
  additionalPrinterColumns:
  - JSONPath: .status.conditions[?(@.type==\"Ready\")].status
    name: Ready
    type: string
  - JSONPath: .spec.secretName
    name: Secret
    type: string
  - JSONPath: .spec.issuerRef.name
    name: Issuer
    priority: 1
    type: string
  - JSONPath: .status.conditions[?(@.type==\"Ready\")].message
    name: Status
    priority: 1
    type: string
  - JSONPath: .metadata.creationTimestamp
    description: CreationTimestamp is a timestamp representing the server time when
      this object was created. It is not guaranteed to be set in happens-before order
      across separate operations. Clients may not set this value. It is represented
      in RFC3339 form and is in UTC.
    name: Age
    type: date
  group: certmanager.k8s.io
  names:
    kind: Certificate
    listKind: CertificateList
    plural: certificates
    shortNames:
    - cert
    - certs
    singular: certificate
  scope: Namespaced
  validation:
    openAPIV3Schema:
      properties:
        apiVersion:
          description: 'APIVersion defines the versioned schema of this representation
            of an object. Servers should convert recognized schemas to the latest
            internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
          type: string
        kind:
          description: 'Kind is a string value representing the REST resource this
            object represents. Servers may infer this from the endpoint the client
            submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
          type: string
        metadata:
          type: object
        spec:
          properties:
            acme:
              description: ACME contains configuration specific to ACME Certificates.
                Notably, this contains details on how the domain names listed on this
                Certificate resource should be 'solved', i.e. mapping HTTP01 and DNS01
                providers to DNS names.
              properties:
                config:
                  items:
                    properties:
                      domains:
                        description: Domains is the list of domains that this SolverConfig
                          applies to.
                        items:
                          type: string
                        type: array
                    required:
                    - domains
                    type: object
                  type: array
              required:
              - config
              type: object
            commonName:
              description: CommonName is a common name to be used on the Certificate
              type: string
            dnsNames:
              description: DNSNames is a list of subject alt names to be used on the
                Certificate
              items:
                type: string
              type: array
            duration:
              description: Certificate default Duration
              type: string
            ipAddresses:
              description: IPAddresses is a list of IP addresses to be used on the
                Certificate
              items:
                type: string
              type: array
            isCA:
              description: IsCA will mark this Certificate as valid for signing. This
                implies that the 'signing' usage is set
              type: boolean
            issuerRef:
              description: IssuerRef is a reference to the issuer for this certificate.
                If the 'kind' field is not set, or set to 'Issuer', an Issuer resource
                with the given name in the same namespace as the Certificate will
                be used. If the 'kind' field is set to 'ClusterIssuer', a ClusterIssuer
                with the provided name will be used. The 'name' field in this stanza
                is required at all times.
              properties:
                kind:
                  type: string
                name:
                  type: string
              required:
              - name
              type: object
            keyAlgorithm:
              description: KeyAlgorithm is the private key algorithm of the corresponding
                private key for this certificate. If provided, allowed values are
                either "rsa" or "ecdsa" If KeyAlgorithm is specified and KeySize is
                not provided, key size of 256 will be used for "ecdsa" key algorithm
                and key size of 2048 will be used for "rsa" key algorithm.
              enum:
              - rsa
              - ecdsa
              type: string
            keySize:
              description: KeySize is the key bit size of the corresponding private
                key for this certificate. If provided, value must be between 2048
                and 8192 inclusive when KeyAlgorithm is empty or is set to "rsa",
                and value must be one of (256, 384, 521) when KeyAlgorithm is set
                to "ecdsa".
              format: int64
              type: integer
            organization:
              description: Organization is the organization to be used on the Certificate
              items:
                type: string
              type: array
            renewBefore:
              description: Certificate renew before expiration duration
              type: string
            secretName:
              description: SecretName is the name of the secret resource to store
                this secret in
              type: string
          required:
          - secretName
          - issuerRef
          type: object
        status:
          properties:
            conditions:
              items:
                properties:
                  lastTransitionTime:
                    description: LastTransitionTime is the timestamp corresponding
                      to the last status change of this condition.
                    format: date-time
                    type: string
                  message:
                    description: Message is a human readable description of the details
                      of the last transition, complementing reason.
                    type: string
                  reason:
                    description: Reason is a brief machine readable explanation for
                      the condition's last transition.
                    type: string
                  status:
                    description: Status of the condition, one of ('True', 'False',
                      'Unknown').
                    enum:
                    - "True"
                    - "False"
                    - Unknown
                    type: string
                  type:
                    description: Type of the condition, currently ('Ready').
                    type: string
                required:
                - type
                - status
                - lastTransitionTime
                - reason
                - message
                type: object
              type: array
            lastFailureTime:
              format: date-time
              type: string
            notAfter:
              description: The expiration time of the certificate stored in the secret
                named by this resource in spec.secretName.
              format: date-time
              type: string
          type: object
  version: v1alpha1
  versions:
  - name: v1alpha1
    served: true
    storage: true
status:
  acceptedNames:
    kind: Certificate
    listKind: CertificateList
    plural: certificates
    shortNames:
    - cert
    - certs
    singular: certificate
  conditions:
  - lastTransitionTime: "2019-03-01T20:32:39Z"
    message: no conflicts found
    reason: NoConflicts
    status: "True"
    type: NamesAccepted
  - lastTransitionTime: null
    message: the initial names have been accepted
    reason: InitialNamesAccepted
    status: "True"
    type: Established
  storedVersions:
  - v1alpha1
snobu

comment created time in a month

issue openedjetstack/cert-manager

'kubectl get certificates' does not return cert status

Most probably this isn't a bug but a change in behavior. Before v0.7.0, a kubectl get certificates would list the certs with a True/False status field.

Looks like v0.7.0 no longer does this:

$ kubectl get certificates
NAME
canary-contour-tls
test-contour-tls

The field is definitely still there just not returned by default,

$ kubectl get certificates canary-contour-tls -o yaml
...
status:
  conditions:
  - lastTransitionTime: "2019-03-13T17:58:51Z"
    message: Certificate is up to date and has not expired
    reason: Ready
    status: "True"
    type: Ready
  notAfter: "2019-06-11T16:58:50Z"

Is my installation broken or is there now a different way to get cert ready status?

created time in a month

startedgiantswarm/prometheus

started time in a month

startedheptio/gimbal

started time in a month

push eventsnobu/destreamer

snobu

commit sha 34290ba35c1c75a3b31a810cb9c99bb87d2c5530

Fix README styling

view details

push time in a month

push eventsnobu/destreamer

snobu

commit sha 50c131730437f9fbcaaff584a7ee40476ec70f98

Added logo

view details

push time in a month

push eventsnobu/hat-invaders

Adrian Calinescu

commit sha 1b61728669c21f5ca50e61e80566de027eaec0df

Add files via upload

view details

push time in a month

push eventsnobu/destreamer

Adrian Calinescu

commit sha fa97bad4cc1326196875d6b25df3ed671d88349e

Update README.md

view details

push time in a month

push eventsnobu/destreamer

Adrian Calinescu

commit sha 8b5f3a13681482544901326d6b2d6c30791ce412

Update README.md

view details

push time in a month

push eventsnobu/destreamer

snobu

commit sha d3fc71b59ced174c89c6ce095359c74c43cb0f50

Added README

view details

push time in a month

create barnchsnobu/destreamer

branch : master

created branch time in a month

created repositorysnobu/destreamer

Rip Microsoft Stream videos via HLS reassembly

created time in a month

startedrancher/k3s

started time in 2 months

push eventsnobu/powerbi-embed-v2

Adrian Calinescu

commit sha a606058d84bfdfa27b9c4f6589677992b6368d54

Demo broken once more

view details

push time in 2 months

push eventsnobu/powerbi-embed-v2

Adrian Calinescu

commit sha e764e067336963eebe91be96dc8d969a513d93c3

Update requests version

view details

push time in 2 months

issue commentAzure/azure-functions-core-tools

Unable to follow logs for functions deployed on k8s

Ref https://github.com/Azure/azure-functions-host/issues/3469#issuecomment-429183447 for the workaround.

krancour

comment created time in 2 months

issue commentAzure/azure-functions-core-tools

Unable to follow logs for functions deployed on k8s

How do you even look at the logs? context.log() in my function doesn't show up in kubectl logs func-pod

krancour

comment created time in 2 months

PR opened radu-matei/brigade-eventgrid-gateway

Fix deprecated parameter name

az cli warning: "Argument 'resource_id' has been deprecated and will be removed in version '2.1.0'. Use '--source-resource-id' instead."

+3 -3

0 comment

1 changed file

pr created time in 2 months

push eventsnobu/brigade-eventgrid-gateway

Adrian Calinescu

commit sha 031bb215eb48547b6c91d69b1c857974cc9d8098

Fix parameter name az cli warning: "Argument 'resource_id' has been deprecated and will be removed in version '2.1.0'. Use '--source-resource-id' instead."

view details

push time in 2 months

startedyokawasa/azure-functions-python-samples

started time in 2 months

pull request commentwg/wrk

fix for Windows 10 Linux subsystem installation

Can we merge this in next release, please? Appreciated!

RobertoPrevato

comment created time in 2 months

startedwg/wrk

started time in 2 months

starteddenoland/deno_install

started time in 2 months

starteddnouri/skorch

started time in 2 months

starteddeepfakes/faceswap

started time in 2 months

startedmindsdb/mindsdb

started time in 2 months

push eventsnobu/azure-docs

Adrian Calinescu

commit sha 6173f955ea9510daf06d6205378763da47eb148b

Fix SSH keys instead of 'SSH'

view details

push time in 2 months

PR opened MicrosoftDocs/azure-docs

Fix SSH keys instead of 'SSH'
+1 -1

0 comment

1 changed file

pr created time in 2 months

startedgoreliu/wsl-terminal

started time in 3 months

startedisacikgoz/go-prompt

started time in 3 months

startedisacikgoz/promptui

started time in 3 months

startedisacikgoz/tldr

started time in 3 months

push eventsnobu/active-directory-aspnetcore-webapp-openidconnect-v2

snobu

commit sha a0eaa96a8a7eafdf7eb3d9e8afc0d6e007249f4e

Removed garbage char in Profile View

view details

push time in 3 months

Pull request review commentAzure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2

Refactor

+using System.Collections.Generic;+using System.Linq;+using Microsoft.AspNetCore.Authentication;+using Microsoft.AspNetCore.Http;+using Microsoft.AspNetCore.Mvc;+using Microsoft.AspNetCore.Mvc.Filters;+using Microsoft.Identity.Client;+using Microsoft.IdentityModel.Protocols.OpenIdConnect;++namespace WebApp_OpenIDConnect_DotNet.Infrastructure+{+    public class MsalUiRequiredExceptionFilterAttribute : ExceptionFilterAttribute+    {+        public string[] Scopes { get; set; }+        +        public override void OnException(ExceptionContext context)+        {+            if (context.Exception is MsalUiRequiredException msalUiRequiredException)+            {+                if (CanbeSolvedByReSignInUser(msalUiRequiredException))

Fixed.

bojanv

comment created time in 3 months

push eventsnobu/active-directory-aspnetcore-webapp-openidconnect-v2

Adrian Calinescu

commit sha 01946f2c16b145e5ce28c61a837f9be75c3e5d52

Fix typo

view details

push time in 3 months

Pull request review commentdeislabs/cnab-netstandard

Add parameter validation

 public class ParameterMetadata         public string Description { get; set; }     } -    public class StringParameter : Parameter+    public class StringParameter : Parameter<string>     {-        [JsonProperty("defaultValue")]-        public string DefaultValue { get; set; }--        [JsonProperty("allowedValues")]-        public List<string> AllowedValues { get; set; }-         [JsonProperty("minLength")]         public int MinimumLength { get; set; }          [JsonProperty("maxLength")]         public int MaximumLength { get; set; }-    } -    public class BoolParameter : Parameter-    {-        [JsonProperty("defaultValue")]-        public bool DefaultValue { get; set; }+        public override bool IsValid(string value)+        {+            if (!this.AllowedValues.Contains(value))+                return false; -        [JsonProperty("allowedValues")]-        public List<bool> AllowedValues { get; set; }+            if ((value.Length < this.MinimumLength) || (value.Length > this.MaximumLength))+                return false;++            return true;+        }++        public override bool IsValid(bool value)+        {+            return false;+        }++        public override bool IsValid(int value)+        {+            return false;+        }     } -    public class IntParameter : Parameter+    public class BoolParameter : Parameter<bool>     {-        [JsonProperty("defaultValue")]-        public int DefaultValue { get; set; }+        public override bool IsValid(bool value)+        {+            return true;+        } -        [JsonProperty("allowedValues")]-        public List<int> AllowedValues { get; set; }+        public override bool IsValid(string value)+        {+            return false;

How about just bool.TryParse(value) then? This will return False for "1" though, if that's outside the scope, should be fine.

radu-matei

comment created time in 3 months

Pull request review commentdeislabs/cnab-netstandard

Add parameter validation

 public class ParameterMetadata         public string Description { get; set; }     } -    public class StringParameter : Parameter+    public class StringParameter : Parameter<string>     {-        [JsonProperty("defaultValue")]-        public string DefaultValue { get; set; }--        [JsonProperty("allowedValues")]-        public List<string> AllowedValues { get; set; }-         [JsonProperty("minLength")]         public int MinimumLength { get; set; }          [JsonProperty("maxLength")]         public int MaximumLength { get; set; }-    } -    public class BoolParameter : Parameter-    {-        [JsonProperty("defaultValue")]-        public bool DefaultValue { get; set; }+        public override bool IsValid(string value)+        {+            if (!this.AllowedValues.Contains(value))+                return false; -        [JsonProperty("allowedValues")]-        public List<bool> AllowedValues { get; set; }+            if ((value.Length < this.MinimumLength) || (value.Length > this.MaximumLength))+                return false;++            return true;+        }++        public override bool IsValid(bool value)+        {+            return false;+        }++        public override bool IsValid(int value)+        {+            return false;+        }     } -    public class IntParameter : Parameter+    public class BoolParameter : Parameter<bool>     {-        [JsonProperty("defaultValue")]-        public int DefaultValue { get; set; }+        public override bool IsValid(bool value)+        {+            return true;+        } -        [JsonProperty("allowedValues")]-        public List<int> AllowedValues { get; set; }+        public override bool IsValid(string value)+        {+            return false;

What do you expect as truthy value vs. falsey value?

radu-matei

comment created time in 3 months

Pull request review commentdeislabs/cnab-netstandard

Add parameter validation

 public class ParameterMetadata         public string Description { get; set; }     } -    public class StringParameter : Parameter+    public class StringParameter : Parameter<string>     {-        [JsonProperty("defaultValue")]-        public string DefaultValue { get; set; }--        [JsonProperty("allowedValues")]-        public List<string> AllowedValues { get; set; }-         [JsonProperty("minLength")]         public int MinimumLength { get; set; }          [JsonProperty("maxLength")]         public int MaximumLength { get; set; }-    } -    public class BoolParameter : Parameter-    {-        [JsonProperty("defaultValue")]-        public bool DefaultValue { get; set; }+        public override bool IsValid(string value)+        {+            if (!this.AllowedValues.Contains(value))+                return false; -        [JsonProperty("allowedValues")]-        public List<bool> AllowedValues { get; set; }+            if ((value.Length < this.MinimumLength) || (value.Length > this.MaximumLength))+                return false;++            return true;+        }++        public override bool IsValid(bool value)+        {+            return false;+        }++        public override bool IsValid(int value)+        {+            return false;+        }     } -    public class IntParameter : Parameter+    public class BoolParameter : Parameter<bool>     {-        [JsonProperty("defaultValue")]-        public int DefaultValue { get; set; }+        public override bool IsValid(bool value)+        {+            return true;+        } -        [JsonProperty("allowedValues")]-        public List<int> AllowedValues { get; set; }+        public override bool IsValid(string value)+        {+            return false;+        } +        public override bool IsValid(int value)+        {+            return false;+        }++    }++    public class IntParameter : Parameter<int>+    {         [JsonProperty("minValue")]         public int MinimumValue { get; set; }          [JsonProperty("maxValue")]         public int MaximumValue { get; set; }++        public override bool IsValid(int value)+        {+            if (!this.AllowedValues.Contains(value))+                return false;++            if ((value < this.MinimumValue) || (value > this.MaximumValue))+                return false;++            return true;+        }++        public override bool IsValid(string value)+        {+            return false;

I find that fair.

radu-matei

comment created time in 3 months

Pull request review commentdeislabs/cnab-netstandard

Add parameter validation

 public class ParameterMetadata         public string Description { get; set; }     } -    public class StringParameter : Parameter+    public class StringParameter : Parameter<string>     {-        [JsonProperty("defaultValue")]-        public string DefaultValue { get; set; }--        [JsonProperty("allowedValues")]-        public List<string> AllowedValues { get; set; }-         [JsonProperty("minLength")]         public int MinimumLength { get; set; }          [JsonProperty("maxLength")]         public int MaximumLength { get; set; }-    } -    public class BoolParameter : Parameter-    {-        [JsonProperty("defaultValue")]-        public bool DefaultValue { get; set; }+        public override bool IsValid(string value)+        {+            if (!this.AllowedValues.Contains(value))+                return false; -        [JsonProperty("allowedValues")]-        public List<bool> AllowedValues { get; set; }+            if ((value.Length < this.MinimumLength) || (value.Length > this.MaximumLength))+                return false;++            return true;+        }++        public override bool IsValid(bool value)+        {+            return false;+        }++        public override bool IsValid(int value)+        {+            return false;+        }     } -    public class IntParameter : Parameter+    public class BoolParameter : Parameter<bool>     {-        [JsonProperty("defaultValue")]-        public int DefaultValue { get; set; }+        public override bool IsValid(bool value)+        {+            return true;+        } -        [JsonProperty("allowedValues")]-        public List<int> AllowedValues { get; set; }+        public override bool IsValid(string value)+        {+            return false;+        } +        public override bool IsValid(int value)+        {+            return false;+        }++    }++    public class IntParameter : Parameter<int>+    {         [JsonProperty("minValue")]         public int MinimumValue { get; set; }          [JsonProperty("maxValue")]         public int MaximumValue { get; set; }++        public override bool IsValid(int value)+        {+            if (!this.AllowedValues.Contains(value))+                return false;++            if ((value < this.MinimumValue) || (value > this.MaximumValue))+                return false;++            return true;+        }++        public override bool IsValid(string value)+        {+            return false;

Actually this needs more work since "80.3" splits up "3" as an integer.

radu-matei

comment created time in 3 months

Pull request review commentdeislabs/cnab-netstandard

Add parameter validation

 public class ParameterMetadata         public string Description { get; set; }     } -    public class StringParameter : Parameter+    public class StringParameter : Parameter<string>     {-        [JsonProperty("defaultValue")]-        public string DefaultValue { get; set; }--        [JsonProperty("allowedValues")]-        public List<string> AllowedValues { get; set; }-         [JsonProperty("minLength")]         public int MinimumLength { get; set; }          [JsonProperty("maxLength")]         public int MaximumLength { get; set; }-    } -    public class BoolParameter : Parameter-    {-        [JsonProperty("defaultValue")]-        public bool DefaultValue { get; set; }+        public override bool IsValid(string value)+        {+            if (!this.AllowedValues.Contains(value))+                return false; -        [JsonProperty("allowedValues")]-        public List<bool> AllowedValues { get; set; }+            if ((value.Length < this.MinimumLength) || (value.Length > this.MaximumLength))+                return false;++            return true;+        }++        public override bool IsValid(bool value)+        {+            return false;+        }++        public override bool IsValid(int value)+        {+            return false;+        }     } -    public class IntParameter : Parameter+    public class BoolParameter : Parameter<bool>     {-        [JsonProperty("defaultValue")]-        public int DefaultValue { get; set; }+        public override bool IsValid(bool value)+        {+            return true;+        } -        [JsonProperty("allowedValues")]-        public List<int> AllowedValues { get; set; }+        public override bool IsValid(string value)+        {+            return false;+        } +        public override bool IsValid(int value)+        {+            return false;+        }++    }++    public class IntParameter : Parameter<int>+    {         [JsonProperty("minValue")]         public int MinimumValue { get; set; }          [JsonProperty("maxValue")]         public int MaximumValue { get; set; }++        public override bool IsValid(int value)+        {+            if (!this.AllowedValues.Contains(value))+                return false;++            if ((value < this.MinimumValue) || (value > this.MaximumValue))+                return false;++            return true;+        }++        public override bool IsValid(string value)+        {+            return false;

Int32.TryParse returns 0 on doube quotes, no go. How about some regex?

            string input = "\"80\"";
            string[] numbers = Regex.Split(input, @"\D+");
            int output;
            foreach (string n in numbers)
            {
                int.TryParse(n, out output);
                Console.WriteLine(output);
                // 0, "0.00", "0" may need special treatment
            }
radu-matei

comment created time in 3 months

pull request commentAzure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2

Refactor

  • This sample now renders the user's photo from MS Graph API on the Profile page. If the user does not have a profile photo it will gracefully degrade to text ("No Photo").
bojanv

comment created time in 3 months

push eventsnobu/active-directory-aspnetcore-webapp-openidconnect-v2

snobu

commit sha d15f4fc449481976033230380540be216c300865

New feature, render user photo from MS Graph API

view details

push time in 3 months

Pull request review commentdeislabs/cnab-netstandard

Add parameter validation

 public class ParameterMetadata         public string Description { get; set; }     } -    public class StringParameter : Parameter+    public class StringParameter : Parameter<string>     {-        [JsonProperty("defaultValue")]-        public string DefaultValue { get; set; }--        [JsonProperty("allowedValues")]-        public List<string> AllowedValues { get; set; }-         [JsonProperty("minLength")]         public int MinimumLength { get; set; }          [JsonProperty("maxLength")]         public int MaximumLength { get; set; }-    } -    public class BoolParameter : Parameter-    {-        [JsonProperty("defaultValue")]-        public bool DefaultValue { get; set; }+        public override bool IsValid(object value)+        {+            if (!(value is string))+                return false; -        [JsonProperty("allowedValues")]-        public List<bool> AllowedValues { get; set; }+            var stringVal = value as string;+            if (!this.AllowedValues.Contains(stringVal))+                return false;++            if ((stringVal.Length < this.MinimumLength) || (stringVal.Length > this.MaximumLength))+                return false;++            return true;+        }     } -    public class IntParameter : Parameter+    public class BoolParameter : Parameter<bool>     {-        [JsonProperty("defaultValue")]-        public int DefaultValue { get; set; }--        [JsonProperty("allowedValues")]-        public List<int> AllowedValues { get; set; }+        public override bool IsValid(object value)+        {+            if (!(value is bool))+                return false;+            +            return true;+        }+    } +    public class IntParameter : Parameter<int>+    {         [JsonProperty("minValue")]         public int MinimumValue { get; set; }          [JsonProperty("maxValue")]         public int MaximumValue { get; set; }++        public override bool IsValid(object value)+        {   +            // TODO - this is rather naive+            // it should probably handle values such as "80" or 80.0

I would suggest throwing some overloads at the problem -

public override bool IsValid(int x)
public override bool IsValid(string x)

I believe you don't have this in Go, but that doesn't mean this shouldn't be C# idiomatic.

radu-matei

comment created time in 3 months

pull request commentdeislabs/cnab-netstandard

Fix async main and JSON indentation in sample

Commit signed.

snobu

comment created time in 3 months

Pull request review commentdeislabs/cnab-netstandard

Fix async main and JSON indentation in sample

 public override void WriteJson(JsonWriter writer, object value, JsonSerializer s         private Parameter populateParameter(JsonReader reader, JsonSerializer serializer, Parameter destination)         {             serializer.Populate(reader, destination);+            

OmniSharp or this one. I don't really trust formatters, apologies.

snobu

comment created time in 3 months

Pull request review commentdeislabs/cnab-netstandard

Fix async main and JSON indentation in sample

 public class Bundle         [JsonProperty("actions")]         public Dictionary<string, Action> Actions { get; set; } -        public static Bundle LoadUnsigned(string fileName)+        public static async Task<Bundle> LoadUnsignedAsync(string fileName)

10 Points for kerfuffles.

snobu

comment created time in 3 months

push eventsnobu/cnab-netstandard

snobu

commit sha 100f4ef6909f032b000b1739d1919c55d7acd151

Fix async main and JSON indentation in sample

view details

push time in 3 months

Pull request review commentdeislabs/cnab-netstandard

Fix async main and JSON indentation in sample

 public class Bundle         [JsonProperty("actions")]         public Dictionary<string, Action> Actions { get; set; } -        public static Bundle LoadUnsigned(string fileName)+        public static async Task<Bundle> LoadUnsignedAsync(string fileName)

Async methods everywhere, unless there's very clear reasoning to have it sync, or the super edge case where you want both. Ref: https://blogs.msdn.microsoft.com/pfxteam/2012/04/13/should-i-expose-synchronous-wrappers-for-asynchronous-methods/

I'll fix the README as well, missed that.

snobu

comment created time in 3 months

push eventsnobu/cnab-netstandard

snobu

commit sha da98b2b06d2aa8e7a9efeb140722c72cab5a248d

[Pretentious] Fix newline before return

view details

push time in 3 months

push eventsnobu/cnab-netstandard

snobu

commit sha 27fec41d71b8a744a79932abbb30f258eef485bf

Fix async main and JSON indentation in sample

view details

push time in 3 months

fork snobu/cnab-netstandard

.NET Standard 2.0 Client Library for CNAB

https://cnab.io

fork in 3 months

issue openedradu-matei/probot-brigade

[too soon for an issue?] This is a great idea.

But needs a REAMDE badly for how to handle a new issue end to end, i don't even know where to start.

created time in 3 months

startedprobot/probot

started time in 3 months

push eventsnobu/active-directory-aspnetcore-webapp-openidconnect-v2

snobu

commit sha 4fd7fa6c5acba85d4161b949515db44e3b2fa966

Fix user_null comment

view details

push time in 3 months

push eventsnobu/active-directory-aspnetcore-webapp-openidconnect-v2

snobu

commit sha 32611c9ede38045744943a3926c03ce5e0dee2dc

Fix forgot to rename constant in code happens to the best of us

view details

push time in 3 months

issue commentAzure-Samples/active-directory-b2c-dotnet-webapp-and-webapi

Error reading to do list: Null user was passed in AcquiretokenSilent API. Pass in a user object or call acquireToken authenticate.

Two years too late to the game but this thread still comes up at the top if you search for the exception message. This may help.

Instead of doing this (throwing a more specific exception), you could try around AcquireTokenAsync and catch MsalUiRequiredException. Then check if its ErrorCode field == "user_null" (signaling the cache problem) and simply redirect the user to the Sign-in flow by calling Challenge().

This results in a login prompt rather than dealing with another exception. In most cases that's what you want.

try
{
    result = await cca.AcquireTokenSilentAsync(
        scope,
        accounts.FirstOrDefault(),
        _azureAdB2COptions.Authority,
        false);
}
// https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/wiki/exceptions
catch (MsalUiRequiredException ex)
{
    // ex.ErrorCode != MsalUiRequiredException.UserNullError indicates a cache problem.
    // When calling an [Authenticate]-decorated controller we expect an authenticated
    // user and therefore its account should be in the cache. However in the case of an
    // InMemoryCache, the cache could be empty if the server was restarted. This is why
    // the null_user exception is thrown.

    Debug.WriteLine("MsalUiRequiredException thrown --\n" +
        $"  -- Type: {ex.GetType()}\n" +
        $"  -- ErrorCode: {ex.ErrorCode}");

    if (ex.ErrorCode == MsalUiRequiredException.UserNullError)
    {
        return Challenge(
            new AuthenticationProperties { RedirectUri = redirectUrl },
            OpenIdConnectDefaults.AuthenticationScheme);
    }
    else
    {
        // not a null_user in cache problem, handle accordingly
    }
}

You can find a basic implementation here (cachefix branch) and a better one using exception filter attributes and cleaner and more structured code, here (refactor branch) (all credit to @bojanv).

Many thanks to @jmprieur for this sample that had this pattern in first and is well-commented.

spottedmahn

comment created time in 3 months

more