Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow passing arguments to the docker image as env var #87043

Closed
dvarrazzo opened this issue Aug 29, 2022 · 2 comments · Fixed by #98899
Closed

Allow passing arguments to the docker image as env var #87043

dvarrazzo opened this issue Aug 29, 2022 · 2 comments · Fixed by #98899
Labels
A-build-system C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception) O-community Originated from the community T-dev-inf

Comments

@dvarrazzo
Copy link

dvarrazzo commented Aug 29, 2022

The Github Actions system allows to run services to support CI jobs.

I haven't been able to use CockroachDB as a job service because, in order to run a database, the image requires certain arguments, for instance:

docker run --rm --name crdb -p 26257:26257 cockroachdb/cockroach:v21.2.14 start-single-node --insecure

Gitlab CI doesn't seem to allow to specify args. This is arguably a shortcoming of theirs and it would be nice if they improved Actions, but, in the meantime CockroachDB could make use of Action services if it was possible to specify the arguments as an env var. For instance, if specifying CRDB_ARGS was equivalent to starting the container with /cockroach/cockroach.sh $CRDB_ARGS then it would be possible to use Github Actions using an entry such as:

    services:
      crdb:
        image: cockroachdb/cockroach:latest-v22.1
        env:
          CRDB_ARGS: start-single-node --insecure
        ports:
          - 26257:26257

I don't know if there are hacks I haven't considered to kick Actions into running a container with args, I couldn't find anything by googling and reading docker run --help.

Of course an optimal solution was for Github to extend their service syntax but that would likely take longer than adding the feature to your cockroach.sh.

Jira issue: CRDB-19119

@dvarrazzo dvarrazzo added the C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception) label Aug 29, 2022
@blathers-crl
Copy link

blathers-crl bot commented Aug 29, 2022

Hello, I am Blathers. I am here to help you get the issue triaged.

It looks like you have not filled out the issue in the format of any of our templates. To best assist you, we advise you to use one of these templates.

I was unable to automatically find someone to ping.

If we have not gotten back to your issue within a few business days, you can try the following:

  • Join our community slack channel and ask on #cockroachdb.
  • Try find someone from here if you know they worked closely on the area and CC them.

🦉 Hoot! I am a Blathers, a bot for CockroachDB. My owner is otan.

@blathers-crl blathers-crl bot added O-community Originated from the community X-blathers-untriaged blathers was unable to find an owner labels Aug 29, 2022
@rafiss rafiss added A-build-system T-dev-inf and removed X-blathers-untriaged blathers was unable to find an owner labels Aug 29, 2022
@jwoertink
Copy link

We're seeing more users checking out CockraochDB with Lucky, but we have a lot of bugs coming up with small differences between this and postgres. I'd love to add Cockroach as a first-class support with Lucky if we can make sure specs pass on the CI. If anyone happens to know how to make that happen, I'd appreciate some tips!

craig bot pushed a commit that referenced this issue Mar 30, 2023
98899: feat: allow starting docker container via env variable r=rickystewart a=btkostner

Fixes #87043 by allowing you to specify args via the `COCKROACH_ARGS` env value instead of a command. This is required to be able to use the official cockroach image with GitHub actions via a service. More details in the issue.

Note, do to weirdness with merging commands and env values, I decided that setting the `COCKROACH_ARGS` would ignore any command given. This should reduce issues with people trying to use both ways of specifying args and instead force them to pick one.

Release note (general change): Allow setting docker command args via the `COCKROACH_ARGS` environment variable.

99607: sql: block DROP TENANT based on a session var r=stevendanna a=knz

Fixes #97972.
Epic: CRDB-23559

In clusters where we will promote tenant management operations, we would like to ensure there is one extra step needed for administrators to drop a tenant (and thus irremedially lose data). Given that `sql_safe_updates` is not set automatically when users open their SQL session using their own client, we need another mechanism.

This change introduces the new (hidden) session var, `disable_drop_tenant`. When set, tenant deletion fails with the following error message:

```
[email protected]:26257/movr> drop tenant foo;
ERROR: rejected (via sql_safe_updates or disable_drop_tenant): DROP TENANT causes irreversible data loss
SQLSTATE: 01000
```

(The session var `sql_safe_updates` is _also_ included as a blocker in the mechanism so that folk using `cockroach sql` get double protection).

The default value of this session var is `false` in single-tenant clusters, for compatibility with CC Serverless. It will be set to `true` via a config profile (#98466) when suitable.

Release note: None

99690: ui: drop index with space r=maryliag a=maryliag

Previously, if the index had a space on its name,
it would fail to drop.
This commit adds quotes so it can be executed.

Fixes #97988

Schema Insights
https://www.loom.com/share/04363b7f83484b5da19c760eb8d0de21

Table Details page
https://www.loom.com/share/1519b897a14440ddb066fb2ab03feb2d

Release note (bug fix): Index recommendation to DROP an index that have a space on its name can now be properly executed.

99750: sql: remove no longer used channel in createStatsNode r=yuzefovich a=yuzefovich

This hasn't been used as of fe6377c. Also mark `create_stats.go` as owned by SQL Queries.

Epic: None

Release note: None

99962: ui: add checks for values r=maryliag a=maryliag

Fixes #99655
Fixes #99538
Fixes #99539

Add checks to usages that could cause
`Cannot read properties of undefined`.

Release note: None

99963: roachtest: use local SSDs for disk-stall failover tests r=andrewbaptist a=nicktrav

The disk-stalled roachtests were updated in #99747 to use local SSDs. This change broke the `failover/*/disk-stall` tests, which look for `/dev/sdb` on GCE (the used for GCE Persistent Disks), but the tests still create clusters with local SSDs (the roachtest default).

Fix #99902.
Fix #99926.
Fix #99930.

Touches #97968.

Release note: None.

Co-authored-by: Blake Kostner <[email protected]>
Co-authored-by: Raphael 'kena' Poss <[email protected]>
Co-authored-by: maryliag <[email protected]>
Co-authored-by: Yahor Yuzefovich <[email protected]>
Co-authored-by: Nick Travers <[email protected]>
@craig craig bot closed this as completed in #98899 Mar 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-build-system C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception) O-community Originated from the community T-dev-inf
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants